以太坊基金会今日发布了以太坊目前资助支持的团队名单,其中关于layer2扩容项里有重点提到了zkopru,这是一个综合技术解决方案。使用了zk-SNARK和乐观汇总的隐私交易layer2扩展解决方案。
为了详细了解其原理,我们整理了相关内容如下。
zkopru可以实现支持ETH、ERC20、ERC721之间的layer2网络内的隐私传输和隐私原子交换。此外,通过预付款功能,用户可以在最终确定之前从layer2提取资产。
以太坊中的“乐观”方式意味着如果我们在链上提供足够的数据,我们可以跳过挑战系统对交易的计算。PlasmaGroup提出这个概念是为了解决Plasma解决方案中的数据可用性问题。这个概念给了我们一个显着的计算优势。特别是在以太坊上实现zk-transaction,需要使用对SNARK友好的哈希函数来构建Merkle树,这在EVM上通常是非常昂贵的。
然而,使用乐观汇总,与在链上计算它相比,我们可以以较低的成本更新对SNARK友好的Merkle树。因此,该协议每笔隐私交易消耗约8,800gas。最重要的是,zkopru可以不断升级自身,因为它支持大规模迁移,允许将资产移动到另一个layer2层网络。
举例,假如账户在layer1有100ETH,我们将使用存款菜单将其转移到layer2。选择“存款”。选择“ETH(余额:100ETH)”。输入ETH的数量。键入协调员的费用。确认存款交易。然后钱包会存储你的存款叶子的详细信息,叶子被记录在layer1合约上。
然后合同将您的叶子合并到分阶段的“大量存款”中。随后,协调器在提出新区块时提交分阶段的批量存款。或者,协调员可以手动提交分阶段的批量存款。最后,协调器将承诺的大量存款包含到新提案中,然后您可以在layer2上使用您的UTXO。
如果用户要发送ETH、ERC20或ERC721,需要获取收件人的Babyjubjub公钥。
Babyjubjub公钥来自相应的以太坊账户的私钥。输入收件人的Babyjubjub公钥。为了进行测试,可以从信息框获取其他帐户的公钥。输入转账金额。输入交易费用的每字节价格。zkopru钱包从协调器获取每字节费用,并将其设置为默认值。
如果想提供更多费用,可以输入自定义值。请注意,总费用取决于交易规模。这是因为calldata大小主要影响OptimisticRollup的成本。
最后,它在几秒钟内生成zkSNARK证明,并将交易发送给协调器。它目前使用HTTP协议向协调器发送事务。为了保护网络隐私,用户可以使用Tor。创建交易后,用于交易的UTXO将被锁定。在协调器包含交易后,钱包会将锁定的UTXO标记为已花费,并将新的UTXO应用到您账户的余额中。
如果要将资产提现到layer-1,需要先发送提现请求。然后,用户需要等待7天才能完成提款请求。但是,系统支持使用预付款功能即时取款。创建提款请求时,您可以为预付款设置额外费用。在块包含提款请求后,您可以向代理付款人请求预付款。它的工作方式是代理付款人在转移取款叶子的所有权时先付款。提款请求并在最终确定后退出。
zkopru使用销毁拍卖来确定允许谁在网络中提议区块。协调员必须花费他们的以太币来换取提议区块和收取费用的权利。拍卖以太币由zkopru收集,目的是用于公共物品服务。
每轮拍卖持续40个区块(10分钟,15秒/区块)。如果该轮没有出价,任何人都可以提出新的区块。如果获胜的提议者未能在该轮的前半段提出一个区块,则任何人都可以在该轮的剩余时间提出一个区块。
潜在的区块提议者可以通过轮次竞标以获得独家提议权。每个出价必须至少比前一个出价高10%。轮次可以提前30天出价,直到开始区块前2轮(80个区块)。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。