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

:"\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

一沉睡近5年地址近一个月向Binance转入超2000枚以太坊:6月12日消息,链上数据显示,一于2018年从Bw.com和Gate.io买入超2800枚以太坊的地址,于一个多月前开始陆续向Binance转入以太坊,目前已转入超2000枚,且转移仍在继续。[2023/6/12 21:31:52]

美股冲高回落,三大指数均跌超1%:金色财经报道,美股冲高回落,三大指数均跌超1%。截至目前,纳指跌1.52%,标普500指数跌1.28%,道指跌1%。银行股领跌,Western Alliance银行跌42%,第一共和银行跌约21%,Silvergate跌约14%。[2023/3/11 12:55:32]

以太坊宣布弃用“山东”测试网,下周将推出全新公共测试网:金色财经报道,以太坊开发人员在今年10月启动了“山东(Shandong)”测试网,旨在对即将进行的“上海”升级中所涉及的EIP提案进行测试,但根据 EF JavaScript团队在社交媒体上披露,以太坊开发人员现在已经决定弃用“山东”测试网,而在本周四(12月9日)召开的以太坊开发者电话会议上已计划在12月15-16日左右为“上海”升级再推出一个全新的公共测试网。[2022/12/9 21:32:20]

Solana链NFT项目Trippin’ Ape Tribe 24小时交易量排名达到OpenSea第一:金色财经消息,据OpenSea数据显示,Solana链NFT项目Trippin’ Ape Tribe 24小时交易量排名达到OpenSea第一,具体交易量为291795SOL。截至发稿时,Trippin’ Ape Tribe地板价为48SOL。[2022/5/25 3:41:12]

ConsenSys推出全球首个去中心化客户服务平台VillageDAO:5月17日消息,ConsenSys联合对话式人工智能公司 LivePerson 推出世界上第一个去中心化的客户服务平台VillageDAO,该项目将专注于通过增强社区参与度来授权Web3品牌自助解决问题,使社区成员能够协助客户服务,减轻 Web3 品牌的负担并消除可扩展性限制。MetaMask将成为VillageDAO的第一个客户,目前正在试点。(consensys.net)[2022/5/17 3:22:56]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

KuCoinBithumb推出OTC平台Ortus

编者按:本文来自ccn.com,作者:JosephYoung编译:星球日报茶凉日前,韩国交易量最大的虚拟货币交易所Bithumb推出了一个场外交易平台Ortus,为资金雄厚的机构投资者提供虚拟货币的场外交易服务.

比特币价格详解:以太坊漏洞可导致“重入攻击”

编者按:本文来自DVPNET,作者BCSEC,Odaily星球日报经授权转载。1月16日凌晨,以太坊准备进行君士坦丁堡硬分叉的前一日被披露出来了一则漏洞,该漏洞由新启动的EIP1283引起,漏洞危害准确的说应该是一种可能会让一些合约存.

pepe最新价格区块链中的治理模式

编者按:本文来自蓝狐笔记,作者:MatusSteis,来源于medium,由“蓝狐笔记”公众号社群“Lu”翻译。Odaily星球日报经授权转载。区块链的治理模式是区块链进化过程中的重要组成部分.

[0:0ms0-2:297ms