本文来自Aragon,原文作者:NateWilliams&?PauEscrich,由Odaily星球日报译者Katie辜编译。
本文提出了一个概念,利用zk-SNARKs来实现治理的下一个前沿方向:无gas费+经过验证+绑定的链上治理。
背景
作为领先的数字治理项目,AragonLabs在研究和创新治理模式方面投入了大量资金。我们已经确定了各种显示出潜力的Layer?2治理解决方案,但也存在一些技术问题。我们已经能够在我们专门的投票区块链——Vochain上实现无gas手续费的投票过程,并设计和实现了一种使用以太坊存储证明的方法,将基于ERC-20代币的统计从以太坊跨链到Vochain。不过到目前为止,将跨链结果转到以太坊的可能性一直是一个开放性的研究问题。
为此,AragonLabs一直在进行一项新设计的实验,该设计将允许链下投票过程的结果跨链到以太坊,而不使用主观预言或任何其它可信组件。
该提议背后的核心创新是:我们所知的任何系统都无法在链下组织投票过程,并基于该过程的结果在以太坊上棉信任地执行操作。此建议的用例可能包括基于结果执行绑定操作的所有治理流程,例如对资产分配或智能合约更改的DAO投票。这些治理流程目前必须在以太坊主网上进行,这会给每个投票者带来大量的gas费用。或者投票可以在链下进行,但要相信外部组件会准确、诚实地将结果转发回以太坊。
比特币矿企Marathon Digital 1月份产出687枚比特币,环比增加45%:金色财经报道,比特币矿企Marathon Digital在公布的1月份运营更新中表示,MarathonDigital在1月产出创纪录的687枚比特币,比2022年12月产出的475枚比特币增加了45%。
Marathon Digital表示,随着比特币产量的增加和公司变得更加稳定,我们做出了战略决定,按照之前的计划出售部分比特币,以支付我们的部分运营费用和一般公司用途。我们打算在2023年继续出售我们持有的部分比特币,以支付每月的运营成本。[2023/2/3 11:44:44]
我们的提议将允许完全在链下进行的投票过程,在以太坊上以与链上治理相同的完整性执行结果,成本仅为链上治理的一小部分。
投票协议概念验证要求
在设计技术解决方案之前,我们定义了研究方案的参数:
投票协议的要求是:
免许可;抗审查;能够在以太坊上绑定结果;不产生gas手续费的投票者;免于代币跨链;尽可能简单;可与ERC-20/ERC-777和NFT一起用于投票。作为概念验证设计,我们接受以下限制:
没有用户匿名:投票可以绑定到一个以太坊地址;并非没有收据:购买选票是可能的;不是为处理全国范围的选举而设计的:只针对DAO或ERC-20/NFT持有者。因此,应该设置最大普查规模;对中继者没有明确的激励模式。理想的提案
Bolong Zheng和Sam Maragos加入UENC全球分布式技术实验室:据官方消息,Bolong Zheng和Sam Maragos加入UENC全球分布式实验室UT Lab。Bolong Zheng曾就职于硅谷软件和区块链公司,获得加州大学伯克利分校应用数学学士学位。Sam Maragos作为区块链开发人员,曾就职硅谷软件和区块链公司,将作为UT Lab硅谷技术研究员加入UNEC技术生态,促进UENC技术全球化的发展。[2022/2/17 9:58:58]
根据该提案的设计,当创建一个新的投票过程时,组织者向以太坊提交一个交易,指定ERC-20代币的合约地址,用于投票者普查。此地址的存储根哈希在指定的区块高度上成为此进程的普查根。任何持有给定代币的人都可以通过提供代币余额的MerkleProof?证明来证明他们的资格。然后,他们可以通过将证明和签名发送到zk-SNARK汇总中继者进行投票,后者将计算最终结果的证明。
存在的潜在的问题是,理论上计算结果的zk-SNARK证明的参与者可以通过决定排除投票来审查结果。我们通过允许任何人提交新的投票来解决这个问题:如果他们检测到协调者没有将其包含在内,任何用户都可以生成并提交包含他们投票的汇总。
我们的提案将运用zk-SNARKS于以下目的:
比特币矿业公司Marathon从美国加密友好银行Silvergate获得1亿美元循环信贷额度:10月4日消息,比特币矿业公司 Marathon Digital Holdings 已从美国加密友好银行Silvergate获得1亿美元循环信贷额度,以比特币和美元为担保,这笔贷款将用于为公司的挖矿业务提供资金并购买新设备。它的有效期为一年,并且可以通过Silvergate银行和Marathon之间的协议每年续订。
此外,Marathon 公布了比特币生产和矿机安装更新,第三季度Marathon的比特币产量比上季度增加了91%,达到1252枚比特币,其持有的比特币总量增加到约7035枚比特币,公允市值约为3.363亿美元。Marathon称,目前为止已从比特大陆收到26960台顶级ASIC矿机,目前还有8459台ASIC矿机在运输途中,其目前的矿机数量为25272台活跃矿机,产量约为2.7EH/s。[2021/10/4 17:24:03]
验证一个地址之前没有通过默克尔树累加器投票;通过存储证明验证用户拥有代币;计算一批选票的部分结果;验证选票签名。
动态 | 招聘网站Saramin合作ICONLOOP将共同开发基于区块链的数字身份识别系统:韩国人才招聘网站Saramin与区块链创业公司ICONLOOP签署了一份谅解备忘录,双方将合作建立了一个基于区块链的数字ID和认证生态系统。(TheNews.Asia)[2020/2/10]
根据上述模式,我们可以发现两个主要问题:
问题1:ERC20存储证明验证对SNARK不友好
ERC-20存储证明在SNARK中验证是非常复杂的。这部分是由于它们使用了递归长度前缀(RecursiveLengthPrefix,RLP)解析和多个Kecmack-256哈希验证,这两种方法在最先进的SNARK汇总技术中计算效率都很低。这个问题很难解决,所以目前我们使用optimistic验证来解决这个问题。
问题2:ECDSA/Secp256k1签名验证对SNARK不友好
我们可以用来验证用户签名的一种当前加密标准是ECDSA,该标准使用来自以太坊签名的BabyJubJub密钥,使用该签名作为原始私钥,允许用户恢复其地址。由于此方法依赖于用户签名,因此很容易受到恶意代理的攻击,这些代理会用户在他们的Web3钱包中对欺诈性交易进行签名。此漏洞存在于浏览器钱包用于签署交易的任何地方。一个潜在的解决方案可能是使用web地址作为派生路径来派生私钥。
动态 | Pantera与Paradigm投资加密经纪公司Tagomi:据TheBlockCrypto消息,风险投资公司Pantera Capital和耶鲁大学参与投资的加密基金Paradigm在周一宣布,已向加密经纪公司Tagomi投资1600万美元。Tagomi为加密投资者提供代理交易服务,此次投资将使该公司的总资产达到2800万美元。[2019/3/5]
另一个挑战是证明每个代币所有者的以太坊地址批准了BabyJubJub公钥,以便在投票过程创建的区块高度进行投票。我们通过一个“单例”智能合约来实现这一点,该合约将以太坊地址映射到BabyJubJub公钥,用户必须通过标准交易将他们的密钥添加到智能合约中。地址到密钥的映射可以通过optimistic的存储欺诈证明来实现。因为预计这些授权密钥将在不同的投票过程中使用多次,此解决方案还通过可重用设计解决数据可用性问题。
总之,我们可以在SNARK中处理大多数验证,但不包括:
确认一个地址之前没有通过默克尔树累加器→SNARK进行投票;通过存储证明→Optimistic验证用户是否有代币;计算部分投票结果→SNARK;验证投票签名→SNARK。
用户
创建一个源自以太坊签名的BabyJubJub密钥,并将其注册到投票者注册处智能合约。检索其账户的投票信息和存储证明,在投票包上生成签名,并将其转发给一个或一组中继者。投票智能合约
注册投票进程,包括:ERC-20智能合约地址,ERC-20地址的槽位索引→平衡映射,投票进程启动块的状态根哈希,计算计票的进程参数。
通过zk-Rollup监听新投票的注册,SNARK将证明:
结果计算;投票签名是由BabyJubJub密钥决定的;保持投票累加器更新;保持投票者名单的更新。允许任何人质疑上次投票登记舞弊的证据。但必须具备以下条件之一:
存储证明,证明投票人的以太坊地址没有代币;存储证明,证明投票人的以太坊地址没有链接到一个BabyJubJub密钥;证明BabyJubJub密钥已经投票。中继者
阶段0:在以太坊上创建选举进程,并从可用中继器列表中选择一个中继器。选举组织者需要支付选举费用。组织者提供EVM字节码,这些字节码需要在DAO智能合约的选举之后执行,具体取决于结果。阶段1:投票开始。任何人都可以向所选的协调器发送投票包。协调器将选中的结果分批卷起来,构建一个zk-SNARK证明,将这个证明和结果上传到以太坊,收集用户投出的选票,验证它们,并将它们广播给其它中继者。阶段2:检测未加入投票的协调者可以卷起自己的投票,并向投票智能合约发送zk-SNARK有效性证明。此外,如果他们检测到投票添加错误,他们可以发送欺诈证明,以证明之前添加的结果是无效的,产生该结果的协调者将被削减。阶段3:当达到投票日期限制时:上传的结果的总和被认为是有效的,奖励将在协调者和包含更多投票的参与者之间分配。任何人调用EVM字节码执行,使用最终结果作为输入。线路和合约
zk-SNARK将汇总投票名单。zk-SNARK证明是基于给定的投票列表、普查根、选举标识符和聚合结果而有效的。
zk-SNARK的输入:
哈希输入是为了减少SNARK验证的gas成本;私人的选举标识符;计算的投票结果;当前的空符根;更新了的空符根;批量中的投票数;投票值和对应的BabyJubJub密钥签名。用于上传协调这结果的智能合约功能调用的输入为:
选举标识符;该批中投票者公钥的列表;更新了空符根;计算这批的投票结果;SNARK证明。概念实施的证明
我们已经实施了最小可行性的智能合约和线路,从而检查解决方案的成本和可行性。该概念证明仅包括用户注册、投票汇总和舞弊证明验证。
我们的测试产生了以下gas成本:
用户密钥注册表部署:258536注册:68956投票部署:6673,159新投票:25989累计汇总:291801舞弊证明1?:574574舞弊证明2?:908822未来的研究
在这个研究的基础上,我们想更深入地探讨以下想法:
通过SNARKs验证标准kecak/ECDSA/Sec256k1签名。我们相信很快,PLOOKUP将能够验证这些方案,这将带来两种可能性:证明BabyJubJub密钥是从Secp256k1密钥派生出来的。验证投票签名本身。在SNARK内部验证存储证明。我们认为这种复杂的线路可以很容易地通过一个zkVM集成,尽管成本可能是巨大的。我们担心以太坊客户端会退出存档节点,会优先考虑更高的gas费用限制,所以另一个研究领域是尝试使用EIP1186以外的方法进行存储证明。为了计算计数,嵌入一些操作码在zkVM中执行,使通用可编程投票线路可以运用。在浏览器中生成投票证明,通过批处理混合,并递归聚合结果,类似于zk.money?协议。这将增加投票过程的隐私。允许在浏览器级别以分布式方式计算SNARKs,即使它们的计算代价很高。这节省了对高可见性服务器的依赖,而且完全实现P2P,将所有权力赋予投票者。在网络级别的投票协议中嵌入隐私和混合。找到一个合理的、与以太坊2.0完全互操作的加密经济学模型。生成一个独特的证明,并可以很容易地验证。这为任何可编程L1和L2对任何以太坊投票结果做出反应打开了可能性。长期目标是能够在任何链上投票,并在任何其它链上验证结果。这可能成为某种通过SNARKs交叉rollup/链存储证明验证的黄金标准。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。