我们将讨论 Highspeed Somi 的第二项创新。这是系列中的第二篇文章,剩下的两篇将一一讨论。所以让我们开始吧。
确定性性能将气体转换为公平的计量器
传统的嵌入式数据库如 LevelDB 或 RocksDB 被调整为重写入并后续刷新到磁碟以控制 RAM 使用量。在这些系统中,读取可能会命中快速的内存或慢速的磁碟路径,而延迟差异可能会巨大,甚至高达一千倍的差异。这种变异性造成了一个定价难题。如果气体假设最快的路径,攻击者可以强制进行慢速磁碟读取并阻碍链。如果气体假设最慢的路径,每个人都会支付过高的费用,吞吐量会崩溃。
IceDB通过使性能本身确定性来解决这个问题。每个读取和写入返回一个结果和一个精确的性能报告,记录在RAM中触及了多少个冷缓存行,以及从SSD中提取了多少个磁盘页面。由于报告在节点之间是确定性的,因此可以根据事务施加的实际负载收取燃气费。存活在内存中的热数据成本更低,更多数据适合一个区块,并且系统对延迟游戏保持抵抗力。
以内存速度读取和写入的缓存
大多数持久性引擎要么偏向读取速度,要么偏向写入速度。IceDB的设计使得内存缓存促进频繁访问的状态,同时也加速写入,而不仅仅是读取。通过将数据布局与访问模式对齐,并最小化通过通用键值抽象的旅行,读取和写入的平均路径落在十几个纳秒内。典型操作大约在15到100纳秒内完成,这意味着智能合约在常见状态上体验到类似内存的性能,而执行层不会失去编译EVM代码为本地指令所带来的优势。效果很简单。计算让位于数据,处理器在逻辑上花费周期,而不是等待存储。

没有通常梅克尔税的快照
区块链需要在每个区块之后有一个单一的、达成一致的状态快照。许多链通过将梅克尔树节点作为键存储在通用数据库中来实现这一点。这种方法是可移植的,但代价高昂,因为每个证明和更新都会通过一个不适合树形状态的引擎进行随机读写的游行。
IceDB采取了不同的路线。在底层,日志结构合并树已经以分层、基本不可变的段方式排列数据,看起来像一棵树。IceDB利用这种原生结构提供一流的快照,因此执行层不必以高开销构建和维护梅克尔树。证明和状态哈希仍然存在于验证中,但繁重的工作转移到存储引擎中,在那里不可变性和追加友好的设计是自然的。读取和写入避免了更新许多小节点的波动,系统以更少的工作捕获一致的状态视图。
确定性是一项安全特性,而不仅仅是一个速度技巧
非确定性存储行为使得准确定价工作变得不可能,并为对抗策略打开了空间。IceDB通过固定操作映射到硬件成本的方式消除了这种不确定性。每个节点上的相同读取报告相同数量的缓存行和磁盘页面,因此费用不会因本地放置运气而有所不同。这种透明性阻止了试图将竞争对手推向慢路径的策略,并在整个网络中对齐了激励。验证者不需要猜测最坏情况路径,应用程序可以预测它们的合约在使用模式从冷到热转变时将如何被计费。结果是在负载下的可持续性能,而不仅仅是在实验室中的乐观数字。
为什么IceDB是SOMI现实世界速度的核心
高吞吐量的强度仅取决于其最慢的依赖项。如果存储卡顿,快速的执行引擎就会失效。IceDB通过使状态访问快速、可预测且公正定价,来锚定SOMI的性能。确定性指标使燃气能够反映真实的资源使用,混合缓存保持热路径在内存中,快照利用存储模型而不是与之抗衡。通过这些选择,确保单核加速和本地EVM编译带来的收益不会因等待数据而浪费。当网络在铸币或市场冲击期间冲入相同状态时,IceDB保持读取和写入紧凑,区块按时清晰,吞吐量保持高。这是SOMI速度背后的第二项创新,并为剩余两个完成架构铺平了道路。
数据生产和分发解耦
此设置完全解耦了新数据的生产和分发,数据链的进展与共识算法。这在高级压缩技术部分中描述了至关重要的好处,例如流式压缩,使得这个数据前端达到了几乎一千兆位每秒的发布交易数据。
结论
IceDB将存储从随机性的来源转变为性能和安全性的校准组件。通过使读取和写入可预测,公正定价,并以最小的开销捕获状态,数据库层维持了执行层所能实现的高吞吐量。在实践中,这意味着在压力下更少的惊喜,更紧凑的区块,以及通往完成SOMI架构的下一个创新的更平滑路径。