LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > Nervos虚拟机CKB-VM:来聊聊如何发挥cell优势,构建足够安全、灵活、去中心化的

Nervos虚拟机CKB-VM:来聊聊如何发挥cell优势,构建足够安全、灵活、去中心化的

2020-08-22 侠客岛叔 来源:区块链网络

采用何种虚拟机是区块链必须要考虑的问题,因为这不单单涉及到安全性和去中心化的问题,而且涉及到运行透明性。要理解区块链虚拟机是比较困难的事情,特别是对于非计算机人员来说,更加难以琢磨。偏偏区块链虚拟机又关联到指令集架构、密码学原语、算法等各种概念,新人更是看得一头雾水。但是,我觉得理解虚拟机、理解CKB采用何种虚拟机以及优点非常重要,因为它能够让我们从最底层的角度来理解上层应用,理解这个项目最本质的东西。要不,你及时投资看好某个项目,也会一不小心就拿不住而下车。

那究竟什么是虚拟机?虚拟机在区块链项目应用中首先要重点考虑哪几个因素?CKB采用的虚拟机和其他区块链项目采用的虚拟机不一样在什么地方?它的优点在什么地方?它能够对对Nervos项目的未来发展带来哪些影响呢?我们还是从最基本的东西一起学习吧。

一、首先来看什么是虚拟机?


从字面上来理解,所谓虚拟机就是一个虚拟的、虚构出来的机器,它原来是不存在的。我特意查了一下百度的概念:利用软件来模拟硬件。也就是说利用代码来生成一个硬件,然后这个硬件具备最基本的系统所需要的一切性能。

我举个例子。比如你电脑只有D盘,你要在自己的台式电脑上面运行一个虚拟机,要怎么做呢?你要下载一个通用的代码指令集(可以理解为很多很多的0101代码堆起来,但是是通用的),然后点击,安装成功以后,你就能够在电脑里面看到多了一个硬盘E,然后这个硬盘E就是一个虚拟机。

这个硬盘E是独立的,它能够运行任何的程序,能够保存文件,能够建立自己的操作系统,并且不受到D盘的影响,任何你在电脑上进行的操作都能够同样在E盘操作。是不是很神奇?而且,这个虚拟机还是可以卸载的,删掉以后,所有的东西都不见了。

二、那区块链项目采用的虚拟机要重点考虑哪些特性呢?


我们从上面可以看到,虚拟机可能存在不到位的地方就是安全性,比如我把文件存在虚拟机以后,一不小心就把虚拟机删掉了,那存在虚拟机上面的文件自然就消失了,确定性是比较弱的,回收站也没有。因为回收站实在虚拟机上的,虚拟机没有了,自然也就没有文件。

所以,从客观来说,假如你要构建一个虚拟机来做项目运转,主要要考虑到3个方面的特性:

1.足够的安全性。这个安全性包括自身的稳定性和抵抗外部入侵的能力,因为对于区块链项目来说,没有什么比安全性更加重要。如果底层的虚拟机都被黑客入侵的话,那上层应用也就没有什么安全性可言了。所有,区块链虚拟机必须保证自己有足够的安全性,才能够承载起整个区块链网络的安全。

2.足够的去中心化。区块链的最大特点之一是其具备去中心化的特点,如果区块链项目采用的虚拟机底层还留存在中心化的时代,那实际上就会大大降低区块链的公信力。大家本来都是奔着去中心化来到,你还搞中心化,那对不起,没人和你一起玩了。所以底层的虚拟机技术必须是足够去中心化的,这样才有最强的说服力。

3.足够的灵活性。灵活性就是能够保证你可以随时自己定义自己的密码学原语,能够在底层开发的基础上随意开发任何东西,并且能够兼容其他的系统。如果灵活性不够,就不能够吸引大量的开发者,就会捆住开发者的手脚,不能够大胆的做事情,有想法都没有办法实现。只有具备足够的灵活性,才能充分发挥项目的强大兼容性,发展才会壮大。


三、Nervos项目采用什么构建虚拟机呢?它有什么不一样的特点?

现在大部分的区块链项目都是采用WebAssembly作为区块链虚拟机的基础,这个WebAssembly是什么鬼呢?我查了百度,通俗来说就是压缩包或者指令包、程序代码包之类的东西,具有可移植、体积小、加载快并且兼容Web的全新格式,可以在浏览器或者非浏览器环境下运行。

WebAssembly是目前为止最为流行的虚拟机基础,相当于一个软件包,打开就可以生成一个我们需要的虚拟机,也就是生成一个所谓的E盘。

然而,Nervos使用的是另外一套软件包构建的虚拟机,这个软件包称之为RISC-V,它的最大特点就是免版税、被广泛理解和广泛审计,并且具备稳定性、开源性、简洁和可扩展性,拥有精准的资源定价,所以,ckb的虚拟机称之为CKB-VM,它是底层的RISC-V虚拟机,能够进行灵活的、图灵完备的计算,具备极大的优势。


1.CKB-VM和cell模型的结合能够让Nervos公链保持很好的灵活性。一个公有链成功部署以后,想要把底层的基本组件比如密码学原语进行升级是非常困难的,你看以太坊就知道了,或者有时候根本无法实现。我们知道cell模型是ckb具备的很大特点,能够将以前内置在自定义VM中的密码学原语移动到虚拟机之上的cell中,而cell可以存储可执行代码,能够将其他cell作为依赖项引用,几乎所有的算法和数据结构都可以存储在cell中的CKB脚本实现,这样灵活性就有了非常强大的保障。

打个比方,我们把Nervos的虚拟机比作电脑操作系统(VM)+外接可移动硬盘(Cell)。在这里,电脑操作系统就是最底层VM,我们能够将尽量简单通用的程序安装到电脑操作系统里面,将一些关键的算法转移到可移动硬盘上,这样的话,如果我们需要更改算法,我们直接在可移动硬盘上面实现就行了,不用动底层的操作系统。

2.CKB-VM能够直接编译其他共有链的VM。由于CKB-VM具备很强的灵活性,而且能够集合和RISC-V中很多的实用工具,所以能够将其他公有链比如以太坊的EVM直接编译到CKB-VM中,这样的话就厉害了,现在你知道为什么可以直接在imtoken钱包直接使用PW钱包了吧?可以理解为什么可以直接利用以太坊钱包地址来接收CKB了吧?


比如,我们把Nervos虚拟机比作Liunx系统,把以太坊比作Windows操作系统,然后你可以通过编译,把windows系统移植到Liunx上来运行,既然Windows操作系统都能在我这边运行了,那在Windows上面的各类程序肯定也能在我这边运行了啊。当然,严格来说,这类程序还是在Windows操作系统上运行,只不过是被编译到Liunx这边了。

—-

编译者/作者:侠客岛叔

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...