第十三篇 墨客区块链(MOAC BlockChain) 一文读懂墨客子链

北京时间8月8日,墨客区块链底层节点全部更新到Nuwa 1.0.1,墨客子链(MicroChain)功能正式上线。

用户在下载和安装好SCS软件(或者购买SCS硬件盒子)后,可以注册到子链节点矿池(SCS pool)中参与子链挖矿,并获得挖矿收益。

用户也可以在墨客区块链创建并拥有自己的子链,运行自己的区块链业务。

本文不含任何代码,让每个人都能读懂墨客子链。

1.墨客子链的初衷

简单说,就是提供去中心化、安全且可扩展的区块链底层技术。

1.1 对DAPP友好

当前区块链底层技术对DAPP不够友好,主要表现在:

    a) 对于区块链的小白来说,DAPP的用户的学习曲线非常陡峭。

    b) 维护DAPP运行的成本不公平的偏向于DAPP的创建者。DAPP的创建者不需要为系统的维护支付任何费用,而是把消耗系统资源的成本转嫁到了DAPP的用户身上。

    c) 不利于构建DAPP的生态。

基于墨客区块链的DAPP可以做到跟传统的DAPP一样,用户从APP store下载了之后就可以立刻免费或者以很低的成本使用APP。而不需要关心底层的区块链是什么样的,也根本不需要关心如何获得和支付gas费。

1.2 共享

目前主流区块链的分配方式是通过挖矿。其理想是每个拥有计算机和网络的人都可以参与挖矿,并获得虚拟货币。这样,使得资产的分配过程去中心化,让更多的人可以获得并使用它,而不是控制在初始的少数人手里。但现实是挖矿已经变得非常昂贵,只有支付得起巨额的矿机和昂贵电力费用的人才能在这个分配过程中受益。

墨客区块链通过子链技术,使得更多的人、用更少的成本能够参与进来,从而实现有效的、更加去中心化的二次分配过程。

1.3 增加TPS

通过子链技术成百倍地增加TPS,使区块链应用真正能够落地。

2.墨客子链的实现技术

2.1 分层架构

墨客区块链采用分层架构。底层(节点称为VNODE)采用POW的共识协议,解决全局一致性的问题。上层(节点称为SCS)采用分片技术,通过POS、PBFT或者自定义共识协议的方式实现子链功能。同时,子链采用定期刷新的机制将自己状态的hash写入底层区块链,以实现一致性。

通过分层,底层主要处理全局交易和合约,以及对子链的调用,用户的业务逻辑在上层的子链中执行,提高系统TPS至100倍。

2.2 分片技术

墨客区块链是通过分片技术实现子链的。分片是把网络中大量的SCS节点分成较小的、能灵活组合和更容易管理的小组。

墨客区块链分片采用合约驱动的模式。一个合约对应于一个系统分片,也就是一条子链。

采用面向节点的分片,可以使得处理能力与节点数量线性相关。SCS节点越多,分片就可以越多,子链也就可以越多,当然TPS就越高。

2.3 工作机制

墨客区块链子链工作机制灵活高效,其特点包括:

    a) 每个分片有自己的存储,就是子链。

    b) 可以有不同于底层的共识方式,比如pos,pbft、或者自定义共识方式。

    c) 区块生成时间可以与底层不一致,比如可以采用快速的区块周期来进一步提高处理速度。

    d) 子链周期性的向底层flush结果,从而获得阶段性的全局一致性。

举例来说,用户可以根据自身DAPP的需要,通过参数设置实现:

    a) 需求SCS节点数21个,pbft共识机制,15秒一个区块;

    b) 需求SCS节点数100个,pos共识机制,30秒一个区块;

    c) 需求SCS节点数50个,自定制共识机制,60秒一个区块。

2.4 挖矿机制

整个系统的处理速度上去之后,会对VNODE的要求更高。体现在两个方面,一个是网络的带宽,另一个是存储的容量。当然还有每个节点的GPU运算能力。对于普通用户而言,因为有SCS可以参与挖矿,并不一定需要部署一个VNODE,只要有信任的VNODE可以连就可以。这样墨客系统就形成两个层次的挖矿节点:

    a) 大量运算能力强大、高网络带宽、大存储的VNODE,执行POW,并提供SCS接入服务,维持整个网络必须的挖矿能力,这个数量在一万到十万。

    b) 海量cpu–based的SCS用于处理合约的执行并获得收益。针对子链的共识多样性,这样的SCS节点甚至可以是手机等移动设备。在目前的架构下,可以有几十万甚至几百万的SCS参与,而不会影响系统的性能。

 

3.墨客系统中的角色

USER:使用子链DAPP的用户

DAPP SERVER:DAPP项目方或开发者

MINER VNODE:主网挖矿节点

PROXY VNODE:主网代理节点,用于提高子链节点的稳定性

SCS:子链矿工节点,参与子链业务逻辑

MONITOR SCS: 只用于查询子链业务状态,不参与共识

智能合约: 此处仅解释与子链相关的智能合约:

  • 子链矿池智能合约subchainprotocol:用于子链SCS节点矿工加入矿工池;
  • 代理智能合约vnodeprotocol:用于主网VNODE提供代理功能,加入代理池;
  • 子链控制合约subchainbase:用于子链控制逻辑,子链生成前和生成后的一系列控制逻辑;
  • 子链DAPP智能合约dappcontract:用于部署子链业务逻辑的合约;

DAPP用户部署子链时,只需要关注子链控制合约和子链DAPP智能合约。

 

4.SCS

运行SCS的两种方法:

 

5.部署子链的流程

猜你喜欢

转载自blog.csdn.net/lyq13573221675/article/details/81501978