如何工作
zkSNARKs——保护交易的隐私性
![](https://docs.cyclone.xyz/~gitbook/image?url=https%3A%2F%2Fgithub.com%2Ftornadocash%2Ftornado-core%2Fraw%2Fmaster%2Fdocs%2Fdiagram.png&width=768&dpr=4&quality=100&sign=25200e34&sv=1)
旋风协议的原理非常直观——用户将加密货币资产放入匿名资产池中,等上一段时间后,再从该池中提取资产到这个用户的一个全新地址。一存一取的操作完全打破了存款地址和取款地址之间的链上链接,为用户提供匿名性和隐私。
具体的讲,资产在放入匿名资产池后将向用户生成一个证明字符串,相对应的哈希值(称为存证)将连同用户存款金额发送至旋风协议的智能合约。智能合约收到这笔存款后将把存证添加至存款用户的存款清单中。需要提取时,通过提供相应的证明字符串,用户就能在智能合约中的账户存款清单内进行提款操作。通过zkSNARKs(非交互式简洁零知识证明)技术,实现了在此交易过程中无需透露交易详情与确切存款;智能合约通过验证用户提供的证明,将把账户内资金转移至指定的提款地址。这一过程任何一个外部人员都无法查看,也无法了解此提款的来源处。
如需更深入地了解技术细节,请参阅相关论文。
可信启动
我们及其重视“安全性”与“隐私性”,并致力于高标准、高安全性地启动旋风协议。整个项目的智能合约部分是完全开源,欢迎同行审阅。旋风协议的zkSNARKs部分已得到广泛审计。 此外,我们直接使用了tornado.cash的可信启动部分,因为其已经在以太坊上稳定运行将近一年。
Last updated