在传统Web2.0互联网上,用户数据被所使用的网站获取,进而推送给中心化的互联网公司,他们可以从技术上完全自由的处置用户数据,即使有法律法规的约束,也很难防止用户的数据洩漏。对大多数用户来说,保护个人隐私数据是件很困难的事。我们将个人隐私视作重要资产,但是现行的网路基础设施却无法保证我们这类资产的安全。而当我们在谈论Web3.0的颠覆性应用以及Web3.0可以带来革新的时候,一个很重要的方向就是Web3.0可以保证用户对自己隐私资讯的控制权。
区块链技术虽然提升了数据的真实性、公开透明度,但用户数据的透明度在某些场景难以满足Web3.0用户对数据隐私的要求。在Web3.0世界里,用户的交易转账记录、链上活动记录能够被任何人查看,用户的敏感资讯有可能被轻易获取。并且,目前大多数 Layer1 公链都存在缺乏隐私性的问题。
所以,隐私公链的出现,完全迎合了Web3.0用户对隐私保护的需求。其为用户提供了隐私保护的解决方案,通过零知识证明、安全多方计算等技术,让用户可以有选择地隐藏敏感资讯。目前隐私赛道生态分为四个类别:隐私币、隐私计算网路、隐私交易网路、隐私应用。其中,隐私币出现的最早,它是在加密货币中增加隐私属性的早期尝试,代表专案有Monero和Zcash。但是目前在隐私公链中占比比较大的是隐私计算网路和隐私交易网路。隐私计算网路比较典型的专案有PlatON 以及Oasis。 而隐私交易网路中新公链扎堆,包括Aleo、Anoma、Aztec等。隐私交易网路,顾名思义就是在用户交易的过程中保护其交易隐私,隐藏用户交易数据(交易对象、时间、资产转移数量等)。
本文将介绍两个隐私交易网路的新公链专案----Aleo和Aztec。
Aleo
专案简介
Aleo定位于Layer1的隐私公链,目前可视为一个模组化的零知识隐私应用平台,能够提供全栈解决方案。
Aleo 致力于打造模组化、合规的零知识隐私应用平台,为隐私应用打造终极工具包。它使用去中心化系统和零知识加密技术来保护网路上的用户数据以实现这一目标。核心是为用户和应用开发者提供无限的计算空间和绝对的隐私。使用 Aleo,用户可以访问个性化互联网服务的世界,而无需放弃对其私人数据的控制。在Aleo链上建立的程式可以做到绝对的隐私,包括隐藏参与者、金额、智能合约等交互细节,不会透露和业务无关的其他资讯。
团队
Aleo团队来自穀歌、亚马逊以及Meta等巨头公司,还有来自加州大学伯克利分校、纽约大学、康奈尔大学等学校的世界级密码学家、工程师以及设计师等。创始人之一Howard Wu毕业于加州大学伯克利分校CS和数学专业,本科毕业后曾在Google担任软体工程师,随后回学校完成硕士学位。Howard Wu从2014年开始为钱包、交易所、ZCash和以太坊贡献代码。另外团队中的Collin Chin同样毕业于加州大学伯克利分校CS专业,负责Aleo的编程语言Leo的开发。Aleo背后也有豪华的投资机构,包括a16z、软银、Tiger Global等。
技术
Aleo使用零知识证明,採用优化后的PoSW共识机制,属于POW的变种,目的在于避免POW机制下的大量无用运算。不但隐私性好,更解决了当前区块链最大的性能问题。目前的测试数据已经达到了上万TPS(实际性能需主网上线后测试)。Aleo Layer1层主要作为数据层,执行层在链下,验证层由Layer1验证节点承担,类似于ETH2.0.
Aleo的核心技术在于ZEXE架构、Leo编程语言、zkCloud三个板块:
ZEXE(Zero Knowledge Execution): ZEXE架构是Aleo提出的特定零知识证明的解决方案,通过先离线计算,再产生证明计算正确而不披露计算细节的线上交易,从而使交易可被任何人在极短的时间内验证。同时也支持可编程性,使用户可对自己的资讯加密及隐私进行选择。
Leo: Leo是一种受Rust启发的静态类型编程语言,专为编写私有应用程式而构建,可将Zexe共识协议的zk-snarks设置模组化,使得任何在Aleo平台上运作的DApp都可以使用zk-snarks,降低开发难度。Leo语言允许开发人员将ZKP集成到各种Web应用程式中,在使用过程中,即可避免留下个人数据,保护用户隐私。
zkCloud: zkCloud由Aleo提出,是一个脱链、去信任的计算环境,程式在其中以私密、安全、廉价的方式存续。可实现受保护身份之间的编程交互、被遮罩的身份可以直接(如在资产转移中)或以编程方式(通过智能合约)进行交互,通过将这种交互转移到链下,可同时实现隐私保护和更大的交易吞吐量。
Aztec
专案简介
Aztec Network是基于zkRollup的Layer2可扩展、可编程隐私协议,专注于在用户交易过程中保护用户隐私。其运用了类似于ZK-Rollup的解决方案来加密和隐藏用户的机密交易,称之为private rollup。Aztec主要有两个作用:1.保障用户的隐私性;2. 用户可以通过Aztec提供可编程的合约,建立完全隐私的应用。
团队
Aztec团队总部位于英国伦敦,核心团队有较强的技术能力,在以太坊上为Layer2带来很多研发突破。其底层证明系统PLONK的三位共同研发者中的两位均在Aztec。
Aztec的CEO Zac Williamson毕业于牛津大学粒子物理学博士学位。他曾是CERN(欧洲核子研究中心)和T2K Japan(日本粒子物理学实验)担任物理学家,也是PLONK的共同发明者以及Aztec协议的创始人。
CPO-Joe Andrews 毕业于伦敦帝国理工大学,曾任硅谷科技初创公司Radish的CTO,具有丰富的开发经验。
首席科学家Ariel Gabizon,以色列魏兹曼研究所(Weizmann Institute)电脑博士,曾在Zcash担任研究员和工程师,也是PLONK的发明者之一。
Aztec背后的投资机构包括Paradigm、IOSG Ventures、Variant Fund、Nascent、Vitalik Buterin 等。
技术
Aztec团队发明了通用型ZK-Snark技术Plonk,为隐私合约提供零知识证明技术支撑。用户可通过其编程语言Noir在Plonk Rollup中实现可编程的隐私保护合约,根据不同的隐私需求和应用场景开发应用。
Aztec遵照的UTXO(未花费交易支出)模型类似于比特币的模型,每一个UTXO被称为一个Note(票据),记录每笔交易的变化。Note(票据)是Aztec协议里运算的基础单元,票据的值都会被加密,每个票据的状态都记录在票据登记处(note registry)里。举个例子,Alice的帐户里有200元的票据,然后Alice此时给Bob转账100元,那麽这张200元的票据就会拆分成两张100元的票据,其中一张票据的owner是Alice,另一张票据的owner就是Bob。对于一个帐户地址而言,帐户里的全部馀额就是所有UTXO的总和。在这样的记账模型下,用户的每次交易,本质上就是销毁了一张或N张票据,生成另外总和相等的一张或N张票据,并转让了部分票据的所有权。
来源:https://medium.com/aztec-protocol/an-introduction-to-aztec-47c70e875dc7
当用户要进行一笔交易的时候,需要销毁并生成相应的票据,再将票据的所有权转移,而对于这笔私密交易,用户需要在本地生成一个“隐私证明”(privacy proofs)。随后,28笔私密交易将会聚合为内部Rollup证明( “inner” rollup proof),之后又有32个这样的内部Rollup证明聚合为外部Rollup证明(“outer” rollup proof),外部Rollup证明将会最终被提交到L1上,供节点验证。
Aztec协议设计了一套开发模组来帮助开发者开发兼顾谘询保密的去中心化应用程式。
目前Aztec提供七个工具组
1. Join Split(转账): Join Split证明能将一个或多个票据结合或拆解成一个或多个不同的票据,并保证输入的票据值总和等于输出的总和。
2. Bilateral Swap (交换):Bilateral Swap证明能让使用者互换票据。例如用来交换代表两种资产的票据(法定货币换债券或抵押品)。此证明可验证甲方提供的票据等于乙方要求的票据,或乙方提供的票据等于甲方要求的票据。
3. Dividend:Dividend能验证输入票据的值等于输出票据的值乘上一个公开值。此证明能用来验证收到的利息是否正确。
4. Mint:Mint证明让可信的使用者增加票据的供给,例如在收到转入帐户的货币后产生一个等值的Aztec票据。
5. Burn:Burn证明让可信的使用者能销毁票据。例如在转出稳定币后销毁一个等值的Aztec票据。
6. Private Range:Private Range能验证一个票据的值是否大于另一个票据的值。
7. Public Range:Public Range 能验证一个票据的值是否大于一个公开的整数。写在最后
Web3.0的叙事重点强调用户的身份和数据所有权,用户必须拥有自己的链上或网路上的隐私,这使得隐私计算成为Web3.0的刚需。没有隐私保护的区块链存在诸多风险,比如资产不安全风险、操作被追踪的风险以及被审查的风险,因此商业应用程式很难在链上构建和发展。
如果能够做好隐私,且在面向编程,高性能,相容性以及合规方面有所落地,则会有大规模商用的可能性。隐私公链作为Layer1基础设施,在新公链赛道中具有强大的竞争力,前景广阔,未来可期。