掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及分布式账本技术的领域;并且更具体地,涉及使网络设备能够获得分布式账本技术网络的状态的可信状态表示的机制。

背景技术

物联网(IoT)设备是通常具有降低的能力的电子设备。例如,大多数IoT设备具有有限量的处理能力、存储器、储存设备,并且经常一直运行,或者定期使用电池供电。

分布式账本技术(DLT)系统是用于构建、运行和部署分散式、分布式和公共分布式的数字账本的平台。在DLT系统中,数字账本永久记录两方之间发生的交易的数字记录。在没有更改数字账本中的所有后续交易的情况下并且在没有网络中其他节点的共识的情况下,记录不能被迫溯更改。这允许参与者廉价且安全地核实和审计交易。数字账本是在没有集中式授权或实施的情况下维护的。例如,数字账本可以是区块链,其包括使用密码机制保护并相互链接的区块。

随着分布式账本技术(DLT)的出现,出现了在具有IoT设备的网络中是否可以使用DLT的问题。一个潜在的用例是将驻留在分布式账本中的智能合约用作信息的信源或信宿。可以预想的应用是将智能合约用于IoT设备的安全配置。

然而,能力降低的网络设备不适合在分布式账本中作为完整节点操作,因为它们由于可用资源的限制,不具有执行验证操作和/或账本状态存储的资源。一种替代方法是在能力降低的设备中使用轻客户端协议(例如,比特币中的简单支付核实(SPV)或以太坊(Ethereum)中的轻以太坊子协议(LES)是轻客户端协议的示例)。

尽管完全安全仅对于DLT网络中的完整节点是可能的,但是轻客户端协议允许轻节点处理数据并从网络接收与其感兴趣的数字账本部分有关的数据。轻客户端协议在它们关于分布式账本网络中的操作可以提供的安全保证类别方面受到限制。

能力降低的设备(例如IoT设备)通常与分布式账本的其他节点连接不良。当能力降低的设备连接到分布式账本的该其他节点时,通常通过充当网络的瓶颈的单个中间网络设备(例如,基站(BS)、网关等)。中间网络设备使运行轻客户端协议的能力降低的设备不可能信任它与分布式账本的独立完整节点之间的通信。

发明内容

一个一般性的方面包括由可信网络设备执行的方法,用于向一个或多个网络设备发送分布式账本技术(DLT)网络的状态的可信表示,该方法包括:确定状态指示符,其中状态指示符是DLT网络在给定时间的状态的表示;以及向一个或多个网络设备发送包括状态指示符的信标消息,其中信标消息是基于与可信网络设备相关联的认证信息进行签名的,并且状态指示符将被该一个或多个网络设备用作DLT网络的可信当前状态。

一个一般性的方面包括可信网络设备,用于向一个或多个网络设备发送分布式账本技术(DLT)网络的状态的可信表示,该可信网络设备包括:一个或多个处理器;以及计算机存储器,存储计算机可读指令的集合,该计算机可读指令的集合在由一个或多个处理器执行时使可信网络设备:确定状态指示符,其中状态指示符是DLT网络在给定时间的状态的表示;以及向一个或多个网络设备发送包括状态指示符的信标消息,其中信标消息是基于与可信网络设备相关联的认证信息进行签名的,并且状态指示符将被该一个或多个网络设备用作DLT网络的可信当前状态。

一个一般性的方面包括由网络设备执行的方法,该方法包括:接收信标消息;确定信标消息是基于与可信网络设备相关联的认证信息进行签名的;以及响应于确定信标消息是基于认证信息进行签名的,将从信标消息中提取的状态指示符设置为分布式账本技术(DLT)网络的针对该网络设备的当前状态。

一个一般性的方面包括网络设备,该网络设备包括:一个或多个处理器,以及存储计算机可读指令的集合的计算机可读存储介质,该计算机可读指令的集合在由该一个或多个处理器执行时使网络设备:接收信标消息;确定信标消息是基于与可信网络设备相关联的认证信息进行签名的;响应于确定信标消息是基于认证信息进行签名的,将从信标消息中提取的状态指示符设置为分布式账本技术(DLT)网络的针对该网络设备的当前状态。

附图说明

通过参考以下用于说明本发明构思的实施例的描述和附图,可以最佳地理解本发明构思。在附图中:

图1示出了根据一些实施例的示例性分布式账本网络的框图,该示例性分布式账本网络用于使网络设备能够获得分布式账本技术网络的状态的可信状态表示。

图2示出了根据了一些实施例的用于使用认证信息来配置网络设备的示例性操作的框图。

图3示出了根据一些实施例的用于发送包括状态指示符的信标消息的示例性操作的框图。

图4示出了根据一些实施例的用于基于信标消息来确定DLT网络的可信表示的示例性操作的框图。

图5示出了根据一些实施例的用于生成和发送信标消息的示例性操作的流程图。

图6示出了根据一些实施例的用于基于信标消息来确定DLT网络的可信表示的示例性操作的流程图。

图7示出了根据一些实施例的网络设备的框图,该网络设备可用于实现本文描述的可信网络设备。

图8示出了根据一些实施例的网络设备的框图,该网络设备可用于实现本文描述的一个或多个网络设备。

具体实施方式

以下描述描述了方法和装置,该方法和装置用于使网络设备能够获得分布式账本技术网络的状态的可信状态表示。在以下描述中,阐述了大量的具体细节,例如逻辑实现、操作码(opcode)、用于指定运算数的手段、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/整合选择,以提供对本公开的更全面的理解。然而,本领域技术人员将意识到,本公开可以在没有这些具体细节的情况下实施。在其它实例中,并未详细示出控制结构、门级别电路和全部软件指令序列,以不使本公开模糊。利用所包括的描述,本领域普通技术人员将能够在不进行过度试验的情况下实现恰当的功能。

说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括该特定特征、结构或特性。此外,这些短语不必指同一实施例。此外,当结合实施例描述具体特征、结构或特性时,应认为结合其他实施例(不管是否是显式描述的)来实现这种特征、结构或特性是在本领域技术人员的知识内的。

括号中的文本和具有虚线边界(例如长划点虚线、短划线虚线、点虚线以及点)的框可以在本文中用于示出向本发明构思的实施例添加附加特征的可选操作。然而,这种标注不应当被视为意味着:在本发明构思的某些实施例中,它们是仅有的选项或可选操作,和/或具有实线边界的框不是可选的。

在以下描述和权利要求中,可以使用术语“耦接”和“连接”以及它们的派生词。应当理解,这些术语不旨在作为彼此的同义词。“耦接”用于指示两个或更多个元件可以彼此直接或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”用于指示在彼此耦接的两个或更多个元件之间建立通信。

存在若干种解决方案,用于使数字账本网络的网络设备能够获得数字账本的全局状态的可信表示。例如,当DLT网络的网络设备可以访问互联网时,网络设备可以联系具有完整能力的多个网络设备,以获得DLT网络的状态的表示。基于从DLT网络中的该多个其他节点接收到的信息,能力降低的网络设备可以有很大可能性获得表示DLT网络的状态的正确信息。该过程可以称为概率安全模型。

另一种解决方案提供了一种方法,其中将DLT的全局状态压缩到描述中,该描述由所有的验证对等网络设备一致同意以建立“经认证的检查点”。经认证的检查点提供了能力降低的设备可以用作DLT网络的全局状态的可信表示的时间点。该可信表示可以在能力降低的设备可核实该可信表示时建立,且不能被将降低的网络设备与网络的其余部分相连接的恶意中间网络设备所更改。

一些DLT网络通过将特定实体定义为系统中的信任锚来完全规避该问题。因此,利用具有可被配置到能力降低的设备中的信任根的受监管(公共、许可或私有)的DLT,设备可使用该信任锚来验证中间网络设备为其提供的任何和所有的信息。

能力降低的网络设备没有确立其正在从“真实的”DLT网络接收信息的保证机制。恶意中间网络可能破坏信息流,并向能力降低的设备提供替代的看法,该看法在内部是一致的,但在全局上与要与之通信的“真实”网络不一致。

使用DLT网络的动机之一是确保可以审计设备发送/接收的数据,并且通信方在不留下其活动的永久痕迹的情况下不能利用DLT的状态。然而,由于上述降低的设备的缺点,攻击者(例如恶意中间网络设备)可以例如推送陈旧的设备配置,而不会在全局可信DLT状态中留下可审计的痕迹。因此,需要一种鲁棒的解决方案,该解决方案能够使能力降低的网络设备获得DLT网络的状态的可信表示。

在一个实施例中,描述了由可信网络设备执行的方法以及网络设备,该方法和网络设备用于向一个或多个网络设备发送DLT网络的状态的可信状态表示。可信网络设备确定状态指示符。状态指示符是DLT网络在给定时间的状态的表示。可信网络设备向一个或多个网络设备发送包括状态指示符的信标消息。信标消息是基于与可信网络设备相关联的认证信息进行签名的。状态指示符将被该一个或多个网络设备用作DLT网络的可信的当前状态。

在一个实施例中,描述了由网络设备执行的方法以及网络设备,该方法和网络设备用于获得DLT网络的状态的可信表示。网络设备接收信标消息。网络设备确定信标消息是基于与可信网络设备相关联的认证信息进行签名的。响应于确定信标消息是基于认证信息进行签名的,网络设备将从信标消息中提取的状态指示符设置为DLT网络的针对网络设备的当前状态。

图1示出了根据一些实施例的示例性分布式账本技术(DLT)网络100的框图,该示例性分布式账本技术网络用于使网络设备能够获得分布式账本技术网络的状态的可信表示。在下面的描述中,在不脱离本实施例的范围的情况下,将备选地使用术语节点和网络设备。

DLT网络100包括可信网络设备102;一个或多个挖掘网络设备105A、105B和105M;中间网络设备106A、106B;以及一个或多个网络设备104A-104N。各种网络设备通过物理网络105(有线联网技术、无线联网技术、或者有线联网技术和无线联网技术的组合)进行通信。

可信网络设备102是作为DLT网络100的一部分的电子设备。从以下意义上来说,可信网络设备102是DLT网络的完整节点:可信网络设备102可以运行DLT协议,该DLT协议允许可信网络设备102在任何时间验证并获得DLT网络的可信的当前状态。可信网络设备102具有对DLT网络的状态的全局看法。例如,在区块链环境中,可信网络设备102存储区块链,并且操作以在任何时刻验证区块链的状态。可信网络设备102操作以确定DLT网络在给定时间的状态的表示,并向DLT网络的一个或多个其他节点安全地发送该表示。

在一个实施例中,可信网络设备102可以是用于配置和管理网络设备104A-104N的设备。在另一个实施例中,可信网络设备102可以受到可配置和管理网络设备104A-104N的设备信任的第三方设备。可信网络设备102存储可信ND认证信息103和DLT网络100中的可信ND的账户标识符。可信ND认证信息103可以用于唯一地认证可信ND 102。可信ND的账户标识符(在本文中将被称为可信ND账户ID)唯一地标识DLT网络100中的可信ND 102。在一些实施例中,认证信息103还可以充当DLT网络100中的可信ND 102的唯一标识符,并且不需要具有附加的账户标识符105来作为单独的数据。在其他实施例中,认证信息103与可信ND 102的账户标识符105相关联,该账户标识符105唯一地标识DLT网络100中的可信ND 102,其中该账户标识符不同于认证信息103。

在一些实施例中,认证信息103是与可信网络设备102唯一地相关联的私钥/公钥对中的公钥。在另一示例中,认证信息103可以是DLT网络100中的可信ND 102的地址的散列。在一些实施例中,公钥的衍生物可以用作DLT网络100中的可信ND 102的账户标识符。在其他实施例中,如果密钥和地址在DLT网络中脱离关联,则可以使用另一种形式的ID来标识DLT网络100中的可信ND的账户,而不背离本实施例的范围。

挖掘网络设备105A、105B和105M是作为DLT网络100的一部分的电子设备。挖掘网络设备105A、105B和105M是DLT网络的完整节点。至少一个挖掘ND将信标消息包括在DLT网络的数字账本中。例如,当DLT网络100是区块链网络时,挖掘ND将信标消息包括在区块中,并且该区块通过区块链网络的共识机制被提交给区块链。

中间网络设备106A和106B是作为DLT网络100的一部分的电子设备。中间网络设备106A-106B操作以将ND 104A-104N连接到DLT网络的其他节点。中间网络设备106A-106B充当到ND 104A-104N的瓶颈。这些设备106A-106B操作来运行轻客户端协议以与ND 104A-104N通信。例如,每个ND 106A-106B可以是基站、网关设备、移动设备或向网络设备104A-104N提供轻账本协议服务的一些其他系统。

将参考图2至图4的交易图来描述系统100的各个组件的操作。

图2示出了根据了一些实施例的用于使用认证信息来配置网络设备的示例性操作的框图。在初始阶段期间执行图2的操作,在初始阶段期间,网络设备104A被配置有与可信ND 102唯一地相关联的认证信息。该阶段可以在网络设备104A-104N的部署及其初始配置期间执行。备选地,当ND 104A-104N的初始配置参数被更新时,该阶段在稍后时间的重新配置阶段期间执行。

在一些实施例中,认证信息103还可以充当DLT网络100中的可信ND 102的唯一标识符,并且不需要向网络设备104A发送附加信息。在其他实施例中,认证信息103与可信ND102的账户标识符相关联,该账户标识符唯一地标识DLT网络100中的可信ND 102,其中该账户标识符不同于认证信息103。在一些实施例中,认证信息103是与可信网络设备102唯一地相关联的私钥/公钥对中的公钥。在另一示例中,认证信息103可以是DLT网络100中的可信ND 102的地址的散列。在一些实施例中,公钥的衍生物可以用作DLT网络100中的可信ND102的账户标识符。在其他实施例中,如果密钥和地址在DLT网络中脱离关联,则可以使用另一种形式的ID来标识DLT网络100中的可信ND的账户,而不背离本实施例的范围。

在一些实施例中,除了认证信息103之外,ND 104A可以包含被配置为存储要用于信标消息的发送/接收的传输协议的细节。例如,当使用带外SMS信令时,其消息仅被作为信标处理的潜在订户地址被存储在ND 104A中。在另一示例中,如果使用带外一般性互联网协议,则ND 104A的配置可以包括利用对应协议来通信所需的附加信息和参数。例如,如果信息是经由MQTT发布-订阅(pub-sub)信道传递的,则在ND 104A中配置MQTT服务器地址和发布-订阅信道名称。可以使用其他替代通信机制,例如HTTP/HTTPS轮询、多播分组等,并且将ND 104A相应地配置为允许通过这些机制接收消息并识别信标消息。

在其他示例中,可以使用带内交易。在一些实施例中,可以缩小交易的集合,ND104A试图基于交易的目的地地址从该交易的集合中提取信标。例如,当ND 104A在DLT网络中有其自己的标识符(例如DLT网络中的地址)时,设备可以查找专门寻址到该ND 104A的交易。交易目的地地址还可用于基于诸如设备模型、地理区域等的特性来定义跨所部署的网络设备104A-104N的任播(anycast)、多播和广播信令。ND 104A-104N的配置可以包括接收信标消息所需的任何附加细节。

在一个实施例中,在操作201处,可信ND 102使用认证信息103配置网络设备104A。在另一个实施例中,可信ND 102可以是与中间ND 101通信地耦接并且通过中间ND 101配置ND 104A的第三方网络设备。中间ND 101是受到ND 104A信任的网络设备。在该实施例中,在第一操作202a中,可信ND 102向中间网络设备101发送认证信息103并可选地发送账户标识符105。网络设备101向ND 104A发送认证信息103并可选地发送账户标识符107。

在一些实施例中,在将ND 104A部署在它将操作的站点之前,执行ND 104A的配置。备选地,当ND 104A已经被部署时,可以执行ND 104A的配置。在所有实施例中,网络设备104A操作以信任正在对其进行配置的设备并信任接收到的认证信息103。尽管参考ND 104A描述了以上实施例,但是可以执行类似的操作以配置ND 104B-104N中的任何一个。

图3示出了根据一些实施例的用于发送包括状态指示符的信标消息的示例性操作的框图。

在操作302处,可信ND 102确定状态指示符。状态指示符是DLT网络在给定时间的状态的表示。作为DLT网络的完整节点,ND 102可以访问或存储DLT网络100在任何给定时间的全局状态。DLT网络100确定DLT网络100的当前状态的表示。在非限制性示例性实施例中,当DLT网络是区块链网络时,基于存储在可信ND 102中或可由可信ND 102访问的区块链来确定状态指示符。在一个示例中,状态指示符可以是来自存储在可信ND 102中的区块链的区块的散列。在另一个示例中,区块首部的散列可以用作状态指示符。

在一些实施例中,在DLT网络100是区块链网络的情况下,可以基于其对ND 104A-104B的适合性来确定DLT网络的状态的表示,以用作基本真实(ground truth)。可以基于104A-104N设备的网络的安全要求结合DLT系统的安全能力来确定DLT网络100的状态的适合性。例如,在一些区块链网络中,可信ND 102需要考虑区块深度和确认时间,并权衡区块链中分叉冲突的风险(其概率随区块深度而降低)和等待所需的时间(其随区块深度而增加),然后考虑在给定区块深度下不太可能的区块链分叉的可能性。可以考虑其他要求或标准来由可信ND 102建立DLT网络100的表示,作为要发送给ND 104A-104N的状态指示符,而不脱离本实施例的范围。

在操作303处,可信ND 102从与可信网络设备102耦接的多个网络设备104A-104N中确定该一个或多个网络设备104A。该操作是可选的,并且在一些实施例中可以跳过。在一些实施例中,可信ND 102将与ND 104A-104N的子集通信以发送信标消息,并且ND的该子集被选择。例如,当可信ND 102是多个IoT网络(该多个IoT网络各自包括不同的IoT ND集合)的管理者时,可信ND 102可以选择特定的IoT网络,该特定的IoT网络包括DLT网络100的状态指示符将被发往的所有IoT设备的子集。在其他实施例中,可信ND 102与所有ND 104A-104N通信以发送信标消息。

在操作304处,可信ND 102生成包括状态指示符的信标消息110。在一些实施例中,信标消息还包括序列号。序列号指示从可信ND 102发送的信标消息的数量。序列号可以由接收网络设备(例如ND 104A)使用,以防止任何恶意实体(例如中间ND 106A)重放过去的信标消息。在这些实施例中,针对发送的每个信标消息,序列号递增。在这些实施例中,可信ND102执行操作306,在该操作306处,递增对可信网络设备102发送的信标消息的数量进行指示的参数。然后,该参数的当前值用作可信ND要发送给ND 104A的下一个信标消息的序列号。在其他实施例中,如果状态指示符包含可以由接收网络设备(例如ND 104A)用来防止任何恶意实体(例如中间ND 106A)重放过去的信标消息的参数,则可以从信标消息中省略序列号。例如,在一些区块链DLT网络中,区块首部包含单调序列号。在该示例中,当状态指示符是区块散列时,无需添加单独的序列号。

信标消息110被生成为使得其不能被篡改并且可以安全地标识其发送者。在一些实施例中,操作308,通过将状态指示符包括在DLT网络100的交易中来生成信标消息,其中交易是基于认证信息103进行签名的。

在一些实施例中,可信ND 102基于一些标准的DLT网络协议使用认证信息103来自动签名交易。在这些实施例中,从ND 102发送的信标消息110是DLT网络的交易消息。在其他实施例中,虽然状态指示符可以被包括在DLT网络的交易中,但是包括该交易的信标消息可以是允许可信ND 102以安全的方式发送状态指示符的另一种类型的消息。例如,以下传输协议中的任何一种:短消息服务(SMS)、消息队列遥测传输(MQTT)、超文本传输协议(HTTP)、或超文本传输协议安全(HTTPS)可用于发送状态指示符,并且信标消息是基于所选择的协议生成的消息。这些协议中的一些(例如HTTP或DLT交易消息)可以提供内在完整性保护,使得使用认证信息103自动对信标消息进行签名。备选地,这些协议中的其他协议可能不提供认证。在这些替代实施例中,在将交易作为信标消息的一部分发送之前,可信ND 102操作以基于认证信息103来对包括状态指示符的交易进行签名。例如,当认证信息103是公钥时,可信ND 102使用对应的私钥来对包括状态指示符的交易进行签名。

通过发送包括已签名的交易的信标消息,可信ND 102允许接收ND 104A安全地识别信标消息的发送者,并且该信标消息是防篡改的。

在一些实施例中,信标消息可以包括一个或多个附加字段。例如,信标消息可以包括交易价值、交易处理费用、或源和/或目的地地址中的一个,或者其中的两个或更多个的组合。可以根据DLT网络100的正常处理要求来设置这些字段以及可能的其他字段。特别地,目的地地址可以用于以以下设备为目标:特定网络设备、一组网络设备、或将该特定可信ND102作为信标消息发送者来配置的所有设备。

例如,在一些示例性区块链DLT网络中,信标交易的价值可以为零(无交易价值),处理费用被设置为足够高的值,以保证未来区块中的快速包括,并且整个交易将使用可信ND 102的私钥进行签名,为交易数据提供完整性保护。状态指示符作为交易的数据部分包括在内。目的地地址可以与账户匹配,或它可以是伪(dummy)地址,或智能合约的地址。目的地地址可以影响由网络设备ND 104A应用的过滤规则,但是寻址中的可变性不影响状态指示符的安全语义。

在操作312A处,可信ND 102向网络设备104A发送包括状态指示符的信标消息。在一些实施例中,信标消息110被发送给一个或多个挖掘ND,例如ND 105A-105M。在一些实施例中,中间ND 106A可以是DLT网络100中的挖掘ND,而在其他实施例中,中间ND 106A不是挖掘ND。至少一个挖掘ND将信标消息包括在DLT网络的数字账本中。例如,当DLT网络100是区块链网络时,挖掘ND将信标消息包括在区块中,并且该区块通过区块链网络的共识机制被提交给区块链。

信标消息110被与旨在接收信标消息110的网络设备104A耦接的中间ND 106A接收。在一些实施例中,信标消息110由中间ND 106A接收,作为DLT网络的共识机制的一部分。

中间ND 106A可以是真正的ND或恶意ND。当中间ND 106是恶意ND时,它可以决定改变信标消息或不将信标消息发送给ND 104A。当信标消息被ND 106A改变并且被发送给ND104A时,ND 104A操作以检测篡改。如果信标消息未被篡改,则在操作312B处将其发送给ND104A。

图4示出了根据一些实施例的用于基于信标消息来确定DLT网络的可信表示的示例性操作的框图。在操作402处,ND 104A接收信标消息。信标消息是根据用于发送消息的传输机制接收的。信标消息是通过由ND 104A运行的轻客户端协议的一项或多项操作获得的。在一些实施例中,ND 104A请求要包括信标消息的区块的所有交易,并且可经历交易以标识包括状态指示符的交易。例如,在操作401处,ND 104A基于可信ND 102的标识符,从接收到的多个交易中检索状态指示符。

在操作404处,ND 104A确定信标消息是基于与可信网络设备102相关联的认证信息103进行签名的。响应于确定信标消息不是基于认证信息进行签名的,即,信标消息不是有效消息,ND 104A丢弃该消息。这可以是对中间ND 106A是恶意设备的指示。

响应于确定信标消息是基于认证信息进行签名的,ND104A在操作408处将从信标消息中提取的状态指示符设置为DLT网络的针对网络设备104A的当前状态。在一些实施例中,在将状态指示符设置为DLT网络100的当前状态之前,操作406,ND 104A确定与信标消息相关联的序列号是否大于与在网络设备104A处接收到的上一个信标消息相关联的序列号。在这些实施例中,响应于确定与信标消息相关联的序列号大于与在网络设备处接收到的上一个信标消息相关联的序列号,执行将状态指示符设置为DLT网络100的当前状态。备选地,如果与信标消息相关联的序列号不大于与在网络设备处接收到的上一个信标消息相关联的序列号,则丢弃该信标消息。这可以是对中间ND 106A是恶意设备的指示。

在一些实施例中,ND 104A还操作以:基于针对ND 104A建立的DLT网络100的当前状态,从DLT网络100获得详细数据。操作410,ND 104A可以基于状态指示符来请求详细数据,并且在操作412处接收详细数据。DLT网络的当前状态被用作针对ND 104A的基本真实,允许ND 104A具有对全局DLT状态的看法。

本文提出的实施例描述了系统和方法,该系统和方法用于在可信实体(例如,可信ND 102)和网络设备(例如,ND 104A)之间建立对数字账本的状态的共享看法。在一些实施例中,网络设备是诸如IoT设备之类的能力降低的设备,具有有限的资源和有限的网络连接。在没有所提出的解决方案的情况下,能力降低的ND无法获得DLT状态的通用安全保证,该保证可用于完整节点或具有良好网络连接的轻客户端。

本文描述的机制允许能力降低的ND建立基本真实,这可以在DLT网络内带内实现。该机制允许能力降低的设备的所有者部署解决方案,而无需DLT中的信任锚实体的明确支持。此外,信标消息

将参考图1的示例性实施例来描述流程图中的操作。然而,应当理解:流程图中的操作可以由本发明构思中除了参考图1描述的那些实施例之外的实施例来执行,且本发明构思的参考这些其他附图讨论的实施例可以执行与参考流程图来讨论的那些实施例不同的操作。

图5示出了根据一些实施例的用于生成和发送信标消息的示例性操作的流程图。图5的操作由可信网络设备102执行,用于向网络设备104A发送分布式账本技术网络100的状态的可信表示。尽管关于与单个网络设备104A通信的可信网络设备102描述了操作,但是可信网络设备102可以与DLT网络100的多个网络设备通信。例如,可以使用网络设备104B-104N来执行类似的操作。

在初始阶段期间,可信ND 102在操作501处使用认证信息103配置该一个或多个网络设备104A、104B-104N中的每一个。该阶段可以在网络设备104A-104N的部署及其初始配置期间执行。备选地,当ND 104A-104N的初始配置参数被更新时,该阶段稍后在重新配置阶段期间执行。

在一些实施例中,认证信息103还可以充当DLT网络100中的可信ND 102的唯一标识符,并且不需要向网络设备104A发送附加信息。在其他实施例中,认证信息103与可信ND102的账户标识符相关联,该账户标识符唯一地标识DLT网络100中的可信ND 102,其中该账户标识符不同于认证信息103。在一些实施例中,账户标识符105被发送给ND 104A-104N。在一些实施例中,账户标识符可以作为认证信息103的一部分来发送。

在一个示例中,认证信息103可以是与可信网络设备102唯一地相关联的私钥/公钥对中的公钥。在另一示例中,认证信息103可以是DLT网络100中的可信ND 102的地址的散列。在一些实施例中,公钥的衍生物可以用作DLT网络100中的可信ND 102的账户标识符。在其他实施例中,如果密钥和地址在DLT网络中脱离关联,则可以使用另一种形式的标识来标识DLT网络100中的可信ND的账户,而不背离本实施例的范围。

在一些实施例中,除了认证信息103之外,ND 104A可以包含被配置为存储要用于信标消息的发送/接收的传输协议的细节。例如,当使用带外SMS信令时,其消息仅被作为信标处理的潜在订户地址被存储在ND 104A中。在另一示例中,如果使用带外一般性互联网协议,则ND 104A的配置可以包括利用对应协议来通信所需的附加信息和参数。例如,如果信息是经由MQTT发布-订阅(pub-sub)信道传递的,则在ND 104A中配置MQTT服务器地址和发布-订阅信道名称。可以使用其他替代通信机制,例如HTTP/HTTPS轮询、多播分组等,并且将ND 104A相应地配置为允许通过这些机制接收消息并识别信标消息。

在其他示例中,可以使用带内交易。在一些实施例中,可以缩小交易的集合,ND104A试图基于交易的目的地地址从该交易的集合中提取信标。例如,当ND 104A在DLT网络中有其自己的标识符(例如DLT网络中的地址)时,设备可以查找专门寻址到该ND 104A的交易。交易目的地地址还可用于基于诸如设备模型、地理区域等的特性来定义跨所部署的网络设备104A-104N的任播(anycast)、多播和广播信令。ND 104A-104N的配置可以包括接收信标消息所需的任何附加细节。

在一个实施例中,可信ND 102使用认证信息103直接配置网络设备104A。在另一个实施例中,可信ND 102可以是与中间ND 101通信地耦接并且通过中间ND 101配置ND 104A的第三方网络设备。中间ND 101是受到ND 104A信任的网络设备。在该实施例中,可信ND102向中间网络设备101发送认证信息103并可选地发送账户标识符105。网络设备101向ND104A发送认证信息103并可选地发送账户标识符105。

在一些实施例中,在将ND 104A部署在它将操作的站点之前,执行ND 104A的配置。备选地,当ND 104A已经被部署时,可以执行ND 104A的配置。在所有实施例中,网络设备104A操作以信任正在对其进行配置的设备并信任接收到的认证信息103。尽管参考ND 104A描述了以上实施例,但是可以执行类似的操作以配置ND 104B-104N中的任何一个。

操作的流程移到操作502,在操作502处,可信ND 102确定状态指示符。状态指示符是DLT网络在给定时间的状态的表示。作为DLT网络的完整节点,ND 102可以访问或存储DLT网络100在任何给定时间的全局状态。DLT网络100确定DLT网络100的当前状态的表示。在非限制性示例性实施例中,当DLT网络是区块链网络时,基于存储在可信ND 102中或可由可信ND 102访问的区块链来确定状态指示符。在一个示例中,状态指示符可以是来自存储在可信ND 102中的区块链的区块的散列。在另一个示例中,区块首部的散列可以用作状态指示符。

在一些实施例中,在DLT网络100是区块链网络的情况下,可以基于其对ND 104A-104B的适合性来确定DLT网络的状态的表示,以用作基本真实(ground truth)。可以基于104A-104N设备的网络的安全要求结合DLT系统的安全能力来确定DLT网络100的状态的适合性。例如,在一些区块链网络中,可信ND 102需要考虑区块深度和确认时间,并权衡区块链中分叉冲突的风险(其概率随区块深度而降低)和等待所需的时间(其随区块深度而增加),然后考虑在给定区块深度下不太可能的区块链分叉的可能性。可以考虑其他要求或标准来由可信ND 102建立DLT网络100的表示,作为要发送给ND 104A-104N的状态指示符,而不脱离本实施例的范围。

操作的流程移到操作502,在操作502处,可信ND 102从与可信网络设备102耦接的多个网络设备104A-104N中确定该一个或多个网络设备104A。该操作是可选的,并且在一些实施例中可以跳过。在一些实施例中,可信ND 102将与ND 104A-104N的子集通信以发送信标消息,并且ND的该子集被选择。例如,当可信ND 102是多个IoT网络(该多个IoT网络各自包括不同的IoT ND集合)的管理者时,可信ND 102可以选择特定的IoT网络,该特定的IoT网络包括DLT网络100的状态指示符将被发往的所有IoT设备的子集。在其他实施例中,可信ND102与所有ND104A-104N通信以发送信标消息。

在操作508处,可信ND 102生成包括状态指示符的信标消息110。在一些实施例中,信标消息还包括序列号。序列号指示从可信ND 102发送的信标消息的数量。序列号可以由接收网络设备(例如ND 104A)使用,以防止任何恶意实体(例如中间ND 106A)重放过去的信标消息。在这些实施例中,针对发送的每个信标消息,序列号递增。在这些实施例中,可信ND102执行操作306,在该操作306处,递增对可信网络设备102发送的信标消息的数量进行指示的参数。然后,该参数的当前值用作可信ND要发送给ND 104A的下一个信标消息的序列号。在其他实施例中,如果状态指示符包含可以由接收网络设备(例如ND 104A)用来防止任何恶意实体(例如中间ND 106A)重放过去的信标消息的参数,则可以从信标消息中省略序列号。例如,在一些区块链DLT网络中,可以通过包含单调序列号的区块散列B

信标消息110被生成为使得其不能被篡改并且可以安全地标识其发送者。在一些实施例中,操作308,通过将状态指示符包括在DLT网络100的交易中来生成信标消息,其中交易是基于认证信息103进行签名的。

在一些实施例中,可信ND 102基于一些标准的DLT网络协议使用认证信息103来自动签名交易。在这些实施例中,从ND 102发送的信标消息110是DLT网络的交易消息。在其他实施例中,虽然状态指示符可以被包括在DLT网络的交易中,但是包括该交易的信标消息可以是允许可信ND 102以安全的方式发送状态指示符的另一种类型的消息。例如,以下传输协议中的任何一种:短消息服务(SMS)、消息队列遥测传输(MQTT)、超文本传输协议(HTTP)、或超文本传输协议安全(HTTPS)可用于发送状态指示符,并且信标消息是基于所选择的协议生成的消息。这些协议中的一些(例如HTTP或DLT交易消息)可以提供内在完整性保护,使得使用认证信息103自动对信标消息进行签名。备选地,这些协议中的其他协议可以不为状态指示符提供完整性保护。在这些替代实施例中,在将交易作为信标消息的一部分发送之前,可信ND 102操作以基于认证信息103来对包括状态指示符的交易进行签名。例如,当认证信息103是公钥时,可信ND 102使用对应的私钥来对包括状态指示符的交易进行签名。

通过发送包括已签名的交易的信标消息,可信ND 102允许接收ND 104A安全地识别信标消息的发送者,并且该信标消息是防篡改的。

在一些实施例中,信标消息可以包括一个或多个附加字段。例如,信标消息可以包括交易价值、交易处理费用、或源和/或目的地地址中的一个,或者其中的两个或更多个的组合。可以根据DLT网络100的正常处理要求来设置这些字段以及可能的其他字段。特别地,目的地地址可以用于以以下设备为目标:特定网络设备、一组网络设备、或将该特定可信ND102作为信标消息发送者来配置的所有设备。

例如,在一些示例性区块链DLT网络中,信标交易的价值可以为零(无交易价值),处理费用被设置为足够高的值,以保证未来区块中的快速包括,并且整个交易将使用可信ND 102的私钥进行签名,为交易数据提供完整性保护。状态指示符作为交易的数据部分包括在内。目的地地址可以与账户匹配,或它可以是伪(dummy)地址,或智能合约的地址。目的地地址可以影响由网络设备ND 104A应用的过滤规则,但是寻址中的可变性不影响状态指示符的安全语义。

在操作512处,可信ND 102向网络设备104A发送包括状态指示符的信标消息。信标消息是基于与可信网络设备102相关联的认证信息103进行签名的。状态指示符将被网络设备104A用作DLT网络100的可信的当前状态。在一些实施例中,信标消息110被发送给一个或多个挖掘ND,例如ND 105A-105M。在一些实施例中,中间ND 106A可以是DLT网络100中的挖掘ND,而在其他实施例中,中间ND 106A不是挖掘ND。至少一个挖掘ND将信标消息包括在DLT网络的数字账本中。例如,当DLT网络100是区块链网络时,挖掘ND将信标消息包括在区块中,并且该区块通过区块链网络的共识机制被提交给区块链。

信标消息110被与旨在接收信标消息110的网络设备104A耦接的中间ND 106A接收。在一些实施例中,信标消息110由中间ND 106A接收,作为DLT网络的共识机制的一部分。

中间ND 106A可以是真正的ND或恶意ND。当中间ND 106是恶意ND时,它可以决定改变信标消息或不将信标消息发送给ND 104A。当信标消息被ND 106A改变并且被发送给ND104A时,ND 104A操作以检测篡改。

图6示出了根据一些实施例的用于基于信标消息来确定DLT网络的可信表示的示例性操作的流程图。图6的操作由网络设备104A执行。在附加的实施例中,图6的操作可以由ND 104B-104N中的任何一个来执行。在操作602处,ND 104A接收信标消息。在操作604处,ND104A确定信标消息是基于与可信网络设备102相关联的认证信息进行签名的。响应于确定信标消息是基于认证信息进行签名的,ND 104A在操作608处将从信标消息中提取的状态指示符设置为DLT网络的针对网络设备104A的当前状态。在一些实施例中,在将状态指示符设置为DLT网络100的当前状态之前,操作606,ND 104A确定与信标消息相关联的序列号是否大于与在网络设备104A处接收到的上一个信标消息相关联的序列号。在这些实施例中,响应于确定与信标消息相关联的序列号大于与在网络设备处接收到的上一个信标消息相关联的序列号,执行将状态指示符设置为DLT网络100的当前状态。

在一些实施例中,ND 104A还操作以:基于针对ND 104A建立的DLT网络100的当前状态,从DLT网络100获得详细数据。在一些实施例中,当DLT网络是区块链网络时,详细数据是在区块链网络中记录的一个或多个区块。

本文提出的实施例描述了系统和方法,该系统和方法用于在可信实体(例如,可信ND 102)和网络设备(例如,ND 104A)之间建立对数字账本的状态的共享看法。在一些实施例中,网络设备是诸如IoT设备之类的能力降低的设备,具有有限的资源和有限的网络连接。在没有所提出的解决方案的情况下,能力降低的ND无法获得DLT状态的通用安全保证,该保证可用于完整节点或具有良好网络连接的轻客户端。

本文描述的机制允许能力降低的ND建立基本真实,这可以在DLT网络内带内实现。该机制允许能力降低的设备的所有者部署解决方案,而无需DLT中的信任锚实体的明确支持。此外,信标消息核实是轻量的,并且已经是用于DLT带内交易的协议的一部分。

电子设备使用机器可读介质(也被称为计算机可读介质)来存储和(内部和/或在网络上与其他电子设备)传输代码(其由软件指令构成,且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质是例如机器可读存储介质(例如,磁盘、光盘、固态驱动器、只读存储器(ROM)、闪存设备、相变存储器)和机器可读传输介质(也被称为载体)(例如,电、光、无线电、声或其他形式的传播信号-例如载波、红外信号)。因此,电子设备(例如,计算机)包括硬件和软件,例如,一个或多个处理器的集合(例如,其中处理器是微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、其他电子电路、前述一项或多项的组合),其耦接到一个或多个机器可读存储介质以存储用于在该处理器集合上执行的代码和/或以存储数据。例如,电子设备可以包括包含代码在内的非易失性存储器,因为即使在电子设备关闭(当掉电时)时非易失性存储器也可以保持代码/数据,以及在打开电子设备时,通常将要由该电子设备的处理器执行的该部分代码从较慢的非易失性存储器中拷贝到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。通常的电子设备还包括用于与其他电子设备建立网络连接(以使用传播信号来发送和/或接收代码和/或数据)的一个或多个物理网络接口的集合。例如,物理NI的集合(或物理NI的集合与执行代码的处理器集合的组合)可以执行任何格式化、编码或转换,以允许电子设备(通过有线和/或无线连接)发送和接收数据。在一些实施例中,物理NI可以包括能够通过无线连接从其他电子设备接收数据和/或经由无线连接将数据送出到其他设备的无线电电路。该无线电电路可以包括适合于射频通信的发射机、接收机和/或收发机。无线电电路可以将数字数据转换为具有适当参数(例如,频率、定时、信道、带宽等)的无线电信号。然后,无线电信号可以经由天线发送给适当的接收者。在一些实施例中,物理NI的集合可以包括网络接口控制器(NIC),也称为网络接口卡、网络适配器或局域网(LAN)适配器。通过将电缆插入连接到NIC的物理端口,NIC可以便于将电子设备连接到其他电子设备,从而允许它们进行有线通信。本发明构思的实施例的一个或多个部分可以使用软件、固件、和/或硬件的不同组合来实现。

网络设备(ND)是将网络上其它电子设备(例如,其它网络设备、端用户设备)加以通信互联的电子设备。一些网络设备是为多个联网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量、和/或订户管理)提供支持、和/或为多应用服务(例如,数据、语音、和视频等)提供支持的“多服务网络设备”。在上述实施例中,DLT网络100的组件可以在网络中耦接的一个或多个网络设备上实现。例如,可信ND 102、中间网络设备106A-106B和挖掘设备105A-105M中的每一个都可以在一个ND上实现或分布在多个ND上。

图7示出了根据一些实施例的网络设备的框图,该网络设备可用于实现本文描述的可信网络设备。网络设备730可以是在服务器硬件上运行的Web服务器或云服务器或服务器集群。根据一个实施例,网络设备是包括硬件705的服务器设备。硬件705包括一个或多个处理器714、与计算机可读存储介质712耦接的网络通信接口760。计算机可读存储介质712可以包括网络设备配置器代码732、信标消息生成器代码733、认证信息735和可选的可信ND账户标识符737。在一些实施例中,可以将存储在计算机可读存储介质712中的各种代码存储在单独的可读存储介质元件中,使得不同的组件在物理上彼此分离。

尽管一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化-由虚拟化层720表示。在这些实施例中,实例740和执行它的硬件形成虚拟服务器,该虚拟服务器是存储在计算机可读存储介质712上的模块的软件实例。

网络设备配置器代码732和信标消息生成器代码733中的每一个包括指令,该指令在由硬件705执行时,使实例740分别实现网络配置器752和信标消息生成器753,该网络配置器752和信标消息生成器753操作以执行由参考图1至图6描述的可信ND 102执行的操作。

图8示出了根据一些实施例的网络设备的框图,该网络设备可用于实现本文描述的一个或多个网络设备。ND 104A-104N中的每一个是如图8所示的网络设备。网络设备830可以是具有有限的处理、存储和/或联网能力的能力降低的网络设备。例如,ND 830可以是IoT设备。ND 830可以包括硬件805。硬件805包括一个或多个处理器814、与计算机可读存储介质812耦接的网络通信接口860、以及可选的一个或多个传感器815。计算机可读存储介质812可以包括信标消息验证器代码833、当前DLT网络修改器代码837、和认证信息835。

信标消息验证器代码833、当前DLT网络修改器代码837中的每一个包括指令,该指令在由硬件805执行时,使实例840分别实现信标消息验证器853和当前DLT网络状态修改器755,该信标消息验证器853和当前DLT网络状态修改器755操作以执行由参考图1至图6描述的ND 104A-104N中的任何一个执行的操作。

尽管图中的流程图示出了由本发明构思的某些实施例执行的特定操作顺序,但是应当理解,这种顺序是示例性的(例如,备选实施例可以以不同的顺序执行操作、组合某些操作、重叠某些操作等)。

虽然已经根据若干实施例描述了本发明构思,但是本领域技术人员将认识到,本发明构思不限于所描述的实施例,可以在所附权利要求的精神和范围内通过修改和变更来实践。本描述因此被视为是说明性的,而非限制性的。

相关技术
  • 供网络设备用来获得分布式账本技术网络的状态的可信状态表示的方法和系统
  • 一种网络设备状态按技术指标分类的方法
技术分类

06120113002697