宇宙链 宇宙链
Ctrl+D收藏宇宙链

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

作者:

时间:1900/1/1 0:00:00

:"\u003Cp\u003E编者按:本文来自以太坊爱好者,作者:zac,翻译&校对:IANLIU&Elisa,来源:\u003Cahref=\"https:\u002F\u002Fmedium.com\u002Faztec-protocol\u002Fconfidential-transactions-have-arrived-a-dive-into-the-aztec-protocol-a1794c00c009\"target=\"_blank\"\u003Emedium\u003C\u002Fa\u003E,Odaily星球日报经授权转载。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimgalt=\"隐密交易的到来:深入AZTEC协议\"src=\"https:\u002F\u002Fpiccdn.0daily.com\u002F202211\u002F04030424\u002Fic23f9rgfa03shpw.jpg "/>!webp\"data-img-size-val=\"1000,363\"\u002F\\\u003E保证交易的私密性是许多金融服务的基本要求,但由于以太坊无法提供这种隐私保护,所以没能出现令人信服的传统金融工具替代品。现在有几个区块链项目,试图利用加密技术来提供隐私服务,但是这些项目能提供的隐私保护对区块链“原生”加密货币的作用十分有限。换句话说,构建在公共区块链协议上的数字资产,仍旧无法得到这类交易私密性保证。比如说,我不能在以太坊上编写出债权不公开的公司债券智能合约。\u003C\u002Fp\u003E\u003Cp\u003E至少到现在为止还做不到。\u003C\u002Fp\u003E\u003Ch3\u003E一个特殊的例子,私密DAI\u003C\u002Fh3\u003E\u003Cp\u003E喏,让我们接着往下看:\u003C\u002Fp\u003E\u003Cp\u003EDAI是由MakerDAO创造的锚定美元的稳定币,上面这种纠缠在一起的字符,就是DAI的样子。不过它看起来有一点奇怪对吧?通常DAI会包含一组以太坊地址,及表示该地址持有DAI数量的数字;明显上面的不是常规的DAI。\u003C\u002Fp\u003E\u003Cp\u003E如你所见,当我发送这笔交易时,我的以太坊地址变成了这笔DAI的持有者;但值得注意的是,没有人能够具体知道我拥有多少DAI。和其他DAI持有者不同,我的DAI余额是经过加密的,并以AZTEC票据的零知识证明形式展现。我可以随意地将这些DAI发送到不同地址,同时没有人能看到我究竟发出去多少。比如,我在这笔交易中发了一些DAI给我的同事,如果想搞清楚我发了多少,祝你好运!\u003C\u002Fp\u003E\u003Cp\u003E这一切都还非常新颖,我非常期待能将这个结果展现给你,以及广大以太坊社群。我们已经开发了将近一年时间,不过还未进行正式的发布,因为我想向大家解释清楚那些特殊的、纠缠在一起的十六进制字符。\u003C\u002Fp\u003E\u003Cp\u003E这不是一项天马行空的技术,不需要等到遥远的未来才能实现,也不需要修改以太坊协议;这是一项以已经在以太坊主网演示的技术,同时AZTEC零知识票据也能够加密真正的DAI。\u003C\u002Fp\u003E\u003Ch3\u003E关于AZTEC私密交易的细节\u003C\u002Fh3\u003E\u003Cp\u003E现在出现两个问题:究竟什么是AZTEC协议?它是怎么运作的?关于AZTEC是如何运作的,我只能说,你得先了解椭圆曲线加密的核心部分\u003C\u002Fp\u003E\u003Cp\u003E好,解决了椭圆曲线加密是什么的问题,现在我先解释AZTEC协议是什么;交易发送给协议后,会发生什么。开始之前,我们先来了解一下“私密化交易”到底什么意思。\u003C\u002Fp\u003E\u003Cp\u003E私密化交易指的是发生在两个及以上对象之间的价值转移,其中转移的价值不能被观察者得知。\u003C\u002Fp\u003E\u003Cp\u003E私密化交易可以有很多种形式,从环签名到ZK-SNARK等等。与ZCash类似,AZTEC协议使用加密“票据”及合并-拆分票据的概念。\u003C\u002Fp\u003E\u003Ch3\u003E加密数字资产及AZTEC票据\u003C\u002Fh3\u003E\u003Cp\u003EAZTEC协议不会像传统的余额形式那样直接显示出“价值”,不会直接将持有者身份和它们的持有数量映射在一起,而是用“票据”的方式来体现。\u003C\u002Fp\u003E\u003Cp\u003E票据包含以下公开信息:\u003C\u002Fp\u003E\u003Culclass=\"list-paddingleft-2\"\u003E\u003Cli\u003E\u003Cp\u003EAZTEC承诺:一种加过密的表述,代表该票据拥有多少“价值”。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E一组持有该票据的以太坊地址。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E及以下非公开信息:\u003C\u002Fp\u003E\u003Culclass=\"list-paddingleft-2\"\u003E\u003Cli\u003E\u003Cp\u003E票据的价值。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E票据的查看密钥;知道查看密钥的人能够解密票据。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E单个用户能够拥有多个票据,经过AZTEC协议确认的数字资产会构成一份票据列表,让智能合约可以恢复这些已经存在而尚未花费的票据的公共信息。\u003C\u002Fp\u003E\u003Ch3\u003EAZTEC票据如何花费?\u003C\u002Fh3\u003E\u003Cp\u003EAZTEC票据的持有者能以一种合并-拆分私密交易的形式花掉他们的票据。在该交易过程中,持有者会先销毁一些未花费的AZTEC票据,同时创建一组新的票据。新旧票据总额必须一致,同时需要附上公开承诺。\u003C\u002Fp\u003E\u003Cp\u003E假设Alice有两份AZTEC票据,其价值总和为100个代币。现在Alice想要发给Bob20个代币,她得先创建一个或多个总额为20代币的票据,这些票据的持有人是Bob;接着她得为自己创建一个或多个总和为80代币的票据,持有人是Alice自己。\u003C\u002Fp\u003E\u003Cp\u003E然后,Alice继续创建AZTEC零知识证明,以零知识方法证明上述的操作。紧接着,AZTEC代币智能合约会验证零知识证明的合法性,并在票据表里销毁Alice输入的旧票据,然后生成新的票据输出。\u003C\u002Fp\u003E\u003Cp\u003E当Alice创建属于Bob的票据时,她同时会构造票据的“查看密钥”,让Bob能够通过非交互式密钥分享协议验证票据的价值。本步骤中,Bob需要依赖于Alice的操作是可信的,而且没有向其他观察者提供能够破译的查看密钥。这是默认的要求——毕竟如果Alice想要交易公开,她可以广播给全世界知道发送给Bob的具体金额。\u003C\u002Fp\u003E\u003Ch3\u003E票据的“所有权”该如何定义?\u003C\u002Fh3\u003E\u003Cp\u003E每个私密交易都要求附上数字签名——每张输入的票据都需要持有者的数字签名。签名信息是其零知识证明的哈希值,一旦在票据上签名,即可视作票据持有者同意这笔交易的输出,允许交易进行。\u003C\u002Fp\u003E\u003Ch3\u003E我们如何将价值导入AZTEC票据体系?\u003C\u002Fh3\u003E\u003Cp\u003E能够秘密地传递价值固然很好,但还缺乏能够让整个价值在AZTEC加密系统里流转的方法。这听起来有点学术,它是通过私密交易中的“公共承诺”来完成。假设AZTEC代币和某个公开的ERC20代币挂钩,完成AZTEC零知识证明需要一个公共承诺值v!=0,为了使等式成立,意味着两个条件要满足:\u003C\u002Fp\u003E\u003Culclass=\"list-paddingleft-2\"\u003E\u003Cli\u003E\u003Cp\u003E如果v为负,则输出票据价值比输入票据价值多-v。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E如果v为正,则输入票据价值比输出票据价值多v\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E如果Alice发出了一笔v为负的私密交易,则AZTEC代币智能合约会从Alice那儿转走-v的ERC20代币到自己的合约中。实际上,在私密票据表中,AZTEC代币智能合约扮演的角色更像是ERC20代币的保管人。如果这笔转移被拒绝,交易也就流产了。\u003C\u002Fp\u003E\u003Cp\u003E如果Alice发出了一笔v为正的私密交易,代表发生了一笔将AZTEC票据兑换为ERC20代币的操作。AZTEC代币智能合约会向Alice转移价值为v的ERC20代币。\u003C\u002Fp\u003E\u003Cp\u003E这里做个小提醒——转移的代币数实际上是v乘上一个比例因子,因为AZTEC代币支持的整数范围小于ERC20支持的范围。目前我们部署在主网的PoC协议支持整数0~100万,而AZTEC协议完整版能支持约32位整数。相比之下,ERC20能支持的体量达到256位。\u003C\u002Fp\u003E\u003Cp\u003E比例因子根据AZTEC挂钩的ERC20代币而定。我们在PoC部署中使用DAI代币,AZTEC票据中的1相当于0.1DAI。\u003C\u002Fp\u003E\u003Ch3\u003E这么做的成本为何?\u003C\u002Fh3\u003E\u003Cp\u003EAZTEC协议使用一套特定的承诺机制,能实现高效且大范围的证明。结果表明,通过智能合约进行验证的计算量远小于预期。关于私密交易主要的gas支出在于验证AZTEC零知识证明时,需要进行椭圆曲线计算。共需要花费3i+4j椭圆曲线标准运算进行证明验证,i是输入的票据数,j是输出的票据数。\u003C\u002Fp\u003E\u003Cp\u003E每个confidentialTransfer交易还需要进行单一椭圆曲线双线性对校验。\u003C\u002Fp\u003E\u003Cp\u003E这里我讲的如此玄乎,是因为要强调这些运算成本将会在为geth和parity进行协议升级后,大幅降低。目前发布一笔包含4个票据的私密交易,大约需要消耗900,000gas;等到EIP-1108实施后,费用能降至200000-300000gas。\u003C\u002Fp\u003E\u003Ch3\u003E从私密交易中能收集哪些信息?\u003C\u002Fh3\u003E\u003Cp\u003E过去十一个月里,我痴迷于AZTEC协议,在完全发挥出协议的优势及找到局限之前我不会感到满足。我相信这些超前的工作是非常重要的。在这种形式中,任何将公开转账转为私密交易的操作,都会在加密系统的入口和出口留下一些信息。\u003C\u002Fp\u003E\u003Cp\u003E如果你将代币加入票据系统,观察者就会知道,输出的票据价值至少是你转换的公共代币价值。\u003C\u002Fp\u003E\u003Cp\u003E同样的,当赎回价值为v的公开代币后,观察者能知道剩余的AZTEC票据价值至少会减去价值v。\u003C\u002Fp\u003E\u003Cp\u003E通过将AZTEC代币和公开代币转换作结合,以上问题能得到改善。举例来说,假设Bob持有一张价值100代币的票据,并想转换成公共代币。这时候,Bob应该添加一些附加的输入票据和输出票据,即便这些额外的票据价值为0也无所谓。这么做能防止观察者得知Bob秘密地转换了多少资产,即使Bob已经转换所有资产,也会留下一堆价值为0的“烟雾弹”票据。\u003C\u002Fp\u003E\u003Cp\u003EAZTEC票据的持有者由以太坊地址所定义。表面上来看,票据持有者并非匿名的;AZTEC协议中包含一种类似门罗币的隐性地址,这也是个以太坊地址,但只会被使用一次,无法和其他任何地址产生关联性。(e.g.如果你有AZTEC钱包,我可以向你持有的以太坊地址“转账”票据;除了你和我,没有人知道这件事情的发生)。\u003C\u002Fp\u003E\u003Cp\u003EAZTEC协议支持隐性地址,也支持一般以太坊地址。\u003C\u002Fp\u003E\u003Cp\u003E拥有双重公\u002F私钥的用户越多,能提供的隐私保障就越大。举例来说,当我们在主网上进行测试部署,我将50DAI转换成AZTEC票据并发送一部分给我同事;这时候很明显的所有输出票据总和就是值50DAI,票据没有得到很好的加密保护。现在假设某个人创建了值1000DAI的私密票据,然后我们进行了几次票据的合并及拆分——这样一来,想要搞清楚这些票据究竟值多少DAI成为一件不可能的事,只知道价值总和为1050DAI。\u003C\u002Fp\u003E\u003Cp\u003E为了将信息泄露风险降至最低——如果我将10DAI转成单一的AZTEC票据,这对隐私保护毫无帮助——创建没有价值的“烟雾弹”票据能很大的提升隐私性——如果你将10DAI转换成票据以供使用,那么你最好同时创建几个不具备价值的票据,来掩饰你实际转换的价值。\u003C\u002Fp\u003E\u003Cp\u003E如果协议使用者“偷懒”,仍会泄露一定的信息。举例来说,你将10DAI转换成5个票据,其中4个为价值0的烟雾弹票据。假如你忘了这几个烟雾弹票据的存在,并在之后的交易中再也不碰它们,对于观察者来说,这几个票据很明显不具备任何价值。因此后续尽可能以合并-拆分交易形式使用这些烟雾弹票据,能够一定程度减少外部观察者获得交易信息的可能。\u003C\u002Fp\u003E\u003Ch3\u003EAZTEC协议的可信设置\u003C\u002Fh3\u003E\u003Cp\u003EAZTEC协议高效的原因在于,我们在单个承诺方法中结合了Boneh-Boyen群签名和Pedersen承诺,以一种高效的方式嵌入承诺。在使用AZTEC协议前,要求椭圆曲线数据库先创建好;这个数据库被用来构造无需再次验证的证明。\u003C\u002Fp\u003E\u003Cp\u003E其实有点像ZCash,这种可信设置会生成“多余的”私钥,如果私钥被泄露,就有可能被用来构造双花攻击使得协议失效。\u003C\u002Fp\u003E\u003Cp\u003E我们该如何解决这个问题呢?我们不指望用户会无条件信任我们,所以我们开发了一款可扩展的多方计算协议,使得任何人都能参与可信设置过程。如果你参与进来,你就可以生成“多余的”私钥的一部分。也就是说,可信设置私钥,只能通过拼凑所有参与者的“多余”私钥部分来获得。所以,除非离散对数问题被攻破,只要有一位参与者是诚实的,这个方法就绝对安全\u003C\u002Fp\u003E\u003Cp\u003E我们会在接下来几个月发布可信设置过程的正式版,并开始招募参与者。这与ZCash的“powersoftau”协议有些类似,不过AZTEC协议不使用ZK-SNARK,因此结果差异很大。我们希望可信设置协议易于参与,同时也希望与广大以太坊社群互动,以创建出值得社区信任的可信设置数据库。\u003C\u002Fp\u003E\u003Cp\u003E我们的PoC智能合约使用内置的可信设置,因为实现多方计算可信设置还需要数个月的时间部署。在我们完成上述工作之前,使用AZTEC协议的用户得承担一定风险;虽然我们已经清除多余的私钥,但没有办法提供证明我们的确这么做了。\u003C\u002Fp\u003E\u003Cp\u003E最后一点,可信设置数据库的大小会随着协议证明范围线性增长,目前PoC的数据库只支持0~1048575的整数范围,因为我希望从github上下载我们的PoC不会成为一件头疼事;完整版会支持更大范围的整数。\u003C\u002Fp\u003E\u003Ch3\u003E为什么AZTEC协议如此重要?\u003C\u002Fh3\u003E\u003Cp\u003E我当然会说这很重要,我是你所能知道对这个问题最有主观偏见的人!以下是为什么我认为AZTEC协议是规则的开创者:AZTEC协议可以创建通用的私密数字资产。目前我们选择从DAI开始,但以后只需单击某个按钮,AZTEC协议就可以应用于任何ERC20代币;它还可以构建无需任何ERC20代币作为等价物的私密资产,不需要额外的加密体系,也无需额外的可信设置过程。这也是史无前例的,AZTEC协议能够在不牺牲隐私的情况下,享有公共区块链的不可逆和去中心化优势。\u003C\u002Fp\u003E\u003Cp\u003EAZTEC零知识证明在扩展性方面也非常高效,完全在硬件钱包的承载能力范围内。能够直接从硬件钱包发布私密交易,并且从不暴露敏感私钥,这真的令人非常兴奋!\u003C\u002Fp\u003E\u003Ch3\u003EAZTEC协议的未来?\u003C\u002Fh3\u003E\u003Cp\u003E与我们的智能合约验证和技术白皮书内容最立即相关的,是发布AZTEC证明构造API。同时我们还有几个关于AZTEC协议的扩展工作要做,完整的未来愿景会在2019年上半年发布。其中包含几个重要的目标:\u003C\u002Fp\u003E\u003Culclass=\"list-paddingleft-2\"\u003E\u003Cli\u003E\u003Cp\u003E私密的去中心化交易所——使用者能够在完全保密的情况下交易不同的AZTEC资产,任何交易数量和价格都无法从交易过程中获取。去中心化交易所使用了中继者模式和预想的AZTECDeX零知识证明实现上述功能。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E私密的加权投票——在很大范围的金融应用中,保障投票者隐私的机制至关重要,而AZTEC协议的有效范围证明使其成为可能。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E匿名身份共享方案——在许多进行承诺和KYC的场景下,无需透露身份便能证明你属于某个团体,有很重要的应用价值;AZTEC代币标准能够支持这样的身份系统。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E结合以上扩展功能,AZTEC协议能提供开发者需要的工具来创建下一代去中心化金融服务,重新构建具有绝对隐私且私密化治理的数字资产。\u003C\u002Fp\u003E\u003Cp\u003E为了实现这个愿景,我们将开源我们的技术——如果你想要在以太坊上创建具备私密性的资产,AZTEC协议提供智能合约、资源、工具,使得一切再简单不过了。\u003C\u002Fp\u003E

Gnosis将发布Gnosis Pay,或支持线下线上刷Visa卡消费:7月6日消息,推特用户Luyao发推表示,Gnosis将在两周后的EthCC发布Gnosis Pay,它既是一张Visa卡,同时也是一个自托管的硬件钱包,支持线下线上的各种刷卡消费,不需要充值,交易会走智能合约,划走的是个人地址里的钱,此外还会和Safe有一些结合。[2023/7/6 22:20:46]

StaFi发布Q3路线图:将继续推动LSD结构、去中心化质押、治理权分配等讨论和部署:6月28日消息,DeFi协议StaFi发布2023年第三季度路线图。Q3 StaFi将继续推动更多关于LSD结构、去中心化质押、治理权分配以及更多与LSD相关的上升趋势方面的讨论和部署。

EVM LSD结构目前正在开发中,之前的部分代码库被抽象成rBNB和rMATIC解决方案。该结构将基于现有LSD解决方案的重新开发和重新部署,并将作为未来探索更多用例的基础。[2023/6/28 22:06:09]

Doodles 2可穿戴设备NFT“Genesis Box”将于3月31日开图:金色财经报道,NFT项目Doodles宣布Doodles 2可穿戴设备NFT“Genesis Box”将于3月31日开图。

Doodles此前表示,所有Genesis Box都将包含稀有物品,可能包含独家物品、Beta通行证等。[2023/3/24 13:23:43]

比特币主导地位升至45.5%,达到9个月高点:金色财经报道,根据 TradingView 的数据,比特币的主导地位(BTC市值占整个加密市场的份额)已达到 45.5% 的九个月高位。上一次达到 45% 以上是在 2022 年 6 月 25 日。

FundStrat Research解释称:“比特币的主导地位通常被认为对加密市场是健康的,因为它表明市场泡沫相对较低(加密交易商选择购买比特币而不是更具投机性的山寨币)”。FundStrat 认为,飙升可能反映出投资者对比特币的兴趣在 SVB 等传统银行倒闭时重新被“点燃”。[2023/3/16 13:06:55]

Yearn Finance:因Euler被盗间接损失138万美元,将使用Treasury资金足额承担:金色财经报道,Yearn Finance发推称,虽然对Euler没有直接的风险敞口,但一些vaults却间接暴露于黑客攻击。

采用Idle和Angle策略的vaults在yvUSDT和yvUSDC上的风险敞口总计138万美元。

开发者目前正在积极处理受影响的协议,任何剩余的坏账将由Yearn Treasury承担,所有vaults都将保持开放并全面运作,用户可以照常使用。[2023/3/14 13:01:53]

标签:TECAztecDAI以太坊Artificial Intelligence Technology NetworkAztec币MIDAI如何挖以太坊币

酷币交易所热门资讯
ETH周报(2月18日-2月24日):核心开发者怒退以太坊社群;硬分叉升级别忘了更新客户端

作者|秦晓峰编辑|卢晓明一、整体概述本周,以太坊上出现5笔高额手续费,最高的一笔达到2100个ETH,这笔手续费属于谁、该怎么分配,至今没有答案.

1900/1/1 0:00:00
荷兰金管局和央行要求加密货币服务商获得经营许可

编者按:本文来自ethnews.com,作者:NicholasRuggieri译者:星球日报茶凉据荷兰媒体NederlandseOmroepStichting(NOS)报道.

1900/1/1 0:00:00
星球日报 | 当当创始人李国庆加入区块链行业;比特币日交易量创去年5月以来新高;美怀俄明州通过两项加密货币监管法案

头条 李国庆离职当当,加入区块链行业2月20日上午,当当创始人李国庆以公开信的方式宣布离开当当。公开信上提及区块链,他表示,区块链的经济制度给企业赋予核武器,创造出全新的激励和赋权.

1900/1/1 0:00:00
以太坊单日区块激励创历史新低,难度炸弹影响再次显现

译者|Moni编辑|卢晓明“难度炸弹”是嵌入在以太坊协议中的一段代码,长久以来一直影响区块挖掘激励。最初,难度炸弹是为了创造一种负面激励机制,使挖矿难度随着时间推移变得越来越高,促使矿工和开发人员从工作量认证过渡到权益认证.

1900/1/1 0:00:00
「xx 即挖矿」为什么失败?因为金钱本来就不是万能的

编者按:本文来自:橙皮书,作者:橙皮书,星球日报经授权转发。在“一切向钱看”的时代,很容易忘记一件事情,那就是,人类的历史远早于钱的历史,黄金还不是钱的时候,人就已经是人了.

1900/1/1 0:00:00
“误收”2100 个以太坊之后,星火矿池是退是分?

去中心化有其利弊,好处是高度自由,而所谓的“缺陷”就在于不“通情达理”、“效率不高”。在现实世界中,若钱包不慎丢失,去和拾得者协商退回是理所应当,社会风俗甚至鼓励人们拾金不昧.

1900/1/1 0:00:00