2021-12-12 23:38 | 出处: 吴说
Binance Smart Chain最初作为go-ethereum 的分叉,目的是提升互操作性、可编程性以及与以太坊智能合约的兼容性。Binance Smart Chain成功的同时也带来了可扩展性问题,这一问题可以追溯到其起源时期。
运行 BSC 存档节点的关键问题之一是对本地存储数据高达约17TB的需求。这种笨重的存储量导致更多的时间来index或压缩数据,同时还降低了Geth客户端的请求数据性能。Geth (Go Ethereum) 是一个命令行界面,用于与EVM(以太坊虚拟机)同时运行。
EVM 兼容性是BSC的主要优势之一,它具备支持大量现有以太坊工具、提升区块速度和低成本等特点。我们需要创建一个更高效的存储机制以保障BSC的最佳性能,同时需确保Geth 平稳运行。
Erigon 最初开始于turbo-geth和Geth的改进,而后因快速快演变成与Geth截然不同的产品有了新命名。
Ankr正在实现基于https://github.com/ledgerwatch/erigon的BSC Erigon开源客户端,从而解决 BSC中存在的诸多问题。Erigon客户端旨在通过以下几个关键方式提高数据存储效率和提高区块链性能:
与Geth和其他现有的以太坊客户端相比,Erigon客户端的改进具有显著的优势:
Erigon解决方案对BSC和Ankr是互利的。Erigon开源客户端意味着BSC节点用户可以自由使用,并能够为Ankr 协议和多链RPC网络贡献算力。凭借快速和可靠的BSC节点网络,Ankr将能够更好地为BSC协议和dApp开发人员提供服务。
Erigon是一个备受期待的解决方案。然而,由于BSC的共识机制和分块处理方式,Erigon与BSC并不完全兼容。因此,Ankr长期与BSC团队合作,力求解决关键迁移挑战并将Erigon功能合并到BSC。在从BSC Geth到Erigon的整个迁移过程中,优先确保所有节点的兼容性。
从BSC节点迁移的特性:
在第一个BSC Erigon客户端中,我们决定不启用Validator模式,让它作为一个完整的区块链节点工作。目前,Erigon不支持记帐以避免节点中断,未来Erigon更新后将支持此功能。
第一个里程碑是确保Erigon解决方案在BSC全节点(主网和测试网)的运行中没有错误,当全节点功能完成后,我们将验证Erigon是否与BSC验证器节点兼容。
在基准测试中,Erigon BSC客户端表现非常出色。以下是我们测试流程的简要概述,您也可以在Ankr官网Docs——节点——Erigon BSC 测试网存档节点的初步测试了解详情(https://docs.ankr.com/nodes/binance-smart-chain/initial-testing-of-the-erigon-bsc-testnet-archive-node)
硬件规格
我们使用了Digital Ocean的一个低于平均水平的服务器来测试Erigon在BSC中的出色性能:
· 处理器:4 vCPU
· 内存:8GB
· 操作系统:160 GB
· 存储:1T GB 磁盘用于 BSC 测试网存档数据
同步过程
测试网同步过程从[INFO] [12–06|21:34:41.691] 开始。
一路进行到[INFO] [12–07|22:54:31.442] [6/15 Execution] Completed on block=14778509。
整个同步过程耗时25小时10分钟。值得关注的是Erigon仅使用了单个CPU处理器,这为未来改进留下了很大空间。只有1个CPU使得加速变得非常具有挑战性,因为块和交易本质上是连续而非并行的。我们估计实际过程可能比我们的试验提升4-5倍,这明显优于目前基于Go-Ethereum的客户端。
基准测试
Ankr 团队使用ethspam和versus来测试Erigon客户端的性能,分别对100、200和300个并发请求进行测试,错误率为 0%;在与相同服务器进行的100个Geth Goreli 测试网进行比较,Geth Goreli testnet测试遇到了6.75% 的连接错误,测试结果Erigon显著优异。
Erigon 100 个并发请求
Erigon 200个并发请求
Erigon 300 个并发请求
GETH Goreli 测试网100个并发请求
在完全相同规格的Digital Ocean服务器进行类似的基准测试,结果显示,tp95和tp99的性能较差,连接错误为6.75%。
Ankr 现在有更多的改进机会,我们将与BSC团队持续沟通以规划和调整我们未来的工作内容。首先,我们将优先进行以下事项。您可以关注我们的Github(https://github.com/binance-chain/bsc-erigon)了解更多Erigon相关信息和测试结果。
Ankr与BSC生态系统有着密切的关系,我们坚信这个新项目非常有利于BSC社区和应用程序。
Ankr 通过我们的bscrpc.com公共 RPC进一步提升了BSC开发人员的能力。这种开放、免费的RPC允许任何人对链发出请求并接收响应,就像他们自己运行一个完整的BSC节点。
Ankr 产品主管Josh Neuroth认为:“随着DeFi、NFT和游戏等新兴市场大量构建在BSC上,BSC上的交易量达到了历史新高。低Gas和EVM兼容性使其备受欢迎,然而这是有代价的,即节点的跟进步履维艰。通过 Ankr 开源我们对Erigon实现了自定义,我们可以帮助节点提供商保持区块高度,确保 BSC 社区持续繁荣。”
BSC生态协调员Samy也表示:“我们很自豪BSC作为一个开放协议和社区驱动的生态系统正在实现崇高的目标。”
BSC 项目和用户将从网络升级中收益良多。随着BSC更快、更高效的发展,它将能够处理更大流量和交易,这意味着新项目将建立在更高度进化的BSC上,开发者可以更快速构建BSC dApps,加密技术的各个领域都有拥有BSC的身影。