使用最小检验客户端的去信任、无状态激励远程节点网络制造技术

技术编号:26927582 阅读:24 留言:0更新日期:2021-01-01 22:58
公开了一种用于使用与区块链网络不同步的客户端来证实针对IoT装置、web应用、移动应用和其他应用的区块链事务的系统和方法。客户检索与区块链网络同步的节点(充当信息提供者或证实者)的寄存器,从寄存器中选择节点,并且向所选择的节点发送信息请求。客户端接收对请求的响应,响应包括所请求的信息和证实标记(例如,证明),并且基于证实标记确定响应是否有效。响应于确定响应有效,客户端向IoT装置、web应用、移动应用或其他应用发送确认。

【技术实现步骤摘要】
【国外来华专利技术】使用最小检验客户端的去信任、无状态激励远程节点网络相关申请的交叉引用本申请要求于2018年4月16日提交的美国临时申请第62/658,496号的权益,该美国临时申请的全部内容通过引用并入本文中。
本公开内容总体上涉及诸如物联网(IoT)装置的轻量化装置领域,并且更特别地涉及无需在区块链技术的去中心化和去信任化方面作出妥协的对轻量化装置的区块链交互的远程处理。本公开内容涉及应用(例如,网页应用和移动应用)的上下文中的类似处理。
技术介绍
具有低处理容量、低带宽容量(例如,与因特网的受限连接)和/或低功率容量的装置(在本文中统称为“轻量化装置”)的部署(例如,IoT装置)正变得无处不在。在相关技术的实现方式中,由于轻量化装置的处理、带宽和/或功率约束,针对这些轻量化装置处理和证实区块链交互需要作出某种形式的妥协。例如,用于与区块链或者其他DLT(分布式账本技术)网络进行交互的许多相关技术的实现方式要求在试图与区块链或者DLT网络交互的装置上安装客户端。认识到一些装置具有容量限制,现有技术的系统开发了它们的客户端的经修剪且轻量化的版本(例如,将数据容量要求从200GB降低到40GB或者甚至降低到50MB)。然而,存在下述情况,轻量化装置甚至不具有用以处理客户端的最轻量化版本以促进区块链或DLT交互的容量。在这种情况下,相关技术系统使用远程安装在服务器处的客户端(在本文中称为“远程客户端”)来促进区块链交互。然而,远程客户端实现方式关于区块链或DLT交互的中心原则作出妥协,因为这些实现方式要求与远程客户端交互的轻量化装置信任特定的中央服务器,从而使已经普及的区块链或DLT使用的去中心化方面失效。此外,远程客户端实现方式导致形成单点故障,因为如果托管远程客户端的服务器发生故障,则依赖于该远程客户端来处理区块链或DLT交互的轻量化装置将无法对交互进行处理。附图说明所公开的实施方式具有其他优点和特征,这些优点和特征将根据详细描述、所附权利要求书以及附图(或图)而变得更加明显。以下是附图的简要介绍。图1示出了由轻量化装置或应用实现用于促进区块链交互的去信任、无状态远程客户端的系统的一个实施方式。图2是示出能够从机器可读介质读取指令以及在处理器(或控制器)中执行这些指令的示例机器的部件的框图。图3示出了根据本公开内容的一些实施方式的用于通过去信任且无状态的远程客户端来证实区块链事务的数据流图。图4示出了根据本公开内容的一些实施方式的关于证实IoT装置的区块链事务的流程图。具体实施方式附图和以下描述仅通过说明的方式涉及优选实施方式。应当注意,根据以下论述,将容易地将本文所公开的结构和方法的替选实施方式视为在不脱离所要求保护的原理的情况下可以采用的可行的替选实施方式。现在将详细参照若干实施方式,其示例在附图中示出。要注意的是,在任何可行的地方,可以在附图中使用相似或相同的附图标记并且其可以指示相似或相同的功能。附图仅出于说明的目的描绘了所公开的系统(或方法)的实施方式。本领域技术人员将根据以下描述容易地认识到,在不脱离本文中描述的原理的情况下,可以采用本文中示出的结构和方法的替选实施方式。配置概述公开了所公开的系统、方法和计算机可读存储介质的一个实施方式,该实施方式使得诸如IoT装置的轻量化装置能够使用远程客户端以对分布式账本交互进行处理,同时保持分布式账本交互的去中心化、去信任化和无状态的优点。为此,可以在轻量化装置内安装客户端(例如,如下所述的最小检验客户端)。客户端与可以从物联网(IoT)装置接收事务请求的分布式账本网络不同步。客户端检索节点(充当信息提供者和/或证实者)的寄存器,每个节点与分布式账本网络同步,并且从寄存器中选择信息提供方节点。客户端在分布式账本网络上发送对信息(事务信息、来自账户的信息、智能合约等)的请求,并且接收对该请求的响应,响应包括信息本身以及证实标记(例如,签名的区块散列、证明(例如,默克尔证明,Merkleproof)等)。客户端基于证实标记确定响应是否有效,并且响应于确定响应有效而向IoT装置发送确认。分布式账本的一个示例是区块链。为了便于讨论,本文中公开的实施方式将处于区块链的语境中。然而,要注意的是,本文中公开的原理可以应用于电子分布式账本的其他形式。虽然本文中公开的系统和方法是使用IoT作为应用来描述的,但是相同的机制也适用于web应用、移动应用和其他软件,尤其是具有有限资源的应用。系统架构图1示出了由轻量化装置实现用于促进区块链交互的去信任、无状态远程客户端的系统的一个实施方式。系统100包括IoT装置110、客户端130、一个或更多个节点140以及注册装置150。该系统还包括网络120,通过网络120连接IoT装置110(以及客户端130,该客户端由IoT装置110运行)和节点140。虽然仅描绘了一个IoT装置110,但这仅是为了方便;系统100内可以有任意数目的IoT装置。此外,使用术语“IoT装置”也是为了方便;在提到术语IoT装置或IoT装置110的任何地方,都可以使用本文中所描述的任何轻量化装置或应用。如上所述,术语IoT代表“物联网(InternetofThings)”并且是用于指代能联网的装置的技术术语,这样的装置包括传统意义上不具有互联网连接的装置(例如,具有互联网连接的自行车锁)。IoT装置可以不具有直接的互联网连接,并且如果IoT装置被配置成间接地访问互联网(例如,通过与具有直接互联网连接的另一装置的短程通信的方式),其仍然可以是IoT装置。与常规计算装置不同,IoT装置(一般是轻量化装置)通常具有非常有限的处理资源和容量,包括处理能力、存储器、以及存储容量和连接带宽。因此,它们的功能性容量相当有限。在实施方式中,IoT装置110是受约束的轻量化装置,如上所述,该约束阻碍IoT装置110运行本地完整客户端或轻客户端(如上所述)以作为对等区块链网络成员执行并且完全检验区块链交互。这里使用的术语“区块链交互”可以指通过获取一般区块链信息、与账户交互或者使用区块链智能合约而记住的区块链事务。下文关于图3更详细地描述处理区块链交互的方式。假定IoT装置110上缺少能够通过与网络同步来完全处理区块链交互的本地完整客户端或轻客户端,则IoT装置110的客户端130通过网络120发送请求以执行区块链交互。客户端130是与区块链网络不同步的客户端。下文关于图2更详细地描述网络120。客户端130证实来自与事务有关的节点的响应。为了获得响应,客户端130选择节点140中的节点以用于处理请求,其中节点140与区块链网络同步。下面关于图3和图4更详细地描述所选择的节点处理请求的方式。节点可以在处理交互时请求节点140中的其他节点进行进一步证实,下文将进一步详细描述。客户端130可以通过从IoT装置110的存储装置检索节点140的列表来选择节点140中的哪些节点将处理区块链交互,客户端130可以从节点140的列表中随机或伪随机地选择节点。首先,客户端130可以被本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n在与区块链网络不同步的客户端处接收事务请求,所述客户端由物联网(IoT)装置运行;/n由所述客户端访问节点的寄存器,所述节点均与所述区块链网络同步;/n由所述客户端从所述寄存器中选择节点;/n从所述客户端向所述节点发送区块链请求,所述区块链请求用于在所述区块链网络上处理所述事务请求;/n由所述客户端接收对所述区块链请求的响应,所述响应包括证实标记;/n由所述客户端基于所述证实标记来检验所述响应是否有效;以及/n响应于确定所述响应有效,由所述客户端命令所述IoT装置证实与所述事务请求对应的事务。/n

【技术特征摘要】
【国外来华专利技术】20180416 US 62/658,4961.一种方法,包括:
在与区块链网络不同步的客户端处接收事务请求,所述客户端由物联网(IoT)装置运行;
由所述客户端访问节点的寄存器,所述节点均与所述区块链网络同步;
由所述客户端从所述寄存器中选择节点;
从所述客户端向所述节点发送区块链请求,所述区块链请求用于在所述区块链网络上处理所述事务请求;
由所述客户端接收对所述区块链请求的响应,所述响应包括证实标记;
由所述客户端基于所述证实标记来检验所述响应是否有效;以及
响应于确定所述响应有效,由所述客户端命令所述IoT装置证实与所述事务请求对应的事务。


2.根据权利要求1所述的方法,其中,由所述客户端从所述寄存器中选择节点包括:
由所述客户端从所述寄存器中随机识别候选节点;
由所述客户端确定所述候选节点是否处理过由所述客户端发送的最近的区块链请求;
响应于确定所述候选节点处理过由所述客户端发送的最近的区块链请求而进行下述操作:
由所述客户端从所述寄存器中随机识别不同候选节点,并且
由所述客户端选择所述不同候选节点作为所述节点;以及
响应于确定所述候选节点未处理过由所述客户端发送的最近的区块链请求,选择所述候选节点作为所述节点。


3.根据权利要求1所述的方法,其中,所述证实标记包括来自其他节点的经签名的区块散列,并且其中,由所述客户端基于所述证实标记来检验所述响应是否有效包括:由所述客户端基于来自所述其他节点的确证所述节点的处理的所述经签名的区块散列而确定所述响应有效。


4.根据权利要求1所述的方法,其中,所述证实标记包括证明,并且其中,由所述客户端基于所述证实标记来检验所述响应是否有效包括:
以馈送数据通过所述证明的方式确定证明结果;
确定所述证明结果是否与所述响应中指示的结果相匹配;以及
响应于确定所述证明结果与所述响应中指示的结果相匹配,确定所述响应有效。


5.根据权利要求1的方法,其中,所述节点向关于所述节点工作的其他节点请求签名,其中,所述其他节点确定来自所述其他节点的签名无效,并且其中,所述节点作为响应而请求从证实节点的寄存器中去除所述其他节点。


6.根据权利要求1所述的方法,其中,所述方法还包括:进一步响应于由所述客户端检验确定所述响应有效,对用于所述客户端的节点的本地寄存器进行分数增加更新。


7.根据权利要求6所述的方法,其中,由所述客户端从所述寄存器中选择节点包括:
基于所述本地寄存器中每个候选节点的分数对每个候选节点加权;以及
通过随机选择方式选择节点,所述随机选择基于每个候选节点的权重而被偏置。


8.一种系统,包括:
用于执行计算机程序指令的处理器;以及
非暂态计算机可读存储介质,其包括存储的计算机程序指令,所述计算机程序指令能够由所述处理器执行以操作与区块链网络不同步的客户端,所述指令在被执行时使所述处理器进行下述操作:
在与区块链网络不同步的客户端处接收事务请求,所述客户端由物联网(IoT)装置运行;
由所述客户端访问节点的寄存器,所述节点均与所述区块链网络同步;
由所述客户端从所述寄存器中选择节点;
从所述客户端向所述节点发送区块链请求,所述区块链请求用于在所述区块链网络上处理所述事务请求;
由所述客户端接收对所述区块链请求的响应,所述响应包括证实标记;
由所述客户端基于所述证实标记来检验所述响应是否有效;以及
响应于确定所述响应有效,由所述客户端命令所述IoT装置证实与所述事务请求对应的事务。


9.根据权利要求8所述的系统,其中,由所述客户端从所述寄存器中选择节点的指令还包括下述指令:
由所述客户端从所述寄存器中随机识别候选节点;
由所述客户端确定所述候选节点是否处理过由所述客户端发送的最近的区块链请求;
响应于确定所述候选节点处理过由所述客户端发送的最近的区块链请求而进行下述操作:
由所述客户端从所述寄存器中随机识别不同候选节点,并且
由所述客户端选择所述不同候选节点作为所述节点;以及
响应于确定所述候选节点未处理过由所述客户端发送的最近的区块链请求,选择所述候选节点作为所述节点。


10.根据权利要求8所述的系...

【专利技术属性】
技术研发人员:克里斯托夫·延奇斯特芬·库克斯西蒙·延奇吉恩·保罗·鲁伊斯·德普拉
申请(专利权)人:斯洛克IT有限公司
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1