http://www.7klian.com

零常识证明 Mixer(混币)应用阐明

1. MicroMix

1.3 机能

Tornado Mixer的源代码地点:https://github.com/peppersec/tornado-mixer。Tornado Mixer的焦点逻辑在contracts/Mixer.sol文件中:一个是deposit函数,一个是withdraw函数。Tonado Mixer的框架如下图:

概略逻辑和MicroMix雷同,发送方(Sender)首先向智能合约转账(牢靠金额),并在智能合约上建设commitment。接下来,发送方(Sender)将零常识证明发送给Mixer,Mixer确认证明后,通过withdraw函数向吸收方转账。

也就是说,可以存在多个Relayer,Relayer通过提供mix的处事,“取代”发送方,向吸收方提倡转账,同时赚取处事费。每笔mix处事的处事费可以由发送方指定。
3.2 机能

从安详性角度思量,叶子节点仍然回收sha256的计较。可是,为了低落证明电路的巨细,中间节点回收MiMC Hash算法。Commitment Merkle树高为15。也就是说,Hopper一个智能合约,支持2^15=32768次转账。
1.2 Mix

2.1 Commitment Merkle树
Hopper的源代码地点:https://github.com/argentlabs/hopper。Hopper的焦点逻辑在solidity/contracts/Mixer.sol中:一个是commit函数,一个是withdraw函数。概略思路和Tornado Mixer一致,不再具体描写。对较量其他两个项目,Hopper有个明明的特色,实现了手机端的Mixer的成果。
2.2 机能

叶子节点的计较回收Pedersen Hash算法,中间节点回收MiMC Hash算法。整个树高为16。也就是说,Tornado Mixer一个智能合约,支持2^16次转账。

Mix接话柄现”提钱“的成果。Mix接口由“Relayer”(中继)挪用,而不是由发送方挪用。因为每个Identity在external nullfier稳定的环境下,能且只能发送一次Signal,从而担保每笔存入的代币都能Mix。每个需要“提钱”的账户,提供Identity的证明给Relayer,同时在Signal中指定Relayer,吸收方以及用度,从而Relayer可以提倡生意业务,挪用Mix接口转账给吸收方。

1.1 Deposit
总结:Mixer,混币,是零常识证明的一种应用,埋没转账的发送方。今朝,在以太坊上的Mixer实现的思路概略一致:发送方,首先转账牢靠金额给智能合约,同时提交的Commitment结构上一棵Merkle树。需要转账时,发送方链下将零常识证明的信息发送给Mixer可能Relayer。Mixer可能Relayer,将证明相关信息提交到智能合约。智能合约验证后转账给吸收方。Mixer可能Relayer赚取必然的处事费。

3. Hopper

生意业务隐私是零常识证明的一个应用偏向。除了通过公链可能侧链实现生意业务的发送方/吸收方以及金额埋没外,Mixer,江湖人称“混币”,是在已有公链上实现生意业务的发送方的埋没(匿名)。Mixer,就是将一些账户的资金“混”在一起,由果真的第三方取代发送方提倡转账。这个第三方,被称为Mixer可能Relayer。本文阐明上的三个Mixer项目标设计和机能。

MicroMix的源代码Github地点:https://github.com/weijiekoh/mixer。焦点逻辑实此刻contracts/solidity/Mixer.sol文件中。

Commitment Merkle树高为16。Deposit函数约莫耗损88.8w的GAS,Withdraw函数约莫耗损69.2w的GAS。证明电路的Contraint为22617。生成一次证明的时间约莫为6.1秒。

3.1 Commitment Merkle树
MicroMix利用Semaphore构建了20层的Identity的Merkle树。Deposit约莫耗损110w的GAS,Mix约莫耗损77w的GAS用度(主要是zkSNARK的验证)。

Commitment Merkle树高为15。GAS耗损和生成证明的时间没有实测。从理论上计较,GAS耗损会比Tornado Mixer略低一些,生成时间会比Tornado Mixer高。
所有的Commitment在智能合约中组织成一个Merkle树:

2. Tornado Mixer

整个MicroMix生态存在三种脚色:发送方,吸收方以及Relayer。利用MicroMix,需要两个步调:1)Deposit(存钱)2)Mix(提钱)。
在利用Mixer处事之前,发送方需要Deposit(存入)牢靠命量的代币(ETH可能ERC20代币)。Deposit同时要求发送方生成Semaphore对应的Identity。也就是说,每“混”一笔生意业务,发送方需要建设一个Identity。
MicroMix在Semaphore项目之上,提供混币处事,,整个框架如下:

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