Web3的信任問題
Web3需要信任嗎?單從區塊鏈技術的角度看,似乎並不需要。因為區塊鏈的特點之一就是“trustless”:通過密碼學與共識機制的巧妙結合,即使沒有可信第三方作為中介,也可以讓兩個互不認識的人完成一筆交易。但是放眼整個區塊鏈行業,對信任的需求似乎又無處不在。一個審慎的用戶打開錢包,點擊確認交互之前,一定會問:我能夠相信這個項目方嗎?我能夠相信他們的合約和前端代碼嗎?我能夠相信這個鏈接嗎?我能夠相信這個NFT的地址嗎……所有這些,都是信任的問題。
要解決Web3世界的信任問題,首先得解決“誰是誰”的問題。我們經常會問,這個NFT的合約是誰部署的?這份數字文件是誰簽名的?這個Discord的鏈接是誰轉發的?即使是基於零知識證明技術的隱私身份憑證,我們也得問問原始數據的公證是誰做的。可見,解決了“誰是誰”的問題,絕大部分的信任問題都會迎刃而解。這裡的前一個“誰”,一般指的是鏈上常見的身份標識符,例如錢包地址、DID、去中心化域名等。後一個“誰”,指的是現實世界的真實身份。前者是賽博空間,後者是現實世界,二者怎麼形成關聯呢?
現有解決方案的問題
在傳統互聯網行業,證明“誰是誰”有兩種主要的方法。第一種是基於證書發放機構(CA)的公鑰基礎設施(PKI)體系。通過中心化的數字證書發放機構,對主體的真實身份進行審核,然後簽發數字證書,以證明該機構的真實身份。我們常見的使用了HTTPS連接技術的網站,就是用了這種證書進行網站身份驗證。
雖然已經在網站加密通信領域得到了廣泛應用,CA與PKI的方案仍然有有幾個明顯的問題:
第一,該方案是徹底的中心化方法,並不符合Web3去中心化的理念。
第二,CA證書的申請雖然面向所有機構和組織以及個人,但是目前的身份認證機制並不完善。事實上,如果你仔細查看,你會發現目前廣大中小網站廣泛使用的DV證書根本沒有任何身份認證機制。
第三,應用範圍比較有限,一般只用在網站的SSL/TLS加密通信上。
圖1:中大型機構才有組織名稱認證
圖2:很多網站的證書裡組織名稱為空
互聯網行業的第二種身份認證方式,是基於菲爾·齊默爾曼開發的PGP與Web of Trust個人密鑰系統。 PGP通過給用戶提供一系列密鑰實現消息加密解密、簽名驗證等常見操作。技術層面上,PGP是很好的密碼學工具,但在實踐層面,它依然很難解決“誰是誰”的問題:只有當你明確知道你的交互對象的PGP公鑰時,PGP系統才能發揮作用。某些自由軟件開發者會把自己的PGP公鑰公開發佈在社交媒體或者自己運營的網站上,但是其安全性和可擴展性並不理想。為了解決此問題,PGP 2.0使用手冊裡提出的Web of Trust(信任網絡)概念旨在通過熟人關係對其他人的PGP身份及公鑰進行簽名和互相驗證,把我們對熟人的信任轉移到對PGP公鑰的認證上。此時,Web of Trust 其實已經有了去中心化社交認證的影子。但是該方案仍然存在不少問題:
第一,技術領域熟人圈子的建立並不容易,人與人的信任很多時候都依賴於線下的聚會和會議活動。新人很難融入已有的信任圈子。
第二,信任的建立基本依賴於口口相傳,並沒有明確的真實性、有效性的檢查方法,對於錯誤的認證也沒有懲罰機制。基本還停留在“君子協定”的階段。
第三,PGP技術本身的基礎設施雖然強大,但是也相當複雜。它涉及密碼學基本原理及命令行操作,普通用戶幾乎寸步難行,很難形成網絡效應。
Valid ID 的設計理念
為了克服以上兩種互聯網身份認證協議的種種問題,zCloak Network提出了一種適用於Web3時代的公鑰基礎設施:Valid ID(valid3.id),用來回答前面提出的“Web3誰是誰”的問題。
Valid ID的基本設計理念包括:
1.簡單易用,盡量把使用門檻降至最低。用戶只要會使用普通的加密錢包,就可以使用Valid ID平台的所有服務。
2.安全可靠,使用簡單、成熟、經過時間檢驗的密碼學原語,如Keccak哈希,secp256k1曲線上的ECDSA簽名算法等。直接支持在主流加密錢包APP與硬件錢包內進行訪問。
3.標準化,在身份標識方面,使用已有的W3C的DID和VC行業標準,基於zCloak的DID實現方法“did:zk:”,將可驗證數字憑證(VC)應用於機構和個人的身份認證過程,盡最大努力兼容已有加密生態。
4.去中心化,在Web of Trust 互驗證理念的基礎上,提出了基於多方認證的信任網絡架構(Multi-party attestation based Web of Trust),以此有效消除了單點信任的問題。 zCloak Network只是入駐主體信息的認證方之一,任何有能力對其它主體進行身份認證的機構,都可以按照自己的標準對其它主體進行身份認證,並在Valid ID平台發放數字憑證。
5.數據自主可驗證,每個入駐主體的相關信息只能靠註冊時的根密鑰進行修改,除了入駐方自己,沒有人有能力對其展示的相關信息進行修改。信息更新使用基於數字簽名的自驗證數據結構,平台的所有的事件與日誌在Arweave、EVM公鏈進行留存。任何人都可以獨立對平台上的相關信息進行獨立審核和驗證。
6.易於擴展,系統架構參考Nostr協議進行了相應的密碼學改造(https://github.com/zCloak-Network/vips),簡單靈活且易於擴展。天然輻射多鏈,相關數據可以輻射至所有公鏈,直接被智能合約所調用(項目早期階段以EVM公鍊為主)。
基於以上設計理念,Valid ID平台形成了屬於自己的獨特優勢,也與Web3行業已有的身份類項目形成了明顯的差別。典型的例子如下。
首先,Valid ID與ENS等域名類項目存在區別。 Web3域名類項目的本質是鏈上地址的聚合表達,所以通過域名的文字本身,並不能傳遞真實的身份信息。例如,timcook.eth不一定可以代表Apple公司的CEO;openai.eth也不一定能代表OpenAI公司。此外,用戶在ENS profile內寫入的網站、email等信息,並沒有任何檢查機制,也就無從判斷其真實性。而Valid ID內主體profile的所有信息,都會經過多個包括律師事務所、安全審計公司和會計師事務所等等在內的第三方的獨立檢查。多方獨立認證的結果會以不可篡改的可驗證數字憑證的形式在Arweave、EVM公鏈進行存儲,以保證信息的真實性和可驗證性。
其次,與專注於鏈上交易信息的Web3身份聚合展示的profile類項目不同,Valid ID側重於機構真實鏈下身份的認證與錨定。通過密碼學與法律聲明雙重保障,不但能在機構承認自己的鏈上身份時證明其身份,還能在機構否認自己鏈上身份時反證其身份。 Valid ID內的機構身份信息既包括官方網站、twitter賬戶、email等常見信息,也可以包含註冊國家和地址等工商註冊信息、鏈上鍊下的信用積分、審計公司安全報告、投研機構的評級報告等等。得益於可驗證數字憑證的多方認證架構,所有的認證信息都可以在機構的profile內進行無縫的傳遞與表達。相關機構無需與zCloak Network團隊進行溝通,就可以自行發布符合自家標準的機構認證信息。而用戶也可以根據發布認證信息機構的口碑與信譽,對其發布的內容的價值和真實性自主進行判斷。
Valid ID在zCloak的生態定位
zCloak Network 是基於零知識證明技術的隱私DID協議和基礎設施,zCloak提出了一種新型的計算範式,通過把數據的存儲和計算從中心化服務器遷移到用戶本地設備,從根本上保證用戶的身份和數據主權。在zCloak生態內,Valid ID將作為用戶數據的信任原點發揮巨大作用,相關技術原理如下。
眾所周知,零知識證明技術的主要用途,是用來證明計算過程的正確性。用戶在自己本地,對自己的數據運行特定算法的零知識證明計算,就可以證明自己的數據具有某些屬性、滿足某些條件。這樣,用戶只需要對第三方驗證者出示計算結果和零知識證明,而不必出示自己的原始數據,就可以證明自己的身份、資產等數據的情況。
但是,一個完整的計算包含輸入數據和算法兩部分。而零知識證明技術本身只能保證計算過程的正確性,至於參與計算的輸入數據的正確性,是無法用零知識證明技術來保證的。換句話說,如果用戶用錯誤的數據參與了零知識證明計算,那即使最終的證明驗證無誤,計算結果也還是錯誤的。這樣的計算,是毫無意義的。我們知道,用戶端零知識證明計算的核心優勢,是可以在驗證者看不到用戶輸入數據的情況下證明用戶端計算的正確性。但是這樣的模式也帶來了一個問題:驗證者可以驗證零知識證明的正確性,但是怎麼驗證自己沒有看到的輸入數據的正確性呢?或者再進一步,什麼是正確的輸入數據,什麼是錯誤的輸入數據?界定的標準和依據又是什麼呢?對這些問題的圓滿回答,是在用戶端進行保護隱私的零知識證明計算的前提條件。
zCloak Network通過靈活地使用可驗證數字憑證技術,成功回答了“怎麼驗證用戶端數據正確性”這個問題。基本的做法很簡單,事先選擇某些有公信力的第三方機構,對用戶端數據進行認證,使用可驗證數字憑證技術對認證的結果進行承諾,並在零知識證明計算的過程中對其進行檢查。完整的計算過程可以概括為:可信機構A認證過的用戶B的個人數據,在經過C這種零知識證明算法的計算之後,得到了D這樣一個結果,以及E這個零知識證明。最終的驗證者V只需要驗證E的正確性,並相信A的權威性,就可以接受D的正確性。這其中,E的正確性是可以通過零知識證明計算來保證的。那麼A的權威性就成為了整個鏈條的關鍵。要說服V接受A認證結果的權威性,首先需要知道A這個標識符(區塊鏈地址、DID)背後到底是誰。問題至此閉環,A是誰,就是Valid ID要解決的問題。
Valid ID 的應用場景
zCloak團隊設計Valid ID項目的初衷,是為了與zkID可驗證數字憑證平台進行聯動,為zCloak生態內的用戶憑證提供權威性保證。隨著時間的推移和越來越多的曝光和討論,我們發現Valid ID的使用場景和可落地應用遠遠超出了數字憑證的範疇。舉兩個例子:
第一個例子,Valid Sign簽名工具。使用Valid ID平台對機構身份進行認證與錨定之後,機構可以使用自己的DID對任何文本、圖片、文檔甚至是可執行文件進行簽名。任何第三方都可以對這個簽名的結果進行驗證。這樣,現實世界中所有需要使用紙筆簽字或者公章蓋章的場合,立即就可以被數字化的方法取代。整個使用過程既不需要代幣,也無需與區塊鏈進行交互,但這卻是不折不扣的Web3應用——因為它保障了用戶數據自主權。
圖3:Valid Sign的驗證結果展示簽名機構的身份信息
我們將上述簽名工具命名為Valid Sign,並在Valid ID網站開放使用。除此之外,我們還提供了Valid ID機器人,目前已經與Telegram和Discord軟件進行了集成。用戶可以在這些社交軟件之內直接對任何Valid Sign的消息進行驗證。這樣,即使某些項目方的社交賬號被盜取,黑客在頻道內發布詐騙和釣魚鏈接,頻道內成員也可以一鍵對項目發發布的任何聲明和鏈接進行簽名驗證,從而有效避免Web3行業層出不窮的欺詐事件。
圖4:Telegram與Discord內集成的Valid Sign驗證機器人
第二個例子,Web3機構網絡。無論是Web3的原生組織形態DAO,還是現實世界的公司、機構甚至政府部門,都可以將自己的組織架構在Valid ID平台進行映射。機構與子機構的層級關係,不同人員的角色與職權,機構的收款地址與NFT合約,甚至各種AI驅動的無人設備,都可以在機構頁面進行註冊,並以Trust Tree的形式公佈於眾。借助類Nostr的消息協議,機構、組織以及其下屬的人員,可以展開種類豐富的社交互動和社交證明。相關的事件數據,既可以保存在Nostr relay當中,也可以存儲於Arweave和區塊鏈公鍊網絡,Valid ID平台很快還會推出與機構法定名稱直接綁定的Valid Name功能,以及對機構間社交認證結果進行定量評價的Valid Score功能,努力成為Web3機構網絡的信任基石。
為了配合各類應用場景,zCloak Network的各種基礎設施正在緊鑼密鼓的建設之中。目前已上線無需安裝就可以使用的手機版數字身份錢包zkID Wallet(wallet.zkid.app)只需要將該網頁“添加到主屏幕”,就可以獲得全功能的數字身份錢包APP,並在移動端使用Valid Sign和零知識證明虛擬機功能。 zkID Credential 平台(cred.zkid.app)可以承載各類可驗證數字憑證的製備、認證和驗證任務。無代碼版零知識證明生成器將在Credential平台進行集成,方便各類驗證機構定制滿足自己需求的零知識證明程序。多鏈attestation合約將把zCloak生態內的數字憑證與“誰是誰”的信任關係映射到主流區塊鏈公鏈,供智能合約直接調用。
Valid ID 開啟公測
2023年3月,Valid ID平台已經開啟內部測試,經過數十家Web3機構的測試與檢驗,於今日正式開啟公測。我們知道,Web3信任基礎設施的建設需要全行業的共同努力。 Valid ID去中心化的架構設計就是為了把身份的控制權交到每個機構自己手中。 zCloak Network誠摯邀請各路機構與項目方,共同參與Valid ID網絡的建設,在Valid ID主頁(valid3.id)點擊Request Onboard,其商務團隊會盡快與您聯繫。早鳥入駐機構可以免費獲得專屬的Valid Name等福利。尤其歡迎有能力進行安全審計、機構評級、具有工商與法律數據積累的機構進駐,共建Web3信任網絡。