用于仲裁区块链中数据真实性的方法和系统与流程

文档序号:20890490发布日期:2020-05-26 17:53阅读:157来源:国知局
用于仲裁区块链中数据真实性的方法和系统与流程

本申请一般涉及计算机技术,具体地说,涉及用于仲裁区块链中的数据的方法和系统。



背景技术:

由于共享账本系统的性质,区块链可以用于存储和共享信息。该系统可以存储信息,例如,与区块链中与交易相关联的金融数据。并且该系统可以防止存储的金融数据被篡改。金融数据可以包括交易时间、交易金额、附属信息等。

虽然区块链可以防止存储信息被篡改,但是区块链可能无法确定存储信息是否为真。由于区块链可以存储大量信息,因此手动评估存储信息也可能很困难。

为了解决上述问题,本申请的实施例提供一种用于仲裁区块链中的数据真实性的方法和系统。



技术实现要素:

本申请的实施例提供一种由计算机实现的用于仲裁区块链中数据真实性的方法。所述方法可以包括:通过仲裁网络节点接收用于仲裁数据真实性的请求,其中所述仲裁网络节点是区块链系统中的多个网络节点之一;由所述仲裁网络节点基于所述请求生成仲裁事件,其中所述仲裁事件包括与数据的真实性有关的信息;通过所述仲裁网络节点对所述仲裁事件优先排序,以便所述仲裁事件在所述仲裁网络节点的下次交易之前得到处理;以及通过所述仲裁网络节点基于所述仲裁事件中包含的信息处理所述仲裁事件,生成所述网络节点的仲裁结果,并将所述仲裁结果提供给所述区块链系统。

本发明实施例还提供一种仲裁网络节点,用于仲裁区块链中数据的真实性。所述仲裁网络节点可以包括:通信接口,被配置用于接收用于仲裁数据的真实性的请求,其中所述仲裁网络节点是区块链系统中的多个网络节点之一;存储器;以及至少一个处理器,耦合到所述通信接口和所述存储器。所述至少一个处理器可以被配置为:基于所述请求生成仲裁事件,其中所述仲裁事件包括与所述数据的真实性有关的信息;在所述仲裁网络节点的下一个交易之前对要处理的仲裁事件进行优先排序;并基于所述仲裁事件中包含的信息处理所述仲裁事件,生成所述仲裁网络节点的仲裁结果,并将所述仲裁结果提供给区块链系统。

本发明的实施例还提供一种非暂时性计算机可读介质,其存储一组指令,由仲裁网络节点的至少一个处理器执行时,使得仲裁网络节点执行用于仲裁区块链中数据的真实性的方法。所述方法可以包括:接收用于仲裁数据的真实性的请求,其中所述仲裁网络节点是区块链系统中的多个网络节点之一;基于所述请求生成仲裁事件,其中所述仲裁事件包括与数据的真实性有关的信息;在仲裁网络节点的下一次交易之前优先排序以处所述理仲裁事件;以及基于所述仲裁事件中包含的信息处理所述仲裁事件,生成所述网络结点的仲裁结果,并将所述仲裁结果提供给区块链系统。

应当理解,前述的一般性描述和下面的详细描述都只是示例性和说明性的,并不是对要求被保护的本发明的限制。

附图说明

图1是根据本申请的示例性实施例所示的区块链系统的示意图。

图2是根据本申请的示例性实施例所示的区块链系统中的网络节点的示意图。

图3是根据本申请的示例性实施例所示使用智能合约的多个网络节点的示意图。

图4是根据本申请的示例性实施例所示的用于仲裁区块链中数据的真实性的方法的流程图。

具体实施方式

现在将详细参考示例性实施例,其示例在附图中示出。只要有可能,在整个附图中将使用相同的附图标记来表示相同或相似的部分。

图1是根据本申请的示例性实施例所示的区块链系统100的示意图。区块链通常可以由分散的对等网络管理,包括多个网络节点。如图1所示,区块链系统100可以包括块链120和与块链120连接的网络节点102-110。例如,块120中的每一个可以是数据块,并且网络节点102-110中的每一个可以是包括处理器和存储器的计算机系统。网络节点102-110可以共同管理块链120。块链120可包括块122、块124、块126等。每个块可以包括前一个块的加密散列、时间戳和存储的数据。本领域已知散列是将诸如字母和数字的输入转换为诸如固定长度的加密输出的函数。块链120可以用作分布式账本,记录网络节点102-110的数据(例如,交易数据)。换句话说,网络节点102-110中的每一个都可以具有记录数据的账本的副本。为了记录新的数据,区块链系统100生成一个额外的块来添加到块链120,其包括块链120中的先前块的加密散列。因此,记录数据的完整性与先前块相关联,并且除非改变所有先前块,否则记录数据不能被篡改。

在示例性实施例中,区块链系统100可以包括公共区块链、私人区块链或联合区块链。公共区块链(例如,在比特币、以太坊等中使用)允许任何网络节点加入区块链。私人区块链由单个管理员控制,并且仅对具有有限访问权限的参与者发送其所选网络节点的邀请。联合区块链可以由一组管理员(例如,一组金融机构)操作,而不是由单个管理员控制。

在示例性实施例中,区块链系统100可以运行与智能合约相对应的软件,其可以在没有人工交互的情况下完全或部分地执行。例如,使用各自的计算机系统的多方可以将商定的条款编入智能合约中,并且当满足条款时,智能合约可以自动执行。可以理解,由于区块链中的每个网络节点(计算机系统)都拥有区块链的副本,所以智能合约的副本也在所有网络节点上分布。

在示例性实施例中,对区块链系统100的贡献可以用许多令牌奖励,例如比特币、以太币等。例如,网络节点102可以在区块链系统100中共享期望信息并且得到令牌奖励。期望什么信息取决于区块链100的性质,并且不同的区块链系统具有不同的期望信息。例如,当区块链系统100被设计为金融联合区块链时,期望信息可以包括金融交易数据,诸如交易中涉及的各方、交易金额、交易时间等。又例如,当区块链系统100是医疗联合区块链时,期望信息可以是医师数据、医疗记录等。另一方面,网络节点的动作可以是消耗令牌。例如,网络节点102可以花费令牌与另一个节点进行交易、创建智能合约等。

图2是根据本申请的示例性实施例所示的区块链中的网络节点(例如网络节点102(图1))的示意图。网络节点102可以包括通信接口202、存储器204和处理器206。

参考图2,通信接口202可以与块链120(图1)通信,并且被配置为从块链120接收用于仲裁数据的真实性的请求。例如,通信接口202可以是综合业务数字网(isdn)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供数据通信连接。又例如,通信接口202可以是局部区域网络(lan)卡,以提供与兼容lan的数据通信连接。无线链路也可以由通信接口202实现。在这样的实现中,通信接口202可以经由网络发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。网络通常可以包括蜂窝通信网络、无线局部区域网络(wlan)、广域网(wan)等。

在示例性实施例中,存储器204可以被配置用于存储一组指令。当处理器206执行所述指令时,处理器206可以执行下述的用于仲裁区块链中数据的真实性的方法。存储器件204可以实现为任何类型的易失性或非易失性存储器设备或其组合,例如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存或磁盘或光盘。

在示例性实施例中,网络节点102可以执行由另一网络节点(例如第一网络节点)提交给区块链系统的仲裁数据的真实性的方法。所述数据可以包括可以与其他网络节点交换的任何数据。例如,数据可以包括交易的金融数据、匿名用户的物理数据、与设备的状况相关联的设备数据等。在一些实施例中,所述金融数据可以由另一个网络节点购买,例如用作确定交易中涉及的各方的可信度。在一些实施例中,所述物理数据可以由研究机构收集和使用。在一些实施例中,所述设备数据可用于评估设备的价值。

在一些实施例中,区块链系统中的每个网络节点可以被配置有与区块链系统中的交易许可相关联的可信度值。如果网络节点的可信度值低于交易阈值,则区块链系统可能禁止网络节点进行交易。换句话说,当网络结点的可信度值低于交易阈值时,网络节点可能不会使用区块链。

在示例性实施例中,在向区块链系统提交数据之后,网络节点可以获得令牌奖励。所述令牌可以是加密货币并且用于购买存储在块链120中的信息。在一些实施例中,网络节点可以花费令牌来创建或加入智能合约。智能合约可以用于在满足预设条件时触发预定动作,并且所述条件可以与智能合约一起设置,如下所述。

在示例性实施例中,可以通过区块链系统的第二网络节点来提交用于仲裁数据的真实性的请求。由于提交数据可以获得令牌奖励,因此网络节点(例如,第一网络节点)可以提交伪造数据以换取令牌。在所述示例性实施例中,任何其他网络节点可以提交对第一网络节点提交的数据进行真实性仲裁的请求。

仍然参考图2,为了执行仲裁数据,例如由第一网络节点提交的数据,的真实性的方法,处理器206还可以包括多个功能模块,诸如事件生成单元2062、优先排序单元2064、以及仲裁单位2066。这些模块(以及任何相应的子模块或子单元)可以是处理器206的功能性硬件单元(例如,集成电路的一部分),其被设计用于与其他组件或程序(存储在计算机可读介质上)的一部分一起使用,所述程序由处理器206运行时,执行一个或以上功能。尽管图2示出了处理器206内的所有单元2062-2066,但是可以预期这些单元可以分布在彼此靠近或远离的多个处理器之间。

在示例性实施例中,事件生成单元2062被配置用于仲裁数据的真实性的请求,例如由第二网络节点提交的,生成仲裁事件。所述仲裁事件可以被生成以供智能合约使用。如上所述,对应于智能合约的软件在满足预设条件时执行动作。在一些实施例中,所述动作可以包括减少或增加与智能合约相关联的网络节点的可信度值。所述预设条件可以是网络节点是否赢得仲裁。例如,对应于智能合约的软件可能需要仲裁网络节点进行投票,并确定第一网络节点或第二网络节点是否获胜。在仲裁事件中获胜的网络节点的可信度值可以被增加,并且在仲裁时间中失败的网络节点的可信度值可以被减少。在一些实施例中,为了确保可以评估由仲裁网络节点做出的每个投票,事件生成单元2062还可以确定仲裁网络节点是否具有高于仲裁阈值的可信度值。例如,可以邀请具有高于仲裁阈值的可信度值的网络节点作为仲裁网络节点。在一些实施例中,事件生成单元2062还可以在具有高于仲裁阈值的可信度值的网络节点中选择与仲裁事件中涉及的各方相关的网络节点。相关的网络节点可以包括曾经与第一或第二网络节点交互的任何网络节点。例如,如果网络节点之前已经审查过第一网络节点提交的数据,则可以邀请该网络节点作为仲裁网络节点来仲裁该事件。

在示例性实施例中,事件生成单元2062可以收集与数据的真实性有关的信息作为证据,例如,从第一或第二网络结点处收集。例如,第一网络节点可以提交证据以证明所提交数据的完整性,并且第二网络节点可以提交证据以支持对提交的数据和第一网络节点的指控。应当理解,在一些实施例中,对应于智能合约的软件可能需要第二网络节点在可以生成仲裁事件之前提交证据。

图3是根据本申请的示例性实施例所示的使用智能合约300的网络节点102-110(图1)的示意图。例如,对应于智能合约300的软件可以在区块链系统中的每个网络节点102-110上运行。仅出于说明的目的,假设在网络节点102-110中,第一网络节点104和第二网络节点106是仲裁中涉及的各方,并且网络节点102、108和110是仲裁网络节点。在示例性实施例中,第一网络节点104和第二网络节点106将与数据的真实性有关的信息作为证据提交给对应于智能合约300的软件。并且当对应于智能合约300的软件在仲裁网络节点102、108和110中的每一个上更新时,仲裁网络节点102,108和110可以各自生成仲裁事件并基于所提交的信息执行仲裁。

返回参考图2,在示例性实施例中,优先排序单元2064被配置将要处理的仲裁事件优先排序在所述仲裁网络节点的下一交易之前。例如,仲裁网络节点在任务队列中将仲裁事件放置在下一个交易之前。换句话说,仲裁网络节点可能被迫优先处理仲裁事件。可以理解的是,并非所有仲裁网络节点都可以在仲裁事件发布后的短时间内执行交易。例如,仲裁网络节点可能会在仲裁事件发出几天后尝试执行交易。因此,仲裁网络节点处理仲裁事件并返回结果的时间可能不同。

在示例性实施例中,仲裁单元2066被配置用于基于提交的信息处理仲裁事件以生成网络节点102(仲裁网络节点)的仲裁结果。所述仲裁结果可以包括对第一网络节点或第二网络节点的投票。对第一网络节点的投票可能表明仲裁网络节点确定第一网络节点提交的数据是真实的。对第二网络节点的投票可能表明仲裁网络节点确定第一网络节点提交的数据是不真实的。

在一些实施例中,对应于智能合约的软件可以收集区块链系统中的每个仲裁网络节点的仲裁结果,并基于所收集的仲裁结果生成最终结果。例如,对应于智能合约的软件可以确定第一和第二网络节点中的哪一个赢得多数。因此,最终结果可以指示第一和第二网络节点中的一个最终赢得仲裁。与仲裁事件相关联的数据可以用真实的最终结果进行标记,以便请求数据的网络节点可以看到仲裁的历史。如上所述,对应于智能合约的软件可能无法同时接收所有仲裁网络节点的投票。因此,应当理解,对应于智能合约的软件可以检索在给定时间段内进行的投票。

应当理解,获胜规则可以与多数规则不同。例如,对应于智能合约的软件可以要求只要在第二网络节点赢得三分之二的选票时第二网络节点获胜。这样,它可以防止区块链系统中的网络节点产生太多的仲裁事件,这可能会浪费区块链系统的资源。

如上所述,在仲裁事件中失败的网络节点的可信度值可以被减少。如果网络节点的可信度值低于交易阈值,该网络节点在区块链中的交易许可可以被撤销。

图4是根据本申请的示例性实施例所示的用于仲裁区块链中数据的真实性的方法400的流程图。例如,方法400可以由网络节点(例如,网络节点102(图1))实现,并且可以包括如下所述的步骤s402-s408。

在步骤s402,网络节点102可以接收用于仲裁数据的真实性的请求。例如,所述数据可以由第一网络节点(例如,网络节点104(图1))提交,所述请求可以由第二网络节点(例如,网络节点106(图1))提交。

在步骤s404,网络节点102可以基于所述请求生成仲裁事件。所述仲裁事件可以基于智能合约生成。如上所述,对应于智能合约的软件在满足预设条件时执行动作。在一些实施例中,所述动作可以包括减小或增加与智能合约相关联的网络节点的可信度值,所述预设条件可以是网络节点是否赢得仲裁。例如,对应于智能合约的软件可能需要仲裁网络节点进行投票,并确定第一网络节点或第二网络节点是否获胜。在仲裁事件中获胜的网络节点的可信度值可以被增加,并且在仲裁时间中失败的网络节点的可信度值可以被减少。在一些实施例中,为了确保可以评估由仲裁网络节点做出的每个投票,所述仲裁网络节点是否具有高于仲裁阈值的可信度值可以被确定。例如,可以邀请具有高于仲裁阈值可信度值的网络节点作为仲裁网络节点。在一些实施例中,在具有高于仲裁阈值可信度值的网络节点中,可以进一步选择与仲裁中涉及的各方相关的网络节点。相关的网络节点可以包括曾经与第一或第二网络节点交互的任何网络节点。另外,可以从第一和第二网络节点收集与数据的真实性有关的信息。

在步骤s406中,网络节点102可以将要处理的仲裁事件优先排序在所述仲裁网络节点的下一交易之前。例如,网络节点102可以在任务队列中在网络节点的下一个交易之前放置仲裁事件,使得仲裁网络节点需要在下一个交易之前处理仲裁事件。换句话说,仲裁网络节点被迫优先处理仲裁事件。

在步骤s408,网络节点102可以基于提交的信息处理仲裁事件,生成网络节点的仲裁结果。所述仲裁结果可以包括对第一网络节点或第二网络节点的投票。对第一网络节点的投票可以表明仲裁网络节点确定第一网络节点提交的数据是真实的。对第二网络节点的投票可以表明仲裁网络节点确定第一网络节点提交的数据是不真实的。

在一些实施例中,对应于智能合约的软件可以收集区块链系统中的每个仲裁网络节点的仲裁结果,并基于所收集的仲裁结果生成最终结果。所述最终结果可以表明第一和第二网络节点中的一个赢得了仲裁。与仲裁相关的数据可以用所述最终结果标记,以便请求所述数据的任何网络节点都可以看到仲裁的历史。

应当理解,获胜规则可以与多数规则不同。例如,对应于智能合约的软件可以要求第二网络节点只要在第二网络节点赢得三分之二的选票时获胜。这样,它可以防止区块链系统中的网络节点产生太多的仲裁事件,这可能会浪费区块链的资源。

如上所述,仲裁失败的网络节点的可信度值可以被减少。如果网络节点的可信度值低于交易阈值,该网络节点在区块链中的交易许可可以被撤销。

本申请的实施例还可以提供一种存储指令的非暂时性计算机可读介质,所述指令在被执行时使得一个或以上处理器执行上述方法。所述计算机可读介质包括易失性或非易失性、磁性、半导体、磁带、光学、可移动、不可移动或其他类型的计算机可读介质或计算机可读存储设备。例如,本申请的计算机可读介质可以是存储设备或其上存储有计算机指令的存储模块。在一些实施例中,计算机可读介质可以是其上存储有计算机指令的盘或闪存驱动器。

显而易见,本领域普通技术人员可以对本申请的系统和相关方法进行各种修改和变化。考虑到本申请的系统和相关方法的说明书和实践,其他实施例对于本领域普通技术人员是显而易见的。

本申请中的说明书和示例的目的仅被认为是示例性的,真正的范围由以下权利要求及其等同物限定。

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