本文来自Aragon,原文作者:NateWilliams&PauEscrich,由Odaily星球日报译者Katie辜编译。
本文提出了一个概念,利用zk-SNARKs来实现治理的下一个前沿方向:无gas费经过验证绑定的链上治理。
背景
作为领先的数字治理项目,AragonLabs在研究和创新治理模式方面投入了大量资金。我们已经确定了各种显示出潜力的Layer2治理解决方案,但也存在一些技术问题。我们已经能够在我们专门的投票区块链——Vochain上实现无gas手续费的投票过程,并设计和实现了一种使用以太坊存储证明的方法,将基于ERC-20代币的统计从以太坊跨链到Vochain。不过到目前为止,将跨链结果转到以太坊的可能性一直是一个开放性的研究问题。
为此,AragonLabs一直在进行一项新设计的实验,该设计将允许链下投票过程的结果跨链到以太坊,而不使用主观预言或任何其它可信组件。
该提议背后的核心创新是:我们所知的任何系统都无法在链下组织投票过程,并基于该过程的结果在以太坊上棉信任地执行操作。此建议的用例可能包括基于结果执行绑定操作的所有治理流程,例如对资产分配或智能合约更改的DAO投票。这些治理流程目前必须在以太坊主网上进行,这会给每个投票者带来大量的gas费用。或者投票可以在链下进行,但要相信外部组件会准确、诚实地将结果转发回以太坊。
金融科技公司Kwara完成300万美元种子轮融资,DOB Equity参投:1月22日消息,肯尼亚金融科技公司Kwara完成300万美元种子轮扩展融资,由DOB Equity、Globivest和Willard Ahdritz参投,目前本轮融资筹集的资金已达700万美元,新资金将用于客户增长。此外,Kwara还与代表肯尼亚合作社签署了数字解决方案分销协议。
据悉,金融科技公司Kwara此前已完成400万美元的种子融资,由Breega、Softbank Vision Fund Emerge、Finca Ventures 和 New General Market Partners参投。[2023/1/22 11:25:57]
我们的提议将允许完全在链下进行的投票过程,在以太坊上以与链上治理相同的完整性执行结果,成本仅为链上治理的一小部分。
投票协议概念验证要求
在设计技术解决方案之前,我们定义了研究方案的参数:
投票协议的要求是:
免许可;
抗审查;
能够在以太坊上绑定结果;
不产生gas手续费的投票者;
免于代币跨链;
尽可能简单;
可与ERC-20/ERC-777和NFT一起用于投票。
比特币矿企Marathon获得200兆瓦级的托管协议:金色财经消息,比特币矿企Marathon通过与托管服务商Applied Blockchain的交易,正在为其比特币采矿业务获得至少200兆瓦特级的额外能源。根据周一的公告,该公司将在两个托管设施中部署大约66,000台以前购买的矿机,代表每秒9.2个艾哈希(EH/s)的哈希率。(theblock)[2022/7/19 2:21:51]
作为概念验证设计,我们接受以下限制:
没有用户匿名:投票可以绑定到一个以太坊地址;
并非没有收据:购买选票是可能的;
不是为处理全国范围的选举而设计的:只针对DAO或ERC-20/NFT持有者。因此,应该设置最大普查规模;
对中继者没有明确的激励模式。
理想的提案
根据该提案的设计,当创建一个新的投票过程时,组织者向以太坊提交一个交易,指定ERC-20代币的合约地址,用于投票者普查。此地址的存储根哈希在指定的区块高度上成为此进程的普查根。任何持有给定代币的人都可以通过提供代币余额的MerkleProof证明来证明他们的资格。然后,他们可以通过将证明和签名发送到zk-SNARK汇总中继者进行投票,后者将计算最终结果的证明。
存在的潜在的问题是,理论上计算结果的zk-SNARK证明的参与者可以通过决定排除投票来审查结果。我们通过允许任何人提交新的投票来解决这个问题:如果他们检测到协调者没有将其包含在内,任何用户都可以生成并提交包含他们投票的汇总。
Parallel推出首款DOT Liquid Staking产品:金色财经报道,据波卡官方消息,Parallel 与中继链间的跨链通道也已实现 DOT 跨链转账并率先发布了 Polkadot 的首个 DOT Liquid Staking 产品。目前已有超过280,000个 DOT Stake 在 Parallel 链上。此外,用户还可以在 Parallel 使用 DOT 参与 Money Market、AMM、Crowdloan 等产品获取收益。[2022/5/7 2:57:14]
我们的提案将运用zk-SNARKS于以下目的:
验证一个地址之前没有通过默克尔树累加器投票;
通过存储证明验证用户拥有代币;
计算一批选票的部分结果;
验证选票签名。
根据上述模式,我们可以发现两个主要问题:
问题1:ERC20存储证明验证对SNARK不友好
ERC-20存储证明在SNARK中验证是非常复杂的。这部分是由于它们使用了递归长度前缀(RecursiveLengthPrefix,RLP)解析和多个Kecmack-256哈希验证,这两种方法在最先进的SNARK汇总技术中计算效率都很低。这个问题很难解决,所以目前我们使用optimistic验证来解决这个问题。
北美矿企Marathon第二季度收入为2930万美元,环比增长220%:北美矿企Marathon Digital第二季度收入为2930万美元,环比增长220%,相较于去年同期的28.6万美元增长10147%。Marathon在第二季度挖出654枚比特币,今年上半年挖出比特币总量达846枚。其投资基金于2021年1月以约1.5亿美元购买4812.66 BTC,2021年前六个月的公允价值增加1690万美元。(CoinDesk)[2021/8/13 1:53:49]
问题2:ECDSA/Secp256k1签名验证对SNARK不友好
我们可以用来验证用户签名的一种当前加密标准是ECDSA,该标准使用来自以太坊签名的BabyJubJub密钥,使用该签名作为原始私钥,允许用户恢复其地址。由于此方法依赖于用户签名,因此很容易受到恶意代理的攻击,这些代理会用户在他们的Web3钱包中对欺诈性交易进行签名。此漏洞存在于浏览器钱包用于签署交易的任何地方。一个潜在的解决方案可能是使用web地址作为派生路径来派生私钥。
另一个挑战是证明每个代币所有者的以太坊地址批准了BabyJubJub公钥,以便在投票过程创建的区块高度进行投票。我们通过一个“单例”智能合约来实现这一点,该合约将以太坊地址映射到BabyJubJub公钥,用户必须通过标准交易将他们的密钥添加到智能合约中。地址到密钥的映射可以通过optimistic的存储欺诈证明来实现。因为预计这些授权密钥将在不同的投票过程中使用多次,此解决方案还通过可重用设计解决数据可用性问题。
公链项目Taraxa完成其公开发行:据官方消息,公链项目Taraxa于今日上午10: 00在Tokensoft平台成功完成其本次公开发行,同时在线申购人数约13000人。
此外Taraxa计划于近期启动上所计划,具体信息以官方公告为准。[2021/3/12 18:38:58]
总之,我们可以在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/链存储证明验证的黄金标准。
親愛的ZT用戶:ZT創新板即將上線STOS,並開啟STOS/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年10月14日17:00;STOS項目簡介:Stratos是去中心化服務.
1900/1/1 0:00:00MantaNetwork代币$MA代币销售计划「魔鬼鱼游戏」现已开启,Manta/CalamariNetwork早期社区成员及积极贡献者将有机会成为首批获得Manta代币$MA的幸运儿.
1900/1/1 0:00:00今日,VEGA、UDO、OCTO、MIST、BSCS已正式上线USDT、ETH交易池,并开启新版流动性矿池奖励.
1900/1/1 0:00:00尊敬的中币用户:???中币将于香港时间2021年10月21日16:00开启ENVELOP福利申购.
1900/1/1 0:00:00尊敬的XT用户:XT即将上线MARSRISE,并在创新区开放MARSRISE/USDT交易对。具体开通时间,请关注后续公告.
1900/1/1 0:00:00为支持社区用户全方位感受OpenPunks的创作体验,特此新增上传形象功能,创作者可定期更新所持有的OpenPunks作品的NFT形象展示,以最大限度的提升作品本身的艺术价值与创作收益.
1900/1/1 0:00:00