一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

区块管理方法及装置与流程

2022-07-31 05:21:09 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块管理方法及装置。


背景技术:

2.区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速地进行数据同步的特性,利用区块链技术来搭建去中心化系统,并在区块链的分布式数据库中收录各种执行程序进行自动执行,已在众多的领域中广泛地进行应用。
3.在区块链的记账过程中,通常需要区块链节点对合法性验证通过的区块链交易进行共识,由基于区块链的共识算法所确定的记账节点将接收到的交易打包以生成候选区块,并将生成的候选区块或者该候选区块的区块头发送至其它节点设备进行共识验证。其它区块链节点在对接收到的候选区块或者该候选区块的区块头验证没有问题的情况下,可以直接执行该区块中的包含的交易。在区块链系统中,区块链交易的数据都会被保存在区块链上,当交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。这种存储信息不可篡改的特性,一方面可以使得链上数据更可靠可信,有效提高区块链交易的安全;但另一方面也会使得一些不符合管理需求的数据被存储在链上,无法被删除。


技术实现要素:

4.有鉴于此,本说明书一个或多个实施例提供一种区块管理方法及装置。
5.具体的,本说明书一个或多个实施例提供技术方案如下:
6.根据本说明书一个或多个实施例的第一方面,提出了一种区块管理方法,应用于区块链系统中的管理节点,包括:
7.接收所述区块链系统中记账节点发送的候选区块,所述候选区块由所述记账节点对通过合法性验证的若干区块链交易进行打包得到,且所述候选区块已通过共识;
8.根据预定义的管理规则校验所述候选区块中包含的区块链交易;
9.在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的情况下,触发各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块;
10.在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,触发各记账节点放弃所述候选区块。
11.根据本说明书一个或多个实施例的第二方面,提出了一种区块管理装置,应用于区块链系统中的管理节点,包括:
12.接收单元,用于接收所述区块链系统中记账节点发送的候选区块,所述候选区块由所述记账节点对通过合法性验证的若干区块链交易进行打包得到,且所述候选区块已通过共识;
13.校验单元,用于根据预定义的管理规则校验所述候选区块中包含的区块链交易;
14.第一触发单元,用于在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的情况下,触发各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块;
15.第二触发单元,用于在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,触发各记账节点放弃所述候选区块。
16.根据本说明书的第三方面,提供一种电子设备,包括:
17.处理器;
18.用于存储处理器可执行指令的存储器;
19.其中,所述处理器通过运行所述可执行指令以实现如上述第一方面的实施例中所述的方法。
20.根据本说明书实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面的实施例中所述方法的步骤。
21.由以上本说明书提供的技术方案可见,本说明书通过在区块链系统设置管理节点,使得记账节点打包的所有候选区块在被记录在区块链账本前都要经过管理节点的校验,只有符合管理节点的预设管理规则的候选区块才可以被区块链系统中的其他区块链节点记录并执行,从而不仅能够提高区块链交易的安全性,也能够对写入链上的数据进行有效管理,避免不符合管理需求的数据被存储在链上。
附图说明
22.图1是一示例性实施例提供的一种区块管理方法的示意图;
23.图2是一示例性实施例提供的一种区块链系统的结构示意图;
24.图3是一示例性实施例提供的另一种区块链系统的结构流程图;
25.图4是一示例性实施例提供的一种电子设备示意图;
26.图5是一示例性实施例提供的一种区块管理装置的框图。
具体实施方式
27.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
28.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
29.在区块链系统中,区块链交易的数据都会被保存在区块链上,当交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。这种存储信息不可篡改的特性,一方面
of stake,dpos)等共识算法;第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(practical byzantine fault tolerance,pbft)等共识算法。
36.在采用第一类共识算法的区块链系统中,接收到区块链交易的区块链节点将合法性验证通过的区块链交易广播给区块链系统中的其他区块链节点。争夺记账权的节点设备可以在接收到交易后执行该笔交易,在本轮争夺记账权的过程中胜出的节点设备可以作为本轮的记账节点。由记账节点将接收到的交易与其它交易一起打包生成候选区块,并将生成的候选区块或者该候选区块的区块头发送至其它节点设备进行共识。
37.在采用第二类共识算法的区块链系统中,具有记账权的节点设备在本轮记账前已经商定好。若接收到区块链交易的区块链节点为本轮的记账节点,则直接将接收到的交易与其他交易一起打包进候选区块,并将生成的候选区块或者该候选区块的区块头发送至其它节点设备进行共识;若接收到区块链交易的区块链节点自身不是本轮的记账节点,则可以将该区块链交易发送至本轮的记账节点,由记账节点将该区块链交易与其它交易一起打包生成候选区块,并将该候选区块或者该候选区块的区块头发送至其它节点设备进行共识。
38.步骤104:根据预定义的管理规则校验所述候选区块中包含的区块链交易。
39.在相关技术中,区块链节点在接收到已通过共识的候选区块后,会默认该候选区块中所包含的区块链交易不存在问题,区块链节点可以直接将该候选区块追加到自身维护的区块链的末端,以作为该区块链的最新区块。而在本说明书的技术方案中,候选区块在通过共识的基础上,还需要由区块链系统中的管理节点根据预定义的管理规则对该候选区块做进一步校验,并且只有当通过该进一步校验后该候选区块才能够被添加为最新区块,以防止该候选区块中包含存在风险的区块链交易,避免不符合管理规则的数据被保存到区块链上。
40.在本说明书的技术方案中,管理节点可以在确定接收到的候选区块通过共识的情况下,根据预定义的管理规则对该候选区块中的区块链交易进行校验管理。其中,管理规则的具体内容以及具体逻辑可以由本领域技术人员根据实际需要自行设置,举例而言,管理规则可以被设置为交易内容和/或交易产生的合约状态取值是否包含预设敏感词等;或者针对转账交易,管理规则可以被设置为交易数额是否超过预设数额阈值、交易发起方账户和/或交易对端账户是否为预设黑名单账户等;又或者针对智能合约调用交易,管理规则可以被设置为发起方账户是否具有合约调用权限等,本说明书对此不作限制。举例而言,若候选区块中的区块链交易为调用智能合约的交易,管理节点在确定该候选区块共识通过后调用管理规则解析得到该区块链交易中表示该交易的发起方账户的账户地址的from字段,例如为“bob(0xf5e...)”,将该账户地址与预定义管理规则中的黑名单账户进行比对,若预定义管理规则的黑名单账户中存在账户地址“bob(0xf5e...)”,则该区块链交易未通过该管理节点的校验,反之,则通过校验。又例如,若候选区块中的存在转账交易,管理节点在确定该候选区块共识通过后可以调用预定义管理规则,解析得到该区块链交易中表示交易发起者要向交易接收者转账的金额的value字段,将该交易金额与预定义管理规则中的预设交易金额阈值进行比对,若转账金额或者交易频率超过了预定义管理规则中的预设金额阈值,则该区块链交易未通过该管理节点的校验,反之,则通过校验。
41.进一步的,本说明书中的管理规则也并非固定不变,在有需要的情况下,可以在管理合约原有管理规则的基础上进行更新,比如增加新的管理规则、删除原有管理规则中的部分内容,或者也可以通过修改原有管理规则中的预设参数等方式修改原有的管理规则,举例而言,管理合约中的管理规则用于检查转账交易的交易金额是否处于预设金额范围以及交易的转账对象账户是否处于黑名单账户,可以通过更新该管理规则的方式,修改原有预设金额范围的取值、删除原有黑名单账户中的部分账户或者增加新的检查内容等。
42.在本说明书中,管理节点中的预定义管理规则可以被维护在预先部署的管理合约中,管理节点在接收到通过共识的候选区块时,可以调用预先部署在区块链管理节点处的管理合约,以通过管理合约中的预定义管理规则对候选区块中所包含的区块链交易进行校验。其中,管理合约可以为创世合约,即该管理合约在区块链系统的创建之初被部署在创世区块中。或者,该管理合约也可以为系统合约,需要由管理员进行部署,一些情况下可能需要超出预设比例的管理员的认可下才能够完成部署。当然,不排除一些情况下,可能由区块链系统的一般节点成员来部署管理合约,即管理合约可以为区别于创世合约与系统合约的普通合约。由于区块链节点本身是一种逻辑概念,通过在节点设备上创建一节点实例,并由该节点实例运行上述的区块链平台链代码,即可使得该节点实例成为一区块链节点。因此,区块链平台链代码是使得节点实例成为区块链节点的底层逻辑,管理合约可以部署于区块链管理节点上运行的区块链平台代码中,从而区块链节点在运行过程中可以直接执行区块链平台链代码,使得区块链节点可以通过区块链平台链代码中记录的预定义接口来主动触发对管理合约的调用,而无需像相关技术中那样由区块链交易来调用,从而简化管理合约的调用逻辑。
43.在一实施例中,管理合约可以是被通过合约部署交易部署于区块链系统中的各区块链节点处的链上合约,如图2所示,区块链系统包括node a、node b、node c和node d等区块链节点,各个区块链节点中均部署有相同的管理合约。完成管理合约的部署后,任一区块链节点在接收到记账节点发送的候选区块时均可以调用本地部署的管理合约,以通过与该合约相关联的管理规则对候选区块进行管理检查。以图2所示的node a为例,该节点可以在区块链系统中提交针对管理规则的合约部署交易,以由区块链系统中的各个区块链节点对该交易进行共识。在共识通过的情况下,由区块链系统中的各个区块链节点分别执行该交易,以在各个节点本地部署对应于管理规则的管理合约。上述区块链节点node a可以为区块链系统中的管理节点或者非管理节点,本说明书并不对此进行限制。
44.在另一实施例中,管理合约也可以是仅被部署于管理节点处的本地合约,该本地合约仅部署于管理节点处,而无需部署至区块链系统中的其他区块链节点处。如图3所示,区块链系统包括node a、node b、node c和node d等区块链节点,作为管理节点的node a本地部署有管理合约,而其他节点(node b、node c和/或node d)处并不部署管理合约。其中,除node a之外的任一区块链节点可以为管理节点,当然也可以为非管理节点,本说明书并不对此进行限制。可以理解的是,node a可以执行合约部署交易实现对管理合约的部署,该交易可以为无需共识的本地区块链交易。例如,node a在接收到合约部署交易后,无需发起针对该交易的共识,而可以直接执行该交易以在本地部署相应的管理合约。可见,虽然区块链系统中包含多个区块链节点,但是仅有其中的管理节点本地被部署有上述管理合约,而非管理节点并不部署该合约,所以部署过程较为简单。另外,因为上述管理合约的部署过程
无需共识,所以能够实现对管理合约的快速部署,也便于实现对数据管理规则的便捷更新。
45.根据管理规则被记录的位置不同,区块链节点可以采用不同的方式更新管理规则。当管理规则被维护于管理合约的合约代码中时,区块链节点可以执行规则更新交易以部署新的管理合约,该新的管理合约的合约代码或者合约状态中记录有新的管理规则。在部署完成后,区块链节点处可以调用新管理合约对候选区块进行管理检查。当管理规则被维护于管理合约的合约状态时,如果需要对管理规则进行更新,区块链节点可以发起针对管理规则的更新交易,将上述管理合约的合约状态的取值更新为新的管理规则,而无需对管理合约进行重新部署。需要注意的是,管理规则的更新交易可以仅允许由区块链系统的管理员发起,譬如该管理员可以为管理节点对应的区块链成员,而避免将管理规则的更新权限开放给普通用户,以防止由此导致的安全性问题。
46.在本说明书中,管理节点中的预定义管理规则也可以被维护在数据库中,而与区块链上部署的管理合约无关。那么,当存在管理需求时,管理节点可以通过自主调用本地的管理数据库,以根据该管理数据库中的预定义管理规则校验接收到的候选区块。当管理规则需要更新时,可以通过相关技术中的数据库更新技术,对上述管理数据库中的管理规则进行更新;其中,对管理数据库的更新操作,同样可以通过对操作者进行身份限制,从而确保只有如前所述的管理员能够增加、删除或者修改管理数据库中的管理规则。
47.管理规则可以包括处于有效状态的有效管理规则和处于失效状态的失效管理规则,具体可以根据管理规则的状态信息进行判断。管理节点在根据管理规则校验候选区块中所包含的区块链交易时,可以根据各管理规则的状态信息,选取处于有效状态的有效管理规则进行校验。那么,通过对管理规则的状态信息进行配置,可以在不需要对管理规则进行频繁更新的情况下,根据实际需求调整希望用于校验候选区块的管理规则,有助于提升校验效率。譬如,可以预先添加所有可能使用到的管理规则共100条,在场景1下可以将需要使用的某10条管理规则设置为有效状态、其余管理规则设置为无效状态,使得在场景1下可以使用这10条管理规则来校验候选区块,而在场景2下如果需要将上述10条管理规则中的5条换成另外的管理规则,只需要将原有的5条管理规则设置为无效状态、将另外5条管理规则设置为有效状态,即可满足场景2下的校验需求,而无需反复更新管理规则。
48.例如,管理规则对应的状态信息可以包括有效时间段和失效时间段,从而通过时间段的方式来表征管理规则处于有效状态或无效状态。管理节点可以确定对候选区块的接收时刻或者读取该候选区块所含的时间戳,并将上述的接收时刻或时间戳与管理规则所对应的有效时间段进行匹配,若上述的接收时刻或时间戳处于某一管理规则的有效时间段内,则可以确定该管理规则为处于有效状态的有效管理规则,或者,若上述的接收时刻或时间戳处于某一管理规则的失效时间段内,则可以确定该管理规则为处于失效状态的失效管理规则。
49.再例如,管理规则对应的状态信息可以包括有效区块高度区间和失效区块高度区间,从而通过区块高度的方式来表征管理规则处于有效状态或无效状态。管理节点可以确定候选区块的区块高度,并将上述的区块高度与管理规则所对应的有效高度区间进行匹配,若上述的区块高度处于某一管理规则的有效高度区间内,则可以确定该管理规则为处于有效状态的有效管理规则,或者,若上述的区块高度处于某一管理规则的失效区块高度区间内,则可以确定该管理规则为处于失效的失效管理规则。举例而言,管理节点中预定义
有管理规则a和管理规则b,管理规则a将1~10设置为有效区块高度区间,管理规则b将11~20设置为有效区块高度区间。当管理节点接收到的候选区块的区块高度为15时,该候选区块的区块高度处于管理规则b的有效区块高度区间内,而未处于管理规则a的有效区块高度区间内,则可以确定管理规则b为处于有效状态的管理规则,而管理规则a为处于失效状态的管理规则,管理节点可以选择管理规则b对该候选区块进行校验。
50.在上述的校验过程中,管理节点可以通过解析候选区块中的区块链交易,获取交易中包含的能够用于进行校验的字段值,以根据预定义的管理规则对所述字段值进行校验。其中,调用管理规则的具体方式可以参考上述相关描述,此处不再赘述。通过将该待检测数据与管理规则中的预设数据进行比对,例如,当管理规则用于检测区块链交易的data字段包含的交易内容是否包含预设敏感词时,可以解析区块链交易以提取其data字段的交易内容,并将提取到的交易内容与管理规则中的各个预设敏感词进行比对,当交易内容匹配于任一预设敏感词时,可以判定该区块链交易未通过校验,反之,即交易内容不匹配于任何预设敏感词时,则可以判定该区块链交易通过了管理节点的校验。再例如,当管理规则用于检测区块链交易的to字段是否包含预定义的黑名单账户时,可以解析区块链交易以提取其to字段的交易内容,并将提取到的交易内容与管理规则中的各个预定义的黑名单账户进行比对,当交易内容匹配于任一预定义的黑名单账户时,可以判定该区块链交易未通过校验,反之,即交易内容不匹配于任一预定义的黑名单账户时,则可以判定该区块链交易通过了管理节点的校验。
51.除了对交易中包含的字段值进行校验外,管理节点也可以对候选区块中的区块链交易进行预执行,校验区块链交易的预执行结果,从而能够更加严格的审核区块链交易中未直接显示在字段值中的内容。举例而言,当管理节点用于检测交易产生的合约状态中是否包含预设敏感词时,可以预执行候选区块中的区块链交易,并从管理节点维护的合约状态中读取执行结果,将读取到的执行结果与管理规则中的各个预设敏感词进行比对,当执行结果不匹配于任一敏感词时,则可以判定该区块链交易通过了管理节点的校验。
52.进一步的,也可以将上述针对交易中所包含的字段值的校验与针对交易执行结果的校验相结合。管理节点在接收到共识通过的候选区块后,可以先解析该候选区块中包含的区块链交易,根据预定义的管理规则对解析得到的交易中包含的字段值进行预校验,再预执行预校验通过的区块链交易,从管理节点维护的合约状态中读取执行结果,并根据预定义的管理规则对所述执行结果进行校验。例如,当管理规则用于检测区块链交易的交易内容和交易产生的合约状态取值是否包含预设敏感词是否包含预设敏感词时,可以先解析区块链交易以提取其data字段的交易内容,并将提取到的交易内容与管理规则中的各个预设敏感词进行比对,当交易内容匹配于任一预设敏感词时,可以判定该区块链交易未通过校验,反之,即交易内容不匹配于任何预设敏感词时,则需要预执行该区块链交易以读取其执行结果,并将读取到的执行结果与管理规则中的各个预设敏感词进行比对,当执行结果匹配于任一预设敏感词时,可以判定该区块链交易未通过校验,反之,即执行结果不匹配于任何预设敏感词时,则可以判定该区块链交易通过了管理节点的校验。通过对候选区块中的区块链交易进行两步校验,可以在对区块链交易进行严格校验的同时,避免执行未通过预校验的区块链交易,从而减少计算资源的浪费,提高校验效率。
53.步骤106:在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的
情况下,触发各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块。
54.在一实施例中,当管理节点确定接收到的候选区块中的所有区块链交易均通过校验时,可以向其所属区块链系统中的各记账节点发送上链消息,以指示各记账节点分别将该候选区块记录为自身维护的区块链账本中的最新区块。管理节点可以通过与各记账节点之间建立的共识链路,对上述的上链消息进行传输。实际上,在步骤102中所描述的“候选区块已通过共识”是指已经在诸如前文所述的共识算法中通过了共识,而本说明书的技术方案可以理解为在这些共识算法的基础上额外增加了一个校验过程;或者,也可以理解为是对前文所述的共识算法进行改进,使得改进后的共识算法相比于现有的共识算法而言增加了一个校验过程,此时可以将上述的上链消息视为改进后的共识算法下产生的共识消息。
55.在一实施例中,当管理节点确定接收到的候选区块中的所有区块链交易均通过校验时,可以采用其账户对应的私钥对该候选区块进行签名,并将签名后的候选区块发送给所属区块链系统中的各记账节点。各记账节点在接收到签名后的候选区块后,可以根据该管理节点对应的账户公钥对接收到的候选区块中的数字签名进行验证,在各记账节点的预设交易执行条件被满足的情况下可以分别将所述候选区块记录为自身维护的区块链账本中的最新区块。其中,交易执行条件由区块链系统管理员根据需要预先建立,例如,当区块链系统中只有一个管理节点时,可以将交易执行条件设置为接收到由该管理节点签名后的候选区块;再例如,当区块链系统中有多个管理节点时,可以将交易执行条件设置为接收到由管理节点签名的候选区块的数量不少于预设数量,或接收到由管理节点签名的候选区块的数量与管理节点的总数量之比不小于预设比例等,以避免单个或少数管理节点发生异常的情况下可能产生的安全性风险。
56.步骤108:在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,触发各记账节点放弃所述候选区块。
57.在一实施例中,当管理节点确定接收到的候选区块中存在区块链交易未通过校验时,可以向其所属区块链系统中的各记账节点发送弃块消息,以指示各记账节点放弃该候选区块。其中,弃块消息可以是在链上发送的弃块交易,也可以是在链下发送的预定义消息报文,本说明书对此不作限制。
58.在一实施例中,当管理节点确定接收到的候选区块中存在区块链交易未通过校验时,对应于上述步骤106中发送签名后的候选区块的实施例,管理节点可以不对候选区块进行任何操作,避免向各记账节点发送经过签名的候选区块,使得区块链系统中的各记账节点无法满足预设的交易执行条件,在超过预设时长后仍无法满足交易执行条件的情况下,各个记账节点可以放弃该候选区块。
59.在一实施例中,当管理节点确定接收到的候选区块中存在未通过校验的区块链交易时,还可以根据校验结果,将候选区块中符合管理规则的区块链交易重新打包,生成新的候选区块,并与区块链系统中的其他区块链节点对其进行共识。举例而言,若管理节点接收到的候选区块中包含交易1、交易、交易3,其中交易1与交易2通过了管理节点的校验管理,而交易3未通过管理节点的校验管理,则该管理节点可以将交易1与交易2重新打包,生成新的候选区块,在该新的候选区块通过共识的情况下,管理节点可以采用其账户对应的私钥对该候选区块进行签名,并将签名后的候选区块发送给所属区块链系统中的各记账节点,
以使各记账节点在交易执行条件被满足的情况下分别将所述候选区块记录为自身维护的区块链账本中的最新区块,其中对新的候选区块进行共识以及签名的具体步骤可以参考上述的相关描述,本说明书在此不作赘述。通过由管理节点重新打包生成新的候选区块,相比于由其他记账节点重新选取区块链交易、打包生成候选区块而言,可以具有更高的区块生成效率。
60.本说明书通过在区块链系统设置管理节点,使得记账节点打包的所有候选区块在被记录在区块链账本前都要经过管理节点的校验,只有符合管理节点的预设管理规则的候选区块才可以被区块链系统中的其他区块链节点记录并执行,从而不仅能够提高区块链交易的安全性,也能够对写入链上的数据进行有效管理,避免不符合管理需求的数据被存储在链上。
61.图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
62.请参考图5,区块管理装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,该区块管理装置可以包括:
63.接收单元502,被配置为接收所述区块链系统中记账节点发送的候选区块,所述候选区块由所述记账节点对通过合法性验证的若干区块链交易进行打包得到,且所述候选区块已通过共识。
64.校验单元504,被配置为根据预定义的管理规则校验所述候选区块中包含的区块链交易。
65.第一触发单元506,被配置为在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的情况下,触发各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块。
66.第二触发单元508,被配置为在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,触发各记账节点放弃所述候选区块。
67.可选的,所述根据预定义的管理规则校验所述候选区块中包含的区块链交易包括:调用预先部署在所述区块链管理节点处的管理合约,以通过所述管理合约中预定义的管理规则校验所述候选区块中包含的区块链交易。
68.可选的,所述管理合约包括部署于所述区块链管理节点上运行的区块链平台代码中的系统合约,所述调用预先部署在所述区块链节点处的管理合约包括:在管理合约的调用条件被满足的情况下,通过记录于所述区块链平台代码中的预定义接口调用所述管理合约;其中,所述管理合约的调用条件包括:所述候选区块通过共识。
69.可选的,所述管理规则被维护于所述管理合约的合约代码中,或者所述管理合约对应的合约状态中。
70.可选的,所述管理合约被通过合约部署交易部署于所述区块链系统中的各区块链
节点处;或者,所述管理合约为部署于所述区块链管理节点处的本地合约。
71.可选的,所述管理规则被维护于所述管理合约对应的合约状态中,所述装置还包括:
72.更新单元510,被配置为根据接收到的规则更新交易调用所述管理合约,以将所述合约状态的取值更新为所述规则更新交易携带的更新后的管理规则。
73.可选的,所述根据预定义管理规则校验所述区块中包含的区块链交易包括:调用预先部署在所述区块链节点处的管理数据库,以通过所述管理数据库中的预定义管理规则校验所述区块中的区块链交易。
74.可选的,所述根据预定义管理规则校验所述候选区块中包含的区块链交易包括:解析所述候选区块中包含的区块链交易,根据预定义的管理规则对解析得到的交易中包含的字段值进行预校验;和/或预执行所述区块链交易,并根据预定义的管理规则对预执行的结果进行校验。
75.可选的,所述管理规则用于实现下述检查中至少之一:交易内容和/或交易产生的合约状态取值是否包含预设敏感词;交易数额是否超过预设数额阈值;交易发起方账户和/或交易对端账户是否为预设黑名单账户。
76.可选的,所述在确认所述后选区块中包含的所有区块链交易均符合所述管理规则的情况下,触发各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块,包括;在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的情况下,对所述候选区块进行签名;将经过签名的候选区块发送给所述区块链系统中的各记账节点,以使各记账节点在交易执行条件被满足的情况下分别将所述候选区块记录为自身维护的区块链账本中的最新区块;其中,所述交易执行条件包括:接收到由管理节点签名的候选区块的数量不少于预设数量,或接收到由管理节点签名的候选区块的数量与管理节点的总数量之比不小于预设比例。
77.可选的,所述在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,触发各记账节点放弃所述候选区块包括:在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,避免向各记账节点发送经过签名的候选区块。
78.可选的,所述在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的情况下,触发各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块,包括:在确认所述候选区块中包含的所有区块链交易均符合所述管理规则的情况下,向所述区块链系统中的各记账节点发送上链消息,以使各记账节点分别将所述候选区块记录为自身维护的区块链账本中的最新区块。
79.可选的,所述在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,触发各记账节点放弃所述候选区块包括:所述在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,向所述区块链系统中的各记账节点发送弃块消息,以使各记账节点放弃所述候选区块。
80.可选的,所述装置还包括:
81.打包单元512,被配置为在确认所述候选区块中存在任一区块链交易不符合所述管理规则的情况下,打包所述候选区块中符合所述管理规则的所有区块链交易以生成新的候选区块。
82.发送单元514,被配置为将新的候选区块发送给所述区块链系统中的各记账节点,以使各记账节点分别将所述新的候选区块记录为自身维护的区块链账本中的最新区块。
83.可选的,所述装置还包括:
84.共识单元516,被配置为与所述区块链系统中的各记账节点对所述新的候选区块进行共识;其中,各记账节点在确定所述新的候选区块通过共识的情况下将其记录为自身维护的区块链账本中的最新区块。
85.可选的,所述根据预定义的管理规则校验所述候选区块中包含的区块链交易包括:根据各管理规则的状态信息,从所述管理规则中选取处于有效状态的有效管理规则;其中,所述状态信息包括有效状态和无效状态;根据所述有效管理规则校验所述候选区块中包含的区块链交易。
86.可选的,在当前时刻处于任一管理规则对应的有效时间段,或所述候选区块的区块高度处于所述任一管理规则对应的有效区块高度区间的情况下,所述任一管理规则被确定为处于有效状态;和/或,在当前时刻处于任一管理规则对应的失效时间段,或所述候选区块的区块高度处于所述任一管理规则对应的失效区块高度区间的情况下,所述任一管理规则被确定为处于失效状态。
87.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
88.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
89.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
90.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
91.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
92.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
93.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
94.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
95.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献