区块链处理方法、记账节点及验证节点与流程

文档序号:15689816发布日期:2018-10-16 21:51阅读:887来源:国知局

本发明涉及信息技术领域,尤其涉及一种区块链处理方法、记账节点及验证节点。



背景技术:

区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全。

区块链使用块链式结构以及共识机制取代了目前互联网对中心服务器的依赖,所有交易数据都被记录在区块链中,单个节点无法修改交易数据,从而保证了账簿的安全可靠。

比特币的出现第一次让区块链进入大众视野,之后产生了莱特币、以太币、等可编程货币。可编程货币的出现,使得价值在互联网中直接流通成为可能。区块链构建了一种全新的去中心化的数字支付系统,随时随地的货币交易、毫无障碍的跨国支付以及低成本运营的去中心化体系都让这个系统变得魅力无穷。

利用区块链技术,各个节点共同维护一份公共账簿,这份账簿记录了所有的交易记录,一笔交易只有记录到公共账簿中才意味着该笔交易执行完成。现有区块链系统中验证节点是对等的,所有验证节点均可以对系统中的交易进行验证,并且通过共识机制将交易发布到区块链中。

在区块链系统中包括有进行交易信息验证的验证节点,以及对通过验证的交易信息进行记录形成区块链中的区块的记账节点。

现有的区块链的使用过程中发现,区块链系统中的记账节点多,且记账节点形成的区块多,从而导致记账节点之间基于共识算法对区块的确认操作多,整个区块链网络的开销高等诸多问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种区块链处理方法、记账节点及验证节点,期望降低区块链网络的计算开销。

为达到上述目的,本发明的技术方案是这样实现的:本发明实施例第一方面提供一种区块链处理方法,应用于记账节点中,包括:

接收至少两种交易类型的交易信息;

基于共识机制,将通过验证的至少两种交易类型的所述交易信息形成区块;

将所述区块发布到区块链网络中,其中,所述区块,用于按照所述交易信息对应的交易时间顺序链接成区块链;所述区块链包括至少两种交易类型的交易信息。

基于上述方案,所述基于共识机制,将通过验证的至少两种交易类型的所述交易信息形成区块,包括:

基于所述共识机制,将预定时间范围内产生的至少两种交易类型产生的所有交易信息记录到一个所述区块中。

基于上述方案,所述方法,还包括:

接收验证节点发送的验证信息,其中,所述验证信息包括所述交易信息的交易标识及验证结果;其中,所述验证结果用于指示所述交易信息是否通过验证;

所述将通过验证的至少两种交易类型的所述交易信息形成区块,包括:

根据所述验证结果确定出通过验证的交易信息;

将通过验证的所述交易信息形成所述区块。

基于上述方案,所述验证信息还包括:验证节点信息;

所述根据所述验证结果确定出通过验证的交易信息,包括:

根据所述验证节点信息,确定出对所述交易信息的验证结果为通过验证的验证节点的数量;

将所述数量符合预设条件的所述交易信息形成所述区块。

基于上述方案,所述验证信息还包括:验证节点签名信息;

所述方法还包括:

根据所述验证节点签名信息,确定所述验证节点的签名是否正确;

所述根据所述验证结果确定出通过验证的交易信息,包括:

当所述验证信息的所述验证节点签名正确时,根据所述验证结果确定出通过验证的交易信息。

基于上述方案,所述方法还包括:

丢弃所述验证结果指示未通过验证的所述交易信息。

本发明实施例第二方面提供一种区块链处理方法,应用于验证节点中,包括:

接收交易信息;

根据所述交易信息的交易类型,判断是否支持对所述交易类型的验证;

当支持所述交易类型的验证时,验证所述交易信息形成验证信息;其中,所述验证信息至少包括:所述交易信息的交易标识及所述交易信息的验证结果,其中所述验证结果,用于指示所述交易信息是否通过验证,供记账节点确定是否需要将对应的交易信息记录到区块链中;

向区块链网络中发布所述验证信息。

基于上述方案,所述验证信息,用于供所述区块链网络中记账节点将至少两种交易类型的交易信息记录到同一个区块链中。

基于上述方案,所述验证信息,还包括:验证节点信息和/或验证节点签名信息;

所述验证节点信息,用于供所述记账节点确定对所述交易信息的验证结果为通过验证的验证节点的数量是否满足预设条件;

所述验证节点签名信息,用于供所述记账节点确定所述验证节点是否正确。

本发明实施例第三方面提供一种记账节点,包括:

第一接收单元,用于接收至少两种交易类型的交易信息;

形成单元,用于基于共识机制,将通过验证的至少两种交易类型的所述交易信息形成区块;

第一发送单元,用于将所述区块发布到区块链网络中,其中,所述区块,用于按照所述交易信息对应的交易时间顺序链接成区块链;所述区块链包括至少两种交易类型的交易信息。

基于上述方案,所述形成单元,具体用于基于所述共识机制,将预定时间范围内产生的至少两种交易类型产生的所有交易信息记录到一个所述区块中。

基于上述方案,所述第一接收单元,具体用于接收验证节点发送的验证信息,其中,所述验证信息包括所述交易信息的交易标识及验证结果;其中,所述验证结果用于指示所述交易信息是否通过验证;

所述形成单元,具体用于根据所述验证结果确定出通过验证的交易信息;将通过验证的所述交易信息形成所述区块。

基于上述方案,所述验证信息还包括:验证节点信息;

所述形成单元,具体用于根据所述验证节点信息,确定出对所述交易信息的验证结果为通过验证的验证节点的数量;将所述数量符合预设条件的所述交易信息形成所述区块。

基于上述方案,所述验证信息还包括:验证节点签名信息;

所述记账节点还包括:

第一确定单元,用于根据所述验证节点签名信息,确定所述验证节点的签名是否正确;

所述形成单元,还具体用于当所述验证信息的所述验证节点签名正确时,根据所述验证结果确定出通过验证的交易信息。

基于上述方案,所述记账节点还包括:

丢弃单元,用于丢弃所述验证结果指示未通过验证的所述交易信息。

本发明实施例第四方面提供一种验证节点,包括:

第二接收单元,用于接收交易信息;

判断单元,用于根据所述交易信息的交易类型,判断是否支持对所述交易类型的验证;

验证单元,用于当支持所述交易类型的验证时,验证所述交易信息形成验证信息;其中,所述验证信息至少包括:所述交易信息的交易标识及所述交易信息的验证结果,其中所述验证结果,用于指示所述交易信息是否通过验证,供记账节点确定是否需要将对应的交易信息记录到区块链中;

第二发送单元,用于向区块链网络中发布所述验证信息。

基于上述方案,所述验证信息,用于供所述区块链网络中记账节点将至少两种交易类型的交易信息记录到同一个区块链中。

基于上述方案,所述验证信息,还包括:验证节点信息和/或验证节点签名信息;

所述验证节点信息,用于供所述记账节点确定所述交易信息的验证结果为通过验证的验证节点的数量是否满足预设条件;

所述验证节点签名信息,用于供所述记账节点确定所述验证节点是否正确

本发明实施例提供的区块链处理方法、记账节点及验证节点,记账节点可以接收至少两种以上的交易类型的交易信息,将两种类型以上的交易信息融合记录到一个区块链中,减少了区块和区块链的数量的产生,减少了区块链网的记账节点个数和类型,简化了区块链网络及系统开销。

附图说明

图1为本发明实施例提供的第一种区块链处理方法的流程示意图;

图2为本发明实施例提供的第二种区块链处理方法的流程示意图;

图3为本发明实施例提供的第三种区块链处理方法的流程示意图;

图4为本发明实施例提供的一种记账节点的结构示意图;

图5为本发明实施例提供的一种验证节点的结构示意图;

图6为本发明实施例提供的一种区块链网络的结构示意图;

图7为本发明实施例提供的一种区块链的示意图;

图8为本发明实施例提供的一种验证信息的结构示意图;

图9为本发明实施例提供的一种交易信息与验证节点的信息的关联示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

如图1所示,本实施例提供一种区块链处理方法,应用于记账节点中,包括:

步骤s110:接收至少两种交易类型的交易信息;

步骤s120:基于共识机制,将通过验证的至少两种交易类型的所述交易信息形成区块;

步骤s130:将所述区块发布到区块链网络中,其中,所述区块,用于按照所述交易信息对应的交易时间顺序链接成区块链;所述区块链包括至少两种交易类型的交易信息。

本实施例提供一种应用于记账节点中的区块链处理方法。记账节点通常为记录交易信息形成区块链中的区块的信息处理节点。

一般情况下一个记录节点仅能够接收一种交易类型的交易信息,形成一种交易类型的区块和仅包括一种交易类型的交易信息的区块链。这样的话,一条区块链仅能够记录一种交易类型的交易信息,不同的交易类型的交易信息必然会位于不同的区块链中。这样就导致区块链的条数多,产生的区块多。而在区块链网络中每一个区块的生成,都是由很多记录节点共同在处理的,且生成的区块以哪一个记录节点的区块为准添加到对应的区块链中,是需要记录节点之间基于共识机制通过大量计算达到共识的。若区块链网络中的区块链多及区块多,则显然会导致记录节点的计算量大,整个区块链网络的系统开销大等问题。

故在本实施例中记录节点包括一个可接收多种交易类型的交易信息的接口,故将接收到两种或两种以上的交易类型的交易信息。并将这两种或两种以上的通过验证的交易信息,记录到同一个区块链中。这样的话,同一个区块链可以包括:两种或两种以上的交易类型的交易信息,减少了区块链的条数,并进一步可以减少区块的个数,从而减少记录节点在进行区块数的生成和基于共识机制的计算量,减少了整个区块链系统的系统开销,生成了包括两种或两种以上的交易类型的交易信息的区块链。

在本实施例中每一个所述交易信息的形成都形成对应的交易标识,后续在查询对应的交易信息时,可以具有唯一标识作用的交易信息进行查询。

在生成所述区块之后,所述记账节点会将所述区块广播到区块链网络中,若一旦基于共识机制得到其他记录节点的认可,则该区块会被复制到其他记录节点中,由于多种交易类型的交易信息可以整合记录到一个区块中和一个区块链中,则记账节点自身产生的区块数少,且需要认证其他记账节点产生的区块数也少,显然是可以减少区块链网络的记账开销的。

具体如,所述步骤s120可包括:

基于所述共识机制,将预定时间范围内产生的至少两种交易类型产生的所有交易信息记录到一个所述区块中。

在本实施例中记账节点会将预定时间范围内产生的多种交易类型的交易信息记录到一个所述区块中。

例如,所述预设时间范围可为5分钟、10分钟或15分钟预定时长。通常情况下,所述预设时间范围可为5到20分钟。

若不同交易类型的交易信息必须记录到不同的区块链中,若当前有n种交易类型的交易信息,且由于一种记账节点仅可以参与一条区块链的记录和维护,则需要n种记账节点,若每一种记账节点有m个,则区块链网络中必须有n*m个记账节点,显然整个区块链网络内记账节点繁多,且区块链网络臃肿。而在本实施例中则不同,一个所述记账节点,可以同时接收到多种不同交易类型的交易信息,会将不同交易类型的交易信息记录到同一条区块链中,故即便有n种交易类型的交易信息,也仅需一种记账节点即可,则仅需m个记账节点即可完成交易信息的记录,从而减少了记录节点的数目,减少了区块链网络臃肿的现象。于此同时,若一种记账节点仅记录一种交易信息,形成包括单一交易类型的交易信息,则每个预设时间范围,n种类型的记账节点会产生n个区块,这些区块产生之后都需其他记账节点基于共识机制进行相关计算得到认可之后,才能加入区块链。显然这样的话,产生的区块数多,且基于共识机制的计算量大,系统开销大。而在本实施例中会将多种不同交易类型的交易信息融合记录到一个区块中,首先减少了区块,进而减少了区块认可产生的计算量,从而大大的减少了系统开销。

作为本实施例的优选,本实施例中同一个记账节点接收到的多种交易类型可毫无关联,也可以是具有关联性的,优选地为,一个记账节点接收到多种交易类型的交易信息,或记录到同一个区块链中的交易信息,是具有关联性的。例如,对用户a的身份验证产生的交易信息,和对用户a提供给的互联网域名验证产生的交易信息,是属于不同交易类型的交易信息,由于都是基于用户a的交易信息,且在后续的信息使用过程中可能会同时需要核验用户a的身份,并确定其提供的互联网域名是否合法进行验证。将这两种具有关联性的不同交易类型验证信息,打包记录到同一个区块或同一个区块链中,则后续进行区块链中交易信息的查询时,可以基于单一查询请求进行查询,减少查询过程总信息交互量,简化查询操作。

再比如,所述交易信息为公钥基础设施(pki)密钥的相关信息,和用户使用的通信标识的相关信息,是属于不同交易类型的交易信息;在本实施例中可以认为是具有关联性的交易信息,发送到同时支持多种交易类型的交易信息的融合区块链记录的记账节点中进行记录。

可选地,所述方法,还包括:

步骤s111:接收验证节点发送的验证信息,其中,所述验证信息包括所述交易信息的交易标识及验证结果;其中,所述验证结果用于指示所述交易信息是否通过验证;

如图2所示,所述步骤s120可包括:

步骤s121:根据所述验证结果确定出通过验证的交易信息;

步骤s122:将通过验证的所述交易信息形成所述区块。

在本实施例中所述记录节点实质上从验证节点接收的验证信息。该验证信息中至少包括:交易信息的交易标识及验证结果。验证信息中携带的交易标识对应的交易信息可能是通过了验证的交易信息,也可以能是未通过验证的交易信息,该验证信息是否通过验证,由验证结果来指示。验证节点不会直接丢弃未通过验证的交易信息了。在本实施例中所述验证结果可以由一个或多个比特来指示。例如,采用一个比特的两种取值来指示该交易信息是否通过验证。所述交易标识可为唯一指示所述交易信息的序列号和/或名称等各种信息指示信息。

故在本实施例中记账节点根据验证结果,确定哪些交易信息是通过了验证的。在本实施例中所述记账节点,确定出有交易信息未通过验证,则将直接丢弃该交易信息,进一步地,可以丢弃该验证信息,这样就丢弃了该不通过验证的所有信息记录,减少区块链网络中存储的信息量。

可选地,所述验证信息还包括:验证节点信息;

所述方法还包括:

根据所述验证节点信息,确定出对所述交易信息通过验证的验证节点的数量。在本实施例中单一验证节点通过交易信息的验证可能性还不够高,在本实施例中所述验证信息中还携带有验证节点的验证节点信息。该验证节点信息可为验证节点的标识。这样交易节点就可以根据验证节点信息,确定出当前有多少个验证节点通过了对一个交易信息的验证。所述步骤s122可包括:

将所述数量符合预设条件且通过验证的所述交易信息形成所述区块。

在本实施例中会根据通过一个交易信息验证的数量,进一步确定是否需要将该交易信息记录到区块中。例如,当一个交易信息在对其进行了验证的验证节点中通过了验证的验证节点数量达到了一半,则可认为达到了预设条件。

在一些实施例中,还可以是通过了该交易信息的验证节点的数量达到数量阈值,则可认为所述数量符合所述预设条件。

在本实施例中通过所述数量的预设条件是否符合,确保了验证的可靠性,确保了区块链中记录的交易信息的真实性。

在一些实施例中,若所述数量不符合所述预设条件,则可丢弃对应的交易信息,例如,所述数量没有达到预定阈值,或数量对应的比值没有达到比例阈值,则丢弃对应的交易信息。

可选地,所述验证信息还包括:验证节点签名信息;

所述方法还包括:

根据所述验证节点签名信息,确定所述验证节点的签名是否正确。在本实施例中所述验证节点签名信息,可为所述验证节点利用签名密钥进行了签名的各种签名信息;这里的签名密钥可以直接为验证节点的节点标识等信息。在本实施例中通过所述验证节点签名信息的处理,可以确定出记账节点当前接收到交易信息和/或验证信息是否完整,和/或是否合法,以保证记账节点记录到区块中和区块链中的交易信息是合法信息。

对应地,所述步骤s121可包括:当所述验证信息的所述验证节点签名正确时,根据所述验证结果确定出通过验证的交易信息。

在一些实施例中,所述方法还包括:丢弃所述验证结果指示未通过验证的所述交易信息。通过该操作的处理,减少记账节点的存储的数据量。

在一些实施例中,所述方法还包括:当所述交易信息记录到所述区块中后,所述记账节点丢弃对应的交易信息和/或验证信息,同样可以减少记账节点中记录的信息量。

如图3所示,本实施例提供一种区块链处理方法,应用于验证节点中,包括:

步骤s210:接收交易信息;

步骤s220:根据所述交易信息的交易类型,判断是否支持对所述交易类型的验证;

步骤s230:当支持所述交易类型的验证时,验证所述交易信息形成验证信息;其中,所述验证信息至少包括:所述交易信息的交易标识及所述交易信息的验证结果,其中所述验证结果,用于指示所述交易信息是否通过验证,供记账节点确定是否需要将对应的交易信息记录到区块链中;

步骤s240:向区块链网络中发布所述验证信息。

本实施例提供的区块链处理方法为应用于验证节点中的方法。本实施例提供区块链处理方法,验证节点对交易信息进行验证时,会确定自身是否支持对对应交易类型的验证,若支持就进行验证,如不支持则不进行验证。在一些实施例中一个所述验证节点可以支持多种交易类型的交易信息的验证,而不局限于一种交易信息的验证,拓展单个验证节点的功能,减少区块链网络中验证节点的个数和/或类型。

另一方面,在本实施例中所述验证节点,对交易信息进行验证之后,不会直接丢弃未通过验证的交易信息,而是会将该交易信息和指示其不通过验证的验证结果,形成验证信息发布到区块链网络中。这样区块链网络中的记账节点接收该验证信息之后,由记账节点确定是否丢该记账信息。且采用这种方法,方便记账节点,确定出在一个指定时间段内有多少验证节点对该交易信息进行了验证,确定通过交易信息的验证节点的数量在所有对该交易信息进行了验证的验证节点中的比例,从而方便记账节点根据该比例,确定是否需要将该交易信息记录到区块中,从而确保记录到区块中的交易信息的正确性、真实性。

在一些实施例中,所述验证信息,用于供所述区块链网络中记账节点将至少两种交易类型的交易信息记录到同一个区块链中。在本发明实施例中同时记录有多种交易类型的交易信息的区块链可称为融合区块链,是由同时支持多种交易类型的区块生成的记账节点形成。

可选地,所述验证信息,还包括:验证节点信息和/或验证节点签名信息;

所述验证节点信息,用于供所述记账节点确定通过所述验证信息的验证节点的数量是否满足预设条件;所述验证节点签名信息,用于供所述记账节点确定所述验证节点是否正确。

例如,假设m个验证节点对该交易信息进行了验证,若n个节点通过了交易信息的验证,则记账节点接收到m个验证节点发送的验证信息之后,可以计算出n/m,若n/m大于预设比例值,则可认为所述数量符合所述预设条件。在一些实施例中,所述记账节点也可以比较m-n和n的取值,若n大于m-n,则可认为所述数量符合所述预设条件,采用这种方式可以确保记录到区块链中的交易信息的真实性和可靠性。

在本实施例中所述验证节点签名信息,可以用于记账节点验证该当前接收到验证信息是否完整,和/或是否合法。

如图4所示,本实施例提供一种记账节点,包括:

第一接收单元110,用于接收至少两种交易类型的交易信息;

形成单元120,用于基于共识机制,将通过验证的至少两种交易类型的所述交易信息形成区块;

第一发送单元130,用于将所述区块发布到区块链网络中,其中,所述区块,用于按照所述交易信息对应的交易时间顺序链接成区块链;所述区块链包括至少两种交易类型的交易信息。

本实施例提供的记账节点可为一种记账系统,包括一个可接收多种交易类型的交易信息的第一接收单元110的信息处理节点。

在本实施例中所述记账节点接受到多种类型的交易信息之后,会将这多种交易类型的交易信息融合记录到同一个区块链中,这样就减少了区块链的条数,减少了区块的个数;从而减少了记账节点生成区块产生的系统消耗,以及基于共识机制认可其他记账节点产生的区块所产生的系统开销;整体上减少了区块链网络的系统开销。与此同时,一个记账节点可以对多种交易类型的交易信息进行记账,无需每一种交易类型设置一种类型的记账节点,减少了整个区块链网络的记账节点的类型,简化了区块链网络。

在本实施例中所述第一接收单元110和第一发送单元130可对应于记账节点所在计算机的通信接口,这里的通信接口可为有线接口或无线接口等。

所述形成单元120可对应于处理器或处理电路。所述处理器可包括中央处理器、微处理器、数字信号处理器、应用处理器或可编程阵列等。所述处理电路可包括专用集成电路。

可选地,所述形成单元120,可用于基于所述共识机制,将预定时间范围内产生的至少两种交易类型产生的所有交易信息记录到一个所述区块中。

在本实施例中将预定时间范围内多种交易类型产生的所有通过验证的交易信息生成到一个区块中,若整个区块链网络中交易笔数不变的情况下,一个区块包括的交易信息的笔数增多了,则自然减少了区块的数量,从而减少了区块链网络生成的区块数和共识计算量。

可选地,所述第一接收单元110,具体用于接收验证节点发送的验证信息,其中,所述验证信息包括所述交易信息的交易标识及验证结果;其中,所述验证结果用于指示所述交易信息是否通过验证;

所述形成单元,具体用于根据所述验证结果确定出通过验证的交易信息;将通过验证的所述交易信息形成所述区块。

在本实施例中记账节点,会根据验证信息中的验证结果,识别出哪些交易信息是通过了验证的,仅将通过了验证的交易信息形成区块。

可选地,所述验证信息还包括:验证节点信息;

所述形成单元120,还用于根据所述验证节点信息,确定出对所述交易信息通过验证的验证节点的数量;用于将所述数量符合预设条件的所述交易信息形成所述区块。

所述形成单元120,仅在对交易信息验证通过的验证节点的数量符合预设条件时,才将该交易信息形成区块,以确保记录到区块中的交易信息的真实性、合法性和可靠性。

在一些实施例中,所述验证信息还包括:验证节点签名信息;

所述记账节点还包括:

第一确定单元,还用于根据所述验证节点签名信息,确定所述验证节点的签名是否正确;

所述第一确定单元,具体用于当所述验证信息的所述验证节点签名正确时,根据所述验证结果确定出通过验证的交易信息。

本实施例提供的记账节点的第一确定单元,可对应于处理器或处理电路的代码执行,实现签名是否正确的确定,以确保记录到区块中的交易信息的完整性和合法性。

具体地,所述记账节点还包括:

丢弃单元,用于丢弃所述验证结果指示未通过验证的所述交易信息。

这里的丢弃单元,可对应于处理器和存储器,所述处理器可以通过操作存储器,将存储器中存储的未通过验证的交易信息丢弃掉,减少未通过验证的交易信息的存储资源的占用。

如图5所示,本实施例提供一种验证节点,包括:

第二接收单元210,用于接收交易信息;

判断单元220,用于根据所述交易信息的交易类型,判断是否支持对所述交易类型的验证;

验证单元230,用于当支持所述交易类型的验证时,验证所述交易信息形成验证信息;其中,所述验证信息至少包括:所述交易信息的交易标识及所述交易信息的验证结果,其中所述验证结果,用于指示所述交易信息是否通过验证,供记账节点确定是否需要将对应的交易信息记录到区块链中;

第二发送单元240,用于向区块链网络中发布所述验证信息。

本实施例提供一种验证节点,该验证节点在进行交易信息验证时,会先判断是否自己支持的交易类型的验证,若是才验证;不是则不验证;验证之后形成验证信息,而非直接丢弃掉不通过验证的交易信息,方便后续记账节点在记账过程中的基于多个验证节点的验证确定是否记录到区块中,以确保区块中记录的交易信息的正确性。

在本实施例中所述第二接收单元210及第二发送单元240可对应于验证节点所在计算机的通信接口,这里的接口可为各种类型的有线接口或无线接口。

所述验证单元230可对应于处理器或处理电路。这里的处理器或处理电路可参见前述实施例,在此就不重复了。

可选地,所述验证信息,用于供所述区块链网络中记账节点将至少两种交易类型的交易信息记录到同一个区块链中。

可选地,所述验证信息,还包括:验证节点信息和/或验证节点签名信息;所述验证节点信息,用于供所述记账节点确定通过所述验证信息的验证节点的数量是否满足预设条件;所述验证节点签名信息,用于供所述记账节点确定所述验证节点是否正确。

在验证信息中携带验证节点信息和/或验证节点签名信息,方便记账节点进行签名验证和确定是否将对应的交易信息添加到区块中,可以提升区块内纪录的交易信息的正确性、真实性及合法性。

以下基于上述实施例提供几个示例:

示例一:

如图6所示,本示例提供一种区块链网络,包括:

验证节点,用于验证不同类型交易的交易信息的合法性、交易是否可以执行。同一个交易验证节点能够验证一种或若干种类型的交易。在图6中显示验证节点1、验证节点2、验证节点3、验证节点4……到验证节点n,这里的n为正整数。在图6所示的区块链网中,验证节点可以对交易类型1、交易类型2至交易类型k的交易信息进行验证。k为正整数,优选可为不小于2的整数。

记账节点,用于通过共识机制中的共识算法,将当前网络中所有合法的、可执行的多种交易类型的交易信息加入到一个区块链中。

用户节点,是区块链的使用者,利用区块链网络进行交易从而产生交易信息。

上述三类节点均是逻辑节点,在具体实施中,记账节点和验证节点,可位于同一个物理设备上,同样地,用户节点和记账节点也可以位于同一个物理设备上。

图7为本示例提供给的一种区块的结构示意图,包括:

区块分为区块头和区块体,区块体中包含若干条交易的交易信息。

本示例提供的区块链处理方法,包括:交易信息发布、交易信息验证及交易信息记录阶段,以下分别说明上述各个阶段。

图7所示为一条已经产生有s个区块的区块链;所述s为不小于1的正整数。图7所示的s个区块包括两种或两种以上交易信息,不同交易类型的交易信息可分布在同一个区块中或不同区块中,例如,位于同一个区块体内的交易信息可为不同类型的交易信息,也可以是同一类型的交易信息。

交易信息发布,包括:

用户节点(如手机、个人电脑(pc))等设备将产生的交易信息发布到区块链网络中。

交易验证,包括:

各个验证节点收到网络中的交易信息之后,分别开始对接收到的交易信息进行验证。交易验证节点根据交易信息识别出交易信息对应的交易类型,判断自身是否可以对该类型交易进行验证,若可以验证,则对验证结果进行签名之后发布到区块链网络。验证结果包括交易是否合法、是否可以执行等信息。验证节点验证完成之后,向区块链网络发布验证信息;所述验证信息可如图8所示,包含:交易标识、验证节点信息、验证结果以及验证节点的签名等。验证节点自身不能验证该类型的交易,则丢弃该交易标识指示的交易信息。

交易信息记账包括:

记账节点接收并存储尚未记录到区块链中的交易的相关信息,包括交易信息、各个验证节点对交易的验证结果以及相应的签名等。

记账节点接收到新交易之后存储交易信息;

记账节点接收到验证节点发布的验证结果时,首选检查验证结果中的签名是否正确,若正确则存储验证结果,并将验证结果与交易相互关联。图9所示,为交易信息p和q分别与对其进行验证的验证节点信息、验证结果及签名关联起来的示意图。后续记账节点可以通过统计验证通过的验证节点的数量和/或比例,确定是否将交易信息p和/或q记录为区块,形成区块链。

具体如,记账节点计算尚未记录到区块链中的交易的验证结果,若有一定数量(例如超过一半的验证节点,根据具体情况设定)的验证结果显示该交易信息合法且可以执行,则将交易信息记录到新的区块体中;若有一定数量(例如超过一半的验证节点,根据具体情况设定)的验证结果显示交易非法或交易不可执行,那么记账节点丢弃该交易的所有信息。

记账节点根据当前新区块体中的交易,使用区块链中的共识机制生成一个新区块,并将该新区块发布到区块链网络。其中共识机制可采用工作量证明(proofofwork,pow)算法、权益证明(proofofstake,pos)算法、一致性算法(rippleconsensusalgorithm,rpca)等进行共识的达成。

网络中其他验证节点接收到新区块后,利用存储的交易验证结果验证该新区块中每笔交易是否合法且可以执行,如果所有交易合法且可以执行,那么将该新区块加入到本地保存的区块链中,否则丢弃该新区块。

新区块被加入到区块链中以后,记账节点删除该区块中每笔交易的相关信息,包括交易信息、各个验证节点对交易的验证结果以及相应的签名信息。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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