Vitalik:數字身份採用 ZK 技術,就不存在風險了嗎?

當零知識證明成爲數字 ID 的「保護罩」,我們卻可能因「一人一身分」失去匿名權 —— 這才是技術背後的終極博弈。

撰文:Vitalik Buterin

編譯:Saoirse,Foresight News

如今,在數字身份系統中運用零知識證明來保護隱私的做法,已在一定程度上成爲主流。各類零知識證明護照項目*(直譯 ZK-passport 項目,指基於零知識證明技術的數字身份項目)*正開發出對用戶極爲友好的軟件包,借助零知識證明,用戶無需透露身分的任何細節,就能證明自己持有有效的身分證明。採用生物識別技術進行驗證、並通過零知識證明保障隱私的 World ID(前身爲 Worldcoin),其用戶數量近期已突破 1000 萬。中國臺灣地區的一個數字身分政府項目運用了零知識證明,歐盟在數字身份領域的相關工作也對零知識證明愈發重視。

從表面上看,基於零知識證明技術的數字身份被廣泛採用,似乎會成爲 d/acc*(注:Vitalik 2023 年提出的概念,是一種主張通過技術工具(如加密、區塊鏈等)推動去中心化技術發展,在加速技術進步的同時防御潛在風險,平衡技術創新與安全、隱私及人類自主權的中間路徑理念。)*的一大勝利。它能在不犧牲隱私的前提下,保護我們的社交媒體、投票系統及各類互聯網服務免受女巫攻擊和機器人操縱。但事情真的如此簡單嗎?基於零知識證明的身分是否仍存在風險?本文將闡明以下觀點:

  • 零知識證明包裝(ZK-wrapping)解決了許多重要問題。
  • 零知識證明包裝的身分仍存在風險。這些風險似乎與生物識別還是護照關係不大,大部分風險(隱私泄露、易受脅迫、系統誤差等)主要源於對「一人一身分」屬性的硬性維護。
  • 另一個極端,即使用「財富證明(Proof of wealth)」來反女巫攻擊,在大多應用場景中都是不夠的,所以我們需要某種「類身分」的解決方案。
  • 理論上的理想狀態是介於兩者之間,即獲得 N 個身分的成本爲 N²。
  • 這種理想狀態在實踐中難以實現,但合適的「多元身分」與之接近,因此是最現實的解決方案。多元身分可以是顯性的(例如基於社交圖譜的身分),也可以是隱性的(多種類型的零知識證明身分並存,且沒有任何一種類型的市場佔比接近 100%)。

零知識證明包裝的身分如何運作?

試想一下,你通過掃描眼球獲得了 World ID,或是用手機的 NFC 閱讀器掃描護照,獲得了基於零知識證明護照的身分。就本文的論點而言,這兩種方式的核心屬性一致(僅存在少數邊緣差異,例如多重國籍的情況)。

在你的手機上,有一個祕密值 s。在鏈上全球註冊表中,有一個公開哈希值 H(s)。登入應用時,你會生成一個特定於該應用的用戶 ID,即 H(s, app_name),並通過零知識證明來驗證:這個 ID 與註冊表中某個公開哈希值源自同一個祕密值 s。因此,每個公開哈希值針對每個應用只能生成一個 ID,但絕不會泄露某一應用專屬 ID 與哪個公開哈希值相對應。

實際上,設計可能會更復雜一些。在 World ID 中,應用專屬 ID 其實是包含應用 ID 與會話 ID 的哈希值,因此同一應用程序內的不同操作也可以相互解除關聯。基於零知識證明護照的設計也可以採用類似的方式構建。

在探討這種身分類型的缺點之前,首先必須認識到它所帶來的優勢。在零知識證明身分(ZKID)的小衆領域之外,爲了向需要身分驗證的服務證明自己,你不得不透露自己完整的法定身分。這嚴重違反了計算機安全的「最小權限原則」:一個進程只應獲取完成其任務所需的最小權限和信息。它們需要證明你不是機器人、年滿 18 歲或來自特定國家,但它們得到的卻是你完整身分的指向。

目前能實現的最佳改進方案,是使用電話號碼、信用卡號等間接令牌:此時,知曉你的電話 / 信用卡號與應用內活動關聯的主體,和知曉你的電話 / 信用卡號與法定身分關聯的主體(公司或銀行)是相互分離的。但這種分離極爲脆弱:電話號碼和其他各類信息一樣,隨時可能被泄露。

而借助零知識證明包裝技術*(ZK-wrapping,一種利用零知識證明來保護用戶身分隱私的技術手段,允許用戶在不泄露敏感信息的情況下證明自己的身分)*,上述問題在很大程度上得以解決。但接下來要討論的是一個較少被提及的點:仍有一些問題不僅未得到解決,甚至可能因這類方案中「一人一身分」的嚴格限制而愈發嚴重。

零知識證明本身無法實現匿名性

假設一個零知識證明身分(ZK-identity)平台完全按預期運行,嚴格復現上述所有邏輯,甚至已找到方法,能在不依賴中心化機構的前提下,爲非技術用戶長期保護其私密信息。但與此同時,我們可以做一個貼合現實的假設:應用程序不會主動配合隱私保護,它們會秉持「實用主義」原則,所採用的設計方案雖打着「最大化用戶便利性」的旗號,實則似乎總會偏向自身的政治與商業利益。

在這樣的場景中,社交媒體應用不會採用頻繁輪換會話密鑰等復雜設計,而是爲每位用戶分配唯一的應用專屬 ID,且由於身分系統遵循「一人一身分」規則,用戶只能擁有一個帳戶(這與當下的「弱身分(weak ID)」形成對比,例如谷歌帳戶,普通人輕鬆就能註冊約 5 個)。現實世界中,匿名性的實現通常需要多個帳戶:一個用於「常規身分」,其他則用於各類匿名身分(參見「finsta and rinsta」)。因此,在這種模式下,用戶實際能獲得的匿名性很可能低於當前水平。如此一來,即便是經零知識證明包裝的「一人一身分」系統,也可能讓我們逐漸走向一個所有活動都必須依附於單一公開身分的世界。在風險日益加劇的時代(例如無人機監控等),剝奪人們通過匿名性保護自身的選擇權,將帶來嚴重的負面影響。

零知識證明本身無法保護你免受脅迫

即便你不公開自己的祕密值 s,沒人能看到你各帳戶之間的公開關聯,但如果有人強制你公開呢?政府可能會強制要求透露其祕密值,以便查看其所有活動。這並非空談:美國政府已開始要求籤證申請人公開自己的社交媒體帳戶。此外,僱主也能輕易將透露完整公開資料設爲僱傭條件。甚至,個別應用在技術層面也可能要求用戶透露其在其他應用上的身分,才允許註冊使用(使用 app 登入默認執行此操作)。

同樣,在這些情況下,零知識證明屬性的價值蕩然無存,但「一人一帳戶」這一新屬性的弊端卻依然存在。

我們或許可以通過設計優化來降低脅迫風險:例如,採用多方計算機制生成每個應用專屬 ID,讓用戶與服務方共同參與其中。這樣一來,若沒有應用運營方的參與,用戶便無法證明自己在該應用中的專屬 ID。這會增加逼迫他人透露完整身分的難度,但無法徹底消除這種可能性,而且這類方案還存在其他弊端,比如要求應用開發者必須是實時活躍的實體,而非像被動的鏈上智能合約那樣(無需持續幹預)。

零知識證明本身無法解決非隱私類風險

所有身分形式都存在邊緣案例:

  • 基於政府發行的身分(Government-rooted ID),包括護照,無法覆蓋無國籍人士,也不包含尚未獲得此類證件的人羣。
  • 另一方面,這類基於政府的身分體系,會給多重國籍持有者賦予獨特特權。
  • 護照籤發機構可能遭遇黑客攻擊,敵對國家的情報機構甚至可能僞造數百萬個虛假身分(例如,若俄羅斯式的「遊擊選舉」逐漸盛行,就可能用虛假身分來操縱選舉)。
  • 對於那些相關生物特徵因傷病受損的人而言,生物識別身分會完全失效。
  • 生物識別身分很可能會被仿制品蒙騙。倘若生物識別身分的價值變得極高,我們甚至可能會看到有人專門培個人體器官,只爲「批量制造」這類身分。

這些邊緣案例在試圖維持「一人一身分」屬性的系統中危害最大,且它們與隱私毫無關聯。因此,零知識證明對此無能爲力。

依靠「財富證明」防範女巫攻擊並不足以解決問題,因此我們需要某種形式的身分體系

在純粹的密碼朋克羣體中,一個常見的替代方案是:完全依賴「財富證明」來防範女巫攻擊,而非構建任何形式的身分系統。通過讓每個帳戶產生一定成本,就能阻止有人輕易創建大量帳號。這種做法在互聯網上早有先例,例如 Somethingawful 論壇就要求註冊帳戶支付 10 美元的一次性費用,若帳號被封禁,這筆費用將不予退還。不過,這在實際操作中並非真正的加密經濟模式,因爲創建新帳號的最大障礙並非重新支付 10 美元,而是獲取新的信用卡。

理論上,甚至可以讓支付具備條件性:註冊帳戶時,你只需質押一筆資金,僅在帳號被封禁這種極少數情況下才會損失這筆資金。從理論上講,這能大幅提高攻擊成本。

這種方案在許多場景中效果顯著,但在某些類型的場景中卻完全行不通。我將重點討論兩類場景,暫且稱之爲 「類全民基本收入場景(UBI-like)」和「類治理場景(governance-like)」。

類全民基本收入場景(UBI-like)中對身分的需求

所謂「類全民基本收入場景」,指的是需要向極廣泛(理想情況下是全體)用戶羣體發放一定數量資產或服務,且不考慮其支付能力的場景。Worldcoin 正是系統性地踐行這一點:任何擁有 World ID 的人,都能定期獲得少量的 WLD 代幣。許多代幣空投也以更非正式的方式實現類似目標,試圖讓至少一部分代幣落到盡可能多的用戶手中。

就我個人而言,我不認爲這類代幣的價值能達到足以維持個人生計的水平。在一個由人工智能驅動、財富規模達到當前千倍的經濟體中,這類代幣或許能具備維持生計的價值;但即便如此,至少有自然資源財富爲支撐的政府主導項目,仍會在經濟層面佔據更重要的地位。不過,我認爲這類「小型全民基本收入(mini-UBIs )」能切實解決的問題是:讓人們獲得足夠數量的加密貨幣,以完成一些基礎的鏈上交易和在線購買。具體可能包括:

  • 獲取 ENS 名稱
  • 在鏈上發布哈希以初始化某個零知識證明身分
  • 支付社交媒體平台費用

若加密貨幣在全球範圍內得到廣泛採用,這一問題便不復存在。但在加密貨幣尚未普及的當下,這可能是人們獲取鏈上非金融應用及相關在線商品服務的唯一途徑,否則他們可能完全無法接觸到這些資源。

此外,還有另一種方式能實現類似效果,即「全民基本服務(universal basic services)」:爲每個擁有身分的人提供在特定應用內發送有限數量免費交易的權限。這種方式可能更符合激勵機制,且資本效率更高,因爲每個受益於這種採用的應用程序都可以這樣做,而無需爲非用戶付費;不過,這也伴隨着一定的取舍,即普適性會降低(用戶只能保證獲得參與該計劃的應用的訪問權限)。但即便如此,這裏依然需要一套身分解決方案,以防止系統遭受垃圾信息攻擊,同時避免產生排他性,這種排他性源於要求用戶通過某種支付方式付費,而這類支付方式可能並非所有人都能使用。

最後一個值得強調的重要類別是「全民基本保證金(universal basic security deposit)」。身分的功能之一是提供一個可用於追責的標的,而無需用戶質押與激勵規模相當的資金。這也有助於實現一個目標:降低參與門檻對個人資本量的依賴(甚至完全無需任何資本)。

類治理場景(governance-like)中對身分的需求

試想一個投票系統(例如社交媒體平台上的點讚和轉發):若用戶 A 的資源是用戶 B 的 10 倍,那麼其投票權也會是 B 的 10 倍。但從經濟角度看,每單位投票權給 A 帶來的收益,是給 B 帶來的 10 倍(因爲 A 的體量更大,任何決策對其經濟層面的影響都會更顯著)。因此,總體而言,A 的投票對自身的益處,是 B 的投票對自身益處的 100 倍。正因如此,我們會發現 A 會投入多得多的精力參與投票、研究如何投票才能最大化自身目標,甚至可能會戰略性地操縱算法。這也是代幣投票機制中「巨鯨」能產生過度影響的根本原因。

更具普遍性且更深一層的原因在於:治理系統不應將「一人掌控 10 萬美元」與「1000 人共持 10 萬美元」賦予同等權重。後者代表着 1000 個獨立個體,因此會包含更豐富的有價值信息,而非小體量信息的高度重復。來自 1000 人的信號也往往更「溫和」,因爲不同個體的意見往往會相互抵消。

這一點既適用於正式的投票系統,也適用於「非正式投票系統」,例如人們通過公開發聲參與文化演進的能力。

這表明,類治理系統不會真正滿足於「不論資金來源,同等規模的資金束都一視同仁」的做法。系統其實需要了解這些資金束的內部協調程度。

需要注意的是,若你認同我對上述兩類場景(類全民基本收入場景和類治理場景)的描述框架,那麼從技術層面而言,對「一人一票」這種明確規則的需求就不復存在了。

  • 對於類全民基本收入場景(UBI-like)的應用而言,真正需要的身分方案是:首個身分免費,對可獲取的身分數量設限。當獲取更多身分的成本高到足以讓攻擊系統的行爲失去意義時,便達到了限制效果。
  • 對於類治理場景(governance-like)的應用而言,核心需求是:能夠通過某種間接指標判斷,你所接觸的這一筆資源,其背後是單一的操控主體,還是某種「自然形成的」、協調程度較低的羣體。

在這兩種場景中,身分依然非常有用,但對其遵循「一人一身分」這類嚴格規則的要求,已不復存在。

理論上的理想狀態是:獲得 N 個身分的成本爲 N²

從上述論點中,我們可以看到有兩種壓力從相反的兩端限制了身分系統中獲取多個身分的期望難度:

首先,不能對「能輕鬆獲取的身分數量」設置一個清晰可見的硬性限制。如果一個人只能擁有一個身分,就無從談起匿名性,且可能被脅迫泄露身分。事實上,即便是大於 1 的固定數量也存在風險:倘若所有人都知道每個人有 5 個身分,那麼你可能會被脅迫泄露全部 5 個。

支持這一點的另一個理由是,匿名性本身很脆弱,因此需要足夠大的安全緩衝空間。借助現代 AI 工具,跨平台關聯用戶行爲變得輕而易舉,通過用詞習慣、發帖時間、發帖間隔、討論話題等公開信息,僅需 33 bits 的信息量就能精準鎖定一個人。人們或許可以用 AI 工具進行防御(例如,我曾匿名發布內容時,先用法語撰寫,再通過本地運行的大語言模型翻譯成英語),但即便如此,也不希望一次失誤就徹底終結自己的匿名性。

其次,身分不能完全與財務掛鉤(即獲取 N 個身分的成本爲 N),因爲這會讓大型主體輕易獲得過大的影響力(進而導致小型主體完全喪失話語權)。Twitter Blue 的新機制就體現了這一點:每月 8 美元的認證費用過低,根本無法有效限制濫用行爲,如今用戶基本已對這種認證標識視而不見。

此外,我們或許也不希望資源量爲 N 倍的主體,能夠肆無忌憚地做出 N 倍的不當行爲。

綜合上述論點,我們希望在滿足以下約束條件的前提下,盡可能容易地獲得多個身分:(1)在類治理應用中限制大型主體的權力;(2)在類全民基本收入應用中限制濫用行爲。

若直接借鑑前文中類治理應用的數學模型,我們會得到一個清晰的答案:如果擁有 N 個身分能帶來 N² 的影響力,那麼獲取 N 個身分的成本就應當是 N²。巧合的是,這一答案對於類全民基本收入應用同樣適用。

本博客的老讀者或許會發現,這與早前一篇關於「quadratic funding」的博文中的圖表完全一致,這並非偶然。

多元身分體系(Pluralistic identity)可實現這一理想狀態

所謂「多元身分體系」,指的是不存在單一主導發行機構的身分機制,無論該機構是個人、組織還是平台。這一體系可通過兩種方式實現:

  • 顯性多元身分(Explicit pluralistic identity,也稱爲「基於社交圖譜的身分 social-graph-based identity」)。你可通過所在社群中其他人的證明來證實自己的身分(或其他聲明,例如證實自己是某社群成員),而這些證明者的身分又通過同樣的機制得到驗證。《去中心化社會》一文對這類設計有更詳細的闡述,Circles 則是目前正在運行的實例。
  • 隱性多元身分(Implicit pluralistic identity)。這是當前的現狀,存在衆多不同的身分提供者,包括谷歌、推特,各國的同類平台以及多種政府發行的身分證件等。極少有應用只接受其中一種身分認證,大多數應用會兼容多種,因爲只有這樣才能觸達潛在用戶。

Circles 身分圖譜的最新快照。Circles 是目前規模最大、基於社交圖譜的身分項目之一。

顯性多元身分自然具備匿名性:你可以有一個匿名身分(甚至多個),每個身分都可以通過自己的行動在社區中建立聲譽。一個理想的顯性多元身分系統甚至可能不需要「獨立身分(discrete identities)」的概念;相反,你或許會擁有一個由可驗證的過往行爲構成的模糊集合,並能根據每次行爲的需要,以精細化方式證明其中的不同部分。

零知識證明將使匿名性更容易實現:你可以利用主身分來啓動一個匿名身分,通過私下提供首個信號讓新匿名身分獲得認可(例如,通過零知識證明自己擁有一定數量的代幣,從而能在 anon.world 發布內容;或者,通過零知識證明自己的推特粉絲具備某種特徵)。可能還有更有效的使用零知識證明的方式。

隱性多元身分的「成本曲線」比二次曲線更陡峭,但仍具備大部分所需特性。大多數人擁有本文列舉的部分身分形式,而非全部。你可以通過一定努力再獲取一種身分形式,但擁有的身分形式越多,獲取下一種的成本效益比就越低。因此,它爲治理攻擊和其他濫用行爲提供了必要的遏制作用,同時確保脅迫者無法要求(且無法合理預期)你透露某一套固定的身分。

任何形式的多元身分體系(無論隱性還是顯性)天然具有更強的容錯性:手部或眼部殘疾的人仍可能持有護照,無國籍者也仍可能通過某些非政府渠道證明自己的身分。

需要注意的是,若某一種身分形式的市場佔有率接近 100%,且成爲唯一的登入選項,那麼上述特性就會失效。在我看來,這是那些過於追求「普適性」的身分系統可能會面臨的最大風險:一旦其市場佔有率接近 100%,就會將世界從多元身分體系推向「一人一身分」模式,而正如本文所述,這種模式存在諸多弊端。

在我看來,當前「一人一身分」項目的理想結局是與基於社交圖譜的身分體系融合。基於社交圖譜的身分項目面臨的最大問題是難以擴展到海量用戶。而「一人一身分」體系可用於爲社交圖譜提供初始支撐,創造數百萬個「種子用戶」,屆時用戶數量將足夠多,足以從這一基礎安全地發展出全球分布式社交圖譜。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)