MOAC号称“众链之母”:他们在区块链技术上有什么创新?
陈小虎99年毕业于浙江大学,后来到美国加州大学河滨分校攻读硕士学位。在美国期间,曾在职理光相机,Nextengine、Waytools等公司,相关的工作经历和学识让他精通计算机结构和互联网软硬件各种算法,积累了丰富的IT开发经验。
2001年他开始在硅谷创业,是一家3D扫描仪公司联合创始人。后来,他与一些在硅谷的科学家与程序员一起开发一个区块链公司,陈小虎负责区块链的组织开发。小虎说到MOAC是一条公链,能够把积累下来的技术提炼出来,做开源的项目反馈给开源社区。
MOAC——即Mother Of All Chain的缩写,中文翻译成“众链之母”,或是“女娲链”。
MOAC CTO 陈小虎
陈小虎认为,目前市场上已经有很多部署的区块链,不论链的规模大小,它们都有以下一个或多个问题:
1. 难以尝试新的想法:假如我有一个idea想要利用区块链来解决,那么基本上就意味着要建立一个新的区块链。需要设置服务器,开发团队,建立社区,吸引新用户等,需要大量开销来实施新的区块链想法。
2. 难以升级:一旦区块链被部署和进入生产模式,很难在功能上进行添加、修改或删除。一个办法是加入软分叉,软分叉是指当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,所产生的临时性分叉。但假如修改得不够完善,产生了硬分叉,部分没有升级的节点无法验证已经升级的节点生产的区块,区块链就会发生永久性分歧。处理分叉需要巨大的努力和承受由此带来的经济后果。
3. 区块链之间不相容:不同的区块链有不同的模式,如共识协议、货币特征和适用要求等。模式的差异阻止了多个链之间的互连或互换。当然为了使得跨链交流成为可能有跨区块链协议,但本质上只是在货币层互换,区块链本身的特性如智能合约、高级功能之间很难互通。
4.分裂的参与者:对于每个区块链,用户群是不同的。矿机和验证节点仅能用于该区块链。没有两个区块链可以共享它们。
陈小虎认为,解决这些问题,有两个思路:现在以太坊的构思和智能合约捆绑在一起,交易和操作捆绑在一起,另外以太坊的合约调用是同步的过程,好处是保证数据的一致性。但问题也显而易见:如果某个智能合约比较强势,先执行结束后才能做其他事情,限制了整个网络中能够处理的合约数量,限制了性能。
假如想要提高性能,你会发现以太坊这类区块链所有系统都在做同一个事情,如果想让一部分人做这件事事,其他人做那件事,提高效率,就需要在不同的片区之间保持数据的一致性,这是非常困难的问题。
MOAC的解决方案是两个核心技术创新:一个是合约的异步调用。具体来讲,MOAC采用类似于以太坊的POW机制,并分为三种基本交易类型:支付交易TXp,数据存储TXs,控制流TXc。它们在底层POW共识节点中处理。所有节点都收敛于一个全局一致的状态。
除了POW对交易和数据存储集的共识外,每个POW节点都与一个智能合约服务器相关联。智能合约服务器(SCS)身份可由相应的POW节点完全验证。智能合同请求(创建/调用/刷新)包含在控制流TXc中,并首先在底层中处理。然后每个POW节点通过异步调用向其SCS发送合约请求。合约请求在SCS中处理。如果需要,SCS 将向底层发送附加的控制流TXc和数据存储TXs。
通过把合约和底层共识分开,让每个合约的服务器支持插拔的功能,让每个合约上可以运行不同的机制、插件。开发者可以在合约层选择所要的合约主体,然后定义自己的共识的方式,在系统自己定义一个子区块链,一方面只要定义这些参与共识的节点可以利用现有的系统,解决了新系统的问题;另外如果要对区块链分层,只要把相应的插件进行分级就可以了,可以方便的在链上产生新的idea。
另一个是合约的分片处理。即执行智能合约的方式是通过分片技术实现。具体来讲,所有SCS都可以在运行时进行配置,以处理不同部分的智能合同。整个系统吞吐量可以比传统方式快10倍-100倍。分片的执行组通过控制流TXc和数据存储TXs将分片状态记录到底层块链中。
中国观察