Page 124 - 《软件学报》2026年第1期
P. 124

何嘉昊 等: 国产区块链软件发展趋势与核心技术分析                                                        121


                    虚拟机类执行引擎, 例如        EVM, 具有独立的指令集和运行逻辑, 能够提供封闭且安全的执行环境, 有效地隔离
                 不同智能合约之间的影响, 确保合约执行的确定性和安全性. 类似的执行引擎还有京东链的                             GraalVM、百度链的
                 XVM  与  Native、趣链的  BVM  与  HVM、NEO  的  NeoVM、星云链的    NVM、CKB   的  CKBVM、至信链的     CVM、
                 之江链的   MYVM, 以及波场链的       TVM. 这些虚拟机类的合约执行引擎都是根据国产区块链软件在特定应用场景
                 下的需求和性能优化目标而开发的. 容器类执行引擎, 例如                  Docker  [133] 和  Kubernetes [134] , 提供了轻量级的隔离和资
                 源管理, 使智能合约能够在独立的环境中高效运行, 并具有良好的资源利用效率和部署灵活性. 新兴执行格式类,
                 如基于   WebAssembly (WASM) 技术的执行环境, 具有高效、跨平台的优势, 适应了智能合约在性能和功能需求不
                 断发展的趋势.
                    我们对国产区块链软件所支持的不同类型的合约执行引擎进行了统计, 结果如图                           14  所示.

                                                TVM               虚拟机类
                                               MYVM
                                                CVM               容器类
                                              CKB-VM              新兴执行格式类
                                                NVM
                                               NeoVM
                                             执行引擎  Native
                                                BVM
                                                HVM
                                                XVM
                                              GraalVM
                                                EVM
                                                 JVM
                                              Kubernetes
                                                Docker
                                             SC-Runtime
                                               WASM
                                                   0   5   10   15  20  25  30
                                                               数量
                                          图 14 不同区块链软件支持合约执行引擎情况

                    现象  19: 国产区块链软件支持最多的          3  种合约执行引擎分别是: EVM、WASM         和  Docker. EVM  被广泛支持
                 是因为以太坊在区块链领域的巨大影响力和广泛的开发者基础. 许多区块链项目直接或间接借鉴了以太坊的技术
                 架构, 而  EVM  作为以太坊智能合约的执行环境, 具有成熟的生态系统和丰富的开发工具, 使得开发者能够快速上
                 手并构建智能合约应用. WASM         受到支持是因为它具有高效性、可移植性和跨平台特性. WASM                     可以在多种编
                 程语言中编译生成, 能够在不同的区块链平台上高效执行, 为开发者提供更多的选择和灵活性, 同时也有助于提高
                 区块链应用的性能和可扩展性. Docker 被众多国产区块链软件支持是因为它提供了一种轻量级的容器化解决方
                 案, 可以方便地打包和部署区块链应用, 实现应用的快速部署和隔离, 提高开发和运维效率. 同时, Docker 的广泛
                 应用也使得开发者更容易将现有的应用和工具集成到区块链环境中.
                    现象  20: 虽然  JVM  仅有  4 个区块链软件使用, 但其他区块链软件通过其他执行引擎支持               Java 语言. 除了  Z-Ledger、
                 RepChain、Chain33  以及  Aelf 这  4  条直接使用  JVM  的区块链外, 趣链首创的    HVM、京东链支持的        GraalVM、
                 NEO  开发的  NeoVm  同样能够支持    Java 语言. HVM  内置数据表结构, 可以实现业务数据可视化, 在保证智能合约
                 执行的安全性、确定性、可终止性的前提下, 提供了一系列灵活的应用模式和工具方法集, 以满足复杂多样的业
                 务场景需求. 京东链支持的         GraalVM  除了能够加速用      Java  和其他  JVM  编写的应用程序执行外, 同时还支持
                 JavaScript、Ruby、Python  和许多其他流行语言. GraalVM   的多语言功能可以在单个应用程序中混合多种编程语
                 言, 同时消除外语调用成本. NeoVM         是一个用于执行       NEO  智能合约的轻量级虚拟机. 同时结合            NeoCompiler
                 编译器技术, 可将     Java、C#等高级语言编译为统一的          NeoVM  指令集, 从而实现跨平台. 可以看到, 传统编程语言
                 在区块链领域得到了一定程度的应用, 这与              Java 成熟的开发生态、安全性和稳定性等因素相关. 并且                 JVM  还能
                 够提供跨平台执行的能力, 这意味着用            Java 编写的智能合约可以在不同的操作系统和硬件平台上运行, 无需进行
                 大量的移植工作. 这对于需要在多种环境中部署的区块链应用来说非常重要.
                    见解  8: 国产区块链软件对不同合约执行引擎的支持体现了技术选择多元化, 以满足不同场景需求. 尽管传统
                 编程语言在区块链领域虽有限应用但有价值, 但其成熟生态等优势与区块链结合带来了更多可能.
                  3.5   应用层
                    袁勇等人    [37] 依据区块链技术应用的现状, 将区块链的主要应用大致归纳为数字货币、数据存储、数据鉴证、
   119   120   121   122   123   124   125   126   127   128   129