隐密交易的到来:深入AZTEC协议

隐密交易的到来:深入AZTEC协议隐密交易的到来:深入AZTEC协议
这个文章可以深入了解下,然后一起讨论下

这个AZTEC的协议里面保证收到的票据可花费是因为完全有合约控制的对吗?

我这个理解是否正确?

我们没有具体地研究过实现细节,不知道实际的 code 里是怎么做的。

不过从介绍来看,应该是合约代管了所有加密代币,并负责存币和提币。保证收到票据可花费,建立在合约代管和零知识证明的正确性上的。

如果收到的票据是因为合约代管保证有效

我咋觉得这个协议不算零知识证明

或者严格来说,是合约代管保证兑付性。理论上来说,合约来维护一个 merkle tree 和一个 burned list 也不是不可以

甚至只需要有个方法能通过合约把转账操作加密解密就行
因为zcash上的zksnarks方案似乎是零知识证明交易在默克尔树上保证交易有效
这个aztec协议似乎只能用在智能合约。。。而且似乎是强加零知识证明。
有点像我之前看超级账本上的零知识证明,超级账本用了盲签名的方式实现对联盟链得节点部分信息可以隐私验证,但实际上盲签名没法保证信息有效性,所以他们的所谓的零知识证明相当于只能证明链上产生的固有信息。

这种意义上的零知识证明似乎意义不大我感觉

我的意思是似乎这是多此一举的。虽然整个过程可以认为是零知识的,但似乎这个协议只是做了加密转账信息的工作。
主要是还强调了不是用zksnarks,我觉得这个协议仅仅做了个加密工作,完全不能跟zksanrks比。。。

我的思路大概是这个意思:零知识证明应该是证明信息的有效性才有意义,而不是仅仅把一个已经能确保有效的信息加密。

我感觉您说的这种区别更像是协议层与非协议层零知识证明的区别。。在 atzec 协议中,note 数额多少都是未知的,因此 atzec 当然承担了证明相关 note 为有效 note 的作用,只是 atzec 不能证明这些 dai(或者其它 erc20 代币)的创生是否有效而已。。因此,如果要达到您说的用 zk 保证所有信息有效性的作用的话,只能把它内置在协议层了

实际上我觉得它并没有证明有效性
或者说这不是一个证明,而仅仅是一个知识隐藏。
虽然听起来像文字游戏。。但是我觉得很多区块链项目忽悠的源泉在于此

从文章中的细节推测,应该是采用多签和 Range Proof 这些东西实现的,因为基于 zk-snarks 的设计下,匿名转账的整数范围不会对性能有很大的影响,但是 range proof 中,整数范围对性能的影响还是比较显著的。

这个东西确实等价于一个人将资金托管给合约,然后合约内通过某种加密的方式来进行转账以掩盖踪迹,但问题是这件事脱离 ZKP 不太好弄。

需要ZKP的部分是,note 的余额是以 commitment 的形式而非明文的形式存在的。销毁旧的note, 生成新的 note 时要保证新旧余额balance, 如果要让这件事 publicly verifiable, 还是需要 ZKP 的。

当然,如果评价项目的创新度是另一回事,项目本身感觉是把一个类似于 Mimeblewimble 的协议在以太坊上实现了一个智能合约版本。