墨客技术路线图:通过分片来匹配Visa交易规模

2018/4/6 17:26:33 发布者:本站编辑

Mother of All Chain (MOAC) Blockchain (简称 “MoacChain”,中文音译为“墨客链”,又称“众链之母”)是一个开源的区块链平台,通过分层配置结构实现在P2P网络上支持多种子区块链,由硅谷顶级区块链专家团队研发,突破了异步合约调用、合约分片处理和跨链操作等当前业界难题,平台的扩展能力和对合约的处理速度远远优于当前的智能合约平台,是一款真正可以部署商业应用的区块链产品。


墨客产生的原因,是基于目前最火热的智能合约平台以太坊的速度和扩展能力不足,无法应付大批的代币项目应用的需求。相对于以太坊每秒7-14次交易处理,墨客可以做到100倍,在优化条件下,甚至到1000倍。

那么墨客作为“优化的以太坊”,技术上是如何实现的呢?


1、分层验证

首先是采取了分层,其他系统要么坚持pow,要么坚持pos,要么混合pow+pos,都无法有效利用两者的优点,和避免两者的缺点。墨客采取底层物理网用pow,上层智能合约分片的逻辑子网采用可插拔的共识机制,可以根据需要使用pospbft或者其他共识机制,从而实现根据需求采用适合的共识机制的效果。

 

分层架构


2、分片技术

最近,Vitalik Buterin终于也提出了以太坊2.0的分片理念,主链上使用一个特殊的Validator Management Contract合约对分片子链进行管理这与墨客的系统合约(System Contract的理念极为相似。分片 里面的具体数据、交易甚至是用户空间主链都是不关心的主链也不会存储相应的数据。主链只会存储子链区块的头部(header)内容。可以看到,这样的处理办法主链将变成子链管理员和协调员的职责。不过,这样带来的后果是主链和子链变成完全相互依赖纠缠超紧耦合tight coupling。这种紧耦合带来的第一个后果就是数据查询的困难和用户使用的困难,这甚至导致Buterin需要再抛出一个所谓的无状态客户端(stateless client)的新概念才能解决这些困难,而且这个无状态客户端也还只存在于概念之中。并且根据Buterin的路线规划以太坊2.0要实现分片子链,要到2019年甚至2020年才能出来。

相对于以太坊2.0的双向依赖的超紧耦合设计,墨客采取了单向依赖设计,主链不必依赖于子链的存在。 主链的系统合约(System Contract)会对子链的生成,分片,分配,数据存取更新以及子链的最终清除进行管理。在墨客的世界里,子链是一个逻辑的存在。物理上同样一台用于子链的机器可以现在用在这个子链上,一段时间后就被利用到另一个子链。这样, 墨客可以灵活的分出无数逻辑子链,使得并行计算成为可能,解决了业界一大难题,大幅度提高处理速度,为此可达到Visa级别的交易规模。

 

分片技术


3、异步调用

以太坊的同步智能合约调用,智能合约的返回和区块共识绑定在同一个区块,导致智能合约处理的总额受到区块时间限制。墨客采取了异步智能合约调用,使得调用和返回可以跨区块而不受到区块时间限制,大大增加了同时处理智能合约的数量。


     4、跨链

通过异步智能合约对区块的跨越,使得墨客可以对区块产生时间不同的区块链进行原子跨链操作,使得墨客成为具有跨链能力的区块链底层系统。异步调用智能合约从启动到完成,可以跨区块,不再限死在一个区块完成,这样大大加快了墨客的吞吐量,同时具有进行不同区块链的跨链功能。不同的区块链,具有不同的产生区块的时间,例如,在墨客上设定一个购买以太坊ERC20代币的合同,那么就可以在5秒钟里面,跨出墨客当时的区块,然后合同通过链外通讯,等待以太坊25秒的区块完成对应买卖,再在第N+2个墨客区块,完成这边的交易。如果以太坊相应的交易失败,墨客上将自动回退这个交易。这种原子交易,完全不同于目前各种跨链的第三方角色通过建立一个中间托管账户来完成的交易。在合约中,还可以定义看几个确认区块,再完成交易。而其他区块链系统缺乏异步调用合同功能,是无法进行跨链原子交换的,这是墨客的优势。

跨链原子交换技术


5、可拔插验证自建区块链产品,

在过去,新的想法意味着要建立一个新的区块链。需要设置服务器,开发团队,建立社区,吸引新用户等,需要大量开销来实施新的区块链想法。而墨客链上线以后,这些想法便可以轻松以子链的形式在墨客链上进行实验验证,无需巨大的额外开销。


6最大限度降低分叉的需求

之前的区块链产品一旦区块链被部署和进入生产模式,很难在功能上进行添加/修改/删除。 这样的修改要么是软分叉或者硬分叉。处理分叉需要巨大的努力和承受由此带来的经济和社会后果。而墨客链的架构增加了系统合约,使得大部分有争议的升级可以以智能合约的形式出现,使得区块链的在不分叉的情况下改进成为可能。