作者:Vitalik Buterin
編譯:Saoirse,Foresight News
如今,在數位身分系統中運用零知識證明來保護隱私的做法,已在一定程度上成為主流。各類零知識證明護照專案(直譯ZK-passport項目,指基於零知識證明技術的數位身分專案)正開發出對使用者極為友善的軟體包,借助零知識證明,使用者無需透露身分的任何細節,就能證明自己持有有效的身分證明。採用生物辨識技術進行驗證、並透過零知識證明保障隱私的World ID(前身為Worldcoin),其用戶數量近期已突破1,000 萬。中國台灣地區的一個數位身分政府計畫運用了零知識證明,歐盟在數位身分領域的相關工作也對零知識證明愈發重視。
從表面上看,基於零知識證明技術的數位身分被廣泛採用,似乎會成為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)」形成對比,例如Google帳戶,普通人輕鬆就能註冊約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 萬美元」與「1,000 人共持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)。這是當前的現狀,有許多不同的身分提供者,包括Google、推特,各國的同類平台以及多種政府發行的身分證件等。極少有應用程式只接受其中一種身分認證,大多數應用程式會相容多種,因為只有這樣才能觸及潛在使用者。

Circles 身分圖譜的最新快照。 Circles 是目前規模最大、基於社交圖譜的身份項目之一。
顯性多元身分自然具備匿名性:你可以有一個匿名身分(甚至多個),每個身分都可以透過自己的行動在社群中建立聲譽。一個理想的顯性多元身分系統甚至可能不需要「獨立身分(discrete identities)」的概念;相反,你或許會擁有一個由可驗證的過往行為構成的模糊集合,並能根據每次行為的需要,以精細化方式證明其中的不同部分。
零知識證明將使匿名性更容易實現:你可以利用主身份來啟動一個匿名身份,透過私下提供首個訊號讓新匿名身分獲得認可(例如,透過零知識證明自己擁有一定數量的代幣,從而能在anon.world 發佈內容;或者,透過零知識證明自己的推特粉絲具備某種特徵)。可能還有更有效的運用零知識證明的方式。
隱性多元身分的「成本曲線」比二次曲線更陡峭,但仍具備大部分所需特性。大多數人擁有本文所列舉的部分身分形式,而非全部。你可以透過一定努力再獲取一種身分形式,但擁有的身份形式越多,取得下一種的成本效益比就越低。因此,它為治理攻擊和其他濫用行為提供了必要的遏止作用,同時確保脅迫者無法要求(且無法合理預期)你透露某一套固定的身份。
任何形式的多元身分體系(無論隱性或顯性)自然具有更強的容錯性:手部或眼部殘疾的人仍可能持有護照,無國籍者也仍可能透過某些非政府管道證明自己的身分。
要注意的是,若某一種身分形式的市場佔有率接近100%,且成為唯一的登入選項,那麼上述特性就會失效。在我看來,這是那些過於追求「普適性」的身份系統可能會面臨的最大風險:一旦其市場佔有率接近100%,就會將世界從多元身份體系推向「一人一身份」模式,而正如本文所述,這種模式存在諸多弊端。
在我看來,目前「一人一身分」計畫的理想結局是與基於社交圖譜的身份體系融合。基於社交圖譜的身份項目面臨的最大問題是難以擴展到海量用戶。而「一人一身份」體係可用於為社交圖譜提供初始支撐,創造數百萬個「種子用戶」,屆時用戶數量將足夠多,足以從這一基礎安全地發展出全球分佈式社交圖譜。
特別感謝Balvi 志工、Silviculture 成員以及World 團隊成員參與討論。
