moac吧 关注:61贴子:63
  • 0回复贴,共1

墨客团队高级区块链工程师徐卿和维佳分享墨客的技术特点

只看楼主收藏回复

徐卿:大家好,很高兴在这里与大家做一次技术分享,这次的主题,主要是由我和大家分享一下MOAC的技术以及维嘉和大家谈一谈落地的那些事,我尽量做到深入浅出,谢谢。首先请允许我贴一段我们白皮书上对于MOAC的官方介绍:MOAC项目旨在提供一种可扩展且有弹性的区块链,通过分层化的结构来支持数字资产交易、数据访问和流程控制。它创建了一个框架以允许用户用高效的方式执行智能合约。它还提供了开发的体系结构,采用底层基础设施来快速简便地产生子区块链。它是一个区块链平台,可以为子区块链的架设提供必要的部件,同时为新想法的测试,私有链的部署,复杂任务的处理和智能合约的应用提供解决方案。
这段话其实是比较拗口的,可能有些童鞋读了以后当时就想放弃读下去,但是,我们可以从下面几个点来切入,最后我们再来看这段话。首先是墨客的分层结构,MOAC一共有五层,最底层是P2P网络层,这层完成基本节点之间的数据传递,每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。往上一层是区块链层,这层完成和区块链特性有关的操作,比如共识和区块数据的存储。中间层是交易层,用于主链交易和子链的交易传递。以上三层在MOAC中称为vnode,并且主链采用pow方式进行共识。再往上是智能合约层,我们称之为scs,用于执行子链的智能合约,并且在子链中也有合约状态的存取,在合约执行消耗上,我们设置主链消耗远高于子链。换句话说,我们推荐大家使用子链来完成dapp。最上层是应用层,我们提供API接口来简化墨客上链流程。可以说,我们让不同的层各司其职,来完成不同的需求。
然后我讲几个MOAC的特色:
1.系统合约
MOAC在vnode端内嵌了系统合约,系统合约会在每个主链区块产生时被触发,系统合约可以存储scs的注册信息,并且判断scs是否合法。此外,系统合约还能完成定时交易的注册和触发执行,系统合约可以说是MOAC的一个创新,我们可以理解为一个在主链区块产生时默默工作的机器,保证这个区块的安全和稳定。
2.分片(Sharding)
首先我们要讲一下为什么要引入分片的概念,在沒有分片的情況下,整个网络的处理速度就是单一节点的处理速度,节点数的增加,并不会提高整个系统的处理速度,相反,由于节点多对网络的影响,速度更慢了。MOAC采用分片技术,将整个系统分成若干片,参与的节点越多,可分出的片越多,整个网络同时处理智能合约的数量就越多,那么处理的并发能力越强,这个点其实可能大家在很多的其他项目白皮书上也有看到,以太坊也想做这个来解决他”慢“的问题。我们已经在vnode上实现对不同dapp合约的分片。
3.子链(subchain)
子链是建立在scs上的一个个小的区块链。我们同样采用了子链合约来进行子链的部署,并且把原本需要在主链上执行的智能合约移到子链上执行,子链上同样产生区块,并且会在需要时把合约状态flush到主链上,这样可以从侧面提高总的吞吐容量。此外,MOAC在子链上会支持可插拔的共识协议。为了确保智能合约在子链上的安全有效,MOAC在分片的基础上同时在scs上做了子链,其结构和主链是完全分开的,这样,很多dapp的调用可以直接在子链上完成,主链不会因为某个子链的疯狂调用而卡死。
4.跨链(Crosschain)
跨链是MOAC的另一大特色。举个以太坊例子,除了MOAC节点外,我们需要一个以太坊的litenode。其次,跨链必须采用异步模式。在SCS上,有一个stub监控以太坊节点上的交易,假设在MOAC和以太坊的节点上分别有一个交易可以配对,则SCS将会促成这笔交易完成。两边的交易都是通过智能合约来实现,任何一边交易有问题,stub将会回滚交易。这个是MOAC的另一个特性,设计初衷是为了解决和别的主流区块链之间的数据交换问题,我们希望在未来区块链和区块链之间的数据不会是相互封闭的。
所以回过头来看那段话:MOAC项目旨在提供一种可扩展且有弹性的区块链,通过分层化的结构来支持数字资产交易,数据访问和流程控制。它创建了一个框架以允许用户用高效的方式执行智能合约。它还提供了开发的体系结构,采用底层基础设施来快速简便地产生子区块链。它是一个区块链平台,可以为子区块链的架设提供必要的部件,同时为新想法的测试,私有链的部署,复杂任务的处理和智能合约的应用提供解决方案。
MOAC希望做出一个生态系统,让每个潜在的应用都在自己的分片子链中完成自己想做的事情,同时又能把数据定时传回到主链上,完成当前区块链的事情。
维佳:接下来谈谈dapp落地的那些事。墨客应用情况,我从接触的情况大致说下,不一定准确,墨客支持的应用类型,我分成五大类:
1. 主链智能合约应用,erc20(ICO发币), erc721(比如以太猫应用)等;
2. 子链的原生币自有生态应用,子链智能合约应用,erc20(ICO发币), erc721(比如以太猫应用);
3. 子链通过智能合约实现复杂的业务逻辑;
4. 创建子链,定制子链的共识算法与其他参数,支持通证应用;
5. 基于墨客的跨链应用。
其中子链相关的,包括跨链相关的应用,是墨客特有的支持的应用生态类型,其中第4条,支持通证类应用,墨客链将使得现在比较火的通证从概念阶段走向落地,在各位老大,以及销售与业务人员大量的努力下,我们现在签约与有明确意向要使用墨客链的团队有如下:
1.智能投顾,线下有完整团队,之前在股票市场做智能投顾,转到区块链行业,转到墨客上,白皮书已经很完善,商业模式很清楚;
2.游戏币(元宝币),游戏上市公司做游戏,刚转到区块链行业,正在准备白皮书中;
3.非州太阳能项目,已经签约;
4. B端的新零售,已经开发出第一版h5应用程序,另外北京一家门店业务使用智能合约完成(前期方案讨论中。。。);
5.陨石,黄金,黑金,石油,以及奢侈品上链等(正在讨论方案中)。
涉及到团队的名称都已经隐去,相信在墨客主链上线不久,将有一大批应用,在墨客上边安家,发芽,成长状大,进一步促进墨客生态的发展,看了一些底层平台的白皮书,感觉现在很多的区块链底层开发团队,还是以改进以太坊的问题为主,包括通过分片提升交易速度等,而墨客的子链功能,有可能是下一代底层平台的重要特征,这个是真正有质的不同的创新。
问:徐老师好,分片的划分机制和流程是什么?分片和子链之间是什么关系?墨客和以太坊跨链的速度是否受以太坊本身交易速度制约?谢谢
徐卿:分片一部分功能由系统合约完成,主要逻辑在vnode端处理,会根据不同的调用给出不同的上层scs来完成dapp逻辑,原则上一个dapp所在的分片是固定的。特殊情况我们有考虑,比较复杂,这里不多说了。我们特别推荐在子链上跑应用(发erc20我们在这里先定义为应用的一种)。今天我没有讲MOAC的经济系统,其实在主链上跑应用是可以的,但是这不是我们的初衷,我们故意把主链上的应用消耗定的贵一些。
问:徐卿好,子链可以叠加或者嵌套么?看起来子链的结构可以跟主链的结构雷同,那么是不是可以在子链上再加一层的子链?
徐卿:我们有考虑这个问题,但先会完成一个基础的子链版本,毕竟嵌套调用复杂度更高,需要认真设计测试。
问:看过小虎写的moac的经济系统的构思,确实是比较复杂的。建立子链的技术门槛高吗?moac会不会提供几条常用的子链给大家使用,或者模仿?
徐卿:门槛有,但是我们下一步计划就是降低这个门槛,尝试让大家使用一些工具和控件来搭建自己的子链。


IP属地:山东1楼2018-03-15 12:56回复