Findora 优化其在 EVM 层的 TPS
编者注:本文是根据 Findora 的多位工程师的意见撰写的,并不代表一个人的努力。这是 Findora 优化其在 EVM 层的初步成果,不久还会有更多的优化。
介绍
Findora 区块链是 UTXO 和 EVM 分类帐的组合,通过称为 Prism Transfer 的原子桥连接在一起。Findora 的目标是通过扩展以太坊隐私来创建一个基于区块链的内置隐私的新金融互联网。并通过先进的 ZK 密码学和 SNAKRS 来保护公链上的交易数据。
因此,虽然隐私是 Findora 的主要关注点,但可扩展性也必不可少——如果没有足够的带宽,网络就无法为多个生态系统提供隐私保护。
然而,虽然一些项目追求每秒 10,000+ 笔的交易速度,但现实情况是许多项目并不需要如此高的 TPS。绝大多数 TVL 存在于 Ethereum 和 Bitcoin 上,它们的 TPS 分别约为每秒 15 和 6 左右。
因此,高 TPS 是重要的但不是必要的,尤其是在刚开始。例如,Avalanche 的理论 TPS 为 4,500,但实际很少超过 9 TPS。
在过去的两个月中,Findora 开发团队成功地将其 EVM 层的 TPS 提高了近 4 倍,达到了 150 左右——这足以承载它在未来将面临任何负荷。
大部分优化来自:
并行化 Tendermint ABCI(以前只有单线程)
使用读写锁代替唯一锁(互斥锁)
增强交易检查逻辑
优化冗余序列化(将块的交易列表放在 RAM 中,而不是数据库缓存中)
本文将介绍实现这些优化的科学过程,并重点介绍一些突出的优化领域。希望通过分享我们在过去 3 个月进行的优化分析、执行和测试的技术细节,使其他使用 EVM 的团队可以充分利用我们所作的工作,并复制和扩展我们的成果。
方法论概述
我们相信,测试和提高性能的最佳方法是使用科学的方法:测试环境、分析结果、部署修复程序,然后重复。因此,我们将优化过程分为 5 个步骤:
测试
测试结果收集
分析
结果分析
更新代码并再次部署
通过简化和去除冗余,我们缩短了交易时间,提高了效率。隐私交易比透明交易需要更多的计算能力。尽管网络必须能够承载足够的负荷才能在现实世界的应用中使用,并且可扩展性是一个关键目标,但 Findora Network 仍认为它的重要性次于隐私。
大部分 TPS 的优化来自快速累积的小改进。例如,团队通过优化序列化和反序列化过程,减少数据库读取和组合功能,提高了大约 10 TPS。
其他改进,例如改进 check_tx 函数和删除冗余内存分配,再次提高了 TPS。
潜在的优化领域
总共有 10 点我们认为可以改进。不过,大多数优化来自以下 6 点:
改进了主界面中的 deliver_tx 和 check_tx
欢迎光临 优惠论坛 (https://www.tcelue.co/) | Powered by Discuz! X3.1 |