觀點 | Web 3 世界的身份及聲譽,Part-1
身份和聲譽,是 ofollow,noindex">Web 3 世界的基礎。在本文中,我們給出了相關問題的綜述,並羅列出一些解決方法。
為什麼身份 & 聲譽這麼重要
讓我們從瞭解身份和聲譽如何釋放協議層面的價值來著手。
將一次性博弈轉變為重複博弈
區塊鏈使用者都是匿名的,而且更換新地址的成本可忽略不計,所以共識協議很難要求使用者進行正當的行為。發展到今日,我們習慣以質押的概念或是“懲罰條件”來進行約束,本質上就是通過罰沒參與者的一些資金(通常是 ETH 或是 ERC20 代幣)來懲罰作惡行為。
假設我們有一種辦法,能夠以數字化方式體現身份和聲譽的稀缺性,便能修改現有的股權機制,採取如同罰沒資金一樣的方式,使作惡者的聲譽遭受損失。相對的,共識協議也能夠獎勵聲譽高的參與者;比如在網路中給與他們更多收益(可以與 Cosmos 和 Keep 專案中提到的工作代幣 "work token" 類比 )。參與者有動機來優化自己的聲譽,而不只為了短期利益;進而將一次性博弈轉變為重複博弈。
抽樣
關於抽樣,最重要的應用就是共識機制本身( 像 Proof-of-Work 和 Proof-of-Stake 承擔了抗女巫攻擊認證)。這可以擴充套件到其他用例,比如選擇由誰儲存檔案,或是由誰在資源市場中執行計算工作。
限流及定價策略
網路服務通過許多的限流及定價策略,來滿足不同層次的客群需求。 以 Dropbox 為例,它使用免費增值模式(任何人都能免費使用服務,但免費的服務有限)。通過身份系統,去中心化的協議也能夠實現相似功能。像是 Filecoin,可以使用免費增值模式給大需求使用者提供更低廉的價格。
除了協議層之外,我們也看到很多應用需要身份。
治理
現有的區塊鏈投票系統,是基於代幣投票模式。代幣是稀缺資源,提供抗女巫攻擊機制,但是這樣也導致財閥專權,有錢人的話語權更大。二次方投票(Quartic Voting)之類的機制,雖然能夠降低財富的影響,但現在還是可以鑽空子;比如一方將錢分散到多個賬戶地址。
而身份認證使得二次方投票方案得以實施。
聲譽,源於使用者在協議中曾有過的行為,或是來自社群對該使用者的信任;可以作為決定某個節點投票權重的依據。
毋庸置疑的,安全的鏈上投票的要求比上述要更加嚴苛。舉例來說,為了避免賄選發生,參與者不應能公開他們的投票方式(關於“抗脅迫性”的描述更為廣義,相關介紹可見 Daian, Kell, Miers, and Juels 的 這篇文章 。)
借貸
鏈上借貸協議無法信任參與者,因此要求完全抵押才能進行借貸,這種高昂借貸成本遏制了應用的發展。
身份系統通過驗證借款人在真實世界中的一些特徵(徵信記錄、產權證明、收入等等),來扭轉上述局面。聲譽,是由以前的借貸經歷或是其他人擔保而來,可以被視為抵押物。
證券類代幣
將真實世界的抵押物代幣化,如房地產、股權、藝術品,能夠放大它們的價值:增值點在於代幣能體現部分所有權,具備及時清結算,及參與7*24全球市場等優勢。該類代幣的發行和交易須遵守證券法(對交易參與者進行 KYC, AML,資質鑑定,和其他檢查 ),這些條件限制能夠內化到代幣本身(比如使用 Harbor 方法的 R-Token )或在交易所交割時強制執行(如在去中心化交易所呼叫 ERC20 轉移函式前先執行此類限制條件)。
代幣發售 & 空投
代幣空投能激勵網路中的參與者。最近的一些空投例子如 Livepeer 的 Merkle Mine 和 Handshake’s airdrop ,都是開源的空投機制。有了身份和聲譽體系,我們能夠設計更 精細 的空投分發機制。身份和聲譽在這裡的應用,包含:構建鏈上游戲的社交屬性(如,遊戲中物品的受歡迎程度會影響其價格)、登入及許可權控制、DPoS、普適的最低收入,以及聚合去中心化預言機的輸入。
下面,讓我們來看看身份和聲譽究竟代表什麼意思。
我們指的身份和聲譽是什麼?
身份是系統內最基礎的角色。在以太坊中,可以說以太坊賬戶地址就是身份。
身份可以用來證明自己和他人曾發生過一些事,我們把這些事稱作宣告。隨著時間推演,聲譽會隨著身份體系建立起來。
身份、宣告,和聲譽的協議,應該通過適當的介面相互互動。這個系統必須是模組化且可擴充套件的,同時具備以下特性:
- 去中心化(Decentralization):協議規則應該由網路參與者制定和遵守,而不是由中心化權力機構執行。
- 自治(Self-sovereignty):使用者自行掌控屬於自己的身份、宣告,和聲譽。這與 Web 2 網路形成巨大的反差;在 Web 2 網路中,比如在亞馬遜;一個商家的產品積累的聲譽,可能會因為亞馬遜破產或單方面決定,而被移除。
- 可移植性 & 互操作性(Portability & interoperability):系統不該扣留使用者,而應該允許使用者往其他系統上遷移屬於自己的資料。
- 抗女巫攻擊(Sybil resistance):設計協議時,必須考慮參與者不能通過釋出多個身份獲得優勢;除此之外,協議中舊身份更換成新身份沒有好處。構建一個去中心化的抗女巫攻擊身份體系,是一個 涉及方方面面的問題 。此問題可以使用一種易於單次計算,但難以重複計算的函式;或是一種無法通過機器表現的人為舉動。比如 Proof of Work 和 Proof of Stake 都是目前常見的方式。
- 隱私(Privacy):參與者應該能選擇性地與他人共享資料。此外,預設情況下參與者的身份能通過不公開的標識進行驗證。
接下來,讓我們深入瞭解這個系統的三個組成:身份、宣告、聲譽。
身份
身份可以指的是外部持有的賬號(由私鑰控制),或是一份智慧合約(多重簽名、DAO、其他等等)。身份能夠用於資訊簽名、資料加密,或是發表關於自己或他人的宣告。
身份管理中,金鑰的管理是最重要的一環。與私鑰最大不同是,使用智慧合約管理身份讓我們能擴充套件一些功能,如金鑰找回、許可權控制、動態花費限制等等。
身份管理合約應該包含金鑰恢復機制,以面對以下情況:
- 金鑰丟失(使用者許可權丟失)
- 金鑰遭竊(使用者擁有許可權,小偷也擁有許可權)
- 金鑰遭竊且丟失(使用者許可權丟失,小偷擁有許可權)
有許多機制在這裡能夠派上用場:社群找回、 暫停證明服務 ,或是通過 Shamir 金鑰分享和 Schnorr 簽名方法。
將金鑰具體功能分離,能夠劃分出不同層級的安全性。以 ERC-725 為例,其提議持有不同金鑰來用於管理、行動、發表宣告,和加密。
為了保護隱私,使用者在不同使用場景需要建立和管理不同的身份。如果我們用相同的、完整的身份去借貸、給質押者授權、支付,會導致使用者在真實世界的身份被交叉比對最後暴露。在 BIP 32 / 39 / 44 中提到的分級確定性(Hierarchical Deterministic)方法能夠在這裡派上用場。
最後,身份方法必須和其他系統有很好的互操作性,並能適用於 W3C DID (去中心化身份驗證者 Decentralized Identifier) 標準。
宣告
宣告指的是由一個身份對另一個身份提出的事實。
“宣告 Claim”的語義遵循“一個實體提出關於某個主題的宣告”,並且能夠表達許多事:
- “A 宣告 B 已經通過 KYC。”——用於抗女巫攻擊
- “A 宣告 B 是合格的投資者。”——用於監管合規(如代幣售賣,和抵押代幣交易等等)
- “A 宣告 B 超過了 21 歲。”——用於有年齡限制的產品
- “A 宣告 B 是中國公民。”——用於合規審查
- “A 宣告 B 有 x 收入。”——用於信用風險擔保
這些宣告由宣告人簽署,因此其真實性和完整效能夠以加密形式驗證。
任何一方也能夠對其自身發表宣告(比如姓名、國籍、生日)。
有些設計準則需要銘記在心:
- 宣告必須是加密的(Claims should be encrypted):宣告可能包含敏感資訊,因此始終要以加密形式儲存。資料擁有者能夠以可選的資訊公開流程,將資料分享給特定身份物件(比如,通過 Diffie-Hellman 方法交換金鑰)。
- 儘可能少地在鏈上儲存資料(Store as little data as possible onchain):除非要求鏈上審查(比如,某次需要許可的 ERC20 交易),否則宣告資料應該被放在鏈下儲存,只鏈上儲存其加密形式(如,默克爾樹的根值)。除此之外,考慮到未來量子計算的普及和目前加密系統的脆弱性,即便資料已經進行加密,也不該存放在區塊鏈上。
- 只有釋出者能夠移除宣告(Only the claim creator should be able to remove their claim):這樣能夠使網路有能力釋出負面宣告,而不用擔心它們被刪掉。舉例來說,可以宣告某個以太坊地址是釣魚詐騙(從虛假 ICO 到推特上的“免費贈幣”騙局等等,這是在加密世界始終存在的問題),或是賣方沒有履行他們的商業責任。 繼續這個思路,我們可以想象一下,如果某個使用者被捲入了與他無關或惡意第三方的宣告,該怎麼辦?這不構成問題,因為沒有宣告是具有權威性的。 宣告就只是由某個身份提出的、關於另一個身份的狀態,至於信不信,完全由驗證者自行決定 。
- 宣告具有有效期 (Claims can expire):宣告不會永遠有效。舉例來說,在某些司法管轄區,可信的狀態每 90 天需要更新一次。每個聲明發出時包含當時的區塊高度,因此驗證者能自行判斷這些宣告的有效性。
現在,讓我們來看看一些設計預案。(未完)
原文連結: https://sinahab.com/2018/09/identity-and-reputation-in-web-3/
作者:Sina Habibian
翻譯&校對:IAN LIU & Elisa