作者:Eddy Lazzarin
編譯:Sissi
導讀:
a16z 以其深度文章在加密領域樹立了指導行業發展的重要地位,為我們提供了認知提升和轉變所需的指引。近期,a16z 一直關注超越代幣經濟的議題。首先是關於"代幣設計"的演講,隨後發表了《Tokenology:超越代幣經濟學》一文,現在又推出了備受關注的"協議設計"課程。作為該課程的主講者,a16z crypto 的CTO Eddy Lazzarin 反復強調,超越代幣經濟的關鍵在於協議設計,而代幣設計只是輔助手段。在這個專注於協議設計的課程中,他進行了長達一個小時以上的分享,為創業者們帶來了寶貴的見解和啟示,幫助他們深入理解協議設計在項目成功中的關鍵作用。本文為翻譯精簡版。更多精彩內容,可見翻譯全文版鏈接。
協議演進的內在規律
互聯網協議:交互的紐帶
互聯網是一個協議網絡,包含各種不同類型的協議。有些協議簡潔明了,如HTTP的狀態圖,而其他協議則相當複雜,如Maker協議的交互圖。下圖展示了各種協議,包括互聯網協議、物理協議和政治協議等。在下圖的左邊,我們看到了一個街道交叉口的互動圖,這讓我們感到熟悉且有趣。
這些協議的共同點在於它們都是形式化的交互系統,能夠促進複雜的群體行為,這是協議的核心組成部分。互聯網協議的強大之處在於它不僅能夠連接人與人之間的交互,還能夠與軟件進行交互。我們知道,軟件具有高度適應性和高效性,能夠整合各種機制。因此,互聯網協議可以說是我們最重要、甚至是最重要的協議類型之一。
協議的演進:Web1 —— Web2—— Web3
在以下圖表中,橫軸代表協議的去中心化和中心化程度,即對協議控制權的程度。在縱軸上,有協議的經濟模型,具體指的是該經濟模型是明確還是未明確的。這個區別可能看起來微妙,但它具有重要的影響。
Web1:去中心化& 無明確經濟模型
Web1 時期的協議(如NNTP、IRC、SMTP和RSS)在價值流向、所有權、訪問權限和支付機制等方面保持中立,沒有明確的經濟模型。其中,Usenet 是一個類似於現今Reddit 的協議,用於交換帖子和文件。 IRC 是早期廣泛使用的聊天協議,SMTP 和RSS 則用於電子郵件和內容訂閱。
Usenet 是一個按分類組織的平台,允許用戶在特定分類的子服務器上發布相關內容。它是早期互聯網文化的重要組成部分,存在於HTTP 之外。使用Usenet 需要特定的客戶端和支持Usenet 的互聯網服務提供商(ISP)。 Usenet分佈在大量不斷變化的新聞服務器上,任何人都可以運行這些服務器,帖子會自動轉發到其他服務器,形成一個去中心化的系統。雖然用戶很少直接為Usenet 訪問付費,但在2000 年代後期,一些人開始為商業Usenet 服務器付費。總體而言,Usenet 缺乏明確的協議經濟模型,使用者必須通過自己的交易方式使用它。
這些Web1 協議在架構上相似,源自相同的價值觀。即使對協議不太了解,我們仍能理解它們的工作原理,這顯示了Web1 協議易讀性和清晰模板的重要性。然而,這些協議隨著時間推移逐漸面臨失敗或變化。失敗的原因可以歸結為兩個方面:一是缺乏特定功能,無法與Web2 競爭對手相抗衡;二是在獲取資金方面遇到困難。最終,協議能否採取去中心化的方式並開發可持續的經濟模型來整合特定功能決定了其成功與否。綜上,Web1 協議可歸類為去中心化且缺乏明確經濟模型的類型。
Web2 :中心化& 明確的經濟模型
Web2 帶來了一種有趣的趨勢:Reddit 取代了Usenet 等論壇,WhatsApp 和iMessage 等中心化消息系統取代了IRC等論壇。儘管電子郵件仍存在,但面臨垃圾郵件問題的挑戰。此外,RSS 在與Twitter 的競爭中表現不佳。 Web2 解決了Web1 協議的局限性,提供了特定功能。電子郵件和其他去中心化協議無法驗證消息合法性、發送者身份、權限和經濟關係,因此處理垃圾郵件成為問題。在不成熟的去中心化系統中,缺乏這些功能使得中心化競爭者通過提供獨特功能超越了它們的前輩。
Web2 協議完全由所有者控制,僅受商業策略和法律限制。為了推動Web1 協議的發展,需要更明確的經濟模型。然而,在保持去中心化的前提下實現明確的經濟模型是不可能的,除非利用去中心化的共識、可驗證計算和加密技術工具。協議通常從設計空間的左下角向右上角過渡。有時,協議會變得事實上集中化,如電子郵件。由中心化電子郵件服務提供商處理超過50% 的電子郵件,導致電子郵件變得高度中心化。電子郵件面臨垃圾郵件問題、缺乏經濟模型、DNS註冊成本分攤和高切換成本等壓力。
在沒有可行的經濟模型的情況下,電子郵件只能作為大型科技公司的附帶項目可持續發展。減少垃圾郵件的方法依賴於規模經濟和數據結合,託管數百萬電子郵件帳戶的公司更容易檢測異常。此外,切換成本也是一個重要因素。現在,我們需要認識到兩個關鍵的中心化力量,它們影響協議的不同組成部分,在協議設計過程中,它們會在每一個轉折點不斷地發揮作用,它們是網絡效應和切換成本。
網絡效應是指隨著系統規模的擴大和廣泛使用,權力也會積聚的現象。切換成本則是指用戶離開當前系統並轉向其他系統所需的經濟、認知或時間成本。在電子郵件的例子中,切換成本對於使用Gmail 的用戶來說至關重要。如果你使用Gmail 但沒有自己的域名,那麼切換成本將會很高。然而,如果你擁有自己的域名,你就可以自由地切換郵件服務提供商,並繼續使用任何服務提供商來接收郵件。一家公司可以通過協議設計來增加切換成本,強製或鼓勵用戶使用特定組件,從而減少用戶轉向其他供應商的可能性。
以Reddit 為例,這是一個允許版主單方面控制子論壇的系統,這使得去中心化與中心化之間的界限變得模糊。儘管允許任何人成為版主可能被視為一種去中心化,但如果最終權力仍然集中在管理員手中(例如Reddit 團隊),它們仍然是完全中心化的系統。高質量的用戶體驗與中心化力量無關,但提供高質量的用戶體驗通常需要資金支持。在Web1 時代,由於缺乏資金,去中心化的協議往往無法提供良好的用戶體驗。資金支持在提供高質量用戶體驗方面扮演著重要的角色。
Web3:去中心化& 明確的經濟模型
像在Twitter、Facebook、Instagram 或TikTok 這樣的Web2 平台上,限制了用戶選擇,使其受制於平台的界面決定。然而,Web3 引入的去中心化組件將如何改變協議呢?利用加密和區塊鏈技術可以減少對信任的依賴,同時明確經濟學原理並支持去中心化。 Web3 提供了開放性、互操作性和開源的特點,具備明確的經濟模型,並能在協議中整合資金以實現可持續發展,避免將所有價值壟斷化。
作為開發者,選擇在去中心化且具備明確經濟模型的系統上進行建設是最佳選擇。這樣可以確保系統的持續存在,並了解與之相關的經濟關係,而不必讓經濟關係發展在協議之外。在穩定性和價值捕獲方面,需要以不同的方式進行考慮。選擇在去中心化系統上進行建設非常重要,因為這樣可以避免潛在的風險,並建立一個持久且有潛力成為最大系統的項目。
互聯網建設已經不再被視為瘋狂的行為,因為互聯網本身是一個完全去中心化的系統。同樣,使用開源編程語言和依賴Web 瀏覽器也成為構建雄心勃勃項目的可靠基礎。在中心化系統上進行建設可能會受到限制,無法擴大項目的規模和範圍。 Web3 吸引了優秀的開發者,他們可以構建更大、更具野心的項目。其他系統或平台可能會出現,並與現有的Web2 平台展開競爭,符合法規並具備競爭優勢,與Web2 平台進行激烈競爭。
Web2 網絡的最大問題在於其脆弱性和過度優化的商業模式。這些網絡追求特定指標的優化,而忽視與其目標無關的事物,導致缺乏創新和對新產品的開發。雖然它們具有強大的網絡效應,但還不足於形成壟斷,那麼一旦遇到針對其弱點的對策,它們就很容易受到危險。
相比之下, Web3 通過去中心化和明確的經濟模型,提供了更具彈性和創新能力的空間。類似於豐富多樣的雨林生態系統,Web3 系統建立了適合各種有趣事物發展的基礎設施和協議,為創新提供了更肥沃的土壤。通過利用加密貨幣和代幣經濟模型,可以確保參與者的創造力和冒險精神得到回報,進一步推動系統的發展。
因此, Web3 具備更好的生態系統可持續性和創新潛力,而不是僅僅依賴經濟資源的堆積。明確的經濟模型和去中心化特點使得Web3 能夠在真正意義上實現創新和發展,遠離過度優化和單一領域集中積累的困境。通過引入加密技術和代幣經濟模型,Web3 為參與者提供了更大的創造空間和回報機制,推動系統向著更有價值和持久的方向發展。
Web3 協議設計案例
案例背景與設計目標
先開始介紹個有趣的示例,“Stable Horde”是一個生成圖像的免費系統,也是一個Web2 的協議。它使用協作層功能,允許用戶請求其他願意幫助的人來生成圖像。客戶端通過提交任務到工作隊列,工作者進行推理處理並將結果發送到結果存儲,客戶端可以從中檢索結果並支付Kudos 分數給工作者。在Stable Horde 中,Kudos 是免費積分系統,用於優先處理任務。然而,由於計算資源捐贈的限制,隊列越長,生成圖像時間越長。
我們面臨一個有趣的問題:如何擴展這個系統,使其更大、更專業一些,同時保持開放性和互操作性,又能避免中心化破壞項目最初精神的風險。一種建議是將Kudos 分數轉換為ERC20 代幣並記錄在區塊鏈上。然而,簡單地添加區塊鏈可能會引發一系列問題,如虛假結果攻擊等。
讓我們重新思考協議設計過程。應該始終從一個明確的目標開始,然後考慮約束條件,最後確定機制。設計系統時需要衡量目標並確定有效的機制。約束條件有內生和外生形式,通過限制設計空間,可以更明確地確定機制。機制是協議的實質內容,如清算、定價、質押、激勵、支付和驗證等。設計應符合約束條件並滿足明確的目標。
Web3 協議示例: Unstable Confusion
讓我們繼續討論一個名為"Unstable Confusion" 的全新Web3 協議。在接下來的內容中,我們將概述一些有趣的方向,這些方向是在將現有的Web2 協議"Stable Horde" 轉換為Web3 協議"Unstable Confusion" 的背景下提出的。
在前面提到過,存在發送虛假結果的問題,因此需要一種機制來確保用戶獲取他們所需的內容,這就是所謂的"驗證推理"。簡單來說,我們需要對推理進行驗證,以確保其結果符合預期。另一個問題涉及到"Stable Horde" 中的工作者。工作者按照請求的順序向數據庫請求下一個任務,並將任務分配給最早發出請求的工作者。但在涉及金錢的系統中,工作者可能會為了獲取更多報酬而大量申領任務,但實際上並不打算完成這些任務。他們可能會競爭低延遲,搶奪任務,導致系統擁堵。
為解決以上問題,提出了一些解決方案。首先是"按貢獻比例支付",即工作者根據他們的貢獻獲得相應的報酬,以一種對網絡有益的方式來競爭任務。其次是"靈活參與",即工作者能夠以較低的成本自由加入或退出系統,吸引更多的參與者。最後是"低延遲",即應用程序的響應速度和快捷性對於用戶體驗至關重要。回到我們的目標,是建立一個去中心化、互操作的圖像生成市場。雖然我們還有一些關鍵限制條件,但可以隨後添加、修改或更加具體的細節。現在,我們可以評估不同機制的可行性。
潛在的機制設計
1.驗證機制
我們可以採用博弈論和密碼學等方法來確保推理的準確性。博弈論機制可以用於爭議解決系統,用戶可以升級爭議,由特定角色進行仲裁。連續或抽樣審計是另一種方法,通過審查工作者的工作,確保任務分配給不同的工作者,並記錄通過審計的工作者。密碼學中的零知識證明可以生成高效的證明,驗證推理的正確性。傳統方法包括可信的第三方機構和用戶評價,但存在中心化風險和網絡效應問題。
其他可能的驗證機制包括讓多個工作者完成同一任務,然後用戶從結果中選擇。這可能需要較高的成本,但如果成本足夠低廉,可以考慮實施這種方法。
2.定價策略
關於定價策略,可以在鏈上建立一個訂單簿。也可以使用鏈上驗證的計算資源代理度量,比如gas 。這種方法不同於簡單的自由市場,其中用戶只需發布願意支付的推理費用,工作者可以接受,或者他們可以出價爭奪任務。相反,用戶可以創建一個類似gas的代理度量,其中特定的推理需要一定數量的計算資源,計算資源的數量直接決定價格。通過這種方式,可以簡化整個機制的運作。
另外,還可以使用鏈下的訂單簿,它的運行成本較低且可能非常高效。然而,問題在於,擁有該訂單簿的人可能會將網絡效應集中在自己身上。
3.存儲機制
存儲機制非常重要,確保工作結果能夠正確傳遞給用戶,但難以減少信任風險並證明工作是否正確交付。用戶可能會質疑物品是否已經交付,類似於抱怨未收到預期商品。審計員可能需要驗證計算過程並檢查輸出結果的準確性。因此,輸出結果應對協議可見並存儲在協議能夠訪問的地方。
在存儲機制方面,我們有幾種選擇。一種是將數據存儲在鏈上,但這很昂貴。另一種選擇是使用專門的存儲加密網絡,雖然更複雜,但可以嘗試以點對點方式解決問題。另外,還可以選擇將數據存儲在鏈外,但這會引發其他問題,因為控制該存儲系統的人可能會影響驗證過程和最終支付的傳輸等其他方面。
4.任務分配策略
任務的分配方式也需要考慮,這是一個相對複雜的領域。可以考慮工作者在任務提交後自行選擇任務,或者協議在任務提交後分配任務,還可以讓用戶或最終用戶選擇具體的工作者。每種方式都有優缺點,還可以考慮協議決定哪些工作者可以請求哪些任務的組合方式。
任務分配涉及許多有趣的細節。例如,在基於協議的系統中,需要知道工作者是否在線和可用,才能決定是否將任務分配給它。還需要了解每個工作者的能力和負載情況。因此,在協議中需要考慮各種額外因素,最初的簡單實現可能沒有包含這些因素。
去中心化協議設計的要點
可能導致中心化風險的7個關鍵設計要素
其中包括電子郵件引入的空間命名、支付系統、聲譽以及存儲、匹配、定價系統和驗證系統。這些要素可能會受到網絡效應或高切換成本的影響而變得中心化。通過減輕網絡效應的累積、將網絡效應引導到協議中,並在協議中建立去中心化控制層來管理協議,以確保系統的長期健康。可以利用波動性的代幣或其他治理設計,如聲譽系統或輪換選舉機制來實現去中心化控制。
降低切換成本和促進互操作性
為了鼓勵創業者在系統上構建應用,降低切換成本和促進不同系統之間的互操作性非常重要。避免引入高昂的切換成本,減少對鏈下訂單簿或第三方驗證系統的過度依賴。
利用Web3 技術創建去中心化系統
利用Web3工具和原則來設計系統,給予創業者更多權力並避免過度中心化。擁抱Web3原則的協議通常具有更大的規模、更長的壽命和更為充盈的生態系統活力,為超越現有最大公司設定的邊界提供肥沃的創新探索領域。
深入研究和選擇最佳解決方案
在設計協議和確定策略時,需要深入研究各個方面。對於驗證方面,密碼學解決方案通常是最佳選擇。在定價方面,使用鏈上驗證的計算資源代理度量可以適應各種不同的推理或機器學習任務。在任務分配方面,採用實時更新工作者能力和狀態的協議,公平地分配任務並允許工作者自主選擇是否接受任務。存儲問題可以考慮使用原型分片技術等解決方案,在短暫的時間窗口內解決問題,並採用臨時存儲方式。
在設計去中心化系統時,以上要點考慮可以幫助構建具有長期穩健性和去中心化特性的系統。
原文:Protocol design: Why and how