注:本文来自@hhh69251498推特,MarsBit整理如下:
1/n
privacy-pools原理解析:
TornadoCash的新版本出来了,昨天@ameensol(TC早期开发者)宣称privacy-pools已经在Optimism上部署
privacy-pools是TC的升级版本,可以支持用户在从混币器中提款的时候,附带一个提款证明,证明自己要提款的资金不是黑客部署在混币器中的资金。
2/n
我怀着好奇的心思跑去他们的github仓库看了下他们的代码,然后"牛逼"!
Iliketheprettycoolcodeforprivacy-pools!Awesomework!@ameensol
以下是具体的原理介绍:
3/n
首先你可能需要先了解下TC原来的运行原理,如果你还不了解的话:
Bitdeer截至5月底自有算力为5.4EH/s,托管算力达12.6EH/s:6月14日消息,Bitdeer截至5月31日自有算力为5.4EH/s,其中4.0EH/s分配给公司的自挖矿业务,1.4EH/s分配给云算力业务,其中自挖矿业务产出了283枚比特币。此外,Bitdeer截至5月31日托管算力达12.6EH/s。[2023/6/15 21:37:28]
https://twitter.com/hhh69251498/status/1632438792387690496
4/n
(privacy-poos以下用PP表示)
PP使用来证明取款的金额是"干净"的资金的方法,其实v神在之前提到过
https://twitter.com/ameensol/status/163208921331006259
5/n
用vitalik的原话来说:
makeazero-prooftoprovethatthiswithdrawalisnotpartofoneofthesetsofdepositsorthiswithdrawalispartofoneofthissubsetofdeposits
Matter Labs 聘请前动视暴雪社区副总裁以推动 zkSync 游戏发展:5月24日消息,Matter Labs 聘请前动视暴雪社区副总裁 Michael Lee 作为其高级增长副总裁,专注于将游戏引入其 zkSync。Michael Lee 表示,zkSync 将支持 3A 游戏工作室或对加密货币感兴趣的游戏开发商的游戏开发。[2023/5/24 22:15:27]
6/n
也就是说:
可以用一个zk-proof去证明取款的金额在是在合法的存款的金额集合之内的,或者是表面取款的金额是在不合法取款的金额集合之外的
7/n
PP也是按照这个想法来实现的,在PP的推特上写到了很感谢vitalik提供的idea.
在之前的Thread也介绍了deposit资金到混币器中的时候,会添加一个commitment叶子节点到deposit树中
美SEC委员:美国可以效仿欧洲的加密货币法规:金色财经报道,美国证券交易委员会(SEC)委员Hester Peirce对欧盟汇集其数字金融方案的速度表示肯定。欧洲议会上个月通过了《加密资产市场》(MiCA),为整个27国集团的加密货币监管制定了一个全面的框架。Peirce周三在金融时报加密货币和数字资产峰会上表示,MiCA可以作为我们的一个模式。她补充说,英国为建立一个有利于加密货币的监管制度所做的努力也可以作为对美国的启发。[2023/5/10 14:55:30]
https://twitter.com/hhh69251498/status/1632438792387690496
8/n
我们以一个实际例子来理解PP是怎么运作的:
1)现在有黑客想要将一笔illegalfunds通过PP混币,于是他调用deposit方法将资金放入到PP中.
(我们假设原先已经有3个用户将前deposit到PP中了)
2)这个时候,deposittree会发生以下变化.
数据:基金持有的比特币跌至2021年10月以来的最低点:金色财经报道,ByteTree Asset Management 追踪的数据显示,本月欧洲、美国和加拿大的封闭式基金、以现货和期货为重点的交易所交易基金 (ETF) 持有的代币数量减少了 16,560 BTC(4.09 亿美元),达到 17 个月低点 826,113 BTC。基金余额的下降表明缺乏机构参与比特币近期的上涨。ByteTree Asset Management 首席投资官表示,全球财富管理行业在比特币和黄金方面都非常清淡。
Matrixport 研究和策略主管 Markus Thielen 表示,基金持有数据没有意义,基金持有的余额只占整个市场的一小部分,其他需求来源正在推高价格。我怀疑 USDC 持有者正在将他们的稳定币转换为 BTC。[2023/3/16 13:08:26]
9/n
3)所有人都可以通过链上信息知道黑客将illegalfunds被存储在deposittree中index=3的叶子节点了。
4)此时用户A想要取走index=0的资金,但是他又想证明自己去走的不是黑客的资金.(假设用户A知道index=0的叶子节点的secret)
10/n
加密借贷平台Celsius Network已提交将索赔截止日期延长至2月9日的动议:金色财经报道,加密借贷平台Celsius Network已提交延长客户提出索赔截止日期的动议,该动议将于美国东部时间2023年1月10日上午11点举行听证会。目前,截止日期暂时延长至该日期,直到听取动议为止。若其动议获得批准,预计截止日期将延长至2023年2月9日。[2023/1/4 9:51:22]
5)用户A需要再构造另外一颗树allowtree,这颗树跟deposittree是对应的;
在这个case里,可以看到所有在deposittree里的legalfunds的叶子节点在对应的allowtree的叶子节点里都会被标注为"allow",而illegalfunds对应的叶子节点会被标注为"blocked"
11/n
6)然后用户A开始构造自己的withdrawal证明
privateinput包含:
-allowtree对应的path(绿色节点)
-deposittree对应的path(绿色节点)
-deposittree上要退款的节点对应在allowtree上的叶子节点值必须为"allowed"(绿色连线)
publicinput包含:
-allow_tree_root
-deposit_tree_root
12/n
其中privateinput意味着这部分的信息最后会被隐藏在证明内,没有可以从我提交的withdraw交易中知道这些信息。
于是用户A成功完成了withdraw,把自己index=0的叶子节点的资金取了出来
13/n
如果是黑客要取这笔钱呢?
它只能构造allowtree的index=3的叶子节点值为“allowed“的allowtree,而且给出对应的allow_tree_root;
又因为allow_tree_root我们可以从withdraw交易中的input知道,所以可以知道取的这笔钱构造的allow_tree是没有将index=3排除在外的
14/n
于是我们成功标记了黑客的withdraw交易,也就意味着黑客想通过混币交易的目的失效了。
15/n
写在最后:
很喜欢@ameensol写的两段话:
-whenyoumakeprivacycriminal,then**only**criminalshaveprivacy.
-Thisisanopportunitytoprovetheingenuityofthecryptocommunitytoselfregulateandtoshowcasetheawesomepowerofzeroknowledgeproofs!
16/n
希望我们能用更有好的技术,做更有意义的事情
大家有兴趣也可以看看PP的github,不过这个PP的完成度还不是很高,所以大家可以持续关注关注
https://github.com/ameensol/privacy-pools
附加一个vitalik之前对TC改进的视频
https://youtube.com/clip/Ugkx7LeQPvONM0OFOfAUazyjf0JSj_9y7Tqwhttps://www.youtube.com/clip/Ugkx7LeQPvONM0OFOfAUazyjf0JSj_9y7Tqw
额外总结一下:
-只有allow-tree设置为allowed的节点可以退款
-黑客不得不将自己所在的allowtree那个节点(index=3)变成allowed
-正常用户会将黑客所在的那个allowtree的节点(index=3)设置成blocked
-所以可以通过在withdraw的时候黑客给的allowtree(将非法节点设置为了allow)来标记黑客
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。