要更新nullifier树,协调者执行以下步调:
原子互换利用zk-SNARK和Optimistic rollup的以太坊二层私人生意业务扩展办理方案。 -zkopru-network / zkopru
流入验证
public_ephemeral, ciphertext = parse(memo)
Zkopru将提出了一种新的民众密钥布局。 留意此类型将来将举办更新。
参考文献:
Mass migration to prevent user lockin in rollupcommitment证明
别的,Zkopru需要您在计较机上运行节点,这一点也很重要。 因此,SNARK高效率性和轻节点是软件实现要思量的重要因素。 因此,我们将利用Typescript和NodeJS构建该项目,以供未来在基于本机的移动应用措施中利用。 估量轻型节点将仅耗损约50〜100 MB的存储空间用于树打点。
UTXO证明
我们可以有一个分手的果真市场来收取即时取款费。 要跟进最新希望,请订阅此github: https://github.com/zkopru-network/zkopru/issues/333
与withdrawal树和UTXO树的独一区别在于,withdrawal树利用keccak256作为哈希函数。 之所以利用keccak256,是因为Zkopru在智能合约上需要提取树的Merkle证明,而在SNARK回路中则需要UTXO树的Merkle证明。 在树的根定型后,withdrawal树中的叶子(leaves)在1层智能合约中即是可以提取的。
ephemeral = random.new()
public_ephemeral = generator.multiply(ephemeral)
memo = public_ephemeral + ciphertext
Zkopru正在利用一种简朴版本的原子交流。然而假如你想要检讨一种基于MPC的zk原子交流模子,你可以在这里看到具体信息。
最后,zk生意业务应担保流入便是流出,包罗手续费。
给定的Nullifier可以从输入的UTXO正确得出。
爱丽丝支出她的60 ETH note,并为本身建设了10 ETH note,并为鲍勃建设了50 ETH note。
如何打点UTXO树
要更新提款树,协调者执行以下步调:
爱丽丝还计较她将来的1000 DAI note的哈希值,并将该哈希值袒露给她生意业务的swap字段。
很是兴奋分享二层隐私技能Zkopru的实现。 从去年11月开始,我和@barryWhiteHat开始构建此项目,如今功效如下。
机能
按照此类型,我们已乐成利用Circom,Solidity,Typescript等构建了测试网。
当gas限制为1195万且区块时间为13.2秒时,最大TPS为105 利用大量存款和大量迁移,我们可以构建一个第2层间网络。
recipient_pubkey=gashared_key=(ga)e
rollup之间的迁移尺度将通过EIP举办尺度化。
MassDeposit什么时候酿成“已理睬”?
在Zkopru中,提取者可以通过配置每个提取note的即时提取用度来请求即时提取。 然后,任何人都可以提前为未完成的提款付款并收取用度。
就像UTXO树一样,Zkopru乐观地更新了nullifier树的根。假如有任何问题,我们可以通过生成防欺诈链上证明一个nullifier被利用了不止一次。要查察事情道理,请参阅RollUpChallenge.sol和SMT.sol。
4.利用chacha20算法对数据举办加密,并利用姑且民众密钥建设备忘录数据:
单个UTXO树是用于成员资格证明的稀疏Merkle树。 它利用Poseidon哈希(SNARK中最自制的哈希函数之一)生成zk SNARK证明以埋没支出哈希及其路径。
Zkopru合约将给定命量的资产从用户帐户转移到自身。
加密(encryption)
在区块最终确认之前举办快速提款UTXO
尽快将存款推到二层网络。 因此,当协调员提出每个新区块时,它将冻结最新的MassDeposit。
在Zkopru中,要举办迁移,就会涉及到源网络和方针网络。 一旦完成源网络上的大局限迁移(相关代码请查察),就可以执行源网络上的migrationTo函数。 该函数可以移动资产(包罗Ether,ERC20和ERC721),同时为方针网络建设MassDeposit工具。
将每个nullifier标志为已利用。在更新进程中,假如所有nullifier都没有变动nullifier树的根,请扬弃该生意业务,因为它会实验举办双花。7月20日,Ethereum 9¾ 首创人 Wanseob Lim在太坊技能论坛 ethresear.ch上正式宣布了Zkopru,这是一种二层(Layer 2)私人生意业务扩容办理方案,同时利用了zk-SNARK和Optimistic rollup技能。 它可以或许以很低的本钱支持ETH,ERC20,ERC721代币在二层网络内举办私人转移和原子互换。 另外,借助预付款成果,用户可以在生意业务确认之前从二层提取资产。
UTXO树和withdrawal树中的备注(note)在下一个版本将有64深度。将只有一个单一的UTXO树和一个提取树。
并且,最重要的是,它此刻已经开始出产区块! 接待在我们的测试网上试用:https://zkopru.network
Nullifier树
查抄是否存在任何已利用的nullifier。
只有所有者才可以利用UTXO。 在这种环境下,每个note都有一个公钥字段,即一个Babyjubjub点。 利用配对的私钥,所有者可以建设EdDSA签名以证明其所有权。
大局限迁移(mass migration)
什么是MassDeposit?
区块布局
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。