Bitcoin SV 主网压力测试报告 @ 2019-08-03

北京时间 8 月 3 日 20:00,我(们)按计划,又对 Bitcoin SV 主网(Mainnet)进行了一次压力测试。4 个月前,同样类型的测试给网络带来了区块重组(reorg),当时的报告指出,交易验证时的性能瓶颈是“大区块”扩容路线必须要解决的问题。

7 月 24 日,Quasar 顺利激活。几天之后 SHEMDerek MooreJolon 迅速跟上了一次测试,通过在 OP_RETURN 里携带媒体数据撑起内存池的大小,以达到测试大块构建和传播的目的。

连续大块的结果非常棒,但这无法说服一些人,因为矿池在验证交易时不会验证 OP_RETURN 数据,所以节点的负载并不大。

随着 Quasar 升级后主网不断稳定,再来一次海量交易的压力测试显的十分必要。

软硬件条件

  • 服务器:32 核 64G VPS,位于新加坡
  • 压测工具单实例 Benchmark:6 ~ 10 TPS

测试压力

考虑到 4 月份的重组事件,本次测试所准备的压力与之前雷同,只是略有提高。

  • 广播速度:450 ~ 1000 TPS
  • 交易总量:准备了 200 多万笔纯交易(OP_RETURN 内无媒体数据)

过程详述

压测工具在测试开始后的半小时内总是无法达到预期的吞吐速度,待问题解决时 Blockchair 的 TPS 数据已无法正常更新,只截图到不到一半压测实例正常运行时全网的 TPS 状态。

本次压测的全部数据会在整理好后更新到 GitHub

区块打包情况

一切正常,每次出块即清空内存池,无区块重组。

  • 区块 #593965 约 210M,来自 Coingeek,包含了约 800,000 笔交易
  • 区块 #593967 约 183M,来自 Coingeek, 包含了约 700,000 笔交易
  • Poolin 空块乱入。但注意,从结果来看 Poolin 完成了大块 #593965 的同步和校验,并没有孤立它

压测(广播交易)实际持续了约 2 小时,20:00 ~ 23:00 网络出块情况如下。在测试进行时,我还特地用钱包转了几笔交易,均能正常广播和入块。

相关服务情况

区块浏览器

测试开始后,随着内存池交易的堆积,不同的区块浏览器相继出现停止更新或服务异常的现象,包括

但下列浏览器始终保持可用甚至性能优异

交易所

均无任何公告。

其他

结果分析

Quasar 是一次重要的网络升级,BSV 在通往处理海量交易和持续扩容的道路上砥砺前行。

  1. 大区块的传播和验证,正常
  2. 海量交易的传播和验证,正常

但还可以做的更好。注意到,两个大块的出块时间非常长,因为要验证海量交易,这是一个十分耗时的操作,这也是今后可以和需要持续改进的地方。

测试快结束的时候,BitMEX Research 又想搞个大新闻。

附上参考文章 Bitcoin SV Node system requirements,顺手找了点推。这届网友真的是太优秀了… 😆

截至今日,白皮书发布十年有余,没有任何一条链公开的在自己的主网上做过类似的测试,而只谈理论数据。

Bitcoin SV is not a hobby project.

四个月光阴流转,有些事情早已改变。希望这次的压力测试能为 BSV 成为全球通用的点对点电子现金与价值数据传输网络提供一些参考数据。

What doesn’t kill you makes you stronger.

相关报道及观点

更新一下本次测试相关的媒体报道和观点。

致谢

本次压力测试由我发起,在众多热心朋友的帮助和支持下得以最终完成。

测试所有使用的 BSV 均来自 ☠️₿itcoin SV 骷髅会☠️ 社区小伙伴们的自发捐赠。

衷心感谢每一位在测试前后参与讨论和同步状态的朋友,特别是 imcoddy、zheming、Aus.Liu、Lise慧子、慢雾科技余弦Brad莲桑LyanShaddersRyan X. CharlesunwriterWhatsOnChainBitcoin AssociationCoinGeek_Official

最后,也要谢谢你的可爱陪伴,汪!