应用链

应用链(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(Smart Contract Server)完成。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

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