Move与Solana兼容,使Libra能够利用Solana网络的交易速度和容量。
Solana是一个高性能的区块链,具有400ms延迟和灵活的运行时间,允许使用验证器硬件扩展计算。在Solana测试网的当前迭代中,当使用GPU运行时,由200个物理上不同的节点组成的网络支持每秒超过50,000个交易的持续吞吐量。我们相信它是世界上性能最好的区块链。
Facebook的Libra项目因区域链社区已经深入讨论过多个原因而引人注目:这是一个由一些最聪明的技术人士建立的重磅项目,由世界上一些最大的企业支持,并将因采用区块链技术而轰动一时。但对于Solana团队而言,我们注意到Libra定制的Move智能合约语言将共享数据与可以修改它的智能合约代码分开。
我们发现这个因素特别有趣,因为Solana团队在我们的运行时做出了相同的设计决策 – Sealevel。我们立即认识到Move是一种智能合约语言,不仅可以扩展,还可以与Solana共享兼容性。这表明Move代码可以在Solana上使用,并进一步利用Solana网络高度优化的环境。
仅仅两周后,Solana的联合创始人StephenAkridge就宣称他能够在Solana上执行Libra的点对点支付交易:
几天后,我们开始进行集成和基准测试,通过结合Libra团队优秀的语言设计和Solana团队的精心优化,我们很自豪地宣布支持Move虚拟机在Solana上运行。这意味着使用Move构建的项目和应用程序与Solana兼容,同时能够利用Solana网络的卓越交易速度和容量。
Move虚拟机的瓶颈
Solana交易处理运行时允许并行执行跨水平扩展的计算和存储事务。我们猜想执行Move和本机Solana交易之间的主要区别是解释在Solana上运行的Move虚拟机中Move字节码的额外开销。
Solana上Move VM的基准测试
如您所见,总执行时间为684us,其中605us用于`vm_execute`函数,该函数处理字节码解释器。这证实了我们的期望。我们认为此基准测试的结果非常值得注意,因为Sealevel可以在验证器可用的CPU内核之间扩展事务的并行执行。
Solana本机程序需要1us `execute:: vm_execute,` 因为指令是本机x86。Move虚拟机比我们的Solana本机程序慢近700倍,并且在这个速度下,我们能够展示Sealevel处理CPU水平扩展的程度。
增加CPU计数可以线性扩展吞吐量。毫无疑问,使用JIT或LLVM前端可以显著提高初始VM性能,以允许直接编译到本机指令集。
Move的原始TPS
这些基准测试在我们的测试网上运行,区块延迟时间为400ms:
Libra的Move虚拟机将被全世界的大量开发人员利用,因为该项目试图将Facebook的大部分市场引向加密货币和区块链应用程序。Move与Solana很容易兼容,并且在利用Solana网络的核心创新时能够实现出色的进一步优化,这是一个非常令人鼓舞的迹象。它表明使用Move构建的项目可以相对简单地移植到Solana,并获得速度和交易吞吐量的利好。
这证明虽然Move VM运行时间目前还没有进行优化,但它可以相对容易地集成到Solana的链中,从而可以提取并行性能。我们期待为开发人员提供Move环境的选择,这样他们就不会被局限于一个供应商。我们相信这将形成一个更有力和功能更强的区块链生态系统。
如果您是一名Web开发人员或从事区块链和智能合约工作,那么Move编程语言可以提供很多功能。您可以在这里查看Solana的Move SDK示例,并在这里运行针对Solana上的Move VM的基准测试。