正文
亦来云创始人陈榕
Elastos.org
2017.7.24
亦来云——区块链驱动的互联网,
就是一堆不能直接上网的单进程虚拟机,
运行于一个去中心化的点对点互联网上。
1980年初DOS操作系统只支持单一地址空间(也就是单进程),也不能上网,但能用来写游戏,能写办公软件等几乎所有本地应用。那时病毒是靠软盘传的。网络攻击不存在,没网。
1990年代的操作系统,比如Linux,支持多进程,也自带互联网TCP/IP协议栈。
因为传统操作系统的诞生早于互联网,所以操作系统都是单机版操作系统。而互联网作为后加入的“补丁”,成为了操作系统上面的应用。单机操作系统为所有互联网行为一律放绿灯,用户数据及网络行为完全暴露在各种互联网安全风险之下。
现在的一台物理PC机已经强悍到可以同时支持多台虚拟机。虚拟机里的OS大都还是Linux,或者轻量级(超轻量级)类Linux(POSIX)系统,仍旧支持多进程,都能上网。只是目前这种架构广泛用于互联网网站一端,叫云计算。病毒依旧,网络攻击依旧,甚至由于虚拟机数量大了,问题显得越来越严重。
如果虚拟机的OS回归单进程、没软盘、不能上网又如何?简单说,传病毒或者发起网络攻击就没那么容易了。
实现单进程虚拟机其实很容易,Linux用户进程里面不直接暴露POXIS系统调用接口,代之以一套类Java VM但是C/C++实现的API,自带Loader加载特定二进制格式代码,禁掉创建进程和互联网访问套接字。
Linux(用户ID)的Home目录夹作为永久存储。再牛点儿,虚拟机里内置与个人云盘的同步功能,使Home目录夹当成个人云盘的缓存,把个人云盘作为永久存储。这样就做成了现代版的“个人云DOS”。
在这个"云DOS"操作系统中,互联网的角色是作为像计算机总线、硬盘、内存一样的基础资源,应用无权直接调用互联网访问接口,必须按照操作系统的规范来提交网络访问需求,由操作系统来完成应用间通讯交互及个人云盘存储。
一台智能手机或者PC能同时运行几十个这样的单进程虚拟机毫无压力,即能运行多少Linux进程就能运行多少虚拟机。亦来云OS是作为针对个人云存储而设计的虚拟机沙箱运行时。
应用或者服务运行于这样的虚拟机里面,不知道底下的物理机OS是Linux还是Windows,也不知道是否直接运行于某些低端裸硬件之上。底层宿主OS不可知,也就难以实施病毒传播。应用不能上网也就不太可能发起网络攻击。
运行于这样的虚拟机里面的应用与服务,不知道它们之间的距离——两者可能运行于同一台PC之上,也可能运行于同一个局域网内,当然还可能分布与在互联网两端。应用动态发现并接受局域网内的服务有一堆新名字:雾计算、周边计算、边缘计算。动态发现周边服务,安全隐患首当其冲,所以要用虚拟机作为沙箱进行隔离。
应用与服务可能远在天边,也没准近在眼前。
应用与服务都不能直接创建进程,也不能直接上网。那应用如何创建服务,由如何找到距离不可知的服务?
中国古代男女授受不亲,媒婆传话并不陌生。一个人打电话找另一个人,她拨号一个全球唯一的号码(UUID,Universal Unique ID),运营商在背后默默地接通了他的电话。
如果一个人能按照指令,在一条两头很长、很长的格子纸带上,往格子里写0或者1,会擦了0写1,或者擦了1写0,会把笔往左移一格,或者往右移一格。如果这个人擦写、位移的速度达到每秒几十亿次、上百亿次,她就能完成所谓“图灵完备”的计算了。玄了点儿,但千万别多想,图灵机意义上的计算操作是很简单的。