一种区块链网络的激励方法、装置、设备及存储介质与流程

文档序号:16252253发布日期:2018-12-12 00:08阅读:182来源:国知局
一种区块链网络的激励方法、装置、设备及存储介质与流程

本发明实施例涉及区块链技术领域,尤其涉及一种区块链网络的激励方法、装置、设备及存储介质。

背景技术

现有区块链网络,按照其节点规模、共识机制和运行场景,可大致分为三种类型,即公链、联盟链和私链。各种类型的区块链网络,其都是用于生成、存储、和运行一条独立的区块链,能够处理相应的事务,存储事务数据到区块中。每条区块链所基于的区块链网络由多个节点参与,节点上部署有运行区块链技术所需的共识机制、智能合约、激励机制、以及加密算法等所需数据。通常,为了区块链的正常运行,需要节点提供算力,因此会通过发行数字货币并进行分配,来奖励节点参与区块处理和存储。同时,数字货币也可以作为区块链中事务请求处理的对象。典型的是比特币对应的区块链网络,比特币不仅作为对矿工节点的激励,还参与到各种交易事务中。

随着区块链技术的快速发展,区块链技术的应用场景已经不限于数字货币交易了,例如,人们不满足于仅在一个独立区块链中运行事务,或者,不再满足于仅使用一个固有模式的区块链运行旧有事务,产生了不断翻新事务模式的需求。因此,当前已经出现了多种相互独立的区块链,跨不同区块链(简称跨链)的处理数据的需求已经成为当今区块链应用中的较为迫切的需求。传统的区块链的类型已经无法适应多种场景的需求,而现有的跨链处理数据的解决方案中又无法保证跨链服务时交易的安全性和可靠性。



技术实现要素:

本发明实施例提供一种区块链网络的激励方法、装置、设备及存储介质,以使区块链网络能够与更多及更复杂应用场景的需求相匹配。

第一方面,本发明实施例提供了一种区块链网络的激励方法,由基础链网络的区块生成节点来执行,所述方法包括:

从基础链的历史区块中或基础链事务请求中获取激励智能合约;

执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

第二方面,本发明实施例还提供了一种区块链网络的激励方法,由平行链网络的区块生成节点来执行,所述方法包括:

从平行链的历史区块中或平行链事务请求中获取分配智能合约;

执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,其中,所述通知事务请求用于通知基础链的网络节点按照基础链中存储的激励智能合约,将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

第三方面,本发明实施例还提供了一种区块链网络的激励装置,配置于基础链网络的区块生成节点,所述装置包括:

第一合约获取模块,用于从基础链的历史区块中或基础链事务请求中获取激励智能合约;

第一合约执行模块,用于执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

第四方面,本发明实施例还提供了一种区块链网络的激励装置,配置于平行链网络的区块生成节点,所述装置包括:

第二合约获取模块,用于从平行链的历史区块中或平行链事务请求中获取分配智能合约;

第二合约执行模块,用于执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,其中,所述通知事务请求用于通知基础链的网络节点按照基础链中存储的激励智能合约,将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的区块链网络的激励方法。

第六方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第二方面中任意所述的区块链网络的激励方法。

第七方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的区块链网络的激励方法。

第八方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面中任意所述的区块链网络的激励方法。

本发明实施例通过从基础链的历史区块中或基础链事务请求中获取激励智能合约,该激励智能合约为创建平行链时网络节点发起的规定有指定输出账号的智能合约。获取到激励智能合约后可以执行激励智能合约,以将激励智能合约中规定的指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

附图说明

图1是本发明实施例一提供的一种区块链网络的激励方法的流程图;

图2是本发明实施例二提供的一种区块链网络的激励方法的流程图;

图3是本发明实施例三提供的一种区块链网络的激励方法的流程图;

图4是本发明实施例四提供的一种区块链网络的激励装置的示意图;

图5是本发明实施例五提供的一种区块链网络的激励装置的示意图;

图6为本发明实施例六提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种区块链网络的激励方法的流程图,本实施例可适用于基础链参与平行链处理的情况,该方法可以由区块链网络的激励装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在承担区块链网络节点功能的计算机设备中,区块链网络节点具体可以是基础链网络中具有区块处理权限的区块生成节点。如图1所示,该方法包括如下操作:

s110、从基础链的历史区块中或基础链事务请求中获取激励智能合约。

其中,区块生成节点是区块链网络中具有区块处理权限的节点。基础链是一种区块链,可以用于在各种独立的区块链之间建立联系。基础链可以与对应的平行链进行关联,用于辅助创建平行链、管理平行链、辅助平行链进行数据交换。例如,基础链可以用于在现有的彼此独立的区块链之间建立联系,使得区块链中的数据交互不再局限于一条单独的区块链,使得价值的流动范围不再局限于一条单独的区块链。也即,基础链可以对整个区块链网络中的运行参数进行管理和监督。基础链事务请求可以是基础链网络中一段时间内发生的交易请求或其他待处理的事务请求。激励智能合约可以由平行链创建节点创建,并由基础链的区块生成节点添加到区块中执行,用于绑定平行链。该智能合约的内容可以规定跟平行链有关的任何操作,例如:如何在平行链的节点中分发激励货币,可分发的货币数额以及分发的规则等。关联账号可以是平行链网络节点的私有账号,用于存放基础链或平行链的数字货币。

在本发明实施例中,基础链网络的区块生成节点可以在基础链的历史区块中获取激励智能合约,获取的方式包括但不限于回溯历史区块或定时及定位查找历史区块等。另外,基础链网络的区块生成节点还可以通过基础链事务请求中获取激励智能合约,例如,可以接收其他节点发送的获取激励智能合约的事务请求作为基础链事务请求等。

s120、执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

其中,平行链也是一种区块链,与基础链是相对的概念。平行链具有一般区块链的所有属性,同时,可能会基于基础链去建立、被管理以及进行数据交换。平行链可以是由基础链派生而成的,或者也可以是与基础链具有对等地位和功能,相互辅助建立、管理和数据交换。平行链可以有一条,也可以存在多条。且可选的是,多条平行链之间彼此独立,不相互影响,或者,两条平行链之间也可以是互为基础链和平行链的关系。

通常,基础链是先于平行链建立和运行的,其具有更高的公信力和号召力,其价值更得到大家的认可。所以平行链的节点可以利用基础链节点的公信力和号召力来借助愿意提供算力的节点为其提供服务。

基础链和平行链可以组成超级链网络。在超级链网络中,基础链也可以是一条或多条。需要说明的是,参与基础链的所有节点和参与平行链的所有节点之间存在重叠关系。也即,参与平行链的至少部分节点与参与基础链的至少部分是相同的网络节点。在这些重叠的网络节点中,部署有其参与的区块链的所有数据,即,既存储有基础链的部署数据,也存储有平行链的部署数据,还同时存储有基础链和平行链的区块本身。由于同时部署有不同区块链的数据,所以这样的网络节点可以生成不同区块链的事务请求,以及还可以本地查询到不同区块链中的事务数据,方便其进行跨链事务处理。

另外还需说明的是,基础链和平行链可以采用相同或不同类型的数字货币进行激励,且基础链和平行链的网络节点用于存储数字货币的账号可以同时存储多种不同类型的数字货币,每个区块链中的数字货币都可以与账号进行交互,如转入或转出数字货币。区块链起到激励作用的不限于数字货币,也可以是其他由账号管理的元素。其中,账号可以是通过非对称密钥对来管理,公钥就是账号地址,私钥由账号所有者自己保存。基础链事务请求可以是基础链网络中一段时间内发生的交易请求或其他待处理的事务请求。基础链事务请求中包括的平行链数据可包括但不限于平行链的部署数据、事务请求、智能合约或账号中的数字货币等。指定输出账号可以是用于向其他账号输出基础链中流通的数字货币的账号。基础链元素可以是基础链网络中所流通的数字货币。设定分配规则可以是平行链网络对基础链元素进行分配的依据,设定分配规则的具体内容可以依据实际需求制定,如平均分配规则等,本发明实施例对此并不进行限制。指定输入账号可以是平行链中各个账号,如用户账号或链账号等。

在本发明实施例中,基础链网络的区块生成节点获取到激励智能合约后即可执行处理激励智能合约中的相关规定。具体的,基础链网络的区块生成节点可以按照激励智能合约中的规定将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。例如,可以将指定输出账号x中的设定数值的数字货币平均分配给平行链节点对应的指定输入账号y和z中。

在本发明的一个可选实施例中,所述设定分配规则可以包括下述至少一种:

对于平行链中设定数量历史区块的区块生成节点,按照算力贡献规则进行设定数值基础链元素的分配;

按照平行链中平行链元素的分配比例,为分配有平行链元素的网络节点分配基础链元素;

对于平行链中的节点,按照平均规则进行设定数值基础链元素的分配。

其中,设定数量可以是根据实际需求设定的数值,例如10、20或50等,本发明实施例对此并不进行限制。算力贡献规则可以是人为规定的,用于衡量提供算力的强弱程度的节点所占有权重值或排序等。例如,在前5个区块生成节点中,各个区块生成节点提供的算力的权重值为0.1、0.2、0.3、0.2和0.2,或者在前5个区块生成节点中,各个区块生成节点提供的算力由强到弱的顺序依次为:区块生成节点1、区块生成节点3、区块生成节点2、区块生成节点5以及区块生成节点4。设定数值同时可以是根据实际需求设定的数值,例如100或200等,具体需要依据基础链中包括的基础链元素的总量进行适应性设定,本发明实施例对此同样不进行限制。平行链元素的分配比例可以是针对平行链网络节点所制定的,用于分配基础链元素的比例值。通常在平行链的运行过程中,会为每个区块的区块生成节点奖励一定的数字货币,即分配平行链的数字货币。通常会随着区块的数量增多,而有一定的衰减。在分配基础链元素时可以参照平行链数字货币的分配比例,进行相应比例的分配。平行链元素可以是平行链中流通的数字货币,可以与基础链元素相同或不同。平均规则可以是为所有参与平行链的节点平均分配的方式。

在本发明实施例中,可选的,平行链的创世区块中所包括的设定分配规则可以包括以下几种情况:

首先,可以依据平行链中区块生成节点的数量以及算力贡献规则对区块生成节点分配设定数值的基础链元素。基础链网络节点可以通过执行与平行链关联的智能合约,查询本地存储的平行链中的区块数据以获取平行链中区块生成节点信息。示例性的,如果将比特币作为基础链元素,且当平行链网络中区块生成节点的数量每达到10个时,则可将100个比特币按照10个区块生成节点提供算力的强弱程度进行分配。如果10个区块生成节点提供的算力的权重值分别为0.05、0.1、0.15、0.1、0.1、0.2、0.05、0.1、0.05和0.1,则为10个区块生成节点分别分配5、10、15、10、10、20、5、10、5和10个比特币。

其次,还可以以平行链中平行链元素的分配比例为依据,只对平行链网络中具有平行链元素的网络节点分配基础链元素。示例性的,平行链网络中的节点1、节点2和节点3分别有5、10和15个比特币,则三个节点的平行链元素的分配比例为1:2:3。可以按照三个节点的平行链元素的分配比例将120个基础链中的比特币进行分配,则节点1、节点2和节点3分别分配20、40和60个比特币。

当然,也还可以直接按照平均规则对平行链中的节点分配设定数值的基础链元素。示例性的,平行链中总共存在15个节点,可以将300个基础链中的比特币平均分配给15个节点,每个节点分配到20个比特币。

需要说明的是,本发明实施例中基础链元素和平行链元素的分配可以遵循递减的规则。且上述对基础链元素的分配,可以执行一次,也可以分多次执行,均可由基础链事务请求中的激励智能合约来规定。该激励智能合约的执行可以是被回溯时执行。

在本发明的一个可选实施例中,所述方法还可以包括:获取针对激励智能合约进行变更的提案事务请求;对所述提案事务请求进行处理,并获取基础链节点反馈的投票;根据投票结果在提案事务请求中设定的智能合约模板中进行选择,更新作为新的激励智能合约。

其中,提案事务请求可以是基础链网络节点发出的,用于对激励智能合约进行变更的事务请求,提案事务请求可以提供设定的智能合约模块。设定的智能合约模块可以是预先设定的各种类型的智能合约模块,用于根据需求进行编辑后生成对应的智能合约,其具体形式和内容可以根据实际需求设计,本发明实施例并不对设定的智能合约模块的具体形式和内容进行限定。

在本发明实施例中,如果平行链网络节点想要更改平行链部署数据,例如,更改激励机制或加密算法等,网络节点可向基础链网络发送平行链部署数据的更新事务请求。该更新事务请求包括了平行链部署数据的更改内容信息。基础链网络中的节点接收到更新事务请求后,可以针对更新事务请求中的相关内容获取到需要修改的激励智能合约,并依据激励智能合约的变更需求在基础链网络中发送提案事务请求。基础链网络的区块生成节点接收到提案事务请求后,即可对提案事务请求进行处理。示例性的,基础链网络的区块生成节点可以采用提案-投票的方式来处理提案事务请求。具体的,基础链网络的区块生成节点可以发起一个提案事务请求,该提案事务请求包括了平行链部署数据的更改内容信息。同时,该区块生成节点还需要规定提案-投票进程的相关参数,例如,基础链网络中的设定比例(如2/3)数量的节点同意更新事务请求后允许对平行链的部署数据进行更改;投票的截止时间,如10分钟;以及作为保障金的冻结资金等。然后,基础链网络的区块生成节点可以收集基础链网络中的其他节点反馈的投票结果,并依据投票结果判断是否可以对提案事务请求进行处理。当根据投票结果确定可以对提案事务请求进行处理时,基础链网络的区块生成节点可以根据提案事务请求中规定的设定的智能合约模块进行选择和编辑,从而产生新的智能合约作为新的激励智能合约。或者,基础链网络的区块生成节点还可以直接根据提案事务请求的相关内容生成满足需求的新的智能合约作为新的激励智能合约。

本发明实施例通过从基础链的历史区块中或基础链事务请求中获取激励智能合约,该激励智能合约为创建平行链时网络节点发起的规定有指定输出账号的智能合约。获取到激励智能合约后可以执行激励智能合约,以将激励智能合约中规定的指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

优选的是,基础链是数字货币得到价值认可的区块链,而平行链是价值未得到认可的区块链,一般是新创建的,或创建者影响力小的。为了鼓励网络节点为平行链提供算力支持,则以基础链的数字货币对平行链的网络节点进行激励。激励机制由存储到基础链中的激励智能合约来保证其可靠的执行。

实施例二

图2是本发明实施例二提供的一种区块链网络的激励方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了激励智能合约的产生方式,以及执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号的具体操作。相应的,如图2所示,本实施例的方法可以包括:

s210、获取平行链创建节点发起的基础链事务请求,其中,所述基础链事务请求中包括所创建的平行链的部署数据、所述指定输出账号以及所述设定分配规则。

其中,平行链创建节点可以是创建平行链创世区块的网络节点,其也部署有基础链的数据,所以可以发起基础链事务请求。部署数据可以是区块链中数据层、网络层、共识层、激励层、合约层和应用层对应的数据,如数据区块、时间戳、传播机制、验证机制、发行机制、算法机制、智能合约或可编程货币等数据。

在本发明实施例中,可以由基础链网络的其中任意一个节点作为平行链创建节点发起创建平行链创世区块的基础链事务请求,也即,平行链创建节点可以将平行链的创世区块的内容作为一个基础链的事务请求,请求基础链网络节点写入基础链的区块中,由此,基础链可以对平行链的创世区块进行监管和回溯。平行链的创世区块的内容可以参考现有区块链的创世区块的内容建立。例如,写入平行链的共识机制、激励机制、发行的数字货币以及智能合约的模板等部署数据,除此之外,还可以在平行链的创世区块中规定相应的指定输出账号和设定分配规则。并且,平行链的创世区块可以控制平行链的后期运行。由此可见,平行链创建节点在创建平行链时,即可在发起的基础链事务请求规定对参与平行链建立的节点的激励规则。

s220、将所述基础链事务请求的事务数据写入基础链的区块中,所述事务数据中包括所述激励智能合约。

相应的,在基础链的区块生成节点获取到平行链创建节点发起的基础链事务请求后,除了可以在基础链的区块中写入平行链的创世区块,还可以对基础链事务请求进行处理运行激励智能合约,并将激励智能合约作为事务数据写入基础链的区块中,

s230、执行所述激励智能合约,将所述指定输出账号中的设定数量基础链元素进行冻结或转移到指定冻结账号中。

其中,设定数量可以是根据实际需求设定的数值,例如10、20或50等,本发明实施例对此并不进行限制。指定冻结账号可以是区块链网络中任意可信的账号,或者,也可以直接将与平行链绑定的平行链账号作为指定冻结账号。

在本发明实施例中,在将基础链事务请求的事务数据写入基础链的区块中的同时,可以执行激励智能合约,将指定输出账号中的设定数量基础链元素进行冻结或转移到指定冻结账号中。指定冻结账号可以存放用于激励参与平行链网网络节点的基础链元素,其不能被平行链节点随意控制,以保证足够的公信力。

s240、从基础链的历史区块中或基础链事务请求中获取激励智能合约。

在本发明的一个可选实施例中,从基础链的历史区块中获取激励智能合约可以包括下述至少一种:

遍历基础链中的历史区块,以查询存在当前执行需求的激励智能合约;

如果监测到设定条件满足时,则查找所述设定条件对应的基础链中的历史区块,以查询获取所述激励智能合约,其中,所述设定条件为设定时间间隔或设定区块高度;

接收平行链网络中传输的通知事务请求,发起基础链网络中的激励智能合约查询事务请求,处理所述查询事务请求以在基础链的历史区块中获取所述激励智能合约。

其中,设定条件可以是用于监测激励智能合约所规定的触发条件,例如,设定条件可以是基础链网络中某一进程的执行周期或区块链中的区块高度等,设定条件具体可以依据实际需求进行设定,本发明实施例对此并不进行限制。同时,设定条件中还可以包括具备激励智能合约的历史区块的相关信息,如历史区块的区块头信息等。通知事务请求可以是平行链网络节点向基础链网络节点发送的,用于通知基础链网络节点进行跨链服务的请求。需要说明的是,通知事务请求是网络节点依据基础链中的部署数据产生的。网络节点可以根据平行链网络中的智能合约中的规定来产生通知事务请求。例如,当平行链中新增10个区块时,可以向基础链网络节点发起通知事务请求。其中,网络节点可以同时参与基础链网络和平行链网络,部署有其参与的区块链的所有数据,即,既存储有基础链的部署数据,也存储有平行链的部署数据,还同时存储有基础链和平行链的区块本身。由于同时部署有不同区块链的数据,所以这样的网络节点可以生成不同区块链的事务请求,以及还可以本地查询到不同区块链中的事务数据,方便其进行跨链事务处理。激励智能合约查询事务请求可以是基础链网络中用于在历史区块中查询激励智能合约的事务请求,可以由基础链网络节点发起,也可以由同时参与基础链网络和平行链网络的网络节点发起。

在本发明实施例中,基础链网络的区块生成节点可以通过下述三种方式从基础链的历史区块中获取激励智能合约:

首先,基础链网络的区块生成节点可以对基础链中所有的历史区块进行遍历查找,从而获取满足当前执行需求的激励智能合约。这种获取方式虽然简单,但当历史区块数量较大时,往往需要花费一定的资源。

其次,基础链网络的区块生成节点还可以监测网络状态是否达到设定条件,例如,基础链网络的区块生成节点可以检测当前时间点距离上一次获取激励智能合约的时间点之间的时间间隔是否达到设定时间间隔。其中,设定时间间隔可以是根据实际需求设定的间隔,如10分钟或1小时等,本发明实施例对此并不进行限制。又例如,基础链网络的区块生成节点可以检测区块链网络中的区块高度是否达到设定区块高度。其中,设定区块高度可以是区块在区块链(可以是基础链,也可以是平行链)中的位置,如每隔10个区块或每隔100个区块,同理,设定区块高度可以根据实际需求设定,本发明实施例对此同样不进行限制。当基础链网络的区块生成节点确定设定条件被触发时,可以查询设定条件对应的基础链中的历史区块的相关信息,并根据相关信息查询对应的历史区块以获取激励智能合约。

最后,基础链网络的区块生成节点还可以接收平行链网络中传输的包括激励智能合约相关信息(如激励智能合约的名称或编号等)的通知事务请求,然后根据通知事务请求包括的激励智能合约的相关信息,在基础链网络中发布并处理激励智能合约查询事务请求,以在基础链的历史区块中获取相应的激励智能合约。

s250、执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

相应的,执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号的操作可以进一步细化为s251、s252以及s253这三个操作。

s251、执行所述激励智能合约,在本地存储的平行链中获取平行链网络节点的关联账号作为所述指定输入账号。

其中,平行链网络节点的关联账号可以是网络节点的私有账号,用于存放基础链或平行链的数字货币。

在本发明实施例中,基础链网络的区块生成节点在执行激励智能合约时,可以依据激励智能合约中的具体规定,在本地存储的平行链的各个区块中进行查询,以获取平行链网络节点的关联账号作为所述指定输入账号,并对指定输入账号的数据进行更改。

需要说明的是,激励智能合约的执行时间与激励智能合约的创建时间可以一致也可以不一致。也即,激励智能合约可以在激励智能合约生成时立即执行,也可以按照平行链网络中区块的数量或者设定的时间周期等规则执行,本发明实施例并不对激励智能合约的执行时机进行限定。

s252、产生基础链元素转移合约,所述基础链元素转移合约用于从所述指定输出账号中,按照设定分配规则向所述指定输入账号进行基础链元素转移。

其中,基础链元素转移合约可以是针对将基础链元素输出至平行链网络节点的关联账号所制定的规则等。

在本发明实施例中,基础链网络节点获取到平行链网络节点的关联账号后,可以产生相应的基础链元素转移合约,用于从激励智能合约中的指定输出账号中,按照设定分配规则向平行链的关联账号,也即指定输入账号,转移相应的基础链元素。所述基础链元素转移合约作为一个事务请求,被基础链的区块生成节点处理。

s253、将所述基础链元素转移合约在基础链的网络节点中传输,以请求基础链网络节点根据本地存储的平行链,对所述基础链元素转移合约中的事务进行验证。

在本发明实施例中,基础链网络的区块生成节点完成向关联账号的基础链元素转移的事务处理后,将相应的事务数据添加到区块中,并将该区块发送给其他节点,请求进行区块的确认。其他网络节点接收到区块后,可以依据本地存储的平行链对基础链元素转移合约中的事务的有效性进行验证。例如,验证设定分配规则是否正确,转向的账户是否与平行链中记录的节点账户一致等。从而保证区块生成节点正确执行了账号智能合约。

需要说明的是,图2仅是一种实现方式的示意图,s220和s230之间并没有先后顺序关系,也即,s220和s230可以两者并行实施。

采用上述技术方案,通过从基础链的历史区块中或基础链事务请求中获取并执行激励智能合约,以将激励智能合约中规定的指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

实施例三

图3是本发明实施例三提供的一种区块链网络的激励方法的流程图,本实施例可适用于基础链参与平行链激励处理的情况,该方法可以由区块链网络的激励装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在承担区块链网络节点功能的计算机设备中,区块链网络节点具体可以是平行链网络中具有区块处理权限的区块生成节点。如图3所示,该方法包括如下操作:

s310、从平行链的历史区块中或平行链事务请求中获取分配智能合约。

其中,分配智能合约可以是由平行链网络节点创建的,由平行链网络的区块生成节点添加到区块中执行的智能合约,用于指示基础链网络节点将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。平行链事务请求是能够在平行链网络中传输,并被平行链节点处理的事务请求,可以是交易请求或其他待处理的事务请求。

在本发明实施例中,平行链网络的区块生成节点可以在平行链的历史区块中获取分配智能合约,获取的方式包括但不限于回溯历史区块或定时及定位查找历史区块等。另外,平行链网络的区块生成节点还可以通过平行链事务请求中获取分配智能合约,例如,可以接收其他节点发送的获取分配智能合约的事务请求作为平行链事务请求等。

s320、执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输。

其中,所述通知事务请求用于通知基础链的网络节点按照基础链中存储的激励智能合约,将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

在本发明实施例中,平行链网络的区块生成节点在执行分配智能合约时,由于节点中同时存储了基础链和平行链两种部署数据,因此可以基于本地的基础链的部署数据以及分配智能合约中的具体规定产生通知事务请求,并在基础链网络中传输。基础链网络的区块生成节点可以接收并处理通知事务请求,以执行激励智能合约中的相关规定。

在本发明的一个可选实施例中,执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输可以包括:执行所述分配智能合约,如果识别到当前状态符合所述分配智能合约中的条件,则基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输。

其中,分配智能合约中的条件可以是用于触发产生通知事务请求的设定条件。

在本发明实施例中,平行链网络的区块生成节点在执行分配智能合约时,如果识别到当前状态符合分配智能合约中的条件,例如,平行链中的区块达到设定的高度值,则可以根据本地存储的基础链的部署数据产生相应的通知事务请求,并在基础链网络中传输。

在本发明的一个可选实施例中,所述分配智能合约中的条件可以包括下述至少一个:设定时间间隔或设定区块高度。

需要说明的是,在分配智能合约中也可以包括设定时间间隔或设定区块高度的设定条件,用于每隔设定时间间隔,或当确定平行链中的区块高度满足需求时,向平行链中的区块生成节点发出获取分配智能合约的提醒信息。提醒信息可以包括具备当前执行需求的分配智能合约的历史区块的相关信息。因此,平行链网络的区块生成节点可以查询相应的历史区块以获取分配智能合约。当然,平行链网络的区块生成节点还可以接收平行链网络中传输的包括分配智能合约相关信息(如分配智能合约的名称或编号等)的通知事务请求,然后根据通知事务请求包括的分配智能合约的相关信息,在平行链网络中发布并处理分配智能合约查询事务请求,以在平行链的历史区块中获取相应的激励智能合约。

本发明实施例通过平行链网络的区块生成节点从平行链的历史区块中或平行链事务请求中获取分配智能合约,该分配智能合约用于对平行链中的节点进行激励。获取到分配智能合约后执行分配智能合约,并基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,以使基础链网络的区块生成节点发起并处理激励智能合约查询事务请求获取激励智能合约,并使基础链网络的区块生成节点执行激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

实施例四

图4是本发明实施例四提供的一种区块链网络的激励装置的示意图,所述装置配置于基础链网络的区块生成节点,如图4所示,所述装置包括:第一合约获取模块410以及第一合约执行模块420,其中:

第一合约获取模块410,用于从基础链的历史区块中或基础链事务请求中获取激励智能合约;

第一合约执行模块420,用于执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

本发明实施例通过从基础链的历史区块中或基础链事务请求中获取激励智能合约,该激励智能合约为创建平行链时网络节点发起的规定有指定输出账号的智能合约。获取到激励智能合约后可以执行激励智能合约,以将激励智能合约中规定的指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

可选的,所述装置还包括:请求获取模块,用于获取平行链创建节点发起的基础链事务请求,其中,所述基础链事务请求中包括所创建的平行链的部署数据、所述指定输出账号以及所述设定分配规则;数据写入模块,用于将所述基础链事务请求的事务数据写入基础链的区块中,所述事务数据中包括所述激励智能合约。

可选的,所述装置还包括:元素转移模块,用于执行所述激励智能合约,将所述指定输出账号中的设定数量基础链元素进行冻结或转移到指定冻结账号中。

可选的,第一合约获取模块410,具体用于遍历基础链中的历史区块,以查询存在当前执行需求的激励智能合约;如果监测到设定条件满足时,则查找所述设定条件对应的基础链中的历史区块,以查询获取所述激励智能合约,其中,所述设定条件为设定时间间隔或设定区块高度;接收平行链网络中传输的通知事务请求,发起基础链网络中的激励智能合约查询事务请求,处理所述查询事务请求以在基础链的历史区块中获取所述激励智能合约。

可选的,第一合约执行模块420,具体用于执行所述激励智能合约,在本地存储的平行链中获取平行链网络节点的关联账号作为所述指定输入账号;产生基础链元素转移合约,所述基础链元素转移合约用于从所述指定输出账号中,按照所述设定分配规则向所述指定输入账号进行基础链元素转移;将所述基础链元素转移合约在基础链的网络节点中传输,以请求基础链网络节点根据本地存储的平行链,对所述基础链元素转移合约中的事务进行验证。

可选的,所述设定分配规则包括下述至少一种:对于平行链中设定数量历史区块的区块生成节点,按照算力贡献规则进行设定数值基础链元素的分配;按照平行链中平行链元素的分配比例,为分配有平行链元素的网络节点分配基础链元素;对于平行链中的节点,按照平均规则进行设定数值基础链元素的分配。

可选的,所述装置还包括:合约更新模块,用于获取针对激励智能合约进行变更的提案事务请求;对所述提案事务请求进行处理,并获取基础链节点反馈的投票;根据投票结果在提案事务请求中设定的智能合约模板中进行选择,更新作为新的激励智能合约。

上述区块链网络的激励装置可执行本发明实施例一及实施例二所提供的区块链网络的激励方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例一及实施例二提供的区块链网络的激励方法。

实施例五

图5是本发明实施例五提供的一种区块链网络的激励装置的示意图,所述装置配置于平行链网络的区块生成节点,如图5所示,所述装置包括:第二合约获取模块510以及第二合约执行模块520,其中:

第二合约获取模块510,用于从平行链的历史区块中或平行链事务请求中获取分配智能合约;

第二合约执行模块520,用于执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,其中,所述通知事务请求用于通知基础链的网络节点按照基础链中存储的激励智能合约,将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

本发明实施例通过平行链网络的区块生成节点从平行链的历史区块中或平行链事务请求中获取分配智能合约,该分配智能合约用于对平行链中的节点进行激励。获取到分配智能合约后执行分配智能合约,并基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,以使基础链网络的区块生成节点发起并处理激励智能合约查询事务请求获取激励智能合约,并使基础链网络的区块生成节点执行激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

可选的,第二合约执行模块520,具体用于执行所述分配智能合约,如果识别到当前状态符合所述分配智能合约中的条件,则基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输。

可选的,所述分配智能合约中的条件包括下述至少一个:设定时间间隔或设定区块高度。

实施例六

图6为本发明实施例六提供的一种计算机设备的结构示意图。图6示出了适于用来实现本发明实施方式的计算机设备612的框图。图6显示的计算机设备612仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。计算机设备612典型的是承担区块链系统节点功能的计算设备。

如图6所示,计算机设备612以通用计算设备的形式表现。计算机设备612的组件可以包括但不限于:一个或者多个处理器616,存储装置628,连接不同系统组件(包括存储装置628和处理器616)的总线618。

总线618表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mca)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnect,pci)总线。

计算机设备612典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备612访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储装置628可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)630和/或高速缓存存储器632。计算机设备612可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统634可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compactdisc-readonlymemory,cd-rom)、数字视盘(digitalvideodisc-readonlymemory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线618相连。存储装置628可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块626的程序636,可以存储在例如存储装置628中,这样的程序模块626包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块626通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备612也可以与一个或多个外部设备614(例如键盘、指向设备、摄像头、显示器624等)通信,还可与一个或者多个使得用户能与该计算机设备612交互的设备通信,和/或与使得该计算机设备612能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口622进行。并且,计算机设备612还可以通过网络适配器620与一个或者多个网络(例如局域网(localareanetwork,lan),广域网wideareanetwork,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器620通过总线618与计算机设备612的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备612使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdisks,raid)系统、磁带驱动器以及数据备份存储系统等。

处理器616通过运行存储在存储装置628中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例一及实施例二所提供的区块链网络的激励方法。

也即,所述处理单元执行所述程序时实现:从基础链的历史区块中或基础链事务请求中获取激励智能合约;执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

通过所述计算机设备从基础链的历史区块中或基础链事务请求中获取激励智能合约,该激励智能合约为创建平行链时网络节点发起的规定有指定输出账号的智能合约。获取到激励智能合约后可以执行激励智能合约,以将激励智能合约中规定的指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号,从而建立两个区块链网络之间的关联,解决了现有区块链网络存在的难以扩展及在进行跨链服务时交易安全性和可靠性较低的问题,提高区块链网络的可扩展性及在进行跨链服务时交易的安全性和可靠性,使区块链网络能够与更多及更复杂应用场景的需求相匹配。

实施例七

本实施例七是本发明实施例提供的一种用于执行本发明实施例三所提供的区块链网络的激励方法的计算机设备,该计算机设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例三所提供的区块链网络的激励方法:从平行链的历史区块中或平行链事务请求中获取分配智能合约;执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,其中,所述通知事务请求用于通知基础链的网络节点按照基础链中存储的激励智能合约,将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。其具体结构以及细节内容可参照图6和实施例六。

实施例八

本发明实施例八还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例一及实施例二的区块链网络的激励方法:从基础链的历史区块中或基础链事务请求中获取激励智能合约;执行所述激励智能合约,以将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器((erasableprogrammablereadonlymemory,eprom)或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(radiofrequency,rf)等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

实施例九

本发明实施例九还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述实施例三所述的区块链网络的激励方法:从平行链的历史区块中或平行链事务请求中获取分配智能合约;执行所述分配智能合约,基于本地的基础链的部署数据产生通知事务请求,在基础链网络中传输,其中,所述通知事务请求用于通知基础链的网络节点按照基础链中存储的激励智能合约,将指定输出账号的基础链元素按照设定分配规则转移到平行链节点对应的指定输入账号。其具体的细节内容描述可参照实施例八。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1