2022年6月13日,以太坊創始人Vitalik發表博客“哪些非金融應用可以使用區塊鏈”表示,自己一直強烈支持將區塊鏈用於非金融應用的趨勢,人們需要既遠離“區塊鏈萬能主義”也遠離“區塊鏈極簡主義”。他表示在很多情況下看到了區塊鏈的價值,有時是為了真正重要的目標,例如信任和抗審查,有時純粹是為了方便。
Vitalik還在文章中列舉了8個可以使用區塊鏈的非金融應用場景:用戶帳戶密鑰更改和恢復、修改和撤銷證明、負面聲譽、稀缺性證明、公共知識、與其他區塊鏈應用程序的互操作性、開源指標、數據存儲。 Vitalik表示他迄今為止最有信心的兩個非金融應用是與其他區塊鏈應用程序的互操作性和帳戶管理。
以下為Vitalik原文:
最近,人們對將區塊鏈不僅僅用於金融應用的興趣越來越大。出於各種原因,這是我一直強烈支持的趨勢。上個月,Puja Ohlhaver、Glen Weyl和我合作撰寫了一篇論文,描述了一個更詳細的願景,即通過更豐富的描述各種關係的靈魂綁定代幣生態系統可以做什麼。這引發了一些討論,特別關注在去中心化身份生態系統中使用區塊鍊是否有意義:
Kate Sills主張鏈下簽名聲明
Puja Ohlhaver回應Kate Sills
Evin McMullen和我自己有一個播客辯論鏈上與鏈下證明
Kevin Yu撰寫了一篇技術性綜述文章,提出了鏈上與鏈下的問題
Molly White提出了一個反對自我主權身份的悲觀理由
Shrey Jain製作了一個包含上述內容和許多其他Twitter討論的元線程
有必要縮小範圍並提出一個更廣泛的問題:一般來說,在非金融應用程序中使用區塊鏈有什麼意義?我們是否應該邁向一個即使是去中心化聊天應用程序的每條消息都鏈上加密的世界?或者,區塊鍊是否只對金融有益(例如,因為網絡效應意味著貨幣對“全球視野”有獨特的需求),而所有其他應用程序最好使用中心化或更多本地系統來完成?
我個人的觀點,和“區塊鏈投票”文章中的一樣,既遠離“區塊鏈萬能主義”也遠離“區塊鏈極小主義”的觀點。我在很多情況下都看到了區塊鏈的價值,有時是為了真正重要的目標例如信任和抗審查,但有時純粹是為了方便。這篇文章嘗試描述區塊鏈可能適用的某些場景類型特別是與身份相關的場景,以及它們不適用用的地方。這篇文章不是一個完整的列表,並且故意遺漏了很多東西。目的是闡明一些常見的類別。
用戶帳戶密鑰更改和恢復
加密帳戶系統的最大挑戰之一是密鑰更改問題。這可能發生在以下幾種情況下:
1、擔心當前的密鑰可能會丟失或被盜,並且想要切換到其他密鑰
2、想切換到不同的加密算法(例如,因為擔心量子計算機很快就會出現並且想升級到後量子)
3、密鑰丟失了,想重新獲得對帳戶的訪問權
4、密鑰被盜了,想重新獲得對帳戶的獨占訪問權(並且不希望小偷也能這樣做)
[1] 和 [2] 相對簡單,因為它們可以以完全自主的方式完成:你控制密鑰X,你想切換到密鑰Y,所以你發布了一條用X簽名的消息,上面寫著“從現在開始Authenticate me with Y”,每個人都接受這一點。
但請注意,即使對於這些更簡單的密鑰更改場景,你也不能只使用cryptography。考慮以下事件序列:
-
你擔心密鑰A可能會被盜,因此與A簽署了一條消息,上面寫著“我現在使用B”
-
一年後,黑客確實竊取了密鑰A。他們簽署了一條消息,上面寫著A,上面寫著“我現在使用C”,其中C是他們自己的密鑰
從後來者剛剛收到這兩條消息的角度來看,他們看到不再使用A,但他們不知道“用B替換A”還是“用C替換A”的優先級更高。
這相當於設計去中心化貨幣時著名的雙花問題,不像雙花是防止代幣所有者能夠再次發送它,這裡的目標是防止以前控制帳戶的密鑰能夠更改密鑰。就像創建去中心化貨幣一樣,以去中心化方式進行賬戶管理需要像區塊鏈這樣的東西。區塊鏈可以為關鍵更改消息添加時間戳,提供關於B還是C先出現的公共知識。
[3] 和 [4] 更難。一般來說,我自己首選的解決方案是多重簽名和社交恢復錢包,如果丟失或被盜,一組朋友、家人和其他聯繫人可以將你的帳戶控制權轉移到新密鑰。對於關鍵操作(例如,轉移大量資金,或簽署重要合約),也可能需要該組人的參與。
但這也需要區塊鏈。使用秘鑰共享進行社會恢復是可能的,但在實踐中更難:如果你不再信任你的某些聯繫人,或者如果他們想要更改自己的密鑰,那麼你無法在不更改密鑰的情況下撤消訪問權限。所以我們又回到了要求某種形式的鏈上記錄。
DeSoc論文中一個微妙但重要的想法是,為了保持不可轉移性,個人資料的社交恢復(或“社區恢復”)實際上可能需要強制執行。也就是說,即使你出售自己的帳戶,也可以隨時使用社區恢復來取回帳戶。這將解決諸如不真正有信譽的司機在拼車平台上購買經過驗證的帳戶等問題。也就是說,這是一個推測性的想法,不必完全實施即可獲得基於區塊鏈的身份和聲譽系統的其他好處。
請注意,到目前為止,這是一個有限的區塊鏈用例:在鏈上擁有賬戶是完全可以的,但在鏈下做所有其他事情。這些混合願景都有一席之地。使用以太坊登錄是一個很好的簡單示例,說明瞭如何在實踐中做到這一點。
修改和撤銷證明
Alice去了Example College並獲得Example研究學位。她獲得了一個數字記錄來證明這一點,這個數字記錄由Example學院密鑰簽名。不幸的是,六個月後,Example College發現Alice有大量抄襲行為,並撤銷了她的學位。但Alice繼續使用她的舊數字記錄到處向人們和機構聲稱她擁有學位。更有可能,證明甚至帶有權限——例如,登錄學院在線論壇的權利——而Alice也可能試圖不恰當地訪問它。我們如何防止這種情況發生?
“區塊鏈極小主義”的方法是將學位設為鏈上NFT,因此Example College可以發起鏈上交易來撤銷NFT。但這也許是不必要的昂貴:發行很常見,撤銷很少,我們不想要求Example College 發起交易並支付費用,如果他們不需要的話。因此,我們可以採用混合解決方案:將初始學位設為鏈下簽名消息,並在鏈上進行撤銷。這是OpenCerts使用的方法。
許多鏈下可驗證憑證支持者所提倡完全鏈下的解決方案,Example College運行一個服務器,他們在其中發布其撤銷的完整列表(為了改進隱私,每個證明都可以附帶一個隨機數和撤銷列表,撤銷列表可以只是一個隨機數列表)。
對於一所大學來說,運行一台服務器並不是一個很大的負擔。但是對於任何較小的組織或個人來說,再管理“一個服務器腳本”並確保它保持在線對IT人員來說是一個巨大的負擔。如果我們告訴人們出於對區塊鏈的恐懼而“只使用服務器”,那麼可能的結果是每個人都將任務外包給一個中心化的供應商。最好保持系統去中心化並只使用區塊鏈——尤其是現在rollup、分片和其他技術終於開始上線,區塊鏈的成本越來越便宜。
負面聲譽
鏈下簽名不夠用的另一個重要領域是負面聲譽,即你正在對其進行證明的個人或組織可能不希望你看到它們的證明。我在這裡使用“負面聲譽”作為技術術語:最明顯的用例是說某人壞話的證明,例如差評或有人在某些情況下濫用行為的報告,但也有一些用例裡“負面”證明並不意味著不良行為,例如,貸款行為並試圖證明你沒有同時有太多其他貸款。
使用鏈下聲明,你可以獲得正面聲譽,因為展示聲明讓你看起來更有信譽(或對其進行ZK證明),這符合聲明接收者的利益,但可能不適用負面聲譽,因為有人總是可以選擇只顯示使他們看起來不錯的聲明,而忽略所有其他聲明。
在這裡,在鏈上進行證明確實可以解決問題。為了保護隱私,我們可以進行加密和零知識證明:證明可以只是鏈上記錄,其中數據加密到接收者的公鑰,用戶可以對鏈上記錄的整個歷史運行零知識證明來證明缺乏負面聲譽。鏈上的證明和區塊鏈感知的驗證過程使得驗證證明確實遍歷整個歷史並且沒有跳過任何記錄變得容易。為了使這種計算可行,用戶可以使用可增量驗證的計算(例如Halo) 來維護和證明對它們加密的記錄樹,然後在需要時顯示樹的某些部分。
負面聲譽和撤銷證明在某種意義上是等價的問題:你可以通過添加另一個負面聲譽證明來撤銷證明,說“某個其他證明不再重要”,並且你可以通過背負正面聲譽來實現負面聲譽:Alice在Example College的學位可能會被撤銷,取而代之的是“Alice獲得了Example College研究學位,但她借了一筆貸款”。
負面聲譽是個好主意嗎?
我們有時聽到的對負面聲譽的一種批評是:負面聲譽不是“紅字”(The Scarlet Letter是一部1850年代出版的小說,美國殖民時期給被判通姦罪者佩戴的恥辱標記)的反烏托邦計劃,我們不應該盡最大努力以正面聲譽做事嗎?
在這裡,雖然我支持避免無限負面聲譽的目標,但我不同意完全避免它的想法。負面聲譽對於許多用例都很重要。無抵押貸款對於提高區塊鏈行業內外的資本效率非常有價值,顯然會從負面聲譽中受益。 Unirep Social展示了一個將高度匿名性與保護隱私的負面聲譽系統相結合的社交媒體平台概念驗證,負面聲譽有助於限制濫用行為。
有時,負面聲譽可以增強力量,而正面聲譽可能具有排他性。一個在線論壇,每個人都有權發帖,直到他們因不當行為而受到“禁止發帖”,這比一個需要某種“良好品格證明”才能被承認並首先被允許發言的論壇更加平等。多數“體制外”的邊緣化人群,即使人品好,也很難得到這樣的證明。
具有強烈公民自由主義的讀者可能還想考慮性工作者客戶匿名聲譽系統的案例:你想保護隱私,但你也可能想要一個系統,如果客戶虐待性工作者,他們會被打上黑標,從而讓其他性工作者會更加小心或遠離他們。這樣,難以掩飾的負面聲譽實際上可以賦予弱勢群體權力並保護自身安全。這裡的重點不是為某些特定的負面聲譽方案辯護;相反,這是為了表明負面聲譽可以釋放非常真實的價值,一個成功的系統需要以某種方式支持它。
負面聲譽不一定是無限的負面聲譽:我認為應該始終可以以一定成本創建新的個人資料(可能會犧牲很多或全部現有的正面聲譽)。在責任過少和責任過多之間存在平衡。但首先擁有一些使負面聲譽成為可能的技術是打開這個設計空間的先決條件。
稀缺性證明
區塊鏈有價值的另一個例子是發布可證明數量有限的證明。如果我想為某人做一個背書(例如,人們可能會想像一家公司正在尋找員工或一個正在尋找此類背書的政府簽證計劃),查看該背書的第三方會想知道我對背書是否謹慎或我是否把它們發送給朋友。
這個問題的理想解決方案是公開背書,使背書與激勵一致:如果我背書的人後來證明做錯了事,那麼每個人都可以在未來對我的背書打折。但通常,我們也希望保護隱私。因此,我可以做的是在鏈上發布每個背書的哈希值,這樣任何人都可以看到我給出了多少。
一個更有效的用例是單次多個發行:如果藝術家想要發行N個“限量版”NFT,他們可以在鏈上發布包含他們所發行NFT的Merkle根的單個哈希。單次發行防止他們事後發行更多,你可以將表示數量限制的數字(例如100)與Merkle根一起發布,表示只有最左邊的100個Merkle分支是有效的。
通過在鏈上發佈單個Merkle根和最大計數,你可以提交有限數量的證明。在這個例子中,只有五個可能的有效Merkle分支可以滿足證明檢查。精明的讀者可能會注意到與Plasma鏈在概念上的相似之處。
公共知識
區塊鏈的強大特性之一是它們創造了共同知識:如果我在鏈上發布某些東西,那麼Alice可以看到它,Alice可以看到Bob可以看到它,Charlie可以看到Alice可以看到Bob可以看到它,等等。
常識共同知識對於協調通常很重要。例如,一群人可能想就一個問題發表意見,但只有在有足夠多的人同時發表意見以保證人數安全的情況下才會感到自在。一種可能的方法是讓一個人圍繞特定聲明啟動一個“承諾池”,並邀請其他人發布表示他們同意的哈希值(起初是私有的)。只有在一段時間內有足夠多的人參與,所有參與者都需要讓他們的下一條鏈上消息公開顯示他們的位置。
像這樣的設計可以通過零知識證明和區塊鏈的組合來完成(它可以在沒有區塊鏈的情況下完成,但這需要見證加密,這還不可用,或者可信硬件,可信硬件具有嚴重的安全假設問題)。圍繞這些想法有一個很大的設計空間,目前尚未充分開發,但一旦圍繞區塊鍊和加密工具的生態系統進一步發展,就很容易開始發展。
與其他區塊鏈應用程序的互操作性
這個比較簡單:有些東西應該在鏈上,以便更好地與其他鏈上應用程序互操作。人性證明是鏈上NFT使得項目更容易自動空投或授予具有人性證明賬戶的治理權。鏈上Oracle數據使defi項目更容易讀取。在所有這些情況下,區塊鏈並沒有消除對信任的需求,儘管它可以容納管理信任的DAO等結構。但是,鏈上提供的主要價值僅在於你正在與之交互的東西在同一個地方,還有其他原因需要區塊鏈,
當然,你可以在鏈下運行預言機,並要求僅在需要讀取數據時才導入數據,但在許多情況下,這實際上會更加昂貴,並且不必要地給開發人員帶來複雜性和成本。
開源指標
“去中心化社會”文章的一個關鍵目標是應該可以對證明圖進行計算。一個非常重要的問題是衡量權力去中心化和多樣性。例如,許多人似乎都同意,理想的投票機制會以某種方式將多樣性牢記在心,不僅給予最多數量代幣甚至最多人數支持的項目,而且給予最多真正不同觀點支持的項目。
Gitcoin Grants中實施的二次融資還包括一些明確的有利於多樣性的邏輯來減輕攻擊。
另一個對測量和評分很有價值的自然應用之處是聲譽系統。已經存在中心化評級,但它可以以更加去中心化的方式完成,算法透明,同時保留更多的用戶隱私。
除了像這樣的緊密耦合用例,這些用例嘗試衡量人們的聯繫程度並將其直接輸入機制,還有更廣泛的用例來幫助社區了解自己。在衡量去中心化情況下,這可能是確定集中度過高的領域的問題,這可能需要做出回應。在所有這些情況下,在大量的證明和承諾上運行計算機化算法並用輸出做真正重要的事情將是不可避免的。
我們不應該試圖廢除量化指標,我們應該努力做出更好的指標。
Kate Sills表達了她對根據聲譽進行計算的目標的懷疑,這一論點既適用於公共分析,也適用於對他們的聲譽進行個人零知識證明(如在Unirep Social 中):
評估聲明的過程非常主觀且取決於上下文。人們自然會不同意其他人的可信賴性,而信任取決於上下文…… [因此]我們應該對任何聲稱“計算”獲得客觀結果的提議極為懷疑。
在這種情況下,我同意主觀性和上下文的重要性,但我不同意更廣泛的主張,即完全避免圍繞聲譽進行計算是正確的目標。純粹的個體化分析的規模並沒有遠遠超出鄧巴的數量,任何試圖支持大規模合作的複雜社會都必須在一定程度上依賴聚合和簡化。
也就是說,我認為一個開放參與的證明生態系統(與我們今天擁有的中心化生態系統相反)可以通過為更好的指標開闢空間來讓我們兩全其美。以下是此類設計可以遵循的一些原則:
-
互為主體性:例如,聲譽不應該是一個單一的全局分數;相反,它應該是一個更主觀的計算,涉及被評估的人或實體,還包括查看分數的查看者,甚至可能是本地上下文的其他方面。
-
可信的中立性:該設計顯然不應該為強大的精英留下空間,讓他們不斷地為自己的利益操縱它。實現這一點的一些可能方法是算法的最大透明度和不經常更改。
-
開放性:做出有意義的輸入,並通過自己運行檢查來審核其他人的輸出的能力,應該對任何人開放,而不僅限於少數強大的群體。
如果我們不創建良好的大規模社會數據聚合體,那麼我們就有可能將市場份額拱手讓給不透明和中心化的社會信用評分。
並非所有數據都應該在鏈上,但以公共知識的方式公開一些數據可以幫助提高社區對自身的易讀性,而不會造成數據訪問差異,它可能被濫用以進行中心控制。
作為數據存儲
這是一個真正有爭議的用例,即使在那些接受大多數其他用例的人中也是如此。區塊鏈領域有一個共同的觀點,即區塊鏈應該只在真正需要和不可避免的情況下使用,在其他任何地方我們都應該使用其他工具。
這種態度在交易費用非常昂貴且區塊鏈極其低效的世界中是有道理的。但在區塊鏈具有Rollup和分片且交易費用已降至幾美分的世界中,它的意義不大,而且區塊鍊和非區塊鏈去中心化存儲之間的冗餘差異可能只有100倍。
即使在這樣的世界中,將所有數據都存儲在鏈上也沒有意義。但是小文本記錄?絕對有意義。為什麼?因為區塊鏈只是一個非常方便的存儲東西的地方。我在IPFS上維護了我的博客的副本。但是上傳到IPFS通常需要一個小時,它還需要讓用戶以接近網站延遲水平的中心化網關訪問它,並且有時文件會丟失,再也找不到。另一方面,將整個博客存儲到鏈上,將完全解決這個問題。當然,博客太大了,實際上無法轉儲到鏈上,即使是分片實施之後,但同樣的原則也適用於較小的記錄。
將數據上鍊只是為了存儲它可能是正確決定的一些小例子包括:
-
增強的秘鑰共享:將你的密碼分成N部分,其中任何M = NR部分都可以恢復密碼,但你可以選擇所有N部分的內容。例如,這些片段可能都是密碼的哈希值、通過其他工俱生成的秘鑰或安全問題的答案。這通過在鏈上發布額外的R部分並在整個集合上進行N of (N+R)秘密共享來完成。
-
ENS優化。 ENS可以通過將所有記錄組合成一個哈希來提高效率,只在鏈上發布哈希值,並要求任何訪問數據的人從IPFS中獲取完整數據。但這會顯著增加複雜性,並增加對另一個軟件的依賴性。因此,ENS將數據保持在鏈上,即使它超過32個字節。
-
社交元數據。連接到你的帳戶的數據(例如,用於使用以太坊登錄的目的),你希望公開且長度非常短的數據。對於像個人資料圖片這樣的較大數據通常不是這樣(儘管如果圖片恰好是一個小的SVG文件,它可能這樣),但對於文本記錄來說是正確的。
-
證明和訪問權限。特別是如果要存儲的數據長度小於幾百字節,將數據存儲在鏈上可能比將哈希放在鏈上和數據放在鏈下更方便。
在很多上面的案例中,權衡不僅考慮成本,而且要考慮隱私,密鑰或密碼學會被破壞。有時,隱私只是有點重要,偶爾洩露的密鑰或遙遠的量子計算幽靈揭示一切而導致的隱私丟失,不如高度確定數據將保持可訪問性重要。畢竟,存儲在“數據錢包”中的鏈下數據也可能被黑客入侵。
但有時,數據特別敏感,這可能是反對將其置於鏈上並將其存儲在本地作為第二層防禦的另一個論據。但請注意,在這些情況下,隱私需求不僅反對區塊鏈,而且反對所有去中心化存儲。
結論
在上面給出的例子中,我個人迄今為止最有信心的兩個是與其他區塊鏈應用程序的互操作性和帳戶管理。第一個已經上鍊了,第二個相對便宜(需要每個用戶使用一次鏈,而不是每個動作用一次),它的用例很清楚,而且確實沒有一個好的基於非區塊鏈的解決方案。
負面聲譽和撤銷也很重要,儘管它們仍然是相對早期的用例。僅依靠鏈下的正面聲譽可以對聲譽做很多事情,但我希望隨著時間的推移,撤銷和負面聲譽的情況會變得更加清晰。我預計會有人嘗試使用中心化服務器來做到這一點,但隨著時間的推移,應該清楚在不便和中心化之間的唯一選擇是區塊鏈。
區塊鏈作為短文本記錄的數據存儲可能是微不足道的,也可能是重要的,但我確實希望至少有一些這樣的使用會繼續發生。區塊鏈對於廉價和可靠的數據檢索確實非常方便,無論應用程序有兩個用戶還是200萬用戶,都可以繼續檢索數據。開源指標仍然是一個非常早期的想法,還有待觀察在不被利用的情況下可以做多少和開放多少(例如,在線評論、社交媒體業力等一直在被利用)。公共知識需要說服人們接受全新的工作流程來處理具有社會重要性的事情,所以這當然也是一個早期的想法。
我在很大程度上不確定這些類別中的非金融區塊鏈用例究竟有多大意義,但似乎很明顯,不應忽視區塊鏈作為這些領域的支持工具。
原文鏈接:https://vitalik.ca/general/2022/06/12/nonfin.html