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

作者:EricZhang

Architect\),\(operator\)开始一个其实状态\(S_{start}={i:(key=K_i,action=\phi。,i\in1...n\).

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

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

CryptoPunks系列NFT当前地板价为47.5ETH:金色财经消息,据NFTGo.io数据显示,CryptoPunks系列NFT总市值达21.8亿美元,在所有NFT项目总市值排名中位列第1;其24小时交易额为93.9万美元,增幅达89.77%。截止发稿时,该系列NFT当前地板价为47.5ETH。[2022/6/9 4:14:03]

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

周杰伦加持的NFT项目“幻象熊”PhantaBear交易额被“丐版Punk”mfer超越:金色财经报道,据最新数据显示,周杰伦加持的NFT项目“幻象熊” PhantaBear 交易额已被“丐版Punk”mfer超越。截止目前,PhantaBear 交易额为 104,032,446美元,交易总量为16,427笔;而mfer的交易额达到104,297,254美元,交易总量为24,020笔。自四月以来“幻象熊”PhantaBear交易额未出现较大增长,因此近期已被adidas Originals、“隐形人”Invisible Friends等新兴项目超越。本文撰写时,“幻象熊”PhantaBear NFT地板价已经降至0.78 ETH,过去7天跌幅达到5.91%。[2022/4/10 14:15:31]

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

BAYC和CryptoPunks系列NFT地板价于二月内出现较大幅度下跌:2月26日消息,据 NFTGO.io 数据显示,头部 NFT 收藏品的地板价在二月份都出现了较大幅度的下跌。其中,BAYC 当前地板价为 88.88 ETH,相比于二月初 118.69 ETH 高点下跌超 25%,CryptoPunks 地板价也从 84 ETH 下跌至 63.44 ETH,月跌幅达到 24%。[2022/2/26 10:17:22]

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

数据:CryptoPunks地板价突破100ETH:9月17日消息,据larvalabs数据显示,CryptoPunks地板价突破100ETH,现报102ETH(约36.5万美元)。9月16日上午,Reddit创始人Alexis Ohanian花费逾200万美元为其太太买入7枚CryptoPunks的消息传播后,Cryptopunks NFT两小时内密集成交30多枚,最低成交价突破80ETH,当晚成交价格升至90 ETH至100 ETH之间。[2021/9/17 23:32:00]

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

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

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

为什么这个机制是抗勾结的

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

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

MACI未解决的问题

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

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

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

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

非合作二次方投票

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

VitalikButerin,Minimalanti-collusioninfrastructure,

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

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

区块博客

[0:0ms0-16:711ms