隐私一直是区块链从业者们十分看重的技术领域,中本聪的比特币论文中有一个名为“隐私”的章节,清楚地阐释了比特币的隐私局限性。

比特币是一个完全公开透明的数字货币,只需知道钱包地址,就能查到每一笔资金进出,这样很容易查出帐户与帐户之间的关系,将比特币钱包地址和现实中的关联起来,让人重新成为互联网时代的“透明人“。

为了解决比特币隐私性问题,开发者们也提出了很多以混币原理为核心的解决方案(Odaily星球日报注:混币原理就是由许多人参与交易,进而在某个交易场所会存在大量的买入和卖出,但是很难在买入和卖出中找到一一对应的映射关系,买入和卖出是被割裂的,所以黑客是无法从一端找出另一端的)。

而另一些开发者为了从根本解决匿名问题,开发了各种支持隐私交易的加密货币,市面上主流的隐私币可以分为四类:混币器类、环签类、零知识证明类和 MimbleWimble系,各自的代表币种分别是 Dash、Monero、Zcash 和 Grin/Beam。但这些隐私币本身都不支持智能合约,只是单纯作为支付工具使用。

2018 年后,开发者们开始意识到对智能合约进行隐私保护的需求在不断增加,于是,作为协议层的隐私层项目开始活跃在各种场景中。

同隐私币项目不同,隐私层项目可以结合各个公链的支付体系,相对来说更加灵活,而且可以满足用户和开发者特定的隐私需求。分布式资本合伙人黄凌波此前接受 Odaily星球日报的采访中更直言隐私层项目将在 2020 年迎来大爆发。

目前在以太坊上知名的隐私项目有 NuCypher,Aztec Protocol 和 Zether 。

去年,Odaily星球日报曾对NuCypher做过专访报道:《专访 | YC孵化、比特大陆投资的NuCypher能做什么?》,今天,我们将着重介绍一下主网刚刚宣布上线的Aztec Protocol(以下简称:Aztec)。

Aztec 于 2018 年 11 月 29 日获得 210 万美金的种子轮投资,由 ConsenSys 领投。跟投的有著名英国风投机构 Samos Invetment 和 Entrepreneur First。除此之外还有著名天使投资人 Jeffrey Tarrant 和 Charlie Songhurst。2 月 1 日,Aztec 宣布启动基于以太坊主网的隐私网络。

使用“零知识Note”进行保密转账

所谓”隐私“,并非绝对,而是介于完全公开及完全隐私之间。

作为以太坊隐私领域的先驱,Aztec 运用一系列零知识证明 (zero-knowledge proofs) 及同态加密 (homomorphic encryption) 来处理数值,并可对这些加密资料做特定逻辑运算。于是用户可以存取这些加密讯息至区块链,对其做运算验证,而不会透露出它们真正的值。

Aztec 不会像传统的余额形式那样直接显示出“价值”,不会直接将持有者身份和它们的持有数量映射在一起,而是用“票据(note)”的方式来体现。

这些 note 在以太坊网络上是可见的,包括每个 note 的所有者,但是除了 note 所有者之外,note 上存储的金额数量对其他所有人而言都是隐藏的。

Aztec 提供了一种名为 ZKAsset 的资产,在系统里面我们称它为“票据 (note)”,你可以用任意数量的 ERC20 代币转换任一数量的票据,举个例子,我们可以把 10,000 DAI 转换成一张票据,而这张票据就是等值的 10,000 DAI(DAI 是由 MakerDAO 创造的锚定美元的稳定币),此时这张票据的价值是有被记录在区块链上的。

上图这一组乱码是用Aztec协议进行的转账记录,其实这组乱码就是 DAI(由 MakerDAO 创造的锚定美元的稳定币),这时你可能会感到很奇怪,通常 DAI 会包含一组以太坊地址,及表示该地址持有 DAI 数量的数字;明显上面的不是常规的 DAI 。

当你发送这笔交易时,你的以太坊地址( zac.creditmint.eth )变成了这笔 DAI 的持有者;但值得注意的是,没有人能够具体知道你拥有多少 DAI。和其他 DAI 持有者不同,你的 DAI 余额是经过加密的,并以Aztec票据的零知识证明形式展现。你可以随意地将这些 DAI 发送到不同地址,同时没有人能看到你究竟发出去多少。

当你使用 Aztec 票据的零知识证明技术进行交易时,智能合约中不会存储任何的余额信息,仅仅存储椭圆曲线点(密码学上的概念,可以简单地理解为零知识证明机制的组件),而椭圆曲线点对于没有私钥进行解密的第三方来说都只是计算噪声。

Aztec票据可以被切割成任意数量

Aztec 票据的持有者能以一种合并——拆分(join-split)私密交易的形式花掉他们的票据。

上文提到额的 ZKAsset 的票据是可以切割成任意数量的,而切割时每张票据的价值此时就不是可见于区块链上了,所以当我们把这个票据传给另外一个账号时,只有票据的拥有者可以利用 Aztec 的工具得知这张票据的价值是多少。

而这张票据也可以将任意数量的 ERC20 代币转换出来使用,直到这张票据里面的 ERC20 代币用完。而票据跟票据也可以合并,这样的话里面到底包含多少数量的 ERC20 就会更无法预测。

听了原理你可能还是有些迷糊,这边我们假设一个使用情境来解释:一间公司想要保密支付每个员工的薪水。这样的情境下,要如何使用 Aztec 来达成呢?

首先公司先把 100,000 DAI 转成一张票据 A,此时这张票据价值 100,000 DAI 是公开的。

发薪水时,公司把票据A 切成两份,分别价值 90,000 DAI 和 10,000 DAI 的两张票据 A1,A2。

接着把 A2 传送给员工,此时这两张票据的价值并不会公开的记录在区块链上,但是拥有者依然可以透过 Aztec 的工具来验证其价值。

员工收到代表 10,000 DAI 的票据后,当需要用钱时可以将此票据中一部分的 DAI 如 1,000 DAI 从隐藏价值的 note 切分出来,一部分变成公开的 DAI,另外一部分仍是隐藏价值的 note,此时区块链上可以知道此员工换出了 1,000 DAI,但是不知道他还剩下多少 DAI,此员工也可以一直重复这个步骤把钱领出。

如果下份薪水进来后,此员工还可以把他原本的两张票据合并或切分,让实际还有多少钱更难被推敲出来。

Aztec如何解决互操性问题?

在公有链上的资产都有一定的互操性,但是如果通过目前这些零知识系统进行加密,这些资产将不再有互操性。

Aztec 为了解决互操性问题,能够让 DApp 之前通过零知识证明进行资产交互,Aztec 设计了全新的零知识系统。所有 Aztec 上的资产共享同一个零知识证明所需要的公共信任设置,且所有的状态有同一个智能合约进行管理,这个智能合约在系统中被称为 Aztec Cryptography Engine (ACE)。

ACE 主要有两个功能,一是将验证证明委托给特定的验证合约,二是对成功的验证证明在 Note Registry 中进行状态更新。

Aztec的整个设计是为了给 DApp 开发者提供各种隐私模块,开发人员可以将这些模块结合在一起来搭建自己的 DApp 而不需要懂这些复杂的加密学内容。目前 Aztec 提供 7 个模块,这些模块在原理上是通过 Sigma 协议来证明输入和输出票据之间的关联。

Aztec 目前提供的模块有 Join Split (普通的匿名转账), Bilateral Swap (针对两类不同资产之间的交易), Dividend Proof (针对具有分红功能产品), Mint (针对会增发的产品), Burn (针对会销毁产品),Private Range (证明资产金额从而发起有规则的交易), Public Range (与 Private Range 类似) 。

通过 Aztec 进行交易其 Gas 成本随 Join-Split 中输入和输出票据的数量而定。对于完全机密的 j交易(带有 2 个输入注释和 2 个输出注释),成本约为 900,000 gas。目前正在提案的 EIP-1108 能够大大降低这些交易的成本,减少到大约 200,000-300,000 gas。目前其竞争对手 Zether 的转账成本在 6,000,000 gas 左右,通过 EIP-1108 能够将其降至 1,000,000 gas 左右,在单纯交易费上 Aztec 有一定的优势。

获得Vitalik称赞的新证明机制:PLONK

虽说 Aztec 使用的“零知识Note”证明比 ZK-Snarks 更易于使用,但仍需预信任机制。所以,Aztec 也在探索拥有其他新生解决方案的预信任机制。

Aztec 的 CTO Zac Williamson 和 Protocol Labs 的 Ariel Gabizon 在去年8 月推出了一种全新的 ZK-SNARK 结构 ——PLONK。虽然 PLONK 仍旧像其他 Zcash SNKARs 一样的可信设置(Trust Setup)过程,但是其可信设置是通用且可更新的。这意味着所有程序都可以重用此单个设置而不必对每个程序进行单独设置。 由于 PLONK 对 Gas 费要求不高,所以非常适合在以太坊上使用,对以太坊而言更有实用价值。

Aztec 首席执行官 Tom Pocock 相信,PLONK 可以被用来编写复杂的逻辑语句,同时保持完美的隐私。

就连 Vitalik 都曾在推特上公开称赞 PLONK将降低创建零知识证明的复杂性,使更多人能够更容易使用它,”这意味着成千上万的人将很容易参与进来。”

以太坊 2.0 研究员 Justin Drake 称,“PLONK 是一种全新的零知识证明系统,支持通用或可更新的可信设置(trusted setup),而且相比 Sonic 有显著的性能提升。这将会是在真实环境中使用零知识证明的一个巨大进步,并且不会由于可信设置而产生信任问题。”

前段时间,Aztec 宣布通过对 PLONK ZK-SNARK 的增压版本 TurboPLONK 进行一些早期基准测试,最终发现通用 SNARK 可匹敌(在某些情况下)甚至可超过单电路 Groth16,具体来说,基准测试中 PLONK 比 MiMC 上的 Groth16 快 2.5 倍,这意味着 Aztec 在实现基于以太坊可扩展隐私的宏伟目标迈进了重要一步。

参考资料:

《干货 | 隐密交易的到来:深入 AZTEC 协议》

《Aztec Protocol:ConsenSys 领投的隐私设施》

Medium:《Confidential transactions have arrived, a dive into the AZTEC Protocol》

Medium:《AZTEC 保密傳輸協議 — Devcon5 見聞》

创文章,转载/内容合作/寻求报道请联系 report@odaily.com;未经授权严禁转载,违规转载法律必究。

V神赞许的Aztec,如何让以太坊更隐私?相关推荐

  1. V神是谁?他是以太坊创始人,是区块链界的真正大佬

    "V神"的真名叫维塔利克·布特林,他以太坊的创始人,是区块链界真正的大佬. 1994 年 1 月 31 日,V神出生于俄罗斯,6 岁时,他跟随父母移民到加拿大.他的父亲是一个计算机 ...

  2. V神玩起freestyle! 5位以太坊核心大咖在悉尼的演讲精华全在这了!| 直击EDCON

    作者 | Aholiab 出品 | CSDN.灵钛科技 4月11日,以太坊开源技术社区最受关注的系列峰会EDCON 2019,在悉尼的国际会议中心(ICC)召开.EDCON是由以太坊社区成员灵钛科技发 ...

  3. V神最新发文:Rollups有望成为以太坊扩容的基石

    以太坊联合创始人 Vitalik Buterin 在发布的<Rollups 不完全汇总指南>中指出,汇总(Rollup)是一种强大的新的二层扩容范例,在短期和中期的未来(以及可能也是长期的 ...

  4. V神设计理念公布,什么是以太坊的初心?

    来源 | 以太坊爱好者 责编 | 晋兆雨 头图 | 付费下载于视觉中国 编者注:本次再版已经过校对.在此对原译者 kim 表示感谢. 原文的写作时间不确定,但可将其视为一个原点,反思以太坊的设计理念以 ...

  5. 你了解V神吗?先吃透这份不能更全的《以太坊攻略》再说!

    本文来自Odaily星球日报,作者秦晓峰,公众号Odaily(ID:o-daily),经作者授权转载 从 2008 年诞生以来,区块链走过了十多年的风雨路,繁衍出比特币.以太坊.EOS 等诸多公有链. ...

  6. 如何把一些不同类型的数据混合存入一片内存中_如何从技术上增强以太坊的隐私性?...

    以太坊的隐私性非常重要,混合器.计算数据层.零知识证明等只是一些用于增强以太坊区块链上隐私性的技术. 图片来源:pixabay 公共区块链网络的隐私是一个矛盾体,因为根据技术设计的性质,数据必须在网络 ...

  7. EEA为以太坊以隐私为主的Web应用发布标准化架构栈

    点击上方"蓝色字"可关注我们! 暴走时评:5月2日,企业以太坊联盟(EEA)发布了企业以太坊架构栈(EEAS),为为Web 3.0时代的以太坊业务应用规范实施了标准化.据以太坊联合 ...

  8. 以太坊创始人V 神:普通人看见现在,天才看见未来

    一个时代的天才一定是最懂那个时代的人,而后才能成为点亮时代的光. 作者 | 晋兆雨.Carol 责编 |  徐威龙 普通人看见现在,天才看见未来 25 年前,在俄罗斯一个不起眼的家庭里,一位小小少年来 ...

  9. V神已抵京,倒计时4天!6大理由告诉你为什么要参加“2019以太坊技术及应用大会”...

    出品 | CSDN.灵钛科技 最近,链圈被「V神要来中国」的消息给刷屏了. 根据营长的暗中观察,V神今天已经抵达中国,参加了「2019以太坊技术及应用大会」的6月25-27日的黑客马拉松.同时,也为4 ...

最新文章

  1. Mysql压测工具mysqlslap 讲解
  2. 困扰数学家90年的猜想,被计算机搜索30分钟解决了
  3. HDU 6052 To my boyfriend(容斥+单调栈)
  4. 16.CSS选择器【下】
  5. mysql addslashes_PHP函数addslashes和mysql_real_escape_string的区别
  6. winfrom 图片互传
  7. BZOJ 2466 中山市选2009 树 高斯消元+暴力
  8. 惠普:某些 SSD 驱动的寿命只有32,768 小时(3年多),立即更新!
  9. 自定义tooltip
  10. SeaweedFS上手使用指南
  11. System center 2012 R2 实战九、SCOM+sharpoint+visio实现全国地图展示
  12. ie浏览器当前的安全设置使计算机面临风险,IE安全设置
  13. 2020年中国轴承套圈行业市场现状分析,国内市场格局十分分散「图」
  14. 科大讯飞和neospeech tts哪个更好
  15. 【Android工具】更新QMD音乐下载软件,MP3音乐下载器
  16. oracle sql语句加减,Oracle sql 常用加减法
  17. Java 程序该怎么优化?(命令篇)
  18. 上海工商业分时电价机制调整对储能行业项目的影响分析
  19. 记住这些单词各种编程学习起来会很简单
  20. UE4(虚幻4)基础:光照需要重建

热门文章

  1. 【转】初入NLP领域的一些小建议
  2. 跟小丸子学基础口语21-25
  3. C语言实现字符串在屏幕上滚动
  4. 如何在 JupyterLab 中把 ipykernel 切换到不同的 conda 虚拟环境?
  5. matlab中的电子器件,对电力电子器件控制设计进行硬件在环测试
  6. python 小学生教材全解_小学生教材全解
  7. 第四代计算机主要采用什么作为逻辑开关元件,第四代计算机主要采用什么作为逻辑开关元件?...
  8. 内存管理pbuf.h头文件源码解析——LwIP学习
  9. [python] 使用正则表达式验证email地址是否有效
  10. 侧滑、、、mark一下、、、