# 零知識證明與數字身份:多維困境與潛在解決方案隨着零知識證明技術在數字身份系統中的廣泛應用,我們似乎正在迎來一個保護隱私的新時代。各類基於零知識證明的數字護照項目正在開發面向用戶的軟件包,讓用戶無需透露身分細節就能證明自己的合法性。採用生物識別技術和零知識證明的World ID用戶數量已突破1000萬。臺灣地區和歐盟等政府也開始在數字身份項目中重視零知識證明技術。表面上看,零知識證明技術在數字身份領域的廣泛應用似乎是去中心化加速主義(d/acc)的一大勝利。它有望在不犧牲隱私的前提下,保護社交媒體、投票系統及互聯網服務免受機器人操控。然而事實真的如此簡單嗎?基於零知識證明的身分系統是否仍存在風險?本文將探討以下幾個觀點:1. 零知識證明包裝(ZK-wrapping)確實解決了許多重要問題。2. 但零知識證明包裝的身分系統仍存在風險,這些風險主要源於對"一人一身分"屬性的嚴格維護,與生物識別或護照等具體實現方式關係不大。3. 另一種極端做法是使用"財富證明"來防範女巫攻擊,但這在大多數應用場景中是不夠的。我們需要某種"類身分"的解決方案。4. 理論上的理想狀態是獲得N個身分的成本爲N²。5. 這種理想狀態在實踐中難以實現,但"多元身分"方案與之相近,是最現實的解決方案。多元身分可以是顯性的(如基於社交圖譜的身分),也可以是隱性的(多種類型的零知識證明身分並存,且沒有任何一種類型佔據絕對主導地位)。## 零知識證明包裝的身分如何運作?以World ID或基於零知識證明護照的身分爲例,用戶手機上存儲一個祕密值s,鏈上全球註冊表中有一個公開哈希值H(s)。用戶登入應用時,會生成一個特定於該應用的用戶ID,即H(s, app_name),並通過零知識證明驗證這個ID與註冊表中某個公開哈希值源自同一個祕密值s。這確保了每個公開哈希值針對每個應用只能生成一個ID,同時不會泄露某一應用專屬ID與哪個公開哈希值相對應。實際設計可能更復雜,如World ID中應用專屬ID包含應用ID與會話ID的哈希值,使同一應用內的不同操作也可相互解除關聯。基於零知識證明護照的設計也可採用類似方式構建。這種身分驗證方式相比傳統方法有顯著優勢:無需向服務提供商透露完整的法定身分信息,更符合計算機安全的"最小權限原則"。然而,盡管零知識證明包裝技術解決了許多問題,但仍有一些問題未得到解決,甚至可能因"一人一身分"的嚴格限制而加劇。## 零知識證明本身無法實現匿名性假設一個零知識證明身分平台完全按預期運行,嚴格執行上述邏輯,甚至找到了方法讓非技術用戶長期保護其私密信息而不依賴中心化機構。但同時,我們也要考慮一個符合現實的假設:應用程序可能不會主動配合隱私保護,而是採用看似"最大化用戶便利性"實則偏向自身政治和商業利益的設計方案。在這種情況下,社交媒體應用可能會爲每位用戶分配唯一的應用專屬ID,且由於身分系統遵循"一人一身分"規則,用戶只能擁有一個帳戶。這與當前用戶可以輕鬆註冊多個帳戶的"弱身分"系統形成對比。現實中,匿名性的實現通常需要多個帳戶:一個用於常規身分,其他用於各類匿名身分。因此,在這種模式下,用戶實際獲得的匿名性可能低於當前水平。這種情況可能導致我們逐漸走向一個所有活動都必須依附於單一公開身分的世界。在風險日益加劇的時代,剝奪人們通過匿名性保護自身的選擇權將帶來嚴重的負面影響。## 零知識證明本身無法保護你免受脅迫即使你不公開自己的祕密值s,沒人能看到你各帳戶之間的公開關聯,但如果有人強制你公開呢?政府可能會強制要求透露其祕密值,以便查看其所有活動。這並非空談:美國政府已開始要求籤證申請人公開自己的社交媒體帳戶。此外,僱主也可能將透露完整公開資料作爲僱傭條件。甚至某些應用在技術層面可能要求用戶透露其在其他應用上的身分才允許註冊使用。在這些情況下,零知識證明的價值蕩然無存,但"一人一帳戶"這一新屬性的弊端卻依然存在。我們可以通過設計優化來降低脅迫風險,例如採用多方計算機制生成每個應用專屬ID,讓用戶與服務方共同參與其中。這樣一來,若沒有應用運營方的參與,用戶就無法證明自己在該應用中的專屬ID。這會增加逼迫他人透露完整身分的難度,但無法徹底消除這種可能性,而且這類方案還存在其他弊端,如要求應用開發者必須是實時活躍的實體,而非像被動的鏈上智能合約那樣無需持續幹預。## 零知識證明本身無法解決非隱私類風險所有身分形式都存在邊緣案例:- 基於政府發行的身分(包括護照)無法覆蓋無國籍人士,也不包含尚未獲得此類證件的人羣。- 這類基於政府的身分體系會給多重國籍持有者賦予獨特特權。- 護照籤發機構可能遭遇黑客攻擊,敵對國家的情報機構甚至可能僞造大量虛假身分。- 對於那些相關生物特徵因傷病受損的人而言,生物識別身分會完全失效。- 生物識別身分很可能會被仿制品蒙騙。若生物識別身分的價值變得極高,我們甚至可能會看到有人專門培養人體器官,只爲"批量制造"這類身分。這些邊緣案例在試圖維持"一人一身分"屬性的系統中危害最大,且它們與隱私毫無關聯。因此,零知識證明對此無能爲力。## 依靠"財富證明"防範女巫攻擊並不足以解決問題在純粹的密碼朋克羣體中,一個常見的替代方案是:完全依賴"財富證明"來防範女巫攻擊,而非構建任何形式的身分系統。通過讓每個帳戶產生一定成本,就能阻止有人輕易創建大量帳號。這種做法在互聯網上早有先例,例如Somethingawful論壇就要求註冊帳戶支付10美元的一次性費用,若帳號被封禁,這筆費用將不予退還。理論上,甚至可以讓支付具備條件性:註冊帳戶時,你只需質押一筆資金,僅在帳號被封禁這種極少數情況下才會損失這筆資金。從理論上講,這能大幅提高攻擊成本。這種方案在許多場景中效果顯著,但在某些類型的場景中卻完全行不通。我將重點討論兩類場景,暫且稱之爲"類全民基本收入場景(UBI-like)"和"類治理場景(governance-like)"。### 類全民基本收入場景中對身分的需求所謂"類全民基本收入場景",指的是需要向極廣泛(理想情況下是全體)用戶羣體發放一定數量資產或服務,且不考慮其支付能力的場景。Worldcoin正是系統性地踐行這一點:任何擁有World ID的人,都能定期獲得少量的WLD代幣。許多代幣空投也以更非正式的方式實現類似目標,試圖讓至少一部分代幣落到盡可能多的用戶手中。就我個人而言,我不認爲這類代幣的價值能達到足以維持個人生計的水平。在一個由人工智能驅動、財富規模達到當前千倍的經濟體中,這類代幣或許能具備維持生計的價值;但即便如此,至少有自然資源財富爲支撐的政府主導項目,仍會在經濟層面佔據更重要的地位。不過,我認爲這類"小型全民基本收入(mini-UBIs)"能切實解決的問題是:讓人們獲得足夠數量的加密貨幣,以完成一些基礎的鏈上交易和在線購買。具體可能包括:- 獲取ENS名稱- 在鏈上發布哈希以初始化某個零知識證明身分- 支付社交媒體平台費用若加密貨幣在全球範圍內得到廣泛採用,這一問題便不復存在。但在加密貨幣尚未普及的當下,這可能是人們獲取鏈上非金融應用及相關在線商品服務的唯一途徑,否則他們可能完全無法接觸到這些資源。此外,還有另一種方式能實現類似效果,即"全民基本服務(universal basic services)":爲每個擁有身分的人提供在特定應用內發送有限數量免費交易的權限。這種方式可能更符合激勵機制,且資本效率更高,因爲每個受益於這種採用的應用程序都可以這樣做,而無需爲非用戶付費;不過,這也伴隨着一定的取舍,即普適性會降低(用戶只能保證獲得參與該計劃的應用的訪問權限)。但即便如此,這裏依然需要一套身分解決方案,以防止系統遭受垃圾信息攻擊,同時避免產生排他性,這種排他性源於要求用戶通過某種支付方式付費,而這類支付方式可能並非所有人都能使用。最後一個值得強調的重要類別是"全民基本保證金(universal basic security deposit)"。身分的功能之一是提供一個可用於追責的標的,而無需用戶質押與激勵規模相當的資金。這也有助於實現一個目標:降低參與門檻對個人資本量的依賴(甚至完全無需任何資本)。### 類治理場景中對身分的需求試想一個投票系統(例如社交媒體平台上的點讚和轉發):若用戶A的資源是用戶B的10倍,那麼其投票權也會是B的10倍。但從經濟角度看,每單位投票權給A帶來的收益,是給B帶來的10倍(因爲A的體量更大,任何決策對其經濟層面的影響都會更顯著)。因此,總體而言,A的投票對自身的益處,是B的投票對自身益處的100倍。正因如此,我們會發現A會投入多得多的精力參與投票、研究如何投票才能最大化自身目標,甚至可能會戰略性地操縱算法。這也是代幣投票機制中"巨鯨"能產生過度影響的根本原因。更具普遍性且更深一層的原因在於:治理系統不應將"一人掌控10萬美元"與"1000人共持10萬美元"賦予同等權重。後者代表着1000個獨立個體,因此會包含更豐富的
零知識證明身分系統的困境與解決方案探討
零知識證明與數字身份:多維困境與潛在解決方案
隨着零知識證明技術在數字身份系統中的廣泛應用,我們似乎正在迎來一個保護隱私的新時代。各類基於零知識證明的數字護照項目正在開發面向用戶的軟件包,讓用戶無需透露身分細節就能證明自己的合法性。採用生物識別技術和零知識證明的World ID用戶數量已突破1000萬。臺灣地區和歐盟等政府也開始在數字身份項目中重視零知識證明技術。
表面上看,零知識證明技術在數字身份領域的廣泛應用似乎是去中心化加速主義(d/acc)的一大勝利。它有望在不犧牲隱私的前提下,保護社交媒體、投票系統及互聯網服務免受機器人操控。然而事實真的如此簡單嗎?基於零知識證明的身分系統是否仍存在風險?本文將探討以下幾個觀點:
零知識證明包裝(ZK-wrapping)確實解決了許多重要問題。
但零知識證明包裝的身分系統仍存在風險,這些風險主要源於對"一人一身分"屬性的嚴格維護,與生物識別或護照等具體實現方式關係不大。
另一種極端做法是使用"財富證明"來防範女巫攻擊,但這在大多數應用場景中是不夠的。我們需要某種"類身分"的解決方案。
理論上的理想狀態是獲得N個身分的成本爲N²。
這種理想狀態在實踐中難以實現,但"多元身分"方案與之相近,是最現實的解決方案。多元身分可以是顯性的(如基於社交圖譜的身分),也可以是隱性的(多種類型的零知識證明身分並存,且沒有任何一種類型佔據絕對主導地位)。
零知識證明包裝的身分如何運作?
以World ID或基於零知識證明護照的身分爲例,用戶手機上存儲一個祕密值s,鏈上全球註冊表中有一個公開哈希值H(s)。用戶登入應用時,會生成一個特定於該應用的用戶ID,即H(s, app_name),並通過零知識證明驗證這個ID與註冊表中某個公開哈希值源自同一個祕密值s。這確保了每個公開哈希值針對每個應用只能生成一個ID,同時不會泄露某一應用專屬ID與哪個公開哈希值相對應。
實際設計可能更復雜,如World ID中應用專屬ID包含應用ID與會話ID的哈希值,使同一應用內的不同操作也可相互解除關聯。基於零知識證明護照的設計也可採用類似方式構建。
這種身分驗證方式相比傳統方法有顯著優勢:無需向服務提供商透露完整的法定身分信息,更符合計算機安全的"最小權限原則"。然而,盡管零知識證明包裝技術解決了許多問題,但仍有一些問題未得到解決,甚至可能因"一人一身分"的嚴格限制而加劇。
零知識證明本身無法實現匿名性
假設一個零知識證明身分平台完全按預期運行,嚴格執行上述邏輯,甚至找到了方法讓非技術用戶長期保護其私密信息而不依賴中心化機構。但同時,我們也要考慮一個符合現實的假設:應用程序可能不會主動配合隱私保護,而是採用看似"最大化用戶便利性"實則偏向自身政治和商業利益的設計方案。
在這種情況下,社交媒體應用可能會爲每位用戶分配唯一的應用專屬ID,且由於身分系統遵循"一人一身分"規則,用戶只能擁有一個帳戶。這與當前用戶可以輕鬆註冊多個帳戶的"弱身分"系統形成對比。現實中,匿名性的實現通常需要多個帳戶:一個用於常規身分,其他用於各類匿名身分。因此,在這種模式下,用戶實際獲得的匿名性可能低於當前水平。
這種情況可能導致我們逐漸走向一個所有活動都必須依附於單一公開身分的世界。在風險日益加劇的時代,剝奪人們通過匿名性保護自身的選擇權將帶來嚴重的負面影響。
零知識證明本身無法保護你免受脅迫
即使你不公開自己的祕密值s,沒人能看到你各帳戶之間的公開關聯,但如果有人強制你公開呢?政府可能會強制要求透露其祕密值,以便查看其所有活動。這並非空談:美國政府已開始要求籤證申請人公開自己的社交媒體帳戶。此外,僱主也可能將透露完整公開資料作爲僱傭條件。甚至某些應用在技術層面可能要求用戶透露其在其他應用上的身分才允許註冊使用。
在這些情況下,零知識證明的價值蕩然無存,但"一人一帳戶"這一新屬性的弊端卻依然存在。
我們可以通過設計優化來降低脅迫風險,例如採用多方計算機制生成每個應用專屬ID,讓用戶與服務方共同參與其中。這樣一來,若沒有應用運營方的參與,用戶就無法證明自己在該應用中的專屬ID。這會增加逼迫他人透露完整身分的難度,但無法徹底消除這種可能性,而且這類方案還存在其他弊端,如要求應用開發者必須是實時活躍的實體,而非像被動的鏈上智能合約那樣無需持續幹預。
零知識證明本身無法解決非隱私類風險
所有身分形式都存在邊緣案例:
這些邊緣案例在試圖維持"一人一身分"屬性的系統中危害最大,且它們與隱私毫無關聯。因此,零知識證明對此無能爲力。
依靠"財富證明"防範女巫攻擊並不足以解決問題
在純粹的密碼朋克羣體中,一個常見的替代方案是:完全依賴"財富證明"來防範女巫攻擊,而非構建任何形式的身分系統。通過讓每個帳戶產生一定成本,就能阻止有人輕易創建大量帳號。這種做法在互聯網上早有先例,例如Somethingawful論壇就要求註冊帳戶支付10美元的一次性費用,若帳號被封禁,這筆費用將不予退還。
理論上,甚至可以讓支付具備條件性:註冊帳戶時,你只需質押一筆資金,僅在帳號被封禁這種極少數情況下才會損失這筆資金。從理論上講,這能大幅提高攻擊成本。
這種方案在許多場景中效果顯著,但在某些類型的場景中卻完全行不通。我將重點討論兩類場景,暫且稱之爲"類全民基本收入場景(UBI-like)"和"類治理場景(governance-like)"。
類全民基本收入場景中對身分的需求
所謂"類全民基本收入場景",指的是需要向極廣泛(理想情況下是全體)用戶羣體發放一定數量資產或服務,且不考慮其支付能力的場景。Worldcoin正是系統性地踐行這一點:任何擁有World ID的人,都能定期獲得少量的WLD代幣。許多代幣空投也以更非正式的方式實現類似目標,試圖讓至少一部分代幣落到盡可能多的用戶手中。
就我個人而言,我不認爲這類代幣的價值能達到足以維持個人生計的水平。在一個由人工智能驅動、財富規模達到當前千倍的經濟體中,這類代幣或許能具備維持生計的價值;但即便如此,至少有自然資源財富爲支撐的政府主導項目,仍會在經濟層面佔據更重要的地位。不過,我認爲這類"小型全民基本收入(mini-UBIs)"能切實解決的問題是:讓人們獲得足夠數量的加密貨幣,以完成一些基礎的鏈上交易和在線購買。具體可能包括:
若加密貨幣在全球範圍內得到廣泛採用,這一問題便不復存在。但在加密貨幣尚未普及的當下,這可能是人們獲取鏈上非金融應用及相關在線商品服務的唯一途徑,否則他們可能完全無法接觸到這些資源。
此外,還有另一種方式能實現類似效果,即"全民基本服務(universal basic services)":爲每個擁有身分的人提供在特定應用內發送有限數量免費交易的權限。這種方式可能更符合激勵機制,且資本效率更高,因爲每個受益於這種採用的應用程序都可以這樣做,而無需爲非用戶付費;不過,這也伴隨着一定的取舍,即普適性會降低(用戶只能保證獲得參與該計劃的應用的訪問權限)。但即便如此,這裏依然需要一套身分解決方案,以防止系統遭受垃圾信息攻擊,同時避免產生排他性,這種排他性源於要求用戶通過某種支付方式付費,而這類支付方式可能並非所有人都能使用。
最後一個值得強調的重要類別是"全民基本保證金(universal basic security deposit)"。身分的功能之一是提供一個可用於追責的標的,而無需用戶質押與激勵規模相當的資金。這也有助於實現一個目標:降低參與門檻對個人資本量的依賴(甚至完全無需任何資本)。
類治理場景中對身分的需求
試想一個投票系統(例如社交媒體平台上的點讚和轉發):若用戶A的資源是用戶B的10倍,那麼其投票權也會是B的10倍。但從經濟角度看,每單位投票權給A帶來的收益,是給B帶來的10倍(因爲A的體量更大,任何決策對其經濟層面的影響都會更顯著)。因此,總體而言,A的投票對自身的益處,是B的投票對自身益處的100倍。正因如此,我們會發現A會投入多得多的精力參與投票、研究如何投票才能最大化自身目標,甚至可能會戰略性地操縱算法。這也是代幣投票機制中"巨鯨"能產生過度影響的根本原因。
更具普遍性且更深一層的原因在於:治理系統不應將"一人掌控10萬美元"與"1000人共持10萬美元"賦予同等權重。後者代表着1000個獨立個體,因此會包含更豐富的