区块链:详解区块链模块的性能瓶颈及挑战:网络模块、共识模块及执行模块

原文作者:Chenxing Li

区块链的性能优化是一个很热的话题。然而,由于区块链系统的复杂性,系统性理解性能优化门槛很高,这就为「性能虚标」提供了空间。前有「百万 tps」大跃进,后有「80 万 tps」宕机链。

所以,我希望展开来讲一下决定区块链各模块的性能瓶颈和挑战,看看那些漂亮数据背后的水分。

作为一个去中心化的系统,网络通信是整个系统的基础,也有人将其称为 Layer 0。

我将网络模块抽象为三层:网络设施层、节点连结层、广播协议层。每一层都是下一层的基础,每一层的性能都是下一层性能的上限。

网络模块的带宽和延迟构成了区块链系统 tps 和 finality 延迟的基础。

带宽:主要取决于网络基础设施的发展,以及区块链节点的配置要求。前几年公链的网络配置要求一般在 20Mbps 到 100 Mbps. 到 2022 年,Aptos 已经要求 1 Gbps 网络带宽了。总之,带宽要求越高,节点门槛越高,越中心化。

苹果公司:Damus调整zaps功能后可留在App Store:6月14日消息,苹果公司表示,它与基于Nostr协议的开放社交应用Damus进行了交谈,并就Damus的zaps功能如何在该平台上生存达成了共识。苹果公司称,“我们已经与该开发人员交谈,解释他们如何解决这个问题,并确认他们可以在下一次更新中解决这个问题。”

Damus创作者William Casarin也在Damus应用程序上发布了消息,解释了zaps将如何改变。Casarin称,“目前,用户可以通过‘note’底部的闪电按钮给其他人打赏,苹果希望取消这一功能,但它将允许Damus用户在他们的个人资料上相互打赏。Damus可以在个人资料上保留zap按钮,但不能保留‘note’。如果它在‘note’上,会被认为是“销售数字内容”。Damus随后在推特上发布了另一条推文,称这一变化“削弱”了平台优势。

此前消息,Damus发推称,将在14天内从苹果App Store下架。Apple表示不允许在其平台上出现zaps功能,因为zaps“可能”会被内容创作者用来销售数字内容。[2023/6/14 21:35:36]

延迟:延迟有一个优化的极限,就是光速。互联网中的传输延迟比光速延迟要更大一些。Conflux 曾经测得的洲际节点延迟可达 200-300ms。如果是那种所有节点都在一个数据中心的「机房链」,延迟可以忽略不计。

加密借贷机构Nexo申请解散其两家英国实体:金色财经报道,根据本月的文件显示,加密借贷机构Nexo申请将Nexo Financial Services Ltd.和Nexo Clearingand Custody Ltd.从英国公司注册中除名。Nexo联合创始人Antoni Trenchev表示,该公司正在\"进行一些重组\"并\"重新思考为客户服务的方式\",但并不打算退出英国。根据会计公司Moore Johannesburg周四提供的证明,它在其平台上监管着约20亿美元的资产。[2023/5/12 14:58:27]

节点连结层主要通过邻居节点间的通信实现网络中的消息广播。

带宽:一般情况下,节点连结层可以获得接近于网络设施层的带宽。也可以选择牺牲带宽来降低延迟:例如,当要广播一条消息时,同时发给所有邻居(带宽要求翻几倍),而不是发完一个再发下一个。

延迟:消息广播延迟和节点数量有关,节点越多,延迟越高。

目前比特币和以太坊大概有几千个节点。根据我们的实验,如果全网有一万个世界各地的节点,广播延迟中位数 3~6 秒,最大可至 15 秒。通过一些协议优化,最大延迟可以再降低一半。

Cyber Capital创始人:Ordinal NFT和BRC-20代币依赖薄弱的机制且不受BTC区块链的保护:金色财经报道,Cyber Capital创始人Justin Bons在社交媒体上称,Ordinal NFT和BRC-20代币依赖薄弱的机制,因为它们根本不受BTC区块链的保护,相反它基于链下社会协议使其变得笨重和中心化,好像我们都同意假装这些资产的存在一样。Ordinal 协议开发者可以在压力下简单地决定不承认某些资产,让这些资产在一夜之间消失,因为没有原生的区块链执行。[2023/5/11 14:58:10]

而一些宣称确认延迟 1~2 秒的公链,显然只能支撑更少的节点

节点连结层只负责转发数据块,而不管数据是什么。而广播协议层则定义具体的区块、交易转发规则。

带宽:主要在于如何减少冗余传输。试想,如果每个邻居都给你发了同一笔交易,是不是很浪费?Conflux 设计的转发协议 Shrec,就通过减少冗余,在同等网络带宽下将广播交易的 tps 提升了 6 倍。

数据:Fantom链上日活跃地址数量超过92万,创下历史新高:11月4日消息,据Nansen数据显示,随着近期XEN Crypto在Fantom上的部署,Fantom 链上活跃地址数量激增,11月2日和3日Fantom日活跃地址数量均超过92万,创下历史新高。

此前报道,Yearn.finance创始人Andre Cronje在其社交平台晒图:Here we go again,暗示或将复出。此外,其推特名称后缀也增加.ftm字样。[2022/11/4 12:16:59]

不过,只要网络设施层带宽足够高(比如 1Gbps),即使不优化,这里也不会成为瓶颈。

延迟:一些共识协议会将广播协议层的延迟放大若干倍,例如,比特币的出块间隔需要 5 倍于广播协议层的延迟,而确认需要 6 个块。因此,优化这里的延迟至关重要。2016 年,比特币通过紧凑区块的设计,将区块广播延迟从 120 秒降低到了不到 10 秒。

紧凑区块不包含完整交易,只包含交易哈希前 6 字节,因为这些交易已经在网络中被广播过并被多数节点收到。这可以加速区块广播,使广播协议层获得接近节点连结层的延迟。2017 年后,高性能公链基本都采取了这一设计。

Ronin黑客已将6.25亿美元被盗资产从以太坊转移至比特币网络:8月22日消息,根据链上开发人员兼调查员Blite Zero研究发现,Ronin黑客已经将被盗资产从以太坊转移至比特币网络。今年3月,Ronin跨链桥遭攻击后,黑客将价值6.25亿美元的USDC和ETH转移到Tornado Cash,此后,BliteZero跟踪到黑客将资金从Tornado Cash转移至多个跨链桥和加密货币交易平台,通过renBTC形式将其转移到比特币网络,并存入到ChipMixer、Blender等混币器。[2022/8/22 12:39:57]

共识协议是区块链系统中最复杂、最精巧的部分,它协调各个互不信任的节点,并为上层应用提供提供可信的去中心化服务。很长一段时间内,对共识模块的性能优化都是热点。

带宽:中本聪共识自身的缺陷导致它的共识带宽必须处于一个非常低的水平,否则会增加网络分叉,降低系统安全性。

2017 年后的新协议基本都可以充分利用带宽了,这不再是一个难题。

不过,有些项目混淆了共识模块的 tps 和区块链系统的 tps,把充分利用带宽称为「无限可扩展」,仿佛网络带宽是无限的。

延迟:共识的延迟指区块从产生到 finalize 需要多久。中本聪共识的确认延迟很差,大概需要 30~60 倍广播协议层延迟,后续 PoW 协议例如 Bitcoin-NG, OHIE 等也没有优化这一延迟。Prism 将延迟优化到了 23 倍,Conflux 优化到了 3 倍。PoS 协议我了解得有限,估算大概需要 5 倍延迟。

不过 PoW 和 PoS 协议有一个很大的不同:PoW 参考最大延迟,PoS 参考中位数延迟,而最大延迟和中位数延迟可能有 3 倍差异,所以 PoS 共识普遍延迟表现更好一些。节点少的话,进入 10 秒也不是不可能。至于以太坊这种上了 PoS 共识反而更慢的,只能说是一个奇葩吧。

共识模块是「参数虚标」最严重的地方。比如,明明需要等 6 个区块才能达到安全性要求,项目方告诉你 1 个区块就行,反正没人攻击就不会露馅,没资产就没人攻击。

还有一种叫分片的技术:给节点分组,把交易分给各组,每组只处理自己的交易、相信其他小组。这种技术通过增加小组数量,容易获得一个很高的 tps 用于吹嘘,但相信其他小组会带来安全风险。所以分片适用于对安全性要求不高的场景,如国产联盟链。

以太坊之所以能在比特币外开辟一片天地,在于它创造了可编程的数字资产。因此交易执行模块也是区块链系统的重要的一环。也是在早期的性能优化中被忽视的一环。

执行不再区分带宽和延迟,只关心单位时间内处理的交易或计算任务数量。

执行模块的效率受到计算机系统各个资源的限制。

在串行执行中,CPU 的性能瓶颈是非常明显的。在过去 5 年内,CPU 单核性能提升了不到 1 倍。在 EVM 中,如果不考虑存储访问,最快的 CPU 大概 1 秒能执行 1 亿 gas , 是现在以太坊性能的 80 倍(仅是量级的粗略估计)。

并行执行是利用 CPU 资源的关键一步。一些项目在尝试提出更利于并行的语言模型,例如 Move。

在 Conflux 一项关于 EVM 并行化的研究表示,目前以太坊链上交易的并行化潜力是 9 倍 tps。

但是,并行化 VM 有很多的挑战。比如,理想情形下,交易高度并行;最差情形下,交易相互依赖,只能串行。那如何设计 gas 定价与 gas limit,使得理想情况可以充分利用并行优化,而最差情况又不至于跟不上执行?

和网络设施层一样,这里的性能主要取决于硬件的发展和区块链节点的最低配置。除非数据被缓存在内存里,执行交易时的读写性能不可能超越硬盘的读写性能。

还拿 Aptos 举例,他们节点的存储要求是 40K IOPS,而一笔交易可能涉及到发送者和接受者两个账户的状态修改,也就是最差情况下网络只能支持 2 万 tps。

但他们的宣称 tps 是 16 万,可想而知这后面有多少不公开的前提条件了。

可验证存储结构是区块链存储的一个重要数据结构。它允许一个轻节点向一个它不信任的全节点查询链上状态,是区块链 trustless 里的最重要一环。在以太坊中,访问可验证存储结构 MPT 比直接访问数据库慢 10 倍。所以,有些区块链干脆去除了可验证存储结构,以换取更好的性能。

最后做个总结,区块链的性能优化不是一个追求极限的过程,而是在各种限制下对安全、效率、去中心化程度的取舍。

有些取舍是可以被优化的,比如中本聪共识中,共识带宽与安全性的矛盾后来被解决了。

有些取舍是不可避免的,如果你要求每个节点配备 256 GB 的内存,就注定了独立参与者的数量不会太多。

一味地去追求纸面上的高性能,只会得到一个中心化的宕机链。只有真正去面对和解决性能优化中的问题,才是性能提升的正途。

受篇幅所限,还有很多安全性相关的考量并没有提到。不过以上内容足以点破很多大饼了。

区块律动BlockBeats

媒体专栏

阅读更多

金色早8点

金色财经

去中心化金融社区

CertiK中文社区

虎嗅科技

念青

深潮TechFlow

Odaily星球日报

腾讯研究院

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

DAIFTX:用鲶鱼效应看加密货币的反弹

对于目前的市场,最重要的是活下来看到加密潮汐后的新月。在刚刚过去的 10 月,BTC 的月度均线一度成功守住了 20000 美元大关。而这一个月也是比特币有记录以来最平静的 10 月之一.

XLMCHA:为什么 Web3 正面临着身份危机?

作者:RICHARD SMITH任何与 ChatGPT 交互过的人都会心里出现这个令人不安的问题:“这个东西是人类还是机器?”从本质上讲,这个问题是图灵测试期待已久的失败.

[0:31ms0-1:156ms