CyberVein的虚拟机如何带你玩转区块链3.0

虚拟机(Virtual Machine),是一个模拟真实计算机完整硬件系统的一个镜像系统。虚拟机在区块链中的应用即是提供一个智能合约的运行环境。虚拟机自身并没有存储在区块链内,而是分布存储于每个节点的计算机上。

以太坊虚拟机(EVM)允许用户自行创建他们自己的任意复杂的操作。因此,EVM自称其为可完成任意复杂度的代码,即图灵完备。与其他区块链系统一样,以太坊同样包括了一个点对点(P2P)协议。以太坊区块链数据库由连接到网络的多个节点维护和更新,这个网络上的每个节点都运行EVM并且执行相同的指令。

CyberVein独具匠心的特色是将在开发网络的同时开发自己的编程语言Vein和虚拟机CBVM。Vein语言将以编程语言Solidity作为基础从而针对一些运行机制的改进且同时丰富关于数据库操作的库,实现诸如定义方法调用代价等功能。Vein语言将方便于现有区块链智能合约的编写者加入CyberVein,而且CyberVein会发布相关文档帮助开发者们更快的上手。 CBVM不仅是给Vein语言提供了运行环境和智能合约的有效运行,而且还将是一个数据库的操作系统。与传统数据库不同的是,在CBVM中的数据库更像是一个数据库沙盒,而每个运行的虚拟机的节点将拥有独立的沙盒,保证使用状态下并不会影响链上数据或者被受影响。

在大数据时代下的数据分析任务比传统的数据分析任务要复杂,因为往往涉及的数据量巨大。由于CyberVein将拥有大规模数据,所以MapReduce模型可作为一种解决对数据储存和处理性能瓶颈的方案。MapReduce是Google提出的一个编程模型,用于大规模数据集合的并行运算。通常是使用一个Map(映射)函数,把一个集合的key-value映射成新的一个集合key-value,并用并发运行的Reduce(归纳)函数来计算Map中产生的新集合。MapReduce的首要考虑是数据的分布以及节点的可靠性,而这其实与区块链的特性也是吻合的。

在CyberVeinDB中的参与者角色分为两类: 数据储存方(DataStore)和数据使用方(DataUser)。数据储存方是在物理节点层面应用MapReduce解决数据储存问题,而数据使用方是在虚拟机层面应用MapReduce解决数据处理性能问题。

在CyberVein中一个完整的智能合约中可能同时存在多个DataUser,而这些DataUser直接可构建一个逻辑的群体,因此CBVM运用MapReduce的并行运算方式可高效加速数据的读取,传递,检索,合并,排序以及筛选,从而在不影响链上其他节点的前提下巨大的加速了数据处理的速度。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180107G0HZ3R00?refer=cp_1026

同媒体快讯

扫码关注云+社区