Kite: How to Delegate Voting Power Privately

本文提出了名为 Kite 的新协议,旨在为去中心化自治组织(DAO)提供隐私保护委托投票机制,使成员能够在不泄露委托关系的前提下自由委托、撤销或重新委托投票权,并通过零知识证明、通用可组合性(UC)安全分析及以太坊智能合约实现验证了其安全性与实用性。

Kamilla Nazirkhanova, Vrushank Gunjur, X. Pilli Cruz-De Jesus, Dan Boneh

发布于 Wed, 11 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这是一篇关于Kite(风筝)协议的论文,它旨在解决去中心化自治组织(DAO)中投票的一个核心痛点:如何在把投票权交给别人时,不让别人知道你把票给了谁

为了让你轻松理解,我们可以把 DAO 想象成一个巨大的“社区业主委员会”,而 Kite 就是给这个委员会设计的一套**“匿名转交权杖”**系统。

1. 背景:为什么我们需要 Kite?

现状:像“公开点名”的投票
在现在的 DAO(比如 Nouns DAO)里,如果你不想亲自研究每个提案,你可以把投票权“委托”给一个你信任的代表(Delegate)。

  • 问题:这种委托是完全公开的。就像你在业主群里大声宣布:“我把我的票交给老王了!”
  • 后果:如果你后来发现老王投错了,或者你想把票转给更靠谱的小李,你很难开口。因为如果你公开把票从小李转走,老王可能会觉得没面子,或者社区里的人会议论纷纷(“怎么又换人了?”)。这种社交压力让大家不敢随意更换代表,导致投票权被“锁定”在少数人手里。

Kite 的解决方案:像“匿名快递”
Kite 就像是一个隐形的快递系统

  • 你可以把票“寄”给老王,但没人知道是寄给了老王。
  • 老王自己也不知道是谁把票寄给了他,他只知道“哦,我收到了一些票”。
  • 如果你想把票转给小李,你只需悄悄把票“寄”过去,老王和小李都不会知道这次变动,社区里的人更不知道。
  • 唯一公开的:大家只知道“有人把票转走了”或者“有人收到了票”,但具体是谁转给谁,完全保密

2. Kite 是如何工作的?(核心机制)

想象一下,Kite 使用了三种魔法道具:

A. 加密的“投票权包裹” (Homomorphic Encryption)

  • 比喻:你的投票权是一个上了锁的透明箱子
  • 原理:虽然箱子是透明的(大家能看到里面有个箱子),但锁住了,没人知道里面具体有多少票(比如是 100 票还是 1000 票)。
  • 操作:当你把票委托给老王时,你不是把箱子打开给他,而是把整个箱子(加密后的数据)发给他。系统可以在不打开箱子的情况下,把老王收到的所有箱子加在一起(同态加密),算出老王总共有多少票,用来投票。

B. 零知识证明 (Zero-Knowledge Proofs)

  • 比喻:就像**“盲盒验证”**。
  • 原理:当你把票转给老王时,你需要向系统证明:“我确实有票,而且我确实把票给了老王(或者某个匿名组)”,但你不需要把票的数量或老王的具体身份直接展示出来。
  • 作用:这就像你向保安证明“我手里有票”,保安只看到一张“验证通过”的纸条,却看不见票数和名字。这确保了没有人能伪造投票权。

C. 匿名集 (Anonymity Set) —— 混入人群

  • 比喻“混入人群”
  • 原理:为了更隐私,当你委托时,系统不会只把票给老王一个人。它会随机拉上另外几个代表(比如 9 个人),组成一个10 人的“匿名小组”
  • 操作:你告诉系统:“我把票给了这 10 个人里的某一个。”
  • 结果:外人只知道你给了这 10 人组里的某个人,但完全猜不到具体是老王还是其他人。这就好比你在人群中扔了一个球,大家知道球进了这 10 个人的圈子,但不知道进了谁的手。

3. Kite 解决了什么问题?

  1. 消除社交压力:你可以随时根据代表的表现,悄悄把票转给其他人,不用担心得罪前任代表。
  2. 防止“票权锁定”:在现在的系统中,因为怕得罪人,大家不敢换代表。Kite 让换代表变得像呼吸一样自然,促进了更健康的民主流动。
  3. 双重模式
    • 代表可以公开投票:如果你信任老王,你可以让他公开投票,这样大家能监督他( accountability)。
    • 代表可以私下投票:如果你希望代表完全按自己的判断投,也可以让他匿名投。
    • 但委托过程永远是私密的

4. 实际效果如何?(性能)

作者们真的在以太坊区块链上实现了这个系统(基于现有的 Governor Bravo 合约)。

  • 速度:虽然加密计算比较慢,但在普通电脑上,委托投票(最慢的一步)大概需要 7 秒到 167 秒(取决于你想多隐私,匿名组越大越慢)。
  • 结论:虽然有点慢,但对于“一年只投几次票”或者“偶尔换一次代表”来说,这个时间是完全可以接受的。就像为了隐私,多等一会儿是值得的。

总结

Kite 就像给 DAO 投票系统装上了“隐身斗篷”

它允许你自由地把投票权交给任何人,或者随时收回,而不需要向任何人解释。它保护了选民的选择自由,消除了更换代表时的社交尴尬,同时依然保证了投票结果的准确和可验证。

一句话概括:Kite 让你能悄悄地把票交给最合适的人,而不必担心被围观或指指点点。