摘要:公有链是指全世界任何人都可以随时进入到系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化”的,因为没有任何个人或者机构可以控制或

公链又称“公有链”,我们所熟知的比特币便是世界上的第一个公有链。所有公链和私链的区别就在于链上的节点是否是自己可控的;比特币、以太坊便是大家最常见的公有链。

公有链是指全世界任何人都可以随时进入到系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化”的,因为没有任何个人或者机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制(Token)来鼓励参与者竞争记账,来确保数据的安全性。

浅谈区块链的底层架构之HonorDecent的执行器及Blockchain模块-区块链315

而时下最流行的HonorDecent便是公有链项目,HonorDecent是一种简单稳定、拓展性强的公有链网络。它是全球第一条实现了区块链技术的公有链网络。HonorDecent的公链技术实质是一条独立的应用链,这些应用链共享HonorDecent的SPOS共识,从而实现低成本部署极具公信力的公链系统。但这并不代表链完全受制于主链,它亦是一条相对独立的区块链网络,可以编写多种智能合约,如发行各种Token、开发Dapp、拥有独立的钱包、独立的区块链浏览器等等,链的交易由自己的节点来验证、校对,而不影响主链。

在HonorDecent公链的主网上有一个"管家",专门负责安排区块链主网上的各种交易事务。这个管家就是HonorDecent的执行器模块。

在HonorDecent主网上,我们转账一笔HonorDecent通常要经历交易检验,交易执行,执行后的交易数据打包,数据区块广播同步,最后上链数据确认无误,可提供给用户查询等一系列步骤。这些过程都是由智能合约自动执行,而执行器模块的任务就是接受用户发起的交易,根据交易类型,将交易分配给具体的智能合约执行。同时执行器负责响应区块链上的各种事件执行交易,新增区块,回滚区块等,同时针对这些事件派发给具体的智能合约执行。

浅谈区块链的底层架构之HonorDecent的执行器及Blockchain模块-区块链315

HonorDecent项目的blockchain模块主要实现HonorDecent主网的消息接受处理功能、数据区块识别同步功能、数据区块存储验证功能。且分别由对应的三个功能子模块来实现,分别是:消息接收模块,区块同步模块和区块存储模块。消息处理模块:消息处理模块主要是接受其他模块发起的请求区块信息查询消息以及其他模块广播过来的区块交易信息。区块同步模块:区块同步模块主要是在节点起动之后,比较网络中peer最新高度和自己的高度,如果自己的高度比peer的最新高度低就主动发起block的同步请求追赶主链。区块存储模块:区块存储模块主要是将区块以及交易信息按照不同分类存储到数据库,方便其他模块的查询。实现主网区块的同步存储中,Blockchain模块同时能够实现同步过程中的最优链检测,分叉区块的检测回滚,故障节点的检测恢复。最优链的检测:定时获取网络中和自己在同一条主链上的peer节点。同步区块数据时只从最优链的节点同步数据,从而保证同步过来的区块能关联起来。分叉区块的检测和回滚:定时检测自己最新高度的blockhash和peer中最长链中对应高度的hash是否一致。不一致就会从peer节点向后请求指定block数量的header信息寻找分叉点,然后从分叉点重新请求blocks数据。故障节点的检测和恢复:从某个节点广播或请求的区块在本节点执行不过时,需要将对端peer节点标记成故障节点,不再从该节点同步数据,也不再处理从该节点广播过来的区块。直到故障节点回滚区块恢复之后将该节点从故障节点中移除。