Heco 技术负责人 Andrew 认为,保证区块链特有约束和语义不被破坏的提前下,可借鉴互联网领域成熟优秀的工程优化经验。

演讲:Andrew,Heco 技术负责人

2021 年 9 月 4 日 ,BeWater DEVCON 全球开发者大会在北京举办,来自各地的近百位区块链开发者齐聚北京,围绕编程语言、密码学、去中心化协议、隐私技术、安全计算、开放金融等领域展开深入探讨。

Heco 技术负责人:公链架构优化的「新四化建设」

在提到公链的可扩展性问题时,来自海内外的开发者们对当前备受市场关注的分片、Layer2、侧链等技术解决方案展开了激烈的讨论。HECO 技术负责人 Andrew 系统地分析了当前公链赛道存在的可扩展性难点,并详细介绍了现有公链可扩展性解决方案的优缺点。Andrew 认为 Layer1 方案是对区块链平台的扩展,而 Layer2 技术是对区块链应用的扩展,Andrew 将 Layer1 扩容架构分为 3 大类:分片、DAG (有向无环结构)和大区块,将 Layer2 扩容架构分为侧链子链、状态通道和 Rollup 三大类。

另外,Andrew 重点分享了 HECO 在公链扩展性理念和实践中的经验和总结,「HECO 回到公链扩展性问题的原点,立足于公链自身的架构优化, 只要保证区块链特有的约束和语义不被破坏的提前下,软件和互联网领域成熟优秀的工程优化经验是可以充分借鉴和利用的。

基于以上观点和认知,Andrew 提出公链架构优化的新四化建设:

  1. 在保证链式结构的提前下,对架构进行模块化,对组件进行充分拆分和解耦;
  2. 在保证线性语义的提前下,对执行进行并行化,实现多阶段流水线作业;
  3. 在保证状态一致性的前提下,进行异步化改造,将阻塞式的 I/O 操作放在后台处理;
  4. 在保证透明安全的前提下,进行本地化多级缓存优化。

Andrew 在分享过程中提到,HECO 当前性能优化成果是 BSC 的 1.3 倍以上,对 Geth 的性能提升更是达到了 1.5 倍以上,未来 HECO 也会有计划地将这些优化经验贡献给 Geth 社区。

演讲最后,Andrew 提出「CAB 定律」——Crypto Andy and Bill’s law,他认为未来 10-20 年,大部分基础网络、基础硬件、基础安全的技术红利都会被区块链行业充分吸收并极致发挥,HECO 未来将持续在 Layer1 扩展性之路上深入探索。

以下为 Andrew 演讲全文:

公链扩展性问题和解决方案

区块链技术的本质是扩展信任的边界、组织的边界和协作的边界,但在不断扩展业务边界的道路上,技术自身却受到了扩展性问题的制约。

Heco 技术负责人:公链架构优化的「新四化建设」

最明显的就是以太坊主网,上图是截止到 Q2 的智能合约 TVL 锁仓量,可以看到以太坊的份额正在持续被其他公链所蚕食;原因大家都知道,网络严重拥堵,手续费高昂;但根本的原因还是以太坊主网的扩展性不够。讲到这里相信大家都会想到区块链不可能三角,那去中心化、安全性和可扩展性三者真的不可兼得吗?

其实区块链不可能三角问题是没有被严格定义和证明的,并不能等同于分布式领域的 CAP,区块链领域内学术界和工业界有多层次多类型的扩展性解决方案,比如分片以及最近很火的 Layer2 Rollup 方案。

Heco 技术负责人:公链架构优化的「新四化建设」

分片作为平台级扩展方案虽然潜力很大,但其安全假设和模型在实际落地中并不容易满足、要支持通用的高级智能合约完整语义困难重重、很多场景下跨片交易带来的开销大于对吞吐提升带来的收益;Rollup 方案通过平台合约和二层应用相结合的方式,在安全性和吞吐方面有一定的优势,但当前还只是对特定应用的扩展,还不能扩展到通用平台层面。

DeFi 业务的兴起又给公链的扩展性提出了新的要求,DeFi 应用非常注重可组合性,合约之间的调用需要像搭建乐高积木一样便捷,而分片和 Layer2 技术的共同问题是引入的分布式事务的复杂性,对 DeFi 应用不够友好。所以当重新回到问题的原点,立足于公链自身的架构优化时,我们会发现,只要保证区块链特有的约束和语义不被破坏的提前下,软件和互联网领域成熟优秀的工程优化经验是可以充分借鉴和利用的。

这里我将其总结为公链架构优化的新四化建设:

  1. 在保证链式结构的提前下,对架构进行模块化,对组件进行充分拆分和解耦;
  2. 在保证线性语义的提前下,对执行进行并行化,实现多阶段流水线作业;
  3. 在保证状态一致性的前提下,进行异步化改造,将阻塞式的 I/O 操作放在后台处理;
  4. 在保证透明安全的前提下,进行本地化多级缓存优化。

其实行业内已经出现了和我们想法类似的公链,比如 Flow 和 Solana。下面我们分别介绍一下二者的核心设计。

Flow 是一条主打 NFT 的垂直行业公链,其核心理念是对交易处理过程中的共识和执行进行解耦。主要有两个创新点:

1)分角色节点架构,因设计人员发现节点间的处理能力差异拉低了整个网络的性能和扩展性,因此 Flow 将网络中的节点分为收集、共识、执行和验证 4 类,让大量的低配节点只负责共识,保证网络的安全性,而少量的高配节点只负责执行,从而提升网络整体的处理能力。

Heco 技术负责人:公链架构优化的「新四化建设」

2)引入流水线机制,进行跨区块 Block Seal,从而避免区块间的相互等待。

image (2).png

Solana 是一条发展迅猛的全行业公链,最大的创新是 PoH (历史证明),一种可验证的对时间采样和事件排序的方法,可以作为网络全局时钟,从而实现全网节点对相对时间的统一度量和消息的高效通信;而 Tower BFT (基站拜占庭容错)共识则是在 PoH 全局时钟的基础上,实现了对 PBFT (拜占庭容错)消息传输和 VC (View Change)优化。

其他的优化点像大区块分片 EC 编码和分层传输、流水线化充分利用硬件资源、并行合约执行等,都是在高 TPS 下必须要做的工程实现,当然想到不代表做到,Solana 在公链架构优化工程实践层面走的是比较靠前的。

image (3).png

Flow 和 Solana 都是在公链架构优化层面不错的案例,这也让持有相同理念的 HECO 在行进的道路上不觉孤单,当然 HECO 相比于 Flow 和 Solana 还有一个更大的特点就是完全兼容以太坊和 EVM。下面就一起来了解一下 HECO 在扩展性方面的实践和成果。

HECO 公链扩展性理念和实践

首先来看一下 HECO 的战略定位,HECO 作为整个 DeFi 平台的技术底座和生态基础设施,承载着上层资产、应用和流量入口的所有核心业务,而 HECO 自身的技术矩阵又可以按资产安全、容量性能、网络规模、应用生态 4 大维度细分为 12 个核心模块,接下来给大家分享的主要是我们在容量性能相关的交易执行、状态存储等方面的优化工作。

Heco 技术负责人:公链架构优化的「新四化建设」

容量性能优化首先要明确其理论模型,HECO 当前还是基于最长链的 POA+POS 共识,在出块时间方面一定要保证可以 cover 住区块打包+区块传播+交易二次执行和验证的时间。那反过来想就是如果可以进一步降低交易执行和区块传播时间,就可以在一个区块内纳入更多的交易,从而有效提升网络整体的吞吐。

左图是我们整理的扩展性瓶颈以及优化的层次,右图是当前整体优化后的效果,可以看蓝色的线,HECO 已经可以安全地将 Block GasLimit 设置到 100M Gwei 以上,TPS 可以到 1500+。下面来展开几个代表性优化。

Heco 技术负责人:公链架构优化的「新四化建设」

首先来看并行执行优化,大家都知道以太坊节点的一大瓶颈就是其 MPT 状态树,HECO 针对状态树更新做了很多并行优化,比如多账户之间可以无关联地并行 RLP 编码,更新 StorageTrie,并行计算 StorageRoot 等,还有并行计算区块 bloom 和 receiptRoot 等。并行执行整体优化效果是可以将区块内交易执行时间降低 30% 以上。

image (4).png

再来看存储流水线优化,当区块执行完成之后,需要进行写块、更新 snapshot 和状态提交 3 步存储更新,分析发现状态提交是耗时最长的,而且可以和下一个区块执行进行流水线优化,即上一个区块完成更新 snapshot 就可以开始下一个区块的执行,但同时也要保证上一个区块状态提交完成之后才开始下一个区块的状态提交,从而保证状态提交的顺序性和一致性。通过存储流水线优化,HECO 基本上将存储更新在整个成块时间中串行的占比降低了 90% 以上,效果还是非常明显的。

Heco 技术负责人:公链架构优化的「新四化建设」

同时 HECO 对合约 Bitmap、短数据 Hash 计算结果等缓存优化也取得了不错的成果,将区块内交易执行时间降低了 31.46%。

Heco 技术负责人:公链架构优化的「新四化建设」

HECO 技术团队将我们性能优化的代码分别 patch 到 BSC 和 Geth 的主干上,并放在 BSC 和以太坊主网去同步区块和执行交易进行实测对比(通过对比相同条件下的区块成块时间),结果是 HECO 优化的性能是 BSC 的 1.3 倍以上,对 Geth 的性能提升更是达到了 1.5 倍以上。当然 HECO 也会有计划地将我们的优化贡献给 Geth 社区。

image (5).png

回顾 HECO 扩展性路线,我们始终秉承着 DeFi 友好和完全兼容以太坊两大原则。相信区块链技术同行一路走来或多或少都会有这样的疑问,比如区块链平台的发展还要走互联网工程化的老路吗?密码朋克的宝盒里还有多少魔法没有放出来?HECO 认为路线和主义之争不会影响区块链的高速发展,组合创新才是区块链技术最大的魅力。

而且我们认为软件行业曾经的安迪比尔定律在区块链行业同样适用,我们称其为「CAB 定律」——Crypto Andy and Bill’s law:未来 10-20 年,大部分基础网络、基础硬件、基础安全的技术红利都会被区块链行业充分吸收并极致发挥。所以 HECO 会持续在 Layer1 扩展性之路上砥砺前行。