2021-04-17 22:30 | 出处: HPB芯链
摘要
HPB的区块链Layer 2 [1] 拓展方案是一项不改变区块链底层设计及其共识算法而增加交易吞吐量和降低交易费用的技术。现有的区块链 Layer 2 设计方案很少具有隐私性,用户的交易数值,交易双方的地址都是透明的信息。因此我们在 Layer 2 拓展方案上改进,使其具有隐私性,同时又兼顾到增加隐私性给系统带来的额外计算负担,从而实现一个具有隐私性的区块链 Layer 2 扩展方案。
1 区块链 Layer-2 拓展技术
Layer 2 区块链拓展技术,也通常称为区块链“线下”拓展技术。它的主要目的是拓展区块链的交易吞吐量,降低交易费用,同时,保持区块链的分布式去中心化特征。Layer 2 区块链拓展技术具有极大提高区块链应用性的潜力。
建立一个良好的,具有安全性、去中心化,又具有扩展性的区块链,一些关键因素不可或缺。Layer 2 既不改变底层区块链的设计,也不改变底层区块链的共识算法,而是依赖这些底层技术提供的安全性和共识性进行设计。Layer 2 通常将大量的数据和计算转到线下,只在链上做验证,比如闪电网络。基于以太坊的 Layer2 拓展技术也是同样的思路,但是链下的数据和计算通常通过智能合约在线上验证。目前各大科研团队推出的 Layer 2 拓展方案通常在线下引入一个不受信任的交易托管(Operator),方便对交易进行打包和批量计算,为了保证所有线下计算的正确性,线上的智能合约中通常会嵌入零知识证明算法、可信计算等相关技术。
2 Layer-2 扩展方案比较
这一部分我们重点介绍目前市场上,或者不同科研团队正在实施的基于以太坊的 Layer-2 拓展方案。这些方案都使用同样的设计思路:引入一个交易托管(Operator), 或者根据其所进行的操作称为交易服务器,线下交易节点等其它名称(node, validator, sequencer, block producer)。这些引入的节点可以由可信第三方运行,也可以由大量的个人,或者服务提供者运行。宏观上讲,所有系统里的交易会先发送到这些节点上,节点对交易进行打包计算,这个计算可以只是根据交易更新用户的余额,也可以包括对这些计算正确性的证明。然后节点将数据归档到底层区块链上,当然提交到底层区块链上的数据必然是压缩过的,或仅仅是一个二叉树的根值。被记录到底层区块链上的数据不能再被更改,当这些数据记录被确认,其对应的线下交易也完成了确认。但实现整个流程的方案千差万别,有的方案可以被多个不同的应用采纳,而有的方案只针对一个特定的应用。
3 具有隐私性的 Layer-2 拓展方案
和其他 Layer 2 拓展方案相同,HPB的方案也将在系统中引入一个“半可信”的交易托管,交易托管根据交易更新用户的隐私的余额,更新计算是不可信的,也就是说,交易托管不能随意更改用户的数据,根据交易数据计算得到的用户余额数据总是正确的,这个正确性由零知识证明技术保证。但用户需要相信交易托管不会泄露数据,因为交易托管掌握所有的交易信息和用户余额。系统的整体流程如下:
相对于其他 Layer 2 拓展方案,HPB的方案增加了用户的隐私性,因为考虑到完全隐私(匿名交易)需要增加更大的计算负担,HPB的方案在隐私性和可行性两方面做权衡后,决定先实现用户交易数据隐私,在此基础上的后续研究将实现匿名交易。
参考文献
[1] Layer 2 scaling. Ethereum doc.
[2] V. Buterin. An incomplete guide to rollups.
[3] A. Gluchowski. Zk rollup: scaling with zero-knowledge proofs. Matter Labs, 2019.
[4] A. Miller, I. Bentov, R. Kumaresan, and P. McCorry. Sprites: Payment channels that go faster than lightning. CoRR abs/1702.05812, 306, 2017.
[5] J. Poon and V. Buterin. Plasma: Scalable autonomous smart contracts. White paper, 2017.