探索区块链世界的虚拟机的价值
Posted 区块链星际社
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探索区块链世界的虚拟机的价值相关的知识,希望对你有一定的参考价值。
从2010年算起,区块链技术已经走向了一个新的十年。随着区块链知识和技术不断普及,区块链技术在不断寻找着超乎金融领域之外的更多商业探索,其中区块链的基础设施作为可编程商业经济的基石,在不断探索中前进。
区块链技术领域基础设施——虚拟机,是实现智能合约系统最为关键和核心的技术。 维基百科对虚拟机的定义是:“在计算领域,虚拟化是一个宽泛的术语,指的是对计算机资源的抽象。虚拟化对其用户,不管是应用程序还是终端用户,隐去了计算资源的物理特性。这包括使一个单一的物理资源表现为多个虚拟资源运行;也包括多个物理资源表现为一个单一的虚拟资源。”
早期IBM对虚拟化的探索始于其CP-40andM44/44X研究系统。作为回报,这又促成了其商业产品CP-67/CMS。虚拟机的概念使用户隔离开,并为每个用户单独模拟出一套的完整的系统。IBM模型的一个主要特征就是通过分割计算机资源和完全隔离程序来使程序共享同样的硬件。大型计算机在当时的资源非常稀缺因此多为共用,因此把虚拟机计算时间切割成许多共享用户的私人计算时间。
服务端亦可虚拟化。服务端虚拟化顾名思义为服务器的“虚拟化”,以VMware,Microsoft,以及Citrix等公司为代表。运用服务器虚拟技术,一个物理的机器可以被分成多个虚拟的机器。而这样做的优势有:
- 提升硬件利用率:节省硬件,节约成本;
- 干净镜像可用来重建受损的系统,可以提供沙盒和隔离来限制可能的攻击。;
- 调试和性能监控的用例能够以可重复的方式方便的搭建起来;
- 实现各环境与操作数据的统一性。
理解了“虚拟化”的不同场景的含义后,我们再来说说为何区块链要用到虚拟机。区块链系统需要共识机制,保证每一个人输出的计算结果是一致的。区块链虚拟机所承担的主要任务是运行智能合约。本质上,区块链虚拟机就是一个代码的运行环境,以保证区块链网络中分布式节点的一致性。
为了防止运行智能合约的设备遭受攻击所带来的安全隐患,不能直接将智能合约运行在真实机器之上。每个节点都要运行智能合约进行验证,但如果不用虚拟机,而是在机器上直接运行,当智能合约开发者疏忽或测试不充分,就非常容易被利用并攻击。
以太坊的智能合约多次出现漏洞,业界普遍认为与底层系统有关,具体表现于很难有主流的编程语言能够移植到EVM上。EVM开发需要学习solidity,增加学习成本的同时稳定性不强,如果区块链虚拟机支持多种编程语言就可以变得更加安全。目前以太坊的开发费用还是非常高昂,且没有标准库,也使得它需要占用了大量的内存。XFS的目标是简易编程或低代码编程,这使得XVM的搭建变得更加容易。
XFS开发团队设计的初衷是能够支持多种虚拟机,以太坊虚拟机作为第一个支持的虚拟机,但目前AAL的功能受到EVM的极大限制,而XFS虚拟机就将不再受到这些限制。XFS虚拟机的大内存空间,以及它高效的操作代码集,可以实现完整的区块链数据进行智能合约分析,这在以太坊虚拟机上是无法实现的。目前,以太坊虚拟机强制每个用户都使用指向32byte数据。开发人员管理起来可能会相当复杂,尤其是考虑到存储空间碎片化和维护的问题。因此,在XFS虚拟机上,会给智能合约添加一个通用存储。这样以来,用户就可以使用任何长度的key,并将其指向相同长度的变量值。
因此区块链虚拟机的核心是防止智能合约受攻击,方式是通过一个沙盒模型将其隔离化,这将更全面地保护整个链上系统的运行。
以上是关于探索区块链世界的虚拟机的价值的主要内容,如果未能解决你的问题,请参考以下文章