為什麼 Web3 需要 ZK 身份?

原文作者: 0xPARC

創作者:[email protected]

審核者:[email protected]

原文: ZK Identity: Why and How (Part 1)

這篇文章是作為系列文章中的第一篇,介紹了為什麼密碼學的進步對於實現新的身份基元非常重要。在這篇文章中涵蓋了“為什麼”;下篇文章將解釋“如何做”。

在線身份系統的設計在過去幾年中一直是激烈辯論的主題。現代數字身份系統已經實現了新的和複雜的在線互動和社區。不幸的是,這些系統中的許多也有明顯的弱點。

這些弱點許多可以歸因於中心化身份系統設計的固有限制。首先,這些系統通常是圍繞中心控制點建立的,因此也是中心故障點。現代電子商務、社交媒體和消息平台很容易受到來自強大行為者(如專制政府)的壓力或干擾,或受到惡意黑客的技術攻擊;當中心運營商被脅迫或被黑客攻擊時,除中心運營商外的多方也會面臨風險。其次,這些系統依賴於權力集中在運營商手中,他們不可能與所有用戶完全一致(財務上、社會上或道德上)——例如,擁有多樣化全球受眾的私人社交媒體公司必須經常決定什麼是不合理的審查行為,什麼是符合公共安全利益的行為,儘管他們往往沒有恰當的能力來進行判斷。

去中心化和加密機制並不是神奇的靈丹妙藥,但它們確實提供了一些有用的工具,而且它們擴大了數字身份系統的設計空間。隨着我們更多的社會和經濟生活轉移到網上,設計安全、保護隱私和用戶控制的身份系統將變得越來越重要。在這篇文章中,我們將論證新的加密基元,如 zkSNARKs,對構建具有這些特性的身份系統至關重要。

就其核心而言,zkSNARKs 是有用的,因為它們使數字系統的用戶能夠產生任意複雜的可信聲明,而無需依賴受信方。所有的身份系統都是圍繞着產生可信的身份和名譽聲明的一些機制而建立的——通常是相當複雜的聲明,附在一個受信任的權威機構,如政府或公司的證明上。通過將 zkSNARK 結構應用於關於身份和名譽的聲明,我們可以重新構建數字身份系統,並將控制權和數據保管權交到用戶手中。

可信的聲明(claim)

由於 zkSNARKs 在精確的、以數學方式定義的”聲明”上運作,我們必須首先精確地分解身份系統中涉及的聲明的性質。

與一個完全未知和不信任的對手方做生意是很難的。常識告訴我們,隨着交易方之間信任度的降低,合作的可能性也會降低;博弈論告訴我們,在一次性的囚徒困境中,最佳策略總是叛變。你更願意從一個與你的社交圈緊密相連的親密朋友那裡購買一輛二手車,而不是從一個從外地趕來的不確認是否可信的58同城賣家那裡購買,他甚至不會告訴你他的名字。

為了建立彼此之間的信任,我們需要能夠提出可信的聲明:關於我們身份和名譽的聲明,讓與我們交往的人覺得可信。如果上面的58同城賣家向你保證他“以前賣過很多車,每個人都喜歡我的車,請相信我”,這並不是一個真正可信的說法。但是,如果這種說法與你所知道的一個受歡迎的網站上經過驗證的買家的五星評價結合在一起,就會感覺更可信。

可信聲明的想法聽起來理所應當,但建立一個產生可信聲明的機制(在這個例子中,一個受歡迎的分類網站)並使之合法化,並不是一件容易的事。在傳統模式中,我們通常的解決方案是將記錄管理委託給一個可信的權威機構,這樣他們就可以證明我們關於身份和名譽的聲明,並賦予它們可信度。這個機構必須隨着時間的推移(通常是在對抗性環境中)證明他們的合法性和可信度,並維護大規模生成和分發證明的基礎設施。

至關重要的是,在大多數模型中,中心機構的證明是使聲明可信的原因。這是一個有效的政府身份證,所以我是一個公民;這是我的追隨者的準確名單,所以我是一個社會影響者;這些是一組經過驗證的評論和評級,所以我是一個值得信賴的在線零售企業。

可信聲明的另一個應用處在堆棧的更低層次。首先,你怎麼知道與你互動的人或企業向你提出的是關於他們自己的聲明,而不是冒用了其他人?很多系統需要依賴可信機構,這些機構承擔著證明身份本身以外的更基本功能。一個 API 訪問令牌,一個政府頒發的護照,或者當你訪問一個網站時由證書頒發機構生成的簽名鏈,都是對身份聲明的證明。

有用的身份系統允許參與者提出非常廣泛而複雜的可信聲明。

  • (數字方式)當你通過Doordash訂餐時,Doordash 網絡服務器對你作出可信的聲明(“我是 Doordash 網絡服務器”,通過一連串的 DNS 簽名);你通過第三方身份提供者對你的身份向 Doordash 作出可信的聲明(“我是Doordash用戶,應該被允許訪問這個賬戶保存的信用卡”,通過用“谷歌登錄”)。你通過各種金融機構向 Doordash 提出關於未來付款的可信聲明(“我有錢向你支付我的訂單,這筆款項將很快到達”,通過一個不拒絕交易的信用卡供應商)。
  • (物理方式)當你貸款買房時,你隱含地向銀行、房地產經紀人、賣家和政府提出了大量關於你的身份和名譽的可信聲明。
  • (混合)當你申請工作時,你通過利用許多不同的證明系統向你的潛在僱主提出可信的聲明。通過引用來自教育機構或專業認證機構的證件(學位、證書),來自合作過的其他同事,以及來自以前的公司的證明,你聲稱你有足夠的培訓和相應性格來勝任這份工作。社會媒體和其他在線賬戶提供者,可以為關於你是什麼樣的人的隱性聲明提供進一步證明。

隱私

幾乎所有的身份系統本質上都需要隱私來實現預期的功能,這一事實使情況更加複雜。

隱私是很重要的,因為道德和意識形態的原因,有時是有爭議的;但更根本的是,作為一個簡單的系統設計問題,它往往是必要的。例如,幾乎所有的身份系統都依靠秘密數據的概念來產生可信的身份聲明——密碼、社會安全號碼、私人鑰匙、信用卡密碼、賬戶恢復問題等等。出於明顯的原因,這些數據必須被保密。此外,用完全透明的數據產生可信聲明的過程可能有負外部性,或者至少是複雜的外部性;隱私保障可以防止這些。例如,如果你不得不出示你的整個財務歷史,只是為了在一個在線市場上購買或出售物品——銀行報表、信用卡交易、貸款支付,以及其他工作——對手可以使用這些信息來進行與原始交易無關的超範圍互動(負面例子包括廣告,甚至騷擾和勒索)。隱私“沙盒”提供一次性互動,很好地定義和限制其範圍,這樣我們就可以從簡單和可理解的構件中建立更複雜的系統。

在需要隱私的傳統系統中,我們不得不把更多的權力下放給中心機構——在這樣的系統中,中心機構存儲私人數據,並對關於這些數據的可信聲明作保,而這些聲明幾乎不可能被驗證。

密碼學的作用

到目前為止,我們所討論的所有關於可信聲明生成和身份系統的模型都涉及一個中心化的行為者。正如我們所討論的,我們有很多理由想尋求一個不依賴強大的記錄者或管理者的系統。

但我們面臨很明顯的問題:我沒有你的數據,我怎麼能相信你的說法?如果你把你的數據發給我,我怎麼知道這些數據是有效的?如果你想對私人數據作聲明,我們又該怎麼辦?這正是密碼學發揮作用的地方。

從我們的角度來看,在過去的五十年裡,大部分的應用密碼學(和共識)都是一個逐步擴大的項目,即在各種資源限制和隱私條件下,在沒有可信的權威的情況下,可以做出哪些可信的聲明。

  • 數字簽名方案允許我通過用相同的私鑰簽署一系列信息,對我在網上的身份的一致性提出可信的聲明,且跨越一系列不同的行動。“我被授權向 Alice 的信用卡收費。”
  • 團體簽名方案允許我對身份做出更複雜的隱私保護聲明。“我是這個校友組織的成員,但我不會告訴你是哪個成員。”
  • 簽名聚合、多簽名和閾值簽名方案使我能夠在各種不同的資源限制下對群體行為做出聲明。“這個大的集體機構——而不僅僅是一個冒失僱員——已經授權從我們的金融賬戶中轉移貨幣。”
  • 共識方案和可編程的智能合約讓我能夠對未來的行動做出可信的、不可逆轉的承諾。“如果你向我發送數字資產A,我將立即向你發送數字資產B作為交換。”

從歷史角度看,進展是緩慢的——這些加密基元中的每一個都定義了一種新的、範圍嚴格的聲明,其結構是高度明確的。然而,在過去的幾年裡,這種情況已經改變了。

今天令人振奮的是,由於 SNARKs 的存在,我們現在有了有效地提出任意可信聲明的機制。由於 zkSNARKs 的零知識屬性,我們還可以完全按照我們的喜好調整聲明的隱私保證。

下面是幾個例子,說明你可以用 zkSNARK 做出什麼樣的聲明,這在以前是不可能的。

  • “我是一個值得信賴的債務人。我已經及時償還了三家值得信賴的銀行的大筆貸款,儘管我不會透露這些銀行或貸款的用途。”
  • “我是一個受人尊敬的社區成員。雖然我是以匿名方式寫這篇帖子,但在我的命名賬戶下,我在這個論壇上已經積累了超過10000次的支持率。”
  • “我是一個長期的加密代幣收集者。我控制的以太坊地址集體持有至少兩個來自黑暗森林瓦爾哈拉系列的NFT,以及至少100ETH。”

這些聲明可以被組合、組成,甚至以任意複雜的方式進行編程。

雖然所有這些在理論上都是可能的,但我們仍有很長的路要走。為下一代應用製作一套強大的 ZK 身份識別工具,需要在性能、可靠性、開發者經驗和應用設計模式方面做出實質性的改進。在下一篇文章中,我們將討論我們對未來道路的理解。

補遺:身份中包含什麼?

為了了解密碼學在哪些方面可以用於建立一個身份系統,將身份系統的概念分解為其關鍵組成部分是很有用的。

在分析一個特定的身份系統時,我們可以問以下一些問題。

  • 身份的原子單位是什麼?

物理世界:身份往往與法律上的人格相關。換句話說,身份的原子單位是個人,或公司。

網絡空間:身份可以是谷歌/臉書/推特賬戶;與證書機構相關的公鑰/私鑰對;一些基於以太坊的代幣的持有人(可能不與具體地址掛鈎!);以及其他。

  • 什麼構成有效的身份證據或證明?誰可以簽發身份證明?誰可以撤銷與身份證明相關的特權?

物理世界:一個有效的證明可能看起來像國家頒發的身份證或營業執照。政府最終擁有持有有效身份證明所帶來的特權的權力:例如,政府可以撤銷你的護照。

網絡空間:一個有效的證明可能是 FB 提供的 OAuth 令牌,或一個有效的數字簽名(或簽名鏈)。各種服務提供商對各種證明擁有權力:例如,Twitter 可以禁止你的賬戶。

  • 誰保管與你的身份相關的輔助數據?誰可以訪問這些數據,以及誰控制這種訪問?

物理世界:輔助數據由政府機構和官僚機構、私人服務提供者(銀行、信用評分機構)和私交(你的個人網絡)共同持有。

網絡空間:在中心化模式中,輔助數據由大型科技公司持有。在去中心化模式中,輔助數據由你控制的客戶端軟件(瀏覽器、個人網絡服務器)以及去中心化存儲網絡(例如,區塊鏈中的歷史交易數據或智能合約狀態)共同持有。

  • 哪些記錄、文件或證明是名譽和可信度的信號?誰決定這些信號以及如何解釋這些信號?誰能接觸到決定名譽的基礎輸入數據?誰可以訪問這些信號?

物理世界:信用評分報告、背景調查、社會推薦信、就業信、證書和榮譽以及頭銜。

網絡空間:NFT所有權,賬戶年齡和早前活動,證明網絡,Reddit 或其他論壇點贊數。

其中一些概念相互融合:身份、名譽和身份證明是密切相關的,而且不容易分割。例如,在一些系統中,身份的原子單位甚至被定義為“中心機構可以提供有效證明的”——一個不存儲在Facebook 數據庫中的 Facebook 賬戶的概念是不存在的。

一般來說,我們在這組系列文章中使用的身份指的是一個實體(一個人、一個組織、一個機器人)的持久性標籤,並代表該實體的法律人格、公鑰、賬戶ID等。我們用名譽來指關於實體過去行為的聲明(“Alice 總是遵守她的諾言”,“Bob 總是按時支付他的信用卡賬單”,“舒適的家 總是在其 Airbnb 房源上使用準確的圖片”)。

本文鏈接:https://www.8btc.com/article/6765448

轉載請註明文章出處

(0)
上一篇 2022-07-18 15:48
下一篇 2022-07-18 16:50

相关推荐