簡介
簡介
簡介
嘉賓:Sherry(數據科學家)
正文
正文
正文
正文
Q:在開啟正式話題之前,大家應該很好奇您的背景,您為什麼會對Nostr 感興趣呢?是跟您所研究或正在探索的領域相關聯嗎?
其實相關性並不大,起初大概是在三四個月前,一個朋友向我介紹Nostr,他是一個有很多年經驗的比特幣核心(Bitcoin Core)開發者,後來逐步轉到了Nostr 的開發上。最開始嘗試了解Nostr 的時候,我並沒有意識到Nostr 的迷人之處,我對它的認識僅僅是“又一個關於Social Media 的協議。”
其實自從Twitter 流行開始,就不斷有人提出,APP(應用程序)不應該是社交媒體的載體,應該把它變成一個協議,也有人在不斷地嘗試,但都沒有得到廣泛的應用。所以在兩三個月後,我決定Get hands dirty(親自實踐),真正參與一些Nostr 方向的開發。
Q:經過幾個月的接觸,您覺得Nostr 的發展現狀是怎樣的?我們知道最初經歷了“爆火”的階段。
其實從開發者的體感上來講並沒有那麼火,我認為諸如Twitter,Instagram 的社交媒體都遵循一個規律:用戶是依照波浪形一波一波進入的。有一些用戶覺得這個東西可用,解決了他們的問題,就會留下來,而絕大部分人是不會留下來的,直到下一波到來。
我們要做的就是在兩波間做好準備,建立好基礎設施,優化用戶體驗,等待下一波用戶的到來。另外我每週都會追踪Nostr 上的統計數據,我個人感覺,其實還是不斷的有人在加入,只是人數上有上下起伏。到目前為止,Nostr 上的賬號數量已經接近100 萬了,雖然在現階段其中有很多Spam 賬號。
我覺得這個數量的用戶群體意味著,不管你想做什麼實驗,我們都有足夠大的用戶群保證方案驗證的有效性。
Q:剛才談到每個“浪”之間,都會有一些急需解決的問題。那現階段在Nostr 生態上,除了我們過後要談的Spam 問題,還有哪些問題急需去解決呢?
在Nostr 裡只有兩個角色,一個叫Client(客戶端),一個叫Relay(中繼)。 Relay 和服務器是一個很類似的概念,Client 負責從眾多Relay 上抓取信息。作一個簡單的比喻,我們可以把Twitter 看成只有一個Relay 的架構,客戶端只從這一個Relay 裡抓取信息,相當於你把自己全部的用戶行為“託付”給了這個單一且唯一的Relay ,如果它禁止你發布消息或宕機,你的用戶行為也被強行中斷,你在這個生態裡也沒有第二個選擇。
但在Nostr 上有非常多的Relay,甚至任何人都可以運行一個自己的Relay,Client 也可以選擇只抓取一部分Relay 的信息,或者全不抓取,但是你可以把自己的信息發送到全部Relay上。
同時在Nostr 的身份驗證體系裡,它拋棄了傳統的用戶名和密碼的概念,而是使用密鑰對的概念,你手裡掌握著你的私鑰,每次發布消息的時候,附帶上公鑰的同時用你的私鑰來對整個信息進行簽名,證明這條消息是你“親自”發出去的。
而但凡涉及到密鑰對,就有一個繞不開的問題:密鑰管理。
是的,我在使用Damus 的時候,它自動生成了密鑰對,但下次再需要登錄它的時候,我必須要使用類似“賬本”的功能,否則我是記不住公鑰和私鑰的,必須有一個複制粘貼的動作。
沒錯,這樣的一個複制粘貼的過程,其實就存在了很大的洩密風險。所以我感覺任何一個有丟失加密貨幣經歷的人,都會對如何管理一對或多對密鑰以及丟失瞭如何彌補的問題比較敏感。所以對於新用戶來講,如何通過完善的UI(用戶界面)或UX(用戶體驗),把密鑰的公鑰私鑰概念介紹給他們,並引導他們創建自己的賬戶,管理自己的賬戶,是必要的。
但其實我並不是特別擔心這件事,因為我感覺正是這個特性,讓Nostr 變成了通往Bitcoin 的橋樑。因為在Nostr 上,最壞的事情就是用戶丟失了Post 的帖子或丟失了Follower,但其實你是可以通過一些途徑把Follower 再找回來,並不會有任何經濟上的損失。
Q:所以密鑰的保管與保存確實是一個問題,但並不是想像中那麼嚴重和急迫解決的問題。而且從另一方面講,其實它也幫助Nostr 在快速的破圈,因為Web 3 錢包其實還是有著“壁壘”存在,也阻擋了很多Web 2 的用戶。
那除了這個問題,還有哪些比較迫切的,擺在“檯面”上的問題?
再就是隨著用戶的陸續湧入,整個網絡的流量會變得非常大。這時候想像一個極端情況,如果大家為了保存自己所有的歷史消息,把全部信息向每一個Relay 發送一遍,當這個情況成為普遍,絕大部分的Relay 上就會存儲大量重複的信息,Client 在抓取信息的時候,也會將包含重複信息的Relay 從頭到尾掃描一遍,這個方案相對而言就非常低效。
在早先第一波用戶快速增長的時候,有很多的開發者會有一種非常“崩潰”的情緒,他們會覺得很多方案並不奏效,這麼多人進來了網絡要癱瘓了怎麼辦?所以我覺得這些確實是在下一波用戶增長之前,盡可能需要解決的問題。如果不解決,會給用戶帶來很多不好的用戶體驗,比如信息無法加載,客戶端的渲染與加載緩慢之類的問題,很難留下更多的用戶。
Q:是的,試想如果我是一個內容生產者,在Nostr 的Relay 上發佈內容,在時間成本允許的情況下,如果操作還不復雜,我可能也會選擇多Relay 發送,這樣確實就會存在重複信息導致整體運行與加載速度變慢的情況。
這個問題目前有兩個主流解決方案,一個是在Nostr 上加一層Layer,相當於在整個Nostr 協議外架一層Layer 2 ,上面只運行有限個節點,數量較整個Relay 數量更少,每一個節點對它選擇的Relay 數據做緩存,客戶端只和緩存節點溝通,這樣會完善用戶體驗。目前有一個客戶端實現了這個功能,上面的信息加載也非常流暢,但這個方式遭到了很多人反對,原因是我們好不容易做出了去中心化協議,最後卻回到客戶端只和少數或單一節點溝通,又回到了中心化的路線。
還有一個叫Gossip model,因為最初實現這個模型的客戶端叫Gossip。它的運行方式是用戶發布一條信息,信息上會寫清楚,用戶從哪個Relay 上讀取信息,向哪個Relay 寫信息。這樣客戶端在抓取全部信息的時候,它只會去關聯節點抓取請求用戶的讀寫信息,這樣就會減少重複Post 的情況。
Q:前面我們聊了關於公鑰的隱私安全,也談了Relay 設置的利弊以及衍生問題的擔憂。
接下來我們聊聊Spam 的問題,這可能目前的熱點話題了,您覺得為什麼Spam 問題在Nostr 會這麼突出?
首先是因為Nostr 很新,目前有一些Anti Spam 的辦法,但大部分的措施核心都是關鍵詞過濾,我覺得對於英文圈的用戶來說,這可能是他們遇到過的最複雜情況,但對我們來說可能不一樣,如果我發送一個火星文,關鍵詞過濾就完全不起作用。
再一個就是目前絕大部分Relay 是免費的,在初期大家可能覺得無所謂,可以免費把我的Relay 拿來用,也不設置任何規則,全部的人都可以來讀寫,但這也導致Spam 沒有任何成本。賬戶的生成也非常容易,傳統的賬戶可能需要和郵箱,手機號綁定,但在Nostr,只要點擊Generate Key(生成密鑰),就可以立刻獲得一個新身份,因此批量生成Spam 賬號是完全可行的,而且非常的簡單,也約等於0 成本。
Q:其實我有一點沒明白的是,為什麼他們要生成大量的Spam 賬號呢?因為這個系統中也不存在某種代幣激勵或經濟激勵,這麼做的目的是什麼?就是為了發垃圾廣告,釣魚廣告?
主要的目的是引流,此外也不只是Spam 的問題,也還會有一些敏感信息的存在。
Q:雖然Spam 問題在現階段的Nostr 中出現,但其實在其它領域也是個老問題了,那在已經成熟的生態或領域裡,都有哪些方法解決Spam 問題?
一種是使用深度學習技術,通過文字或是圖像識別。另外一種是做用戶行為的分析,在中心化系統裡,Spam 賬號的行為一定和普通用戶的行為是有所不同的,比如它的發送頻率可能會突然改變,某個賬號已經半年沒有任何行為了,但它突然變得特別活躍,通過諸如此類用戶行為的分析,可以達到一種比較精準的防範Spam 的功能。
Q:剛才我們聊到,現在所有的Relay 節點都是免費的,那如果收費會不會是一種行之有效的方法?
並不是所有的Relay 都免費,只是大多數的,現在已經存在收費的Relay,收費Relay 確實沒有Spam 問題。因為在Spam 大量出現之前,收費Relay 相對而言使用的人更少,直到突然有非常多中國大陸和中國香港的IP 進入(因為很多Spam 的服務器架設在香港)以後,大家才想到去尋找收費Relay ,所以在那一段時間收費Relay 的用戶訂閱量有顯著的增長。
Q:也就是說目前關於Spam 的解法,收費作為一種小規模的嘗試,起到了一定的效果。說起解法,接下來就要聊到NIP(Nostr Implementation Possibilities,Nostr 功能實施可行性),目前Nostr 上的NIP 還是比較多的,也不斷在更新,而您也是相關的中文編譯者,我有兩個問題:一是現在整體的NIP 提案是什麼狀況,進展如何?二是這其中有沒有您覺得比較有趣的,能針對Spam 問題的一些措施?
最開始的時候,NIP 的標準是比較低的,只要有1 到2 個Client 實現了協議,就會被Merge(合併),現在要求會高一點,因為用戶不斷在增加,可能需要3 到5 個Client,或5 個以上實現某個NIP,它才會被Merge 到主分支。
之前有過兩個協議和Spam 有一些關係,一個算是主動,一個算是被動。主動的就是存在一個sensitive content warning(敏感信息警告),如果用戶發布了未成年人不適宜的內容,就會標註Warning,這也算是一種比較良性的Spam。另一個是叫Report 的協議,也就是可以舉報某個用戶。我記得在上個月Nostr 發生了一件事,有一個女孩子發了一張自拍,評論區就有人對她進行了侮辱,很多人就對評論點擊了舉報。
而之後一個繞不開的話題就是,用舉報等方式剝奪他人發言權和Nostr 所謂的自由是不是相悖的?審核一定會存在,但到底由誰來審核,我們有沒有可能通過Relay 把它區分開等等都是問題。當然也有很多人覺得,或許可以專門有一個Spam Relay,比如全是暗網黑市信息的Relay,一個都是黃色信息的Relay 等等,因為Nostr 的核心就是不會阻止你去做任何事。
Report 的NIP 產生其實也很有意思,它最開始出現是因為Damus 的創作者,基於Apple 商店的要求,也就是上架之前必須要加一個Report 的功能,直到最後演變成了一個NIP。
Q:對的,當時Damus 在Apple 應用商店上架時還是挺波折的,說不定正是有這層關係在,所以需要對它增加一些底層機制。
是的,遇到了不少阻力也是因為很多在Web 2 裡執行起來非常簡單的事,轉移到Nostr 的架構上,它反倒會變得更複雜。
Q:其實有關審查和舉報的話題我覺得還是挺有意思的,就是去中心化這件事到底應不應該有邊界,是不是有一個所謂的“底線”呢?您怎麼看待這件事?
我覺得這可能是誰來做“篩選”的問題,也就是審核的權力到底誰該賦予,賦予誰,怎麼賦予,為什麼賦予。
Q:但前提是一定要有“篩選”?
是的,我認為“篩選”是必要的。尤其是考慮到可以接觸到互聯網的人群包括未成年人,這是我支持一定要篩選的主要原因。
Q:那麼同理,這件事在Relay 中也是一樣,如果一些Relay 通過某些機製或是方式,運轉的非常良好,又提供了很多優質內容,那不就會產生這個(些)Relay 變得更加龐大,更加中心化,然後其它Relay 沒人用的情況嗎?會這樣嗎?
從用戶使用體驗的角度來講,Relay 幾乎是一個隱身的存在,也就是用戶很難直觀體會到某個Relay 明顯好過另一個Relay。另外目前使用Nostr 的主要目標群,都是對自己產出的內容比較在意的人,他們想奪回屬於自己的內容的控制權,其實Nostr 整個協議運行的一個基本原理就是,客戶端一定會把消息發送到多個Relay,不可能只發送到一個Relay,發送到一個Relay 就變“回”Twitter 的模式了。像目前有很多個Relay,它們之間幾乎沒有明顯的優劣勢區別,能致使用戶非要保留其中的某幾個Relay。
Q:坦誠來講,現階段我覺得沒有什麼太明顯區別的原因在於,大家都差不多,都沒什麼內容。最開始的時候我們可能對於Relay 沒有一個區分標準,可能隨機進到某個Relay,被一大堆亂七八糟的消息淹沒,但假如現在我們知道某些Relay 可能有很多的Spam,那麼這類的Relay 我就不用,或許這也是環境在“教育”用戶的過程。雖然現階段的Relay 並沒有參差不齊,並沒有給用戶強烈的感知驅使人們選擇某些Relay,但原因可能是因為大家都差不多,都不怎麼好,我是這麼認為的。
但這樣的話你們想做的是客戶端嗎?這個客戶端是只和一個Relay 溝通嗎?
Q:只是一個比喻或是類比,我們只是希望通過某些方式,不管在協議層或是客戶端,在Nostr 的整體生態中呈現出更多優質性的內容。但至少從Jack 的喊單開始,到大面積流行,目前確實還沒有看到,能在某個賽道或在某個領域有特別突出的優勢。當然我覺得這和時間也有關,肯定要給予時間去發展。
從Nostr 設計上來講,我覺得可以簡化為“Start Client dumb Relay”。也就是Relay 其實沒有什麼功能,它唯一的功能就是存儲,此外Client 請求信息的時候,它本身就會做一個篩選。比如有一個客戶端,它的Global(全局)信息顯示的就不是未經過濾的Relay 信息,顯示的是三層社交網絡裡的聯繫人所發出的信息,這樣其實Spam 就已經很少了。
Q:從這個角度講,我覺得這也是Nostr 在設計極簡方面的聰明之處,有時候越極簡,就會有越多的設計空間在裡面。聊到這個話題,我們知道Nostr 支持閃電網絡(Lightning Network),而Nostr 上的激勵與支付也是未來發展不可避免的話題,它目前是只支持Bitcoin 支付嗎?
是的,它目前只支持Lightning Network。
Q:在我看來這反而會限制用戶?因為現在使用比特幣作為支付手段的人群始終是有限?
這可能和Nostr 的發展歷史有關,Nostr 的早期開發者絕大部分都曾是閃電網絡的開發者,其中非常多的人都曾經做過閃電網絡協議,包括錢包相關的開發。此外我不認為Nostr 會被閃電網絡限制住,Nostr 是一個比閃電網絡更廣的東西,用戶可以選擇只用它的社交功能,不使用支付功能。歸根結底它吸引的核心人群還是想要掌握自己產出內容的人群。
Q:您怎麼看待Nostr 未來的發展?
其實有很多人問過我一個問題:“我該怎麼投資Nostr?”,說實話我真的不知道怎麼去具體回答這個問題,我覺得只要去建設某些東西就好了,我覺得Nostr 其實並不屬於Web 3 的範疇,它只是一個去中心化協議。
比如Nostr 上有一個協議叫Badge(徽章),就是用戶可以簽名一個圖像,然後發送給其它用戶,這樣客戶端上就會將徽章展示在頭像下面,然而很多人把它當NFT來用。當然,如果有一天獲得Badge 需要收費,我也不會很吃驚,它們之間可能有一些相似之處,但其實差別還是很大的。此外,我覺得未來任何一個想做信息交換生意的公司,如果不融入到Nostr,那等待這個公司的結果可能就是逐漸的消失。
Q:信息交換?我覺得這是一個很好的思考方向。
我覺得任何一個體驗過Nostr 功能的人,都會認同這個看法。用戶的一個賬號,一個密鑰對就可以通行全部APP,也就不用再受任何平台的限制。你在某一平台上的粉絲,可以隨時帶去另一個平台,大家的競爭維度也會變得更加公平,所有用戶在同一個維度上競爭,所有客戶端在同一個層面上競爭,所有Relay 在同一個層面上競爭。而不會存在一種情況,一個水平較低的內容生產者,僅僅因為依託的平台非常強,就收穫非常多的流量。
在這種情況下,如果你是個內容生產者,你分散在所有平台上的所有用戶受眾,都可以看到你生產的內容,這是我認為最重要的一點,而且也是保證Nostr 生生不息的一點。
另外Nostr 除了Social Media,也可以做其它事。比如有一個項目叫Nostrocket,這個項目做的是一個基於Nostr 的共識層,換言之我們可以在Nostr 上使用它來組建一個DAO,實現一些與智能合約不完全類似的功能,也會比智能合約更加的靈活。
Q:好的,感謝Sherry 老師的分享,有關今天的話題您還有什麼想補充的內容嗎?
歡迎大家參加香港的Meetup 哈哈哈,歡迎大家。
Q:對的哈哈哈,我們4 月14 號準備在香港聯合舉辦一場線下的Meetup,這可能也是中文社區第一次相對有些規模的Nostr 線下會議。當然整個大背景是我們會在近期啟動全球的Nostr Hackathon,我們也歡迎與Sherry 一樣的Builder 參與到項目的競賽中來,競賽的獎金還是非常豐厚的。歡迎愛好者,開發者,項目方,協議研究者,各種提案的人員都來參與。
此外現階段的Nostr 很多東西都不是很完美,所以有很多的Idea 暫時沒有機會實現,如果有Nostr 開發者在聽這期播客的話可以嘗試。
一是對於內容生產者,我個人感覺一個項目終究要產生利潤,才有可能運轉下去,如果它對於參與其中的人沒有任何利潤可言的話,最終結果未必會好。我曾經有一個設想就是關於音樂創作者,假設我在三天后要發布一首音樂,那麼有用戶想提前聽,那就可以使用Pay to listen(付費提前收聽)的模式,因為我們已經有支付工具(閃電網絡)的支持,又有了Nostr,在這樣的用戶場景下,它最大的問題就是用戶付費了以後,他可能會把內容洩露出去,這樣潛在的付費人群就會減少。那麼就可以將購買音樂的付費人的相關信息Encode(編碼),也就是在音樂上加一層人耳幾乎聽不到的頻率,再通過Client 層面Decode(解碼)用戶的公鑰和私鑰,這樣一旦有人購買然後洩露,通過Decode 追溯到他,可以對其造成類似於“社死”的心理壓力。
再一個就是在Nostr 層面上沒有類似於知乎或Quora(與知乎類似的問答類網站)的功能出現。因為Nostr 缺乏一個比較好的內容推薦機制,用戶很難找到有意思的內容,而傳統的機制又有一定局限性,因為在Nostr 的場景下,賬戶的生成沒有任何成本,相當於可以無限制的Like 。
