http://www.7klian.com

一文读懂以太坊最新二层隐私技能Zkopru,实现ETH、ERC20和ERC721代币尺度互通

要更新nullifier树,协调者执行以下步调:

原子互换
 

利用zk-SNARK和Optimistic rollup的以太坊二层私人生意业务扩展办理方案。 -zkopru-network / zkopru

流入验证

public_ephemeral, ciphertext = parse(memo)

Zkopru将提出了一种新的民众密钥布局。 留意此类型将来将举办更新。

参考文献:

Mass migration to prevent user lockin in rollup

commitment证明

 

 

别的,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?

区块布局

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

相关文章阅读