ION:详解最小化反共谋基础设施MACI:链上治理中的抗勾结框架

关于这篇文章的背景,请参考《二次方投票和二次方资助》。在这篇文章发布后的一个月,BSC基金会在DoraHacks开发者平台HackerLink上运行了BSC生态第一轮二次方资助?,并在其后的15天中收到了全球超过60个开发者团队提交的项目。

在《二次方投票和二次方资助》中,我介绍了Vitalik的博客《Quadratic Payments》所提到的三个问题:身份伪造攻击(Identity Bribery)、勾结(Collusion)、理性忽视问题(Rational Ignorance)。这三个问题其实不限于二次方投票,而是链上治理机制所遇到的通用问题。因此,这些问题的解决方案不仅可以使得二次方投票更规模化和更安全,还可以惠及更多链上治理的机制。

这篇文章的目标是为设计一种“非合作二次方投票”,或“抗勾结二次方投票”的机制做准备。在这种场景下,投票者无法相互之间合作,因此就没有了勾结的可能性。这种机制一个基础框架是,Vitalik Buterin在Ethresear上发表的文章《Minimal anti-collusion infrastructure》 (MACI)。因此,我们先解释MACI的机制,从而为进一步探讨如何使用MACI改进二次方投票,消除勾结(Collusion)的可能性。

ProShares宣布撤回2倍杠杆比特币ETF的提案:金色财经报道,ProShares?宣布将撤回其关于 2 倍杠杆比特币交易所交易基金 (ETF) ProShares UltraBitcoin Strategy ETF 的提案。目前没有透露突然撤回的原因。但这可能与美国证券交易委员会正在进行的审查有关。?

根据数字资产研究公司 K33 Research 的一份报告,ProShares 的比特币期货交易所交易基金 (ETF) BITO 在比特币价格上涨的情况下表现不佳,这主要是由于与其期货合约相关的结构性成本。[2023/6/4 11:56:25]

MACI是“最小化抗勾结框架”。背景材料参考Vitalik Buterin 的博客https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413 ,以及《On Collusion》 https://vitalik.ca/general/2019/04/03/collusion.html

青岛市市南区:将设立元宇宙产业发展基金,目标规模不低于5亿元:金色财经报道,近日,青岛市市南区发布《青岛市市南区关于促进元宇宙产业高质量发展的若干政策措施》,提出培育元宇宙产业集聚发展、推动元宇宙领域人才集聚、以场景应用打造行业示范、推动元宇宙企业创新能力提升、创新元宇宙企业融资服务、支持龙头企业做大做强、完善公共支撑体系建设。 除了给予元宇宙领域企业和人才补助外,该政策还在创新元宇宙企业融资服务中提到,将设立产业发展基金,三年内成立目标规模不低于5亿元的元宇宙产业投资基金,2022年首期规模1亿元,引导和带动社会资本集聚,聚焦支持元宇宙产业内容生态创新创业项目,培育元宇宙产业内容生态上下游重点企业,加速培育产业新增长点。[2022/10/11 10:30:58]

很多的链上治理应用需要“抗勾结”这个特性,但同时又需要区块链对交易执行以及抗审查、保护隐私的保证。投票是有这种需求的一个重要场景,因为很明显在投票中,抗勾结是必须的,同时对执行结果的正确性的要求是很高的,需要保护计票过程,最后,还需要防止对投票者的审查。

Riot Blockchain二季度总收入为7290万美元,持有6653枚BTC:金色财经报道,据上市加密矿企Riot Blockchain公布的2022年第二季度财报数据,截至2022年6月30日的三个月期间,总收入增长112%至7290万美元,而2021年同期为3430万美元。挖矿收入增长47%至4620万美元。Riot Blockchain流动资产为4.964亿美元,手头现金为2.705亿美元,高于2022年第一季度末的1.136亿美元,以及6,653枚比特币(未经审计)。

Riot的产量归因于其不断增长的矿机部署。该公司目前拥有44,720台专用集成电路 (ASIC) BTC 矿机,哈希率为每秒4.4 exahash (EH/s),一旦所有最近发货的矿机完全部署,总数量将扩展到47,511台,哈希率将达到4.9 EH/s。[2022/8/17 12:29:41]

假设有一个智能合约\(R\),包含一个公钥的列表 \(K_1 ... K_n\), 以及一些必要的函数,可以把这些公钥注册到智能合约中。另外,只有符合以下两个条件验证身份的参与者的公钥可以进入到R中:

安全团队:建议Solana钱包用户尽快转移加密资产至CEX或者硬件钱包:8月3日消息,成都链安链必应-区块链安全态势感知平台舆情监测显示,Solana生态发生大规模盗币事件,经成都链安安全团队分析,事故的原因可能是一次供应链攻击,npm package里面有后门,所以很多钱包受到影响。建议Solana钱包用户尽快转移加密资产至CEX或者硬件钱包,成都链安链必追平台正在对被盗资金进行实时监控。[2022/8/3 2:55:14]

账户属于一个“合法”的参与者(一个独立的人,某个社区的成员,比如拥有某个国家的国籍、在一个论坛上有足够高的声誉、持有不少于某个数量的Token…)

账户持有人个人控制密钥(例如,如果需要的话,可以打印出来以证明)

每一个用户需要stake一笔钱: 如果任何人泄漏了自己的私钥,那么得到私钥的人可以直接取走这笔钱,从而这个账户就会从列表中被移除。这个机制抑制了任何人把私钥交给别人。

中文在线:公司与腾讯、百度在元宇宙业务进行探索合作:5月26日消息,上市公司中文在线表示,公司与腾讯、百度在元宇宙业务进行探索合作,公司基于腾讯平台的至信链开展数字商品销售服务,双方就文体领域数字商品制作、交易(不含二次交易)、转移等场景进行合作。基于百度的希壤元宇宙平台,百度为公司提供虚拟会场服务。[2022/5/26 3:43:19]

另外,假设有一个操作员(\(operator\)),他有一个私钥\(k_\omega\), 和一个对应的公钥\(K_\omega\).

最后,假设有一个机制 \(M\), 它是一个函数 \(action^n \rightarrow Outputs\), 其中,函数的输入是\(n\)个参与者的行为,输出是这个函数定义的某种输出结果。例如,一个简单的投票机制是一个函数,根据输入的值,输出出现次数最多的那个值。

在起始时间\(T_{start}\),\(operator\)开始一个其实状态\(S_{start} = {i: (key=K_i, action = \phi。, i \in 1...n\).

在起始时间\(T_{start}\)和结束时间\(T_{end}\)之间,任何注册的参与者可以向R发送消息,消息用参与者自己的私钥\(k\)加密。有两种消息:

约定行为: 例如投票。参与者需要发送加密过的消息 \(enc(msg = (i, sign(msg = action, key = k_i)), pubkey = K_\omega)\), 其中\(k_i\)是这个参与者当前的私钥,\(i\)是参与者在\(R\)中的id

更新密钥: 参与者需要发送加密过的消息\(enc(msg = (i, sign(msg = NewK_i, key = k_i)), pubkey = K_\omega)\), 其中\(NewK_i\)是参与者要变更的公钥, \(k_i\)是这个参与者当前的私钥

这时,操作员的工作是按照消息上链的先后顺序处理每一个消息。具体的处理过程:

使用操作员私钥解密消息。如果解密失败,或者解密对应的信息无法解码成为以上的两类信息,则直接跳过这条信息

使用\(state[i].key\)验证消息的签名

如果解码后的消息是约定的行为(\(action\)),那么设置\(state[i] = action\), 如果解码后的消息是一个新的公钥,那么设置\(state[i].key = NewK_i\)

在\(T_{end}\)之后,操作员必须公布输出状态 \(M(state.action, ... , state[n].action)\), 同时给出一个ZK-SNARK,证明这个输出是正确的结果。

假设一个参与者想要证明他做过什么,例如做过\(action\) \(A\),他可以引用一个链上的交易\(enc(msg = (i, sign(msg = A, key = k_i)), pubkey = K_\omega)\),并且提供一个零知识证明,验证这笔交易的确是包含\(A\)的加密信息。但是,他无法证明他没有发出别的交易,例如他可能发出过一笔更早的交易,把公钥换成了一个新的\(NewK_i\),因此前面的证明也就变得没有意义了,因为如果他更换过密钥的话,他可能已经做了别的动作。

参与者还可能把私钥给其他人,但是这样做的话那个人拿到私钥后就可以立即试图修改密钥。这样的话 1) 有50%的成功率,2) 会导致拿到密钥的人直接拿走之前stake的存款。

接收方在可信硬件环境中,或者接收方在可信多签的情况下,卖出私钥

原有的私钥在一个可信的硬件环境中的攻击,这个环境可以防止私钥变更为任何攻击者们不事先知道的私钥

第一种情况,可以通过特别设计的复杂签名机制,而这种设计对可信硬件和多签不友好。不过这种设计需要确保验证函数对ZKP友好。

第二种情况可以通过“面对面零知识证明”解决,例如,参与者可以把私钥拆解为\(x + y = k_i\),公布\(X = x*G\) 和 \(Y = y*G\), 并且给验证者展示两个信封,分别包含\(x\)和\(y\); 验证者打开一个,检查公布的\(Y\)是正确的,然后检查\(X + Y = K_i\)。

这种机制可以用来改进包括投票在内的多种链上治理机制。在二次方资助中,当资金池规模非常大的时候,或者当二次方资助被用于更大的场景时(例如大选、国会审批预算等场景),勾结就会成为一个必须被解决的问题。因此,设计一个抗勾结二次方投票(Anti-collusion quadratic funding)机制,可以规模化二次方资助。

Vitalik Buterin, Minimal anti-collusion infrastructure,

https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:17ms