用于在区块链中处理事务数据的方法、装置及存储介质与流程

文档序号:16811179发布日期:2019-02-10 13:40阅读:221来源:国知局
用于在区块链中处理事务数据的方法、装置及存储介质与流程

本发明的实施例涉及区块链网络技术,更为具体地涉及一种用于在区块链中处理事务数据的方法、一种用于执行上述的用于在区块链中处理事务数据的方法的装置以及一种相应的计算机可读存储介质。



背景技术:

区块链(blockchain)是用区块链数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链技术包括以块结构存储数据,使用密码学保证传输和访问安全等,其能够实现数据一致性存储、反篡改、去中心的技术体系。

智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。用户终端可通过使用智能合约进行交易、共享数据、建立信任、并由区块链技术的特性保障数据的存储、读取、执行整个过程透明可跟踪、不可篡改。



技术实现要素:

本发明的实施例的第一方面提供了一种用于在区块链中处理事务数据的方法,所述方法包括:

从第一区块链节点处接收第一事务数据,其中,所述第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中;

基于所述第一事务数据获取第一事件编号;

根据所述第一事件编号从所述区块链的公用账本中获取与所述第一事件编号相关联的第一事件摘要;

根据所述第一事务数据生成第二事件摘要;以及

通过将所述第一事件摘要与所述第二事件摘要作比较来对所述第一事务数据是否被修改过进行验证,其中,所述第一事件摘要与所述第二事件摘要不相等表示所述第一事务数据被修改过。

此外,本发明的实施例的第二方面提供了一种用于在区块链中处理事务数据的方法,所述方法包括:

在第一区块链节点处接收第一事务请求;

将与所述第一事务请求相关联的第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中,其中,所述第一事务数据包括事件编号和事务详情;以及

将所述事件编号和事件摘要存储在所述区块链的公用账本中,其中,所述事件摘要是根据所述事务详情生成的。

再者,本发明的实施例的第三方面提供了一种用于在区块链中处理事务数据的装置,所述装置包括:

处理器;以及

存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:

从第一区块链节点处接收第一事务数据,其中,所述第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中;

基于所述第一事务数据获取第一事件编号;

根据所述第一事件编号从所述区块链的公用账本中获取与所述第一事件编号相关联的第一事件摘要;

根据所述第一事务数据生成第二事件摘要;以及

通过将所述第一事件摘要与所述第二事件摘要作比较来对所述第一事务数据是否被修改过进行验证,其中,所述第一事件摘要与所述第二事件摘要不相等表示所述第一事务数据被修改过。

此外,本发明的实施例的第四方面提供了一种用于在区块链中处理事务数据的装置,所述装置包括:

处理器;以及

存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:

在第一区块链节点处接收第一事务请求;

将与所述第一事务请求相关联的第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中,其中,所述第一事务数据包括事件编号和事务详情;以及

将所述事件编号和事件摘要存储在所述区块链的公用账本中,其中,所述事件摘要是根据所述事务详情生成的。

再者,本发明的实施例还提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明的前述实施例所述的用于在区块链中处理事务数据的方法。

通过依据本发明的实施例所提供的用于在区块链中处理事务数据的方法、用于在区块链中处理事务数据的装置以及相应的计算机可读存储介质能够使得作为在事务发生时没有数据访问权限而在后续的事务中获得了先前产生的数据并且需要对其进行真实性验证的区块链节点能够根据公用共账本上所存储的事件编号以及事件摘要来对先前其并不具有访问权限的事务数据进行真实性验证,从而提高了整个区块链网络中数据的透明性和可靠性。本发明的其他优势将在下文中进一步说明。

附图说明

结合附图并参考以下详细说明,本发明的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施例,在附图中:

图1示出了依据本发明的一个实施例所提出的方法在其中能够实施的区块链网络的网络架构示意图100;

图2示出了依据本发明的一个实施例所提出的用于在区块链中处理事务数据的方法200的流程图;

图3示出了依据本发明的另一个实施例所提出的用于在区块链中处理事务数据的方法300的流程图;

图4示出了依据本发明的一个实施例所提出的用于在区块链中处理事务数据的装置400的示意图;以及

图5示出了依据本发明的另一个实施例所提出的用于在区块链中处理事务数据的装置500的示意图。

具体实施方式

以下参考附图详细描述本发明的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。

此外,附图中的流程图和框图示出了根据本发明的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。

本发明内容中的术语“第一”、“第二”等仅用于描述指代、目的或某具体事物,而不能理解为指示或暗示相对重要性,或者隐含指明所指示的技术特征的数量。

本发明内容中的术语“至少一个”是指一个或一个以上。

本发明内容中的术语“数字凭证”是指在区块链上呈现的、诸如应收账款凭证、股票凭证、股权凭证或收益权凭证等各种金融有价凭证。

本发明内容中的术语“数字凭证标识信息”是指能够通过其唯一地匹配到数字凭证的信息,例如数字凭证的id、流水号等。

本发明内容中的术语“事务数据”是指在事务发生时所产生的数据,该事务数据被存储在事务发起方节点、事务接收方节点所处于的区块链子链的专属账本之中。

本发明内容中的术语“专属账本”是指在事务发生时该事务的事务发起方节点、事务接收方节点所处于的区块链子链所包含的区块链节点共同进行维护的账本。对于该专属账本,除了该区块链子链所包含的区块链节点之外的区块链节点不具有访问权限。

本发明内容中的术语“公用账本”是指属于该区块链的所有区块链节点共同进行维护的账本。当然,先前对于专属账本具有访问权限的区块链节点具有对该公用账本的访问权限,而除了该区块链子链所包含的区块链节点之外的区块链节点也同样具有访问权限。

本发明内容中的术语“事件编号”是指在一个事务发生时所产生的一个或者多个事件的编号,每一个事件的编号都是唯一的,所以通过一个事件编号能够准确地对应到相关联的数据,并由此能够从公用账本中查找出与之对应的事件摘要以及根据与该事件编号对应的数据计算出相关联的事件摘要。

本发明内容中的术语“事务发起方”是指一种客户端,该客户端可以通过区块链节点在区块链网络上发起事务。本发明内容中的术语“事务接收方”是指一种客户端,该客户端可以通过区块链节点在区块链网络上接收事务。

本发明内容中的术语“事务发起方节点”是指从客户端接收事务请求并且在区块链网络上发起事务的区块链节点;而本发明内容中的术语“事务接收方节点”是指接收由“事务发起方节点”发起的事务的区块链节点。

如上文所述,在多方参与的区块链应用场景中,数据分发和隐私保护之间的平衡一直是一个需要解决的问题。以供应链金融为例,由于资方对于数据访问的权限限制,资方只能在应收账款凭证发起贴现请求时才能查看与该数字凭证相关联的其他交易信息。而在表示该应收账款的数字凭证发行或转让时并不能确认其是否有访问权限。因此,在数据未加密的情况下,资方只能获取合并后的应收账款凭证的流转记录而无法获得每一次的流转记录,因为作为资方其数据访问权限确认的时间点落后于数据生成的时间点。

为了解决以上所述的技术问题和潜在的其他技术问题,本发明的发明人创新性地提出了一种区块链两层数据分发模型,以解决链上数据隐私保护和数据分发之间所存在的问题。具体来看,在链上任何链上交易发生时,生成该交易的摘要,所发生的交易的交易内容包括交易编号和交易详情,其中,交易详情包含交易发起方、接收方以及具体交易金额等详情信息;而该交易摘要应用密码学技术生成,例如为哈希值,该交易摘要可以作为原始数据是否被修改过的验证手段。在交易发生时,将该交易编号及交易摘要发送给该区块链的所有节点,例如通过点对点方式或者广播方式;与此同时,将该交易详情仅分发到当前具有访问权限的各个区块链节点。在需要对数据进行验证时,例如在交易完成后,再次将该交易信息单独或与其它交易信息合并发送给之前不具有访问你权限的区块链节点,此时需将该交易编号,交易编号对应的交易详情一并发送给该区块链节点。该区块链节点将根据交易编号在公用账本中查询与相应的交易编号相对应的交易摘要,并与新计算后的交易摘要进行比较,根据比较结果来判断以上数据是否被修改过,例如:如果两者不一致则说明该交易信息的真实性存在疑问。

图1依据本发明的一个实施例所提出的方法在其中能够实施的区块链网络的网络架构示意图100。从图1中可以看出,该区块链网络100包括但不限于通过网络连接起来的区块链节点(也可称为终端)101、102、103、104、105、106、107、108以及109,其中,区块链节点101、103、104通过无线网络与其他区块链终端连接,而区块链节点102、105、106、107、108以及区块链节点109通过有线网络和其他区块链节点连接。

在依据本发明的一种应用场景中,事务发起方需要向事务接收方发起贴现请求,具体来看例如客户端a需要向客户端b发起贴现请求,其中,客户端a与区块链节点102相关联,而客户端b与区块链节点105相关联,此时,该贴现请求中能够包括与该贴现请求相关联的贴现数据,例如某一个具有资产编号为an80580268的数字凭证的相关数据,例如之前的流转记录等数据,在该应用场景中,区块链节点105之前并不具有对于资产编号为an80580268的数字凭证的相关数据的访问权限。区块链节点102在接收到该转账请求之后,便会将与资产编号为an80580268的数字凭证的相关数据发送给区块链节点105,区块链节点105在接收到该与资产编号为an80580268的数字凭证的相关数据之后,会分析该数据中包含几个具体的流转记录,即发生了几次交易,假定给数据中包含两次流转记录,例如资产编号为an80580268的数字凭证先由客户端c流转给了客户端d,然后第二次流转记录显示再由客户端d流转给了客户端a。第一次交易编号为tn00055285,而第二次交易编号为tn00055298。其中,而这些流转记录等信息仅仅保存在由区块链节点102、区块链节点108和区块链节点109所组成的区块链子链的专属账本之中。此时,区块链节点105获得了资产编号为an80580268的数字凭证的相关数据,然后区块链节点105会从该区块链的公用账本之中获得与交易编号tn00055285相关联的交易摘要,再由资产编号为an80580268的数字凭证的相关数据中与交易编号tn00055285相关联的部分数据计算出一个交易摘要,将这两个交易摘要作比较以判断与资产编号为an80580268的数字凭证的相关数据中与交易编号tn00055285相关联的部分数据是否被修改过,即判断其真实性。

同理,区块链节点105在获得了与资产编号为an80580268的数字凭证的相关数据之后,区块链节点105将会从该区块链的公用账本之中获得与交易编号tn00055298相关联的交易摘要,再由与资产编号为an80580268的数字凭证的相关数据中与交易编号tn00055298相关联的部分数据计算出一个交易摘要,将这两个交易摘要作比较以判断与资产编号为an80580268的数字凭证的相关数据中与交易编号tn00055298相关联的部分数据是否被修改过,即判断其真实性。

该应用场景不仅限于供应链金融领域,也能例如应用于资产证券化领域,从而使得诸如资金方的新的区块链节点能够获取与某一个资产相关联的数字凭证的历史交易信息并且能够对其历史交易信息是否被修改过做判断。

再比如,上述方法的发明构思也能够应用于古董等贵重物品的交易领域,从而使得例如古董拍卖会上的新的买家能够获得该待拍卖古董的先前买家的信息,而且能够对先前买家的信息的真实性做判断。

以上两种应用场景中具体的方法步骤,即真实性判断方法与供应链金融的例子类似,故具体过程在此不再赘述。

以下将结合图2和图3来描述依据本发明所提出的用于在区块链中处理事务数据的方法的动作过程。

图2示出了依据本发明内容的一个实施例所提出的用于在区块链中处理事务数据的方法200的流程图。从图中可以看出,该用于在区块链中处理事务数据的方法200能够包括以下步骤:

首先,在方法步骤210中,从第一区块链节点处接收第一事务数据,其中,所述第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中;例如,区块链节点105能够从区块链节点102处接收第一事务数据,该第一事务数据存储在由区块链节点102、区块链节点108和区块链节点109所在的区块链子链的专属账本之中。

接下来,在方法步骤220中,基于所述第一事务数据获取第一事件编号,区块链节点105例如能够获得该第一事务数据中包含的第一事件编号,以备后续处理之用;

然后,在方法步骤230中,根据所述第一事件编号从所述区块链的公用账本中获取与所述第一事件编号相关联的第一事件摘要,即例如区块链节点105能够从该区块链网络的公用账本之中获得与该第一事件编号相关联的第一事件摘要,以备后续比较之用;

接下来,在方法步骤240中,根据所述第一事务数据生成第二事件摘要,例如区块链节点105根据所接收到的第一事务数据中与第一事件编号相关联的部分计算一个第二事件摘要出来,以备后续比较之用;以及

最后,在方法步骤250中,通过将所述第一事件摘要与所述第二事件摘要作比较来对所述第一事务数据是否被修改过进行验证,其中,所述第一事件摘要与所述第二事件摘要不相等表示所述第一事务数据被修改过。以这样的方式使得作为在事务发生时没有数据访问权限而在后续的事务中获得了先前产生的数据并且需要对其进行真实性验证的区块链节点能够根据公用共账本上所存储的事件编号以及事件摘要来对先前其并不具有访问权限的事务数据进行真实性验证,从而提高了整个区块链网络中数据的透明性和可靠性。

在上述的方法之中,可选地,所述第一事件摘要与所述第二事件摘要相等表示所述第一事务数据未被修改过。这样的判断方式在仅仅引入摘要值判断时是适用的,为了进一步提高真实性判断的准确性,当然也能够引入时间判断等其他判断手段。

在依据本发明的一些实施例中,上述方法还能够包括对与第二事件编号的事务数据进行验证的步骤,具体来看,在依据本发明的一些实施例中,所述方法还能够包括以下步骤,即:

判断所述第一事务数据中是否包括与至少一个第二事件编号相关联的数据,其中,所述至少一个第二事件编号与所述第一事件编号不相同;

在所述第一事务数据中包括与所述至少一个第二事件编号相关联的数据的情况下,基于所述第一事务数据获取所述至少一个第二事件编号;

根据所述至少一个第二事件编号从所述区块链的公用账本中获取与所述至少一个第二事件编号相关联的至少一个第三事件摘要;

根据所述第一事务数据中与所述至少一个第二事件编号相关联的第二部分数据生成至少一个第四事件摘要;以及

通过将所述至少一个第三事件摘要与所述至少一个第四事件摘要作比较来对所述第二部分数据是否被修改过进行验证,其中,所述第三事件摘要与所述第四事件摘要不相等表示所述第一事务数据的所述第二部分数据被修改过。由此能够对第一事务数据所包括的第二部分数据是否被修改过进行验证,以判断其是否被修改过。

可选地,在依据本发明的一些实施例中,所述至少一个第三事件摘要与所述至少一个第四事件摘要相等表示所述第一事务数据的所述第二部分数据未被修改过。这样的判断方式在仅仅引入摘要值判断时是适用的,为了进一步提高真实性判断的准确性,当然也能够引入时间判断等其他判断手段。

除了上述的通过事件摘要的方式进行验证的方式之外,该方法还能够包括时间验证的技术手段,即在在依据本发明的一些实施例中,所述第一事务数据包括与第一事件编号对应的第一时间戳和与所述至少一个第二事件编号中的一个第二事件编号对应的第二时间戳,并且所述公用账本中包括与所述第一事件摘要相关联的第三时间戳和与所述至少一个第三事件摘要相关联的第四时间戳,

并且其中,第一时间戳晚于所述第三时间戳的时间超过第一阈值表示所述第一事务数据的所述第一部分数据被修改过,第二时间戳晚于所述第四时间戳的时间超过第二阈值表示所述第一事务数据的所述第二部分数据被修改过;和/或

第一时间戳和第二时间戳的先后顺序与所述第三时间戳和所述第四时间戳的先后顺序不一致表示所述第一事务数据被修改过。

通常情况下,第一时间戳应当早于第三时间戳,最起码不应晚于与之相对应的第三时间戳,但是也存在一定的阈值容忍度,例如第一阈值例如能够为1小时、10小时或者24小时,但是如果超过该第一阈值,则可以断定所述第一事务数据的所述第一部分数据被修改过。同理,通常情况下,第二时间戳应当早于第四时间戳,最起码不应晚于与之相对应的第四时间戳,但是也存在一定的阈值容忍度,例如第二阈值例如能够为1小时、10小时或者24小时,但是如果超过该第二阈值,则可以断定所述第一事务数据的所述第二部分数据被修改过。

在依据本发明的一个实施例中,所述第一事务数据包括与第一事件编号对应的第一时间戳和与所述至少一个第二事件编号中的一个第二事件编号对应的第二时间戳,并且所述公用账本中包括与所述第一事件摘要相关联的第三时间戳和与所述至少一个第三事件摘要相关联的第四时间戳,

并且其中,以下三个条件同时满足则表示所述第一事务数据的所述第一部分数据未被修改过:

第一时间戳早于所述第三时间戳;

第一时间戳和第二时间戳的先后顺序与所述第三时间戳和所述第四时间戳的先后顺序一致;并且

所述第一事件摘要与所述第二事件摘要相等,和/或

以下三个条件同时满足则表示所述第一事务数据的所述第二部分数据未被修改过:

第二时间戳早于所述第四时间戳;

第一时间戳和第二时间戳的先后顺序与所述第三时间戳和所述第四时间戳的先后顺序一致;并且

所述第三事件摘要与所述第四事件摘要相等。

由此,不仅能够根据摘要来判断数据真实性,而且能够附加地通过单个事务在公用账本和专属账本中所记录的时间戳、以及不同事务的时间先后顺序来判断数据是否被修改过,从而大大提高了数据篡改伪造的难度,从而进一步提高了数据的安全性,即防篡改性。

在依据本发明的一个实施例中,所述第二事件摘要是所述第一事务数据中与所述第一事件编号相关联的第一部分数据的哈希值。本领域的技术人员应当了解,哈希值仅仅是摘要的一种可选实现形式,其他能够实现比较作用的处理方式也包括在本发明所附的权利要求的保护范围之内。

可选地,所述第一部分数据包括事务详情,其中,所述事务详情包括事务发起方节点、事务接收方节点和事务信息。进一步优选地,所述第一部分数据还包括所述第一事件编号。由此能够进一步确保事件编号不被篡改,一并通过诸如哈希值的事件摘要来验证其真实性。

图3示出了依据本发明内容的又一个实施例所提出的用于在区块链中处理事务数据的方法300的流程图。从图中可以看出,该用于在区块链中处理事务数据的方法300能够包括以下步骤:

首先,在方法步骤310中,在第一区块链节点处接收第一事务请求;

接下来,在方法步骤320中,将与所述第一事务请求相关联的第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中,其中,所述第一事务数据包括事件编号和事务详情;以及

最后,在方法步骤330中,将所述事件编号和事件摘要存储在所述区块链的公用账本中,其中,所述事件摘要是根据所述事务详情生成的。

以这样的方式,通过将包括事务详情在内的事务数据保存在当前有访问权相的区块链节点所共同维护的专属账本之中,而将与专属账本中的数据相关联的事件摘要和事件编号存储在整个区块链网路的公用账本之中,从而实现了数据的不同类型的处理即分发,进而实现了对于数据隐私保护和数据分发之间的平衡。

此外,图3中示出的用于在区块链中处理事务数据的方法300还能够包括以下步骤(图3中未示出),即:

发送第二事务请求,其中,所述第二事务请求中包括所述第一事务数据。

以这样的方式能够将第一事务数据发送给在事务发生时不具有访问权限的新的区块链节点,从而使得当时没有访问权限的区块链节点能够获得这部分数据并对其真实性进行验证。

在依据本发明的一些实施例中,所述事务详情包括事务发起方节点、事务接收方节点和事务信息。

此外,替代地,上述方法能够通过计算机程序产品,即计算机可读存储介质来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明内容的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

图4示出了依据本发明内容的一个实施例所提出的用于搜索区块链数据的装置400的方框图。从图4中可以看出,用于搜索区块链数据的装置400包括处理器410和与处理器410耦接的存储器420。

存储器420存储有指令。指令在由处理器410执行时使得处理器410执行以下动作:

从第一区块链节点处接收第一事务数据,其中,所述第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中;

基于所述第一事务数据获取第一事件编号;

根据所述第一事件编号从所述区块链的公用账本中获取与所述第一事件编号相关联的第一事件摘要;

根据所述第一事务数据生成第二事件摘要;以及

通过将所述第一事件摘要与所述第二事件摘要作比较来对所述第一事务数据是否被修改过进行验证,其中,所述第一事件摘要与所述第二事件摘要不相等表示所述第一事务数据被修改过。

其中,可选地,在依据本发明的一个实施例中,所述第一事务摘要与所述第二事务摘要相等表示所述第一事务数据未被修改过。

在依据本发明的一个实施例中,当所述指令执行时还使得所述处理器410执行以下操作:

判断所述第一事务数据中是否包括与至少一个第二事件编号相关联的数据,其中,所述至少一个第二事件编号与所述第一事件编号不相同;

在所述第一事务数据中包括与所述至少一个第二事件编号相关联的数据的情况下,基于所述第一事务数据获取所述至少一个第二事件编号;

根据所述至少一个第二事件编号从所述区块链的公用账本中获取与所述至少一个第二事件编号相关联的至少一个第三事件摘要;

根据所述第一事务数据中与所述至少一个第二事件编号相关联的第二部分数据生成至少一个第四事件摘要;以及

通过将所述至少一个第三事件摘要与所述至少一个第四事件摘要作比较来对所述第二部分数据是否被修改过进行验证,其中,所述第三事件摘要与所述第四事件摘要不相等表示所述第一事务数据的所述第二部分数据被修改过。

其中,可选地,在依据本发明的一个实施例中,所述至少一个第三事件摘要与所述至少一个第四事件摘要相等表示所述第一事务数据的所述第二部分数据未被修改过。

其中,可选地,在依据本发明的一个实施例中,所述第一事务数据包括与第一事件编号对应的第一时间戳和与所述至少一个第二事件编号中的一个第二事件编号对应的第二时间戳,并且所述公用账本中包括与所述第一事件摘要相关联的第三时间戳和与所述至少一个第三事件摘要相关联的第四时间戳,

并且其中,第一时间戳晚于所述第三时间戳的时间超过第一阈值表示所述第一事务数据的所述第一部分数据被修改过,第二时间戳晚于所述第四时间戳的时间超过第二阈值表示所述第一事务数据的所述第二部分数据被修改过;和/或

第一时间戳和第二时间戳的先后顺序与所述第三时间戳和所述第四时间戳的先后顺序不一致表示所述第一事务数据被修改过。

其中,可选地,在依据本发明的一个实施例中,所述第一事务数据包括与第一事件编号对应的第一时间戳和与所述至少一个第二事件编号中的一个第二事件编号对应的第二时间戳,并且所述公用账本中包括与所述第一事件摘要相关联的第三时间戳和与所述至少一个第三事件摘要相关联的第四时间戳,

并且其中,以下三个条件同时满足则表示所述第一事务数据的所述第一部分数据未被修改过:

第一时间戳早于所述第三时间戳;

第一时间戳和第二时间戳的先后顺序与所述第三时间戳和所述第四时间戳的先后顺序一致;并且

所述第一事件摘要与所述第二事件摘要相等,和/或

以下三个条件同时满足则表示所述第一事务数据的所述第二部分数据未被修改过:

第二时间戳早于所述第四时间戳;

第一时间戳和第二时间戳的先后顺序与所述第三时间戳和所述第四时间戳的先后顺序一致;并且

所述第三事件摘要与所述第四事件摘要相等。

可选地,在依据本发明的一个实施例中,所述第二事件摘要是所述第一事务数据中与所述第一事件编号相关联的第一部分数据的哈希值。

可选地,在依据本发明的一个实施例中,所述第一部分数据包括事务详情,其中,所述事务详情包括事务发起方节点、事务接收方节点和事务信息。

可选地,在依据本发明的一个实施例中,所述第一部分数据还包括所述第一事件编号。

存储器420还能够存储有其他指令。这些指令在由处理器410执行时使得处理器410执行以下动作:

在第一区块链节点处接收第一事务请求;

将与所述第一事务请求相关联的第一事务数据存储在所述第一区块链节点所属于的区块链子链的专属账本之中,其中,所述第一事务数据包括事件编号和事务详情;以及

将所述事件编号和事件摘要存储在所述区块链的公用账本中,其中,所述事件摘要是根据所述事务详情生成的。

可选地,在依据本发明的一个实施例中,当所述指令执行时还使得所述处理器执行以下操作:

发送第二事务请求,其中,所述第二事务请求中包括所述第一事务数据。

可选地,在依据本发明的一个实施例中,所述事务详情包括事务发起方节点、事务接收方节点和事务信息。

图5示出了依据本发明内容的一个实施例所提出的装置500的示意性框图。应当理解,装置500可以被实现为实现图2中的依据本发明的另一个实施例所提出的用于在区块链中处理事务数据的方法200或者图3中的依据本发明的一个实施例所提出的用于在区块链中处理事务数据的方法300的功能。从图5中可以看出该装置500包括中央处理单元(cpu)501(例如处理器),其可以根据存储在只读存储器(rom)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序指令,来执行各种适当的动作和处理。在ram503中,还可存储该装置500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

装置500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许该装置500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各种方法,例如依据本发明的一个实施例所提出的用于在区块链中处理事务数据的方法200或者依据本发明的一个实施例所提出的用于在区块链中处理事务数据的方法300可由处理单元501执行。例如,在一些实施例中,用于在区块链中处理事务数据的方法200或者用于在区块链中处理事务数据的方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到装置500上。当计算机程序被加载到ram503并由处理器cpu501执行时,可以执行上文描述的依据本发明的一个实施例所提出的用于在区块链中处理事务数据的方法200或者依据本发明的一个实施例所提出的用于在区块链中处理事务数据的方法300中的一个或多个动作或步骤。

一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

虽然上面描述了本发明的各种示例实施例可以在硬件或专用电路中实现,但是上述用于区块链的数据处理设备既可以以硬件的形式来实现,也可以通过软件的形式来实现,这是因为:在20世纪90年代,一个技术改进能够很容易地对该改进属于硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是属于软件上的改进(例如对于方法流程的改进)。然而,随着技术的持续发展,如今的很多方法流程的改进几乎都能够通过将改进的方法流程编程到硬件电路中来实现,换句话说,通过对于硬件电路编程不同的程序从而得到相应的硬件电路结构,即实现了硬件电路结构的改变,故这样的方法流程的改进也可以被视为硬件电路结构的直接改进。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice:pld)(例如现场可编程门阵列(fieldprogrammablegatearray:fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片可编程逻辑器件上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompi1er)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage:hdl),而hdl也并非仅有—种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

用于执行本发明内容的各个方面的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本发明内容的一方面的计算机可读程序指令,从而实施依据本发明内容的各个方面所公开的技术方案。

以上所述仅为本发明内容的实施例可选实施例,并不用于限制本发明的实施例,对于本领域的技术人员来说,本发明的实施例可以有各种更改和变化。凡在本发明的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本发明的实施例的保护范围之内。

虽然已经参考若干具体实施例描述了本发明的实施例,但是应当理解,本发明的实施例并不限于所公开的具体实施例。本发明的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

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