9 月 2 日,Somnia (SOMI) 主网正式发布并上线 Binance,成为近期市场的一大热点。

作者:Beosin

封面:Somnia

9 月 2 日,Somnia (SOMI) 主网正式发布并上线 Binance,成为近期市场的一大热点。Somnia 是由 MSquared 和 Improbable 发起的非营利组织 Virtual Society Foundation (VSF) 开发的元宇宙解决方案。其核心产品分为两块互操作数字资产协议和高性能游戏公链,以解决元宇宙/游戏生态中的资产碎片化、交易成本和性能问题。

在并行 EVM 大热的当下,Somnia依然采用顺序执行通过创新区块链架构优化共识算法数据数据传输成功提高网络性能。作为 Somnia 的生态安全服务提供商,Beosin 此前已完成生态DeFi项目Somnia Exchange安全审计本文Beosin大家详细分析Somnia技术要点

Somnia 技术架构

在 Somnia 网络,每个验证者需要维护自己的数据链(Datachain)。这些数据链中的交易由一条单独的共识链进行最终确定和排序。如下图所示:

这一架构设计完成交易数据与共识的解耦,可同时满足低延迟、高吞吐量和鲁棒性。此外,这一设计可以让开发团队分别针对数据层与共识层再做进一步的优化。

1. 流 (MultiStream)共识

多流共识是上述架构的另一表述。在共识链,Somnia团队采用改进的 PBFT 共识算法,PBFT 在网络中的作用不是对单个交易进行排序,而是对来自各个数据链顶部哈希值的顺序达成一致。这种设计允许共识机制保持低吞吐量的同时针对低延迟进行优化,而数据层则处理高吞吐量的交易数据。

其工作流程可分为四个关键步骤:

●  用户交易请求被分配至不同验证者的数据链;

●  每个时间周期内,数据链验证者交换并下载彼此数据链顶部的数据分片;

●  验证者将所有数据链顶部的数据分片的集合作为完整数据切片写入共识链;

●  验证者通过确定性伪随机函数对交易进行全局排序,并同步更新至 Somnia 设计的 IceDB 数据库。

这种架构的优势在于显著减少了验证者之间的数据交互冗余。由于共识链仅记录数据链信息快照及排序后的交易引用 (哈希值),而非具体交易信息,大幅降低了存储和传输成本。

2. 加速顺序执行

Somnia 在执行 EVM 交易时,是通过提升CPU处理速度来提升交易执行速度,而不是尝试在多 CPU 上并行执行交易。

首先,Somnia 在智能合约执行层面内置了自己的 EVM 编译器。与标准 EVM 只能按顺序执行交易指令不同,Somnia 的编译器能够将 EVM 字节码编译为 x86 机器码,使得 CPU 的多线程内核可以并行执行不冲突、无依赖关系的指令集

以 Swap 交易为例,其可划分为参数验证、余额检查、价格计算等多个指令集,其中无依赖关系的指令集可并行执行,显著提高交易处理效率。Somnia 会根据交易类型智能选择执行方式:对于普通非高频交易采用标准 EVM 解释执行,而对于集中高频交易则启用编译执行模式,充分发挥硬件性能。

简而言之,Somnia执行顺序执行硬件层面通过字节码编译机器码实现并行执行从而达到执行层顺序执行加速效果。如下图所示:

3. IceDB数据库

Somnia 使用了其自行开发的 IceDB 数据库。数据库基于LSM 树(Log-Structured Merge-Tree)设计,因为 LSM 树的特点是通过数据追加写入而非原地修改,可以先将数据写入内存中的缓存(MemTable),再顺序写入磁盘,减少了磁盘随机写入的次数,从而显著提升了写入性能,适用于大量写入的场景。

基于 LSM 树,IceDB 的写入操作大致遵循以下流程

(1)  写入预写日志:为了保证数据的持久性和一致性,数据首先会被写入 预写日志(Write-Ahead Log, WAL)。这确保了即使在系统崩溃的情况下,数据也不会丢失。

(2)  写入内存 MemTable:随后,数据被写入内存中的 MemTable(一种有序的内存数据结构)。

(3)  转换为磁盘 SSTable:当 MemTable 达到一定大小时,它会被冻结并转换为 SSTable(Sorted String Table),然后顺序写入磁盘。这个过程是顺序写入。

(4)  压缩合并:多个 SSTable 会在后台通过压缩合并过程,合并成更大的 SSTable,并清理掉重复或已删除的数据,以优化读取性能和存储空间。

4. 数据压缩

Somnia压缩节点传输交易数据采用压缩。这一压缩方式与 Somnia 采用的多流数据链架构相匹配,通过共识与数据可用性算法,数据链使用相同的流程发布数据流,共享相同的数据压缩和解压历史记录。

在交易签名聚合方面,Somnia  使用 BLS(Boneh-Lynn-Shacham)签名方案进行签名聚合。聚合后的签名可以被验证,并且其长度与单个签名相同(通常为 96 字节),以帮助 Somnia 显著降低网络带宽开销,从而提升网络性能。

5. 资产跨链协议

Somnia通过LayerZero协议构建全链协议套件,实现虚拟身份、资产和应用在不同网络 / 应用间的自由流动。目前初始协议SOM0 协议包含对象协议、证明协议和市场协议,为创作者与游戏开发者提供标准化的铸造、鉴权与交易解决方案。

借助 LayerZero,Somnia  可接入其它 EVM 和 Solana 生态系统。这种多链互操作能力可帮助 Somnia  接入不同区块链生态的资源,为用户和开发者提供丝滑的资产跨链体验,增强其生态系统的整体价值。

生态安全方面,Beosin 已完成Somnia生态项目Somnia Exchange的安全审计审计内容涵盖智能合约代码的安全性、 业务实现逻辑的正确性、合约代码 gas 优化、潜在漏洞的发现和漏洞修复等多个方面,助力 Somnia 生态安全发展。

总结

Somnia 通过创新的多流共识机制、硬件级并行IceDB 数据库数据传输优化技术成为新一代高性能公链。目前,Somnia 已正式上线其主网并启动了 1000 万美元的生态系统资助计划,以吸引开发者在游戏、社交平台和元宇宙等各个领域创建大规模实时应用程序。Beosin持续Somnia生态提供专业全面安全审计服务

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。