今天继续学习墨客创始人陈小虎的系列文章,部署子链合约、在去中心化的公共区块链网络中使用子链。
一、部署子链合约
在这篇文章中,主要介绍了子链的功能概况和功能模块。
子链合约定义了用户DAPP所需的子链控制功能和业务逻辑功能。子链的控制功能包括:
1、所采用的协议、子链的SCS个数、子链刷新周期、子链每个区块的报酬和每个TX的报酬
2、SCS参与子链的调用过程,以及子链的刷新过程
3、子链的资金控制
以上定义了子链的基本特征,对子链的运行过程进行了约束与控制。
子链的业务逻辑定义SCS节点运行的业务流程。这个业务逻辑可以是基于solidity的binary代码,也可以是任意语言的script或者bin代码,只要SCS模块能够执行。业务逻辑部署在墨客区块链上层,即子链SCS节点层面。
子链的控制功能在底层v-node端以全局合约的方式执行,业务逻辑由上层执行。
墨客提供一个POS 子链的实现,SubchainBase.sol。可以认为这是墨客为子链实现提供的样本案例。
文章第二部分列出了目前子链的功能模块,共计16项,在此不一一列举。
二、在去中心化的公共区块链网络中使用子链
在之前的诸多讨论中,我们已经了解到,墨客区块链通过子链这一创新性的技术架构,实现了灵活性、独立性、高性能和跨链功能。在这篇文章中,陈小虎对子链具有的优势进行了详细的论述,本小白就不做个人解读了,摘录如下:
1、母链使用类似以太坊的工作量证明机制(PoW),因此可以部署在公共设置的环境中。我们对母链进行了优化,可以处理全部转账交易以及全局智能合约,实现的每秒交易数为900tps。目前我们的实时主网络已经有1%的以太坊网络算力,并且该算力仍在增长。
2、将每个去中心化的应用作为一个子链,在母链上进行部署。子链可以从大型已注册的矿池中选择SCS挖矿节点,为应用程序提供共识协议等。子链拥有单独的区块链,子链可以自动实现分片技术和本地状态存储。
3、去中心化的应用可自由选择适合其需求的最佳共识协议。我们提供了模块化的共识协议。如果去中心化的应用要部署自己的共识协议,则去中心化的应用开发人员可以方便地更换新的共识模块,以便快速部署最适合他们需求的子链。
4、去中心化的应用开发商将支付其区块链矿工和服务的所有费用,去掉通常情况下应用用户需要支付手续费的使用要求。因此,去中心化的应用用户不会仅限于加密社区内部。任何用户都可以下载应用程序并使用其功能,而无需事先获取任何通证(以支付交易的手续费)。
5、子链将保持与母链一样的安全级别,因为子链的矿工不会直接互通,而是通过母链的点对点网络相互联系。在实际情况下,所有子链每秒能处理的交易数将达到10000+左右。
6、我们已经实现了刷新机制,以允许子链将其状态哈希刷新到母链中以实现最终性。
7、子链的跨链功能还可以作为墨客系统与外部网络之间的桥梁,包括其他区块链、物联网网络、星际文件系统网络和现实世界等。
8、我们精心设计了子链层挖矿,以允许普通用户加入矿池并支撑去中心化的应用子链的共识,从而在各个区块产生后获得奖励。这种挖矿将吸引10万甚至100万用户参与,以更广泛的方式进行通证重新分配,并大幅扩大生态系统。
9、子链不仅可以用于单个去中心化的应用,还可以提供服务。例如:一个子链可以使用权益证明(POS)来处理智能合约,可以看成一个CPU处理器;另一个子链可以使用去中心化文件系统(IPFS),类似于文件系统。因此,只要去中心化的应用支付相应费用,就可以在多个服务子链之上建立去中心化的应用,使其更加强大且功能丰富。
从上述的深度解读中可以看出,子链有效提升了区块链的处理性能,在保证安全性的同时,极大丰富了区块链的应用灵活性,子链和子链、子链和外链,可以相互连接调动,从而形成一个丰富的DAPP协作网络,依托该网络可以建立起来庞大的DAPP生态,实现大规模的应用落地。相信作为区块链3.0技术的代表,墨客将最终实现这一宏大目标,把我们带入区块链的新时代和人类发展的新时代。
网友评论