本申请要求在2018年8月28日提交中国专利局、申请号为201810986825.3、发明名称为“区块链标准应用模型及其应用方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
发明内容
本申请提供了一种区块链网络接入方法及***,以解决传统区块链接入方法接入效率低的问题。
一方面,本申请提供一种区块链网络接入方法,包括:
请求链节点连接公链节点,触发公链中维护节点执行投票合约;
公链节点通过执行投票合约创建投票交易,对于请求链的邀约进行投票,以及在公链网络内广播所述投票交易;
公链网络中各维护节点根据接收到的所述投票交易生成投票结果;
维护节点通过投票合约确定的统计规则统计投票结果;如果统计结果满足预设注册条件,向请求链节点发送准入信息;
请求链节点根据准入信息向公链发起注册交易,触发公链中的维护节点执行注册合约,所述注册交易包括请求链地址以及所能提供的服务内容信息;
维护节点通过执行注册合约向公链中的节点广播请求链地址和服务内容信息。
可选的,所述预设注册条件包括投票结果为同意上线的维护节点数量,大于或等于数量阈值;
或者,在预设时间结束时刻投票结果为同意上线的维护节点,占节点总量的比例大于或等于比例阈值。
或者,在预设时间结束时刻投票节点所持的公链证通的数量,占公链证通总量的比例大约或等于比例阈值。
可选的,公链网络中各维护节点根据接收到的所述投票交易生成投票结果的步骤还包括:
将所述投票结果作为区块数据在公链网络中广播。
可选的,请求链节点连接公链节点,触发公链中维护节点执行投票合约的步骤前,所述方法还包括:
在请求链连接公链网络后,由请求链节点在公链创建接入账号;
请求链节点通过接入账号从公链获取公链证通;
请求链节点根据接入账号创建接入指令,所述接入指令中包括用于奖励维护节点的预设数量公链证通。
可选的,请求链节点连接公链节点,触发公链中维护节点执行投票合约的步骤前,所述方法还包括:
公链网络中作为测试链的节点,通过向请求链发起测试交易,对请求链进行兼容性测试;测试链节点至少包括公链中与请求链连接的接口节点;
测试链节点根据请求链返回的测试交易结果,判断请求链是否通过兼容性测试;
如果请求链通过兼容性测试,为请求链配置智能合约。
可选的,所述兼容性测试包括:网络寻址、交互协议规则、智能合约支持、服务注册、服务发现、服务提供、安全性、可靠性、公链证通储备测试。
可选的,请求链节点连接公链节点,触发公链中维护节点执行投票合约的步骤,包括:
从公链网络或请求链网络中选取作为平行链的节点;
平行链节点获取请求链的全部功能程序和信息;
公链为平行链节点配置智能合约,以形成跨链桥接。
可选的,维护节点通过投票合约确定的统计规则统计投票结果的步骤包括:
投票合约根据维护节点所拥有的公链证通数量,计算每个维护节点的投票权重;
投票合约根据投票权重以及每个维护节点的投票结果,生成统计结果。
可选的,维护节点通过投票合约确定的统计规则统计投票结果的步骤后,所述方法还包括:
当前维护节点通过投票合约接收其他维护节点的投票结果;
当前维护节点根据统计规则统计投票结果,生成统计结果;
当前维护节点将统计结果生成区块数据在公链网络中广播;
所述公链网络中的其他节点在接收到所述区块数据后,将区块数据保存至本地完成区块数据同步。
另一方面,本申请还提供一种区块链网络接入***,包括公链和连接公链的请求链,所述公链和请求链均为包括多个节点的点对点网络,每个节点具有独立的运算能力;其中,所述公链中内置有智能合约,所述智能合约包括投票合约和注册合约;所述公链网络中的部分节点作为维护节点;
所述请求链中的节点被配置为:连接公链节点,触发公链中维护节点执行投票合约;根据准入信息向公链发起注册交易,触发公链中的维护节点执行注册合约,所述注册交易包括请求链地址以及所能提供的服务内容信息;
所述公链中的节点被配置为:通过执行投票合约创建投票交易,在公链网络内广播所述投票交易;根据接收到的所述投票交易生成投票结果;以及通过投票合约确定的统计规则统计投票结果;如果统计结果满足预设注册条件,向请求链节点发送准入信息;以及通过执行注册合约向公链中的节点广播请求链地址和服务内容信息。
由以上技术方案可知,本申请提供一种区块链网络接入方法及***,所述方法在实际应用中,请求链节点连接公链节点,先触发公链中维护节点执行投票合约,使公链节点通过执行投票合约创建投票交易,以及在公链网络内广播所述投票交易,公链网络中各维护节点根据接收到的所述投票交易生成投票结果,以及通过投票合约确定的统计规则统计投票结果。如果统计结果满足预设注册条件,向请求链节点发送准入信息。请求链节点根据准入信息向公链发起注册交易,触发公链中的维护节点执行注册合约,所述注册交易包括请求链地址以及所能提供的服务内容信息。最后,维护节点通过执行注册合约向公链中的节点广播请求链地址和服务内容信息。本申请提供的网络接入方法,可以通过执行投票合约和注册合约,快速在公链网络中接入请求链,避免对请求链节点进行改造,提高接入效率,解决传统区块链接入方法接入效率低的问题。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
在本申请提供的技术方案中,区块链网络是指具有去中心化应用架构的点对点网络,所述区块链网络能够在网络内部进行分布式存储、公共共识、数字加密、交易记账以及验证。即区块链网络是涵盖了分布式技术、密码学、P2P网络架构以及各种可能被应用的共识算法的交易平台。
本申请中,区块链或区块链数据是指在区块链网络中发生交易时,根据交易信息生成的记账信息,即多笔交易组成一个区块数据,多个区块数据形成一条带有时间戳的区块链。区块链网络中,包括相互建立点对点网络连接的节点,每一个节点都配置有相应的共识机制,如智能合约,并且具有足够的运算能力,以进行交易验证和记账程序。节点上还具有符合某种统一标准的接口规范,以实现通过接口规范接入更多的节点或者其他类型的区块链网络。
本申请提供的技术方案中,公链、请求链、接入链以及平行链为点对点形式的P2P网络,P2P网络由多个节点组成,每个节点具有独立的运算能力、应用运行能力、存储能力以及提供人机交互的能力。实际应用中,P2P网络中的节点不仅是提供网络信息传递的网关设备,而且可以是被区块链网络认证的任何计算机设备,如个人计算机、计算机机组、服务器以及智能终端设备等。在本申请中,交易发生在不同区块链网络之间的称为跨链交易,例如交易由接入链中的节点发起,交易的对象是公链中的节点,或者交易由一个接入链发起,交易的对象是另一个接入链。
参见图1,为一种区块链网络接入方法的流程示意图。由图1可知,本申请提供的本申请提供区块链网络接入方法,包括以下步骤:
S1:请求链节点连接公链节点,触发公链中维护节点执行投票合约。
在本申请提供的技术方案中,公链网络中的节点被预先划分为多个角色,例如:维护节点、存储节点、监督(候选)节点、测试链节点等。其中,维护节点是由运行环境、网络和硬件资源符合规定要求的公链网络中的节点充当。在实际应用中,公链网络中的全部节点均可以作为维护节点,以维持公链网络的一致性和可靠性;也可以令公链网络中的部分节点作为维护节点,以减少公链网络中发送大规模、高并发运算。
实际应用中,公链中的节点被选定作为维护节点后,需要根据公链中预先存储的智能合约为维护节点配置智能合约。其中,智能合约是指为了实现某一个特定的行业处理流程而预先编写的分布式应用程序,例如:投票合约、注册合约、跨链交易合约等。
本申请中,请求链作为接入公链网络的区块链网络,可分为以下几种形式。第一种,具有与公链接口规范相同的形式,即请求链是按照公链网络规范设计和建立的,对于这种形式的请求链网络,可以直接将请求链节点与公链节点进行接口对接,为了便于描述,这种形式的请求链称作子链。第二种,具有与公链接口规范不同的接口形式,即请求链是已经建立好的第三方区块链网络,对于这种请求链,不能直接与公链节点进行接口对接,需要在请求链与公链之间建立具有桥接功能的平行链,以便进行交易转化和信息传递。因此,在本申请中,所述请求链节点连接公链节点对于上述两种情况分别是指,子链节点连接公链节点,和,第三方区块链节点通过平行链节点连接公链节点。
对于步骤S1,请求链节点在连接公链节点后,可以通过向公链节点发起上线指令,触发公链中的维护者节点调用投票合约,并执行投票合约。由于公链网络中包括多个维护者节点,因此在请求链节点连接公链节点时,可以优先确定公链上连接请求链的节点是否为维护节点,如果接入节点是维护节点,则直接有接入节点执行投票合约;如果接入节点不是维护节点,可以由接入节点将上线指令在公链网络中进行广播,以使第一个接收到上线指令维护节点执行投票合约。
在本申请的部分实施例中,如图2所示,在请求链节点连接公链节点,触发公链中维护节点执行投票合约的步骤前,所述方法还包括:
S111:在请求链连接公链网络后,由请求链节点在公链创建接入账号;
S112:请求链节点通过接入账号从公链获取公链证通;
S113:请求链节点根据接入账号创建接入指令,所述接入指令中包括用于奖励维护节点的预设数量公链证通。
由以上步骤可知,本申请在实际应用中,请求链节点连接公链节点,即确定请求链连接到公链网络后,先由请求链节点在公链中创建一个接入账号。接入账号是整个请求链网络所对应的一个账号信息,可以包括整个请求链的唯一识别编码和功能描述信息,以便在后续交易中进行证通转账。
在创建接入账号以后,请求链节点通过接入账号从公链中获取预设数量的公链证通。其中,获取的公链证通数量可以根据请求链的规模以及请求链所能提供的功能热度进行设定,获取的公链证通可以用于在后续维护节点投票验证请求链接入时的奖励,以刺激维护者节点快速完成投票任务。即在获取公链证通后,请求链节点根据接入账号创建接入指令,接入指令中包含用于奖励维护节点的预设数量公链证通。并且,在维护节点做出投票结果后,从接入账号向做出投票结果的维护节点账号转账预设数量的公链证通。
进一步地,如图3所示,在请求链节点连接公链节点,触发公链中维护节点执行投票合约的步骤前,所述方法还包括以下步骤:
S121:公链网络中作为测试链的节点,通过向请求链发起测试交易,对请求链进行兼容性测试;测试链节点至少包括公链中与请求链连接的接口节点;
S122:测试链节点根据请求链返回的测试交易结果,判断请求链是否通过兼容性测试;
S123:如果请求链通过兼容性测试,为请求链配置智能合约;
S124:如果请求链未通过兼容性测试,从软件架构改造请求链中的部分节点作为平行链节点,以符合容性测试要求。
由以上步骤可知,在实际应用中,公链网络中作为测试链的节点在确定请求链接入公链网络后,可以通过运行测试程序,向请求链发起测试交易,对请求链进行兼容性测试。为了直接对请求链进行兼容性测试,测试链节点应至少包括与请求链连接的接口节点。本实施例中,兼容性测试包括但不限于以下方面:网络寻址、交互协议规则、智能合约支持、服务注册、服务发现、服务提供、安全性、可靠性、公链证通储备等。
针对上述兼容性测试,可以根据请求链针对每一项测试内容的返回结果,即测试交易结果判断请求链是否通过兼容性测试。如果所述请求链通过兼容性测试,说明请求链网络支持接入公链网络,则为请求链配置公链中的智能合约。如果请求链未通过兼容性测试,说明以请求链目前的运行状态,无法接入公链网络,或者无法与公链网络发生跨链交易。因此,对于未通过兼容性测试的请求链,可以通过对请求链中的部分节点进行改造,以完成接入。
进一步地,在本申请的部分实施例中,如图4所示,请求链节点连接公链节点,触发公链中维护节点执行投票合约的步骤,包括:
S131:从公链网络或请求链网络中选取作为平行链的节点;
S132:平行链节点获取请求链的全部功能程序和信息;
S133:公链为平行链节点配置智能合约,以形成跨链桥接。
可以通过改造请求链或公链中的部分节点,形成平行链,以桥接的方式实现两个网络之间的对接。在实际应用中,被改造的节点数量根据请求链网络的规模确定,一般仅需改造十个以内的节点即可满足桥接要求,相对于传统方法中对请求链网络中的全部节点都进行改造,可以大大缩短请求链的改造时间,提高接入效率。
S2:维护节点通过执行投票合约创建投票交易,以及在公链网络内广播所述投票交易。
本申请提供的技术方案中,当维护节点中的投票合约被触发后,维护节点针对请求链执行投票合约,并创建带有请求链信息的投票交易。其中,请求链信息可以包括请求链的接入账号和兼容性测试结果。在创建投票交易后,维护节点可以在公链网络中广播创建的投票交易。
对于公链中的节点。一方面,每个接收到投票交易的维护节点还对投票交易进行验证,并且在通过验证后,将投票交易写入区块以便形成不可更改的区块链数据,存储公链网络中。在本申请中,公链网络中的节点为能够进行运算的计算机或服务器,因此,原则上每个节点都设有存储器,具有存储功能。通过分布式存储投票交易,可以对投票交易进行记账,以通过区块链技术的抗抵赖优势,确保投票交易的顺利进行,增加请求链的接入效率。
另一方面,公链中的维护节点可以在接收到投票交易后,根据投票交易做出相应的投票结果。即:
S3:公链网络中各维护节点根据接收到的所述投票交易生成投票结果。
实际应用中,公链中的维护节点对投票交易进行广播,公链中的所有节点都可以接收到所述投票交易,并对投票交易进行验证和存储。而对于被选定作为维护者的节点在接收到投票交易后,会根据投票交易生成相应的投票结果。示例地,所述投票结果包括同意上线和不同意上线两种进一步地,在公链网络中各维护节点根据接收到的所述投票交易生成投票结果后,还可以将所述投票结果作为区块数据在公链网络中广播。
在本申请提供的技术方案中,所述投票结果可以由维护节点,或者所有权益所有者的节点,通过执行投票合约生成相应的投票结果。执行的投票合约中,包括对请求链各个方面需求判断,例如,兼容性判断、证通储备量判断、交互协议规则判断、智能合约支持情况判断、服务注册、发现、提供能力的判断、安全性判断以及可靠性判断等。这些方面的判断程序均可以内置于投票合约中,当公链网络中的维护节点接收到投票交易后,通过维护节点执行投票合约,运行投票合约中的判断程序,对上述各方面进行判断,当出现任一个方面的判断结果为不支持时,即做出不同意上线的投票结果。
S4:维护节点通过投票合约确定的统计规则统计投票结果;如果统计结果满足预设注册条件,向请求链节点发送准入信息。
实际应用中,在维护节点生成的投票结果后,维护节点中的投票合约可以对各个节点生成的投票结果进行统计。由于投票合约是内置在每个维护节点中的分布式应用,因此,维护节点可以通过投票合约获得所有维护节点的投票结果。
另外,实际应用中,由于公链网络采用P2P网络形式,投票交易可以在广播时,从一个节点就近广播,即一个维护节点在创建投票交易以后,先生成投票结果,再向临近节点广播投票交易。广播的投票交易可以携带有生成的投票结果,临近节点再根据投票交易生成投票结果,并再次向临近的节点广播投票交易和已生成的投票结果。公链中的维护节点依次执行上述程序步骤,直到所有维护节点均接受到投票交易。
本申请提供的技术方案中,对于一个投票合约,由发起链触发,并向公链全网进行广播邀约。公链中的节点通过向该邀约进行投票,例如,转账一比金额为0的交易。公链中的维护节点执行投票交易并进行记账,生成区块,再进行全网广播。当满足邀约条件,则由维护节点执行邀约并最终做出投票成功或者失败的结果,并记账,生成区块,再次全网广播。通过上述方式完成的一次投票过程中,投票的参与者可以是全网任意节点,而投票的执行过程是维护节点。
在维护节点生成统计结果以后,可以通过执行投票合约对统计结果进行判断。如果统计结果满足预设的注册条件,则确定请求链能够满足接入公链的要求,因此,可以通过维护节点生成准入信息,再将生成的准入信息发送给请求链节点,以使请求链向公链注册其功能或服务。进一步地,在本申请中,所述预设注册条件可以包括以下两种情况,第一种,投票结果为同意上线的维护节点数量,大于或等于数量阈值;第二种,在预设时间结束时刻投票结果为同意上线的维护节点,占节点总量的比例大于或等于比例阈值。
对于第一种情况,投票合约在执行过程中,每生成一个投票结果即记录一次数量,例如,公链网络中共有100个维护节点,分别标记为GP00-GP99。如果第一个执行投票合约的节点为GP00,则在GP00节点中,先通过执行投票合约,创建投票交易。并在创建投票交易后,通过执行判断程序验证请求链是否可以上线,生成一个投票结果,为同意上线。此时,投票合约记录统计结果,同意上线数量为1,不同意上线数量为0。再将投票交易和投票结果,发送给GP00节点临近的节点GP01,GP01通过上述相同的程序步骤,生成投票结果也为同意上线。此时,投票合约记录统计结果,同意上线数量为2,不同意上线数量为0。依次类推,公链网络中的所有维护节点都通过执行上述程序步骤最终生成投票结果。
如果设定数量阈值是同意上线的节点数量为60个,则在投票合约记录的同意上线数量为60时,确定统计结果满足预设注册条件。例如,在节点GP72执行投票合约时,生成的投票结果为同意上线,而此时投票合约记录的统计结果为:同意上线数量60,不同意上线数量12,则确定统计结果满足预设注册条件。此时,可以由节点GP72通过执行投票合约生成准入信息,并将生成的准入信息发送给请求链节点。
可见,对于第一种情况,投票合约在统计投票结果时,只需要关注同意上线的数量是否大于或等于数量阈值。可以在实际应用中,只需要部分维护节点做出同意上线投票结果后,即可完成上线。因此,请求链的上线效率更高。而对于第一种情况,其投票上线的方式更适合应用在P2P网络。
对于第二种情况,投票合约可以在创建投票交易后,指定一个投票时间,在投票时间内,公链中的各个维护者节点通过执行投票合约分别生成投票结果。例如,公链网络中共有100个维护节点,分别标记为GP00-GP99。如果第一个执行投票合约的节点为GP00,则在GP00节点中,先通过执行投票合约,创建投票交易,创建的投票交易可以包括设定的投票时间,如设定投票时间为48h。并在创建投票交易后,通过执行判断程序验证请求链是否可以上线,生成一个投票结果,为同意上线。
在创建投票交易后,节点GP00对投票交易进行广播,使得公链中的其他维护节点在接收到投票交易后,也分别做出投票结果。在投票时间到达截止时刻,投票合约统计投票结果为,同意上线数量为83,不同意上线数量为17,则投票结果为同意上线的维护节点占节点总量的比例为83%,大于比例阈值60%,则确定统计结果满足预设注册条件。此时,可以由任一节点通过执行投票合约生成准入信息,并将生成的准入信息发送给请求链节点。
可见,通过第二种方式确定统计结果是否满足预设注册条件,可以在公链中维护节点数量变化时,也能够做出相应的统计结果判断,避免因个别节点故障影响判断结果。对于第二种方式,其可以通过设定投票时间的方式,确定统计结果的生成时间,适应于各种类型的区块链网络。为了获得更好的投票统计效果,本申请中,还可以通过两种统计方式相结合的方式获得统计结果。即在维护节点创建投票交易后,设定投票时间。如果在投票时间截止前,同意上线的投票结果数量大于或等于数量阈值时,结束投票,确定统计结果满足预设注册条件。而如果在投票时间截止后,所述同意上线的投票结果数量仍小于数量阈值,则再次对投票结果为同意上线的维护节点占节点总量的比例进行判断,如果同意上线的维护节点占节点总量的比例大于或等于比例阈值,确定统计结果满足预设注册条件。
进一步地,如图5所示,为了获得更加合理的投票结果,在维护节点通过投票合约确定的统计规则统计投票结果的步骤,还包括以下步骤:
S411:投票合约根据维护节点所拥有的公链证通数量,计算每个维护节点的投票权重;
S412:投票合约根据投票权重以及每个维护节点的投票结果,生成统计结果。
本实施例中,由于公链中包含多个维护者节点,因此,在公链网络维护节点确定统计结果是否满足预设注册条件时,可以根据投票合约确定每个维护者节点所拥有的公链证通数量,并且根据拥有的公链证通为每个维护者几点设置相应的投票权重。理论上,维护者节点所拥有的公链证通数量越多,其在投票中所占的权重就越大。具体的权重计算方式,可以根据实际公链网络中发行的公链证通数量来确定。在确定投票权重后,投票合约在根据每个节点的投票结果计算最终的统计结果。
进一步地,如图6所示,维护节点通过投票合约确定的统计规则统计投票结果的步骤后,所述方法还包括以下步骤:
S421:当前维护节点通过投票合约接收其他维护节点的投票结果;
S422:当前维护节点根据统计规则统计投票结果,生成统计结果;
S423:当前维护节点将统计结果在公链网络中广播;
S424:所述公链网络中的其他节点接收到所述统计结果后,创建并保存包含统计结果的区块数据。
由以上步骤可知,维护节点共同执行投票合约时,如果每个维护节点都生成了投票结果,可以由一个维护节点,如最后一个执行投票合约的维护节点接收其他维护节点的投票结果,以及根据统计规则统计投票结果,以致最终生成统计结果。维护者节点在生成统计结果后,可以在公链网络中进行广播,以使其他节点接收到统计结果后,根据统计结果创建区块数据,以将统计结果进行分布式存储。
S5:请求链节点根据准入信息向公链发起注册交易,触发公链中的维护节点执行注册合约,所述注册交易包括请求链地址以及所能提供的服务内容信息。
本申请提供的技术方案中,维护节点在确定统计结果满足预设注册条件后,生成准入信息,并将准入信息发送给请求链中的节点。请求链中的节点根据接收到的准入信息向公链发起注册交易,注册交易中包括请求链的地址和所能够提供的服务内容信息。其中,请求链地址可以是请求链创建的接入账号,也可以是连接请求链的接入节点地址信息,用于唯一表征请求链。通过请求链的地址信息,可以在后续交易时,通过该地址信息与请求链发生对应的跨链交易。请求链所能够提供的服务内容信息,可以登记在公链网络中,以便在后续交易中,为请求链以外的其他节点提供服务。
请求链节点在接收到准入信息后,可以对准入信息进行验证,在准入信息验证通过后,再向公链发起注册交易。实际应用中,注册交易也是跨链交易的一种。当发起注册交易时,请求链节点可以分别在请求链网络和公链网络中分别对注册交易进行广播。一方面,请求链中的其他节点在接收到注册交易后,对注册交易进行验证,并写入区块数据进行保存,形成符合请求链规范要求的区块链;另一方面,公链中的维护节点在接收到注册交易后,也对注册交易进行验证并写入区块数据进行存储,形成符合公链规范形式的区块链。
公链中的维护节点在接收到注册交易后,会被触发执行注册合约,注册合约也是内置在公链网络维护节点中的智能合约的一种。因此,维护节点在执行注册合约后,可以从注册交易中提取请求链地址以及所能提供的服务内容信息,并且将提取的信息进行保存登记,并写入区块数据存储在区块链中。
在提取了请求链地址和服务内容信息后,维护节点需要对提取的信息进行广播,使公链中的其他节点也能够知晓请求链所能够提供的服务内容和地址信息,以便与请求链发生跨链交易,即:
S6:维护节点通过执行注册合约向公链中的节点广播请求链地址和服务内容信息。
本申请提供的技术方案中,公链维护节点通过执行注册合约,可以向公链中的所有节点广播请求链地址和服务内容信息。公链中的节点在接收到广播的信息后,可以分别对请求链地址和服务内容信息进行存储,存储的方式可以是登记表的形式。即,在公链的每个节点中,都内置一个登记表,登记表中记录了每个接入链网络的地址和其对应提供的服务内容信息,例如:
接入链名称 |
地址 |
服务内容 |
A |
## |
证通兑换 |
B |
## |
证通兑换 |
C |
## |
证通兑换、性能报告 |
D |
## |
证通兑换、查询服务 |
…… |
…… |
…… |
在实际应用中,请求链接入公链后,可以通过公链为请求链以外的节点提供对应的服务。大致交易流程为:交易链A中的节点向公链发起查询交易,查询交易中包含需要的服务内容为性能报告;公链根据查询交易在登记表中查询能够提供该服务的目标链C,提取网络C的地址,并将该地址发送给交易链A中的节点。本实施例中,地址信息可以是bc://hostname:port/path/parameters的形式。交易链A中的节点再通过执行智能合约和公链网络,向目标链C发起服务交易,以使目标链C根据服务交易向交易链A返回具体的服务内容。
基于上述区块链网络的接入方法,如图7所示,本申请还提供一种区块链网络接入***,包括公链和连接公链的请求链,所述公链和请求链均为包括多个节点的点对点网络,每个节点具有独立的运算能力;其中,所述公链中内置有智能合约,所述智能合约包括投票合约和注册合约;所述公链网络中的部分节点作为维护节点;
所述请求链中的节点被配置为:连接公链节点,触发公链中维护节点执行投票合约;根据准入信息向公链发起注册交易,触发公链中的维护节点执行注册合约,所述注册交易包括请求链地址以及所能提供的服务内容信息;
所述公链中的节点被配置为:通过执行投票合约创建投票交易,在公链网络内广播所述投票交易;根据接收到的所述投票交易生成投票结果;以及通过投票合约确定的统计规则统计投票结果;如果统计结果满足预设注册条件,向请求链节点发送准入信息;以及通过执行注册合约向公链中的节点广播请求链地址和服务内容信息。
由以上技术方案可知,本申请提供一种区块链网络接入方法及***,所述方法在实际应用中,请求链节点连接公链节点,先触发公链中维护节点执行投票合约,使维护节点通过执行投票合约创建投票交易,以及在公链网络内广播所述投票交易。公链网络中各维护节点根据接收到的所述投票交易生成投票结果,以及通过投票合约确定的统计规则统计投票结果。如果统计结果满足预设注册条件,向请求链节点发送准入信息。请求链节点根据准入信息向公链发起注册交易,触发公链中的维护节点执行注册合约,所述注册交易包括请求链地址以及所能提供的服务内容信息。最后,维护节点通过执行注册合约向公链中的节点广播请求链地址和服务内容信息。本申请提供的网络接入方法,可以通过执行投票合约和注册合约,快速在公链网络中接入请求链,避免对请求链节点进行改造,提高接入效率,解决传统区块链接入方法接入效率低的问题。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。