隐私一直是区块链从业者们十分看重的技术领域,中本聪的比特币论文中有一个名为“隐私”的章节,清楚地阐释了比特币的隐私局限性。比特币是一个完全公开透明的数字货币,只需知道钱包地址,就能查到每一笔资金进出,这样很容易查出帐户与帐户之间的关系,将比特币钱包地址和现实中的关联起来,让人重新成为互联网时代的“透明人“。为了解决比特币隐私性问题,开发者们也提出了很多以混币原理为核心的解决方案。而另一些开发者为了从根本解决匿名问题,开发了各种支持隐私交易的加密货币,市面上主流的隐私币可以分为四类:混币器类、环签类、零知识证明类和MimbleWimble系,各自的代表币种分别是Dash、Monero、Zcash和Grin/Beam。但这些隐私币本身都不支持智能合约,只是单纯作为支付工具使用。2018年后,开发者们开始意识到对智能合约进行隐私保护的需求在不断增加,于是,作为协议层的隐私层项目开始活跃在各种场景中。同隐私币项目不同,隐私层项目可以结合各个公链的支付体系,相对来说更加灵活,而且可以满足用户和开发者特定的隐私需求。分布式资本合伙人黄凌波此前前接受Odaily星球日报的采访中更直言隐私层项目将在2020年迎来大爆发。目前在以太坊上知名的隐私项目有NuCypher,AztecProtocol和Zether。去年,Odaily星球日报曾对NuCypher做过专访报道:《专访|YC孵化、比特大陆投资的NuCypher能做什么?》今天,我们将着重介绍一下主网刚刚宣布上线的AztecProtocol。Aztec于2018年11月29日获得210万美金的种子轮投资,由ConsenSys领投。跟投的有著名英国风投机构SamosInvetment和EntrepreneurFirst。除此之外还有著名天使投资人JeffreyTarrant和CharlieSonghurst。2月1日,Aztec宣布启动基于以太坊主网的隐私网络。使用“零知识Note”进行保密转账
德州议员投票赞成将数字货币的使用纳入州权利法案:5月11日消息,德克萨斯州立法者周三以压倒性多数(139票赞成,只有两票反对)投票赞成更新该州的权利法案,新法案将人民拥有、持有和使用数字货币的权利包括在内。[2023/5/11 14:58:06]
所谓”隐私“,并非绝对,而是介于完全公开及完全隐私之间。作为以太坊隐私领域的先驱,Aztec运用一系列零知识证明(zero-knowledgeproofs)及同态加密(homomorphicencryption)来处理数值,并可对这些加密资料做特定逻辑运算。于是用户可以存取这些加密讯息至区块链,对其做运算验证,而不会透露出它们真正的值。Aztec不会像传统的余额形式那样直接显示出“价值”,不会直接将持有者身份和它们的持有数量映射在一起,而是用“票据”的方式来体现。这些note在以太坊网络上是可见的,包括每个note的所有者,但是除了note所有者之外,note上存储的金额数量对其他所有人而言都是隐藏的。Aztec提供了一种名为ZKAsset的资产,在系统里面我们称它为“票据(note)”,你可以用任意数量的ERC20代币转换任一数量的票据,举个例子,我们可以把10,000DAI转换成一张票据,而这张票据就是等值的10,000DAI,此时这张票据的价值是有被记录在区块链上的。
上图这一组乱码是用Aztec协议进行的转账记录,其实这组乱码就是DAI,这时你可能会感到很奇怪,通常DAI会包含一组以太坊地址,及表示该地址持有DAI数量的数字;明显上面的不是常规的DAI。当你发送这笔交易时,你的以太坊地址变成了这笔DAI的持有者;但值得注意的是,没有人能够具体知道你拥有多少DAI。和其他DAI持有者不同,你的DAI余额是经过加密的,并以Aztec票据的零知识证明形式展现。你可以随意地将这些DAI发送到不同地址,同时没有人能看到你究竟发出去多少。当你使用Aztec票据的零知识证明技术进行交易时,智能合约中不会存储任何的余额信息,仅仅存储椭圆曲线点,而椭圆曲线点对于没有私钥进行解密的第三方来说都只是计算噪声。Aztec票据可以被切割成任意数量
Aztec票据的持有者能以一种合并——拆分私密交易的形式花掉他们的票据。上文提到额的ZKAsset的票据是可以切割成任意数量的,而切割时每张票据的价值此时就不是可见于区块链上了,所以当我们把这个票据传给另外一个账号时,只有票据的拥有者可以利用Aztec的工具得知这张票据的价值是多少。而这张票据也可以将任意数量的ERC20代币转换出来使用,直到这张票据里面的ERC20代币用完。而票据跟票据也可以合并,这样的话里面到底包含多少数量的ERC20就会更无法预测。听了原理你可能还是有些迷糊,这边我们假设一个使用情境来解释:一间公司想要保密的支付每个员工的薪水。这样的情境下,要如何使用Aztec来达成呢?首先公司先把100,000DAI转成一张票据A,此时这张票据价值100,000DAI是公开的。
发薪水时,公司把票据A切成两份,分别价值90,000DAI和10,000DAI的两张票据A1,A2。
接着把A2传送给员工,此时这两张票据的价值并不会公开的记录在区块链上,但是拥有者依然可以透过Aztec的工具来验证其价值。
员工收到代表10,000DAI的票据后,当需要用钱时可以将此票据中一部分的DAI如1,000DAI从隐藏价值的note切分出来,一部分变成公开的DAI,另外一部分仍是隐藏价值的note,此时区块链上可以知道此员工换出了1,000DAI,但是不知道他还剩下多少DAI,此员工也可以一直重复这个步骤把钱领出。
如果下份薪水进来后,此员工还可以把他原本的两张票据合并或切分,让实际还有多少钱更难被推敲出来。Aztec如何解决互操性问题?
在公有链上的资产都有一定的互操性,但是如果通过目前这些零知识系统进行加密,这些资产将不再有互操性。Aztec为了解决互操性问题,能够让DApp之前通过零知识证明进行资产交互,Aztec设计了全新的零知识系统。所有Aztec上的资产共享同一个零知识证明所需要的公共信任设置,且所有的状态有同一个智能合约进行管理,这个智能合约在系统中被称为AztecCryptographyEngine(ACE)。ACE主要有两个功能,一是将验证证明委托给特定的验证合约,二是对成功的验证证明在NoteRegistry中进行状态更新。Aztec的整个设计是为了给DApp开发者提供各种隐私模块,开发人员可以将这些模块结合在一起来搭建自己的DApp而不需要懂这些复杂的加密学内容。目前Aztec提供7个模块,这些模块在原理上是通过Sigma协议来证明输入和输出票据之间的关联。Aztec目前提供的模块有JoinSplit(普通的匿名转账),BilateralSwap(针对两类不同资产之间的交易),DividendProof(针对具有分红功能产品),Mint(针对会增发的产品),Burn,PrivateRange(证明资产金额从而发起有规则的交易),PublicRange(与PrivateRange类似)。通过Aztec进行交易其Gas成本随Join-Split中输入和输出票据的数量而定。对于完全机密的j交易,成本约为900,000gas。目前正在提案的EIP-1108能够大大降低这些交易的成本,减少到大约200,000-300,000gas。目前其竞争对手Zether的转账成本在6,000,000gas左右,通过EIP-1108能够将其降至1,000,000gas左右,在单纯交易费上Aztec有一定的优势。获得Vitalik称赞的新证明机制:PLONK
虽说Aztec使用的“零知识Note”证明比ZK-Snarks更易于使用,但仍需预信任机制。所以,Aztec也在探索拥有其他新生解决方案的预信任机制。Aztec的CTOZacWilliamson和ProtocolLabs的ArielGabizon在去年8月推出了一种全新的ZK-SNARK结构——PLONK。虽然PLONK仍旧像其他ZcashSNKARs一样的可信设置过程,但是其可信设置是通用且可更新的。这意味着所有程序都可以重用此单个设置而不必对每个程序进行单独设置。由于PLONK对Gas费要求不高,所以非常适合在以太坊上使用,对以太坊而言更有实用价值。Aztec首席执行官TomPocock相信,PLONK可以被用来编写复杂的逻辑语句,同时保持完美的隐私。就连Vitalik都曾在推特上公开称赞PLONK将降低创建零知识证明的复杂性,使更多人能够更容易使用它,”这意味着成千上万的人将很容易参与进来。”以太坊2.0研究员JustinDrake称,“PLONK是一种全新的零知识证明系统,支持通用或可更新的可信设置,而且相比Sonic有显著的性能提升。这将会是在真实环境中使用零知识证明的一个巨大进步,并且不会由于可信设置而产生信任问题。”前段时间,Aztec宣布通过对PLONKZK-SNARK的增压版本TurboPLONK进行一些早期基准测试,最终发现通用SNARK可匹敌甚至可超过单电路Groth16,具体来说,基准测试中PLONK比MiMC上的Groth16快2.5倍,这意味着Aztec在实现基于以太坊可扩展隐私的宏伟目标迈进了重要一步。参考资料:《干货|隐密交易的到来:深入AZTEC协议》《AztecProtocol:ConsenSys领投的隐私设施》Medium:《Confidentialtransactionshavearrived,adiveintotheAZTECProtocol》Medium:《AZTEC保密傳輸協議—Devcon5見聞》
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。