在信息安全和区块链技术蓬勃发展的当下,零知识证明协议作为一项前沿技术,正在展现出巨大的潜力和广泛的应用前景。2024年10月31日下午,三亚学院信息与智能工程学院大数据专业的杨明教授,以其深厚的学术背景和研究实力,为信智学院的师生们带来了一场主题为“基于零知识证明的区块链隐私保护技术”的专题讲座。讲座在学院的4B204实验室举办。
在本次讲座中,杨明教授讲座主题为如何利用零知识证明来进行区块链性能扩展的相关前沿技术。如今多数公有链的用户越来越多,交易速度变慢、用户体验恶化。提升公链的可扩展性逐渐成为行业关注的重点。讲座介绍区块链的Layer-1链上扩容方案和Layer-2链下扩容方案,重点介绍了Layer-2链下扩容方案的特点和不同技术路线,针对最有潜力的ZK-Rollup方案进行深入阐述,包括主要原理、工作流程、优化方案、以及零知识在区块链扩容中的具体应用方法。讲座对数字信息安全方向、区块链等方向的建设有推动作用,有助于青年教师和研究生开拓视野、确定研究选题和方向,对后续构建学术团队和研究生选题也很有意义。
如今多数公链的用户越来越多,交易速度变慢、用户体验恶化。提升公有链的可扩展性逐渐成为学术界和行业界关注的重点。讲座介绍区块链的Layer-1链上扩容方案和Layer-2链下扩容方案,重点介绍了Layer-2链下扩容方案的特点和不同技术路线。本次讲座以下三个个方面进行了交流:
1. 区块链的扩容技术分类
2. 区块链Layer-2扩容Rollup方案
3. 零知识证明在区块链的应用方案
一、区块链的扩容方案
区块链的逻辑结构分为以下三层:
Layer 0:区块链TCP/IP协议中的传输层相对应最底层架构。
Layer 1:区块链本身账本技术的层级架构,对应区块链分层架构中的数据层、网络层、共识层和激励层。Layer 1是区块链(公链)的链本身,又被称为“链上层”。
Layer 2:对应区块链分层架构中的应用层和合约层。它不影响区块链本身,可以自我运行,最终关键数据传输给Layer 1,因此Layer 2又叫“链下层”。
区块链的扩容方案主要包括Layer 1扩展和Layer 2扩展。
常见的Layer- 1方案:
1.有增大区块容量(如BCH使用32M容量的大区块)
2.隔离见证(BTC将数字签名与交易数据分开,改变原区块结构以实现扩容)
3.分片技术(以太坊2.0的64个分片扩容)。
存在的局限是链上扩容的方式虽然比较直接,但很难一步到位,好不容易实现了扩容,更高性能需求的应用场景又出现了,需要不断地超越自己。
链上扩容方案在性能上会存在难以逾越的天花板。2017年加密猫和ICO的爆发,以及目前大部分DeFi项目、NFT应用都基于以太坊,运行成千上万的DApp导致以太坊网络拥堵不堪、Gas费飙升。因此,在以太坊2.0的分片技术难以实现的情况下,Layer 2扩容就有了存在的必要性。
Layer 2扩容方案主要包括状态通道(State channels)、侧链、Plasma方案和Rollup方案。Rollup是目前最被主流开发者看好的扩容方案,两大主流Rollup方案为:Optimistic Rollup和ZK Rollup方案。
二、区块链Layer-2扩容Rollup方案
Rollup顾名思义为归纳、整理的意思。Gas费用常常在网络交易较多拥堵时,会有较大幅度的提升。Rollup的作用,就是将以太坊需要计算的内容Copy复制,发送到以太坊之外连接的Layer2协议进行计算。然后,将结果信息压缩打包整理,整装待发,重新发回到在链上网络。压缩块中,存有大量的签名确认信息,使用汇总/聚合签名减少验签工作量。
ZK Rollup方案是基于零知识的Rollup,ZK-Rollup采用零知识证明来证明所有交易的有效性。
零知识属性使得区块链能够检查汇总状态更新的有效性,而无需逐一查阅交易细节,从而确保其正确性并验证其真实性。
交易能够立即由区块链验证,避免了争议的发生阶段,因此将资金从 ZK-Rollup 转移到以太坊时不会出现任何延迟。
ZK-Rollup利用诸如零知识简约非交互式知识证明(ZK-SNARKs)等密码学工具精心设计。
ZK-Rollup 工作流程为:
1)操作员收集到足够数量的用户交易(Tx1,Tx2,Tx3,Tx4,…),形成一个批次。
2)收集完成后,操作员会对每个交易进行检查,包括余额检验、随机数nonce检验、签名检验以及执行状态转换。
3)当一批交易处理完成后会生成一个新的默克尔树根,成为批处理根,以及生成一个零知识证明。
4)随后操作员将上一状态根(Prestate Root)、当前状态根(Post-State Root)、交易数据和生成的零知识证明提交到链上合约。
5)链上智能合约检验生成的零知识证明是否有效,如果证明有效则意味着存在一系列有效交易,并对状态进行更新
ZK-Rollup优化方案主要包括:优化加密算法、混合OP Rollup和ZK Rollup、开发专门的ZK-EVM和硬件优化。
三、区块链隐私保护问题
比特币的匿名性还不够,比特币的交易数据是公开透明的,且使用UTXO模型来建模交易关系。这保证了人人都可以认证,但泄露了用户交易隐私。
虽然用户使用一个地址来表示其在比特币中的身份,但是很多研究表明,能够通过保存在比特币上的交易数据挖掘和追踪用户信息,甚至能够将比特币上面的“身份”链接到现实真实身份。
零币协议(zerocoin)
将一定量的bitcoin转换成zerocoin。在需要转账的时候,再将zerocoin转换成bitcoin。关键点在于图中的虚线部分,表示这两个交易不是链接在一起中,以这样的方式来洗钱(匿名/防追踪)。
零币协议的主要功能:1,铸币并且把交易记录进行匿名化,并且置于托管池;2,通过零知识证明,创建一个没有交易记录的新币,并销毁托管池中的币。
Zerocash, zcash
zerocash 提供数据机密性和用户匿名性,交易规模和验证时间也大大减少,使用 zk-SNARK 提供强大的匿名性保证,是一个成熟的分散式支付方案,缺点是使用 Zerocash 需要投入较高的计算资源。
2016 年引入了公开可验证性,继续演进构建成 zcash加密货币系统 ,这意味着任何人都可以在区块链上查看交易数据,从而增加了透明度和监管能力。
讲座中,杨明教授与师生们进行了深入的交流和讨论。他鼓励大家积极关注和研究零知识证明等前沿技术,为信息安全和区块链技术的发展贡献自己的力量。同时,他也表示将继续致力于相关领域的研究和教学工作,为推动学科发展和人才培养做出更大的贡献。