
零知识证明 – Mixer(混币)应用分析
交易隐私是零知识证明的一个应用方向。除了通过公链或者侧链实现交易的发送方/接收方以及金额隐藏外,Mixer,江湖人称“混币”,是在已有公链上实现交易的发送方的隐藏(匿名)。Mixer,就是将一些账户的资金“混”在一起,由公开的第三方代替发送方发起转账。这个第三方,被称为Mixer或者Relayer。本文分析以太坊上的三个Mixer项目的设计和性能。
MicroMix的源代码Github地址:https://github.com/weijiekoh/mixer。核心逻辑实现在contracts/solidity/Mixer.sol文件中。
MicroMix在Semaphore项目之上,提供混币服务,整个框架如下:
对Semaphore项目不熟悉的小伙伴,可以查看我的另外一篇文章:零知识证明 – Semaphore源代码导读。
整个MicroMix生态存在三种角色:发送方,接收方以及Relayer。使用MicroMix,需要两个步骤:1)Deposit(存钱)2)Mix(提钱)。
1.1 Deposit
在使用Mixer服务之前,发送方需要Deposit(存入)固定数量的代币(ETH或者ERC20代币)。Deposit同时要求发送方生成Semaphore对应的Identity。也就是说,每“混”一笔交易,发送方需要创建一个Identity。
1.2 Mix
Mix接口实现”提钱“的功能。Mix接口由“Relayer”(中继)调用,而不是由发送方调用。因为每个Identity在external nullfier不变的情况下,能且只能发送一次Signal,从而保证每笔存入的代币都能Mix。每个需要“提钱”的账户,提供Identity的证明给Relayer,同时在Signal中指定Relayer,接收方以及费用,从而Relayer可以发起交易,调用Mix接口转账给接收方。
也就是说,可以存在多个Relayer,Relayer通过提供mix的服务,“代替”发送方,向接收方发起转账,同时赚取服务费。每笔mix服务的服务费可以由发送方指定。
1.3 性能
MicroMix使用Semaphore构建了20层的Identity的Merkle树。Deposit大约消耗110w的GAS,Mix大约消耗77w的GAS费用(主要是zkSNARK的验证)。
Tornado Mixer的源代码地址:https://github.com/peppersec/tornado-mixer。Tornado Mixer的核心逻辑在contracts/Mixer.sol文件中:一个是deposit函数,一个是withdraw函数。Tonado Mixer的框架如下图:
大体逻辑和MicroMix类似,发送方(Sender)首先向智能合约转账(固定金额),并在智能合约上创建commitment。接下来,发送方(Sender)将零知识证明发送给Mixer,Mixer确认证明后,通过withdraw函数向接收方转账。
2.1 Commitment Merkle树
所有的Commitment在智能合约中组织成一个Merkle树:
叶子节点的计算采用Pedersen Hash算法,中间节点采用MiMC Hash算法。整个树高为16。也就是说,Tornado Mixer一个智能合约,支持2^16次转账。
2.2 性能
Commitment Merkle树高为16。Deposit函数大约消耗88.8w的GAS,Withdraw函数大约消耗69.2w的GAS。证明电路的Contraint为22617。生成一次证明的时间大约为6.1秒。
Hopper的源代码地址:https://github.com/argentlabs/hopper。Hopper的核心逻辑在solidity/contracts/Mixer.sol中:一个是commit函数,一个是withdraw函数。大体思路和Tornado Mixer一致,不再详细描述。相比较其他两个项目,Hopper有个明显的特色,实现了手机端的Mixer的功能。
3.1 Commitment Merkle树
从安全性角度考虑,叶子节点仍然采用sha256的计算。但是,为了降低证明电路的大小,中间节点采用MiMC Hash算法。Commitment Merkle树高为15。也就是说,Hopper一个智能合约,支持2^15=32768次转账。
3.2 性能
Commitment Merkle树高为15。GAS消耗和生成证明的时间没有实测。从理论上计算,GAS消耗会比Tornado Mixer略低一些,生成时间会比Tornado Mixer高。
总结:Mixer,混币,是零知识证明的一种应用,隐藏转账的发送方。目前,在以太坊上的Mixer实现的思路大体一致:发送方,首先转账固定金额给智能合约,同时提交的Commitment构造上一棵Merkle树。需要转账时,发送方链下将零知识证明的信息发送给Mixer或者Relayer。Mixer或者Relayer,将证明相关信息提交到智能合约。智能合约验证后转账给接收方。Mixer或者Relayer赚取一定的服务费。
比推快讯
更多 >>- 美国基金经理增持标普 500 指数净多头头寸至 887,310 手合约
- 美俄总统在阿拉斯加会面
- 美国考虑对俄罗斯石油公司实施制裁
- 普京抵达安克雷奇,将与特朗普举行会晤
- 数据:过去 1 小时 Binance 净流出 3,683.91 万 USDT
- 美联储逆回购操作接纳 337.57 亿美元
- ARK Invest 向 Coinbase 存入 1268 枚 BTC,约 1.4888 亿美元
- 数据:ETH 当前全网 8 小时平均资金费率为 0.005%
- BitMine 再度斥资 1.3 亿美元增持 28,650 枚 ETH
- 美联储宣布将终止针对银行加密货币业务的监管计划
- 数据:Machi Big Brother 持仓浮亏 540 万美元
- Longling Capital 关联地址抛售 7000 枚 ETH,约 3182 万美元
- Manta Network 与 Wintermute 达成 750 万枚 MANTA 代币流动性协议
- 俄新社:普京与特朗普会谈前的气氛剑拔弩张
- 麻吉大哥黄立成 25 倍杠杆 ETH 多单已浮亏超 400 万美元
- 阿联酋多家航空公司支持加密货币支付购票
- 过去 24 小时全网爆仓 3.84 亿美元,主爆多单
- DCG 起诉子公司 Genesis 索赔超 1.05 亿美元
- Plasma 宣布主网测试版将在 Aave 上线
- 对冲基金 Brevan Howard 披露持有超 23.2 亿美元贝莱德比特币现货 ETF
- META 总市值首次升破 2 万亿美元
- 某鲸鱼从 Binance 提出 25,600 枚 SOL,约 494 万美元
- 中国台湾比特币财库公司 Top Win 完成 1000 万美元融资,将用于购买比特币
- 纽约州立法者提议征收加密货币税以资助学校项目
- 美国 8 月五至十年期通胀率预期初值升至 3.9%
- Deribit 将推出以 USDC 结算的线性比特币和以太坊期权
- 麻吉大哥黄立成加仓 BTC 与 ETH 多单,总头寸规模超 1 亿美元
- 美国 30 年期国债收益率比 5 年期收益率高出 109 个基点,为 2021 年以来最阔水平
- 道琼斯指数开盘上涨 211.9 点,纳斯达克下跌 23.89 点
- Hyperbeat 完成 520 万美元种子轮融资,ether.fi Ventures 与 Electric Capital 共同领投
- Qubic 发布 51%攻击实验报告:期间导致 6 个区块被重组、60 个区块孤立
- 上市公司 Know Labs 宣布更名为 USBC,并实施比特币财库战略
- 一新地址从 Binance 提出 1020 万美元 LINK
- 美 SEC 主席:正动员所有部门将美国打造成全球加密货币中心
- 美联储官员表示若通胀未陷入螺旋可考虑降息
- 美国德州查获 280 万美元加密货币,涉勒索软件案件
- 外媒:若美国政府迫使谷歌出售 Chrome,OpenAI 创始人有兴趣收购
- DeFi Development 斥资约 2200 万美元增持 11 万枚 SOL
- 美联储古尔斯比强调需区分价格涨幅应对策略
- 美联储古尔斯比表示无需维持当前利率水平
- 美联储古尔斯比称需另一份通胀报告判断经济状况
- 美联储古尔斯比:关注 PPI、CPI 和进口价格数据
- BTC 跌破 119000 美元
- 美元指数 DXY 短线上扬超 10 点,现报 97.96
- 交易员预计美联储 9 月降息,2025 年再降息一次
- 《GENIUS 法案》引发监管争议,银行业警告稳定币利息漏洞
- 美国 7 月零售销售月率 0.5%,预期 0.5%
- SharpLink 公布 Q2 业绩报告:现持有 728,804 枚 ETH
- SharpLink 二季度净亏损超 1 亿美元,ETH 持仓达 72.88 万枚
- 巴克莱:鲍威尔鹰派立场不会被就业数据改变