• 注册
  • 墨客科普 墨客科普 关注:34 内容:79

    【基础】墨客的基础链和应用链

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 墨客科普
    • 大版主
      墨客战士

      基础链

      基础链(BaseChain),或称母链(MotherChain)是一个使用工作量证明为共识算法的区块链,可为智能合约和DApp解决数据存储和计算处理工作,是MOAC的主要部分,可以支持多种应用链(AppChain),又称子链(MicroChain)。

      工作量证明 Proof-of-Work(PoW)算法是一种行之有效的措施,可以阻止并最终禁止第三方干扰,包括拒绝服务攻击,其他服务以及网络滥用(如垃圾邮件)。 PoW要求服务请求者提供一些工作量证明,通常是在规定的处理时间内由计算机完成特定处理任务,从而消除错误的系统威胁。 在MOAC平台上,母链是处理交易和其他区块链操作、共识和数据访问的公共区块链层。MOAC还支持使用应用链来实现其他共识算法 。

      除了POW对事务和数据存储集的共识之外,每个POW节点都与一个或多个智能合约服务器(SCS)相关联。 SCS节点可以是POW节点的本地节点,也可以是远程节点。 SCS标识可由相应的POW节点或验证节点(VNODE)完全验证。

      MOAC 系统的区块大概每10秒钟达成一次共识,挖出区块的奖励在最初为2个MOAC币。

      这一奖励每12,500,000个区块减半,大致相当于约四年时间。

      在挖出15,000,000个区块之后,奖励变为常数,即每个区块0.1 MOAC。

      MOAC母链每年将通过挖矿大概产生600万个通证,进一步增加流通中的供应量。到2058年,总供应量预计将达到2.1亿枚。

      在MOAC系统中, 1 MOAC = 1,000,000 Sand. 1 Sand = 1,000 Xiao.

      Block# Reward (1 MOAC = 1,000,000 Sand)
      1-12,500,000 2 MOAC
      12,500,001 - 25,000,000 1 MOAC
      25,000,000 - 37,500,000 0.5 MOAC
      37,500,001 - 50,00,000 0.25 MOAC
      50,000,001 - 62,500,000 0.125 MOAC
      > 62,500,001 0.1 MOAC

      Transaction fee is paid in two ways. One is through Transaction. The other is for Smart Contract or sub chain. Smart Contract Call cost is set lower than underlying transaction in purpose, thus encouraging the usage of SCS. This can alleviate the pressure on the underlying layer, and also benefit the SCS providers.

      基础链交易数据结构

      MOAC母链的交易数据结构与以太坊的相比,加入了三个新变量:

      type txdata struct {
        AccountNonce   `json:"nonce"    gencodec:"required"`
        SystemContract `json:"syscnt" gencodec:"required"`
                  `json:"gasPrice" gencodec:"required"`
        GasLimit       `json:"gas"      gencodec:"required"`
        Recipient      `json:"to"       rlp:"nil"` // nil means contract creation
        Amount         `json:"value"    gencodec:"required"`
        Payload        `json:"input"    gencodec:"required"`
        ShardingFlag   `json:"shardingFlag" gencodec:"required"`
        Via            `json:"via"       rlp:"nil"`
      
        // Signature values
        V `json:"v" gencodec:"required"`
        R `json:"r" gencodec:"required"`
        S `json:"s" gencodec:"required"`
      
      }

      基础链节点客户端(VNODE)

      VNODE 客户端是接入MOAC母链的软件。VNODE 客户端可以进行母链的POW共识,并和应用链的SCS客户端相连,以支持应用链的共识。 客户端的更新可以在 MOAC GITHUB 上查看到。

      应用链

      应用链(AppChain),也称子链(MicroChain,SubChain)是在母链之上的独立的区块链系统。应用链中的每个节点称为SCS,SCS的通讯通过母链,并定期向母链进行数据背书。其主要目的在于分流母链中的业务逻辑,把一些比较繁琐的业务操作放在应用链中执行。

      应用链架构于母链上层,每个应用链都可以拥有自己独特的共识系统和算法。

      例如,想要获得快速高并发的交易效果,您可以创建一个使用股权证明Proof-of-Stake(PoS)共识模式的应用链。POS是区块链网络旨在实现分布式共识的一种算法。

      采取POS证明共识的区块链,依赖网络中的验证节点来检验交易,而不像严格的工作量证明(PoW)那样需要处理大量数据。在股权证明共识中,下一个区块的创建者是根据诸如持币量或币龄等因素(即股份)的随机算法来选择的。

      股权证明系统的优点在于它可以完全扩展到企业量级的交易、能效高并支持多种交易。随着网络中的节点数量增加,其验证能力也会同步提升,在无需不断地访问母链的情况下,允许DApp应用链开展小额交易。

      除了股权证明和工作量证明外,MOAC平台还可以支持额外的即插即用共识系统,例如活动证明(Prove of Activity)、销毁证明(Proof of Burn)、耗时证明(Proof of Elapsed Time),存储证明(Proof of Capacity)等。

      由于应用链间是隔离的,因此它们可以在一个实例中为智能合约运行不同的虚拟机。这使应用链能够启动各种业务逻辑并为DApp提供公共服务,包括部署类似IPFS的文件系统、构建用于数据存储的传感器网络,甚至还可以通过应用链实现人工智能服务。

      由于DApp部署在开发人员选择的虚拟机中,因此不需要额外编程。MOAC可以通过更低的费用运行现有的以太坊智能合约,开发人员可以利用平台的API扩展现有的智能合约功能,而无需学习如何编程区块链。

      通过使用自己独特的虚拟机和应用链隔离每个智能合约,MOAC平台可提高智能合约执行效率,并使低成本的处理费用成为可能。这显著降低了开发人员的部署成本,并使他们能够构建基于高交易量的DApp。

      应用链的验证过程由应用链客户端(SCS)完成,SCS节点随机组合,支持动态增减。

      应用链支持分片,每个分片都能独立完成业务逻辑。

      应用链本身是以智能合约的方式部署到MOAC平台上,其共识方式、节点组成和业务逻辑都在应用链合约中定义。

      • 应用链节点控制合约(AppChainProtocolBase),用于定义SCS节点共识方式和如何包括SCS节点矿工加入应用链;

      • 应用链逻辑控制合约(AppChainBase):用于应用链控制逻辑,应用链生成前和生成后的一系列控制逻辑;

      • 应用链合约控制(DappBase):用于控制合约在应用链上的部署,一条应用链可以部署多个合约;目前有两类控制合约,一类是仅允许应用链的部署帐号,即拥有者(owner)在应用链上部署合约,而另一类则没有这个限制;

      • 应用链DAPP智能合约:用于部署应用链业务逻辑的合约,每个应用链可以部署多个DAPP合约;

      应用链客户端(SCS)

      应用链客户端,原称智能合约服务器 Smart Contract Server(SCS) 是支持应用链运行的节点软件。 SCS通过VNODE代理节点接入MOAC母链。 目前有两种应用链客户端,分别支持对应的应用链 * ProcWind 节点:支持PoS共识的应用链;ProcWind 应用链 * FileStorm 节点:支持PoS共识和IPFS功能的应用链;FileStorm 应用链

      当前,按在应用链中的功能分,有如下几种SCS节点类型: * 参与业务逻辑的SCS * 用于业务监控的SCS * 准备参与业务逻辑的SCS

      与基础链节点不同的是,每一个应用链客户端可以同时接入多条应用链,而基础链节点只能接入一条基础链。

      请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 偏好设置
    • 返回顶部
    • 帖子间隔 侧栏位置: