区块链网络的资格证明共识的制作方法
未命名
10-28
阅读:114
评论:0
1.一个实施例一般地涉及分布式账本,并且特别地涉及区块链的共识算法。
背景技术:
2.智能生产(也被称为“智能制造”、“智能工厂”或“工业4.0”)是使用现代智能技术的传统制造和工业实践的持续自动化。大规模机器对机器通信(“m2m”)和物联网(“iot”)被集成用于提高的自动化程度、改进的通信和自我监控,以及能够分析和诊断问题而无需人工干预的智能机器的生产。
3.工业4.0在高级别上可以概括为四个主要组成部分:信息物理(cyber-physical)系统、iot、计算机系统资源的按需可用性和认知计算。工业4.0联网广泛的新技术来创造价值。使用监控物理过程的信息物理系统,可以设计物理世界的虚拟副本。信息物理系统的特性包括独立做出分散决策的能力,达到高度自治。
技术实现要素:
4.实施例使用包括多个节点的分布式账本来确定来自客户端的对操作事件的请求的资格。实施例将来自客户端的请求发送到分布式账本的主节点,该请求包括第一令牌。实施例在主节点处向令牌提供商验证该节点,将请求广播到分布式账本的所有辅节点,并且由主节点和辅节点响应于该请求而执行服务。当相应节点成功地执行服务时,实施例从主节点和辅节点中的每一个向客户端发送回复,该回复包括第二令牌。然后,实施例基于客户端接收到的第二令牌的数量的计数来确定客户端对于请求的资格,该资格是基于该计数超过预定义阈值来确定的。
附图说明
5.图1是可以实现本发明的实施例的智能生产系统的元素的概览图。
6.图2是根据本发明实施例的计算机服务器/系统形式的图1的智能制造系统的框图。
7.图3是根据一个实施例的图1的智能生产系统的功能的流程图。
8.图4是根据一个实施例的由图1的智能生产系统执行的资格证明(“pebft”)共识算法的流程图。
9.图5图示了根据本发明的实施例的示例深度卷积生成对抗网络(“dcgan”)架构。
具体实施方式
10.在智能生产环境/网络中,实施例利用使用基于令牌的两步访问控制的资格证明共识算法来实现分布式区块链账本。实施例提供了去中心化的信任来跟踪和避免制造中的任何欺诈,并且还通过使用机器学习算法的内联(inline)质量控制在甚至更早的阶段检测被实现为物联网(“iot”)设备的零件中的缺陷,以及检测和挫败对任何iot设备或分布式智
能生产网络的其他元素的攻击。
11.现在将做出对本公开的实施例的详细参考,其示例在附图中示出。在下面的详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,对于本领域普通技术人员来说明显的是,无需这些具体细节也可以实践本公开。在其他情况下,未详细描述众所周知的方法、过程、组件和电路,以便不必要地模糊实施例的方面。只要有可能,相同的附图标记将用于相同的元素。
12.图1是可以实现本发明的实施例的智能生产系统150的元素的概览图。系统150在其内部核心包括区块链核心网络100,或者一般地区块链网络或区块链。区块链100是点对点(peer-to-peer)网络,其消除了集中保存数据带来的许多风险。去中心化区块链可以使用ad hoc消息传递和分布式联网。点对点区块链网络缺乏计算机黑客可以利用的中心漏洞点;同样,它没有中心故障点。
13.区块链安全方法包括公钥加密的使用。公钥(即,看起来随机的长数字串)是区块链上的地址。跨网络发送的价值令牌被记录为属于该地址。私钥类似于密码,它可以给予其所有者(owner)对其数字资产的访问权或给予其所有者以其他方式与区块链现在支持的各种功能进行交互的手段。存储在区块链上的数据通常被认为是不可损坏的。
14.去中心化系统中的每个节点有区块链的副本。数据质量是通过大量数据库复制和计算信任来维护的。不存在中心的“官方”副本,也不存在比任何其他用户更“可信”的用户。使用软件将交易广播到网络。消息是在尽力的基础上递送的。挖掘节点验证交易,将它们添加到它们正在构建的块,然后将完成的块广播到其他节点。
15.实施例中的区块链中包括(一个或多个)认知计算服务器102和(一个或多个)机器学习服务器103,它们中的每一个使用人工智能(“ai”)和机器学习来增强区块链的操作。在一个实施例中,服务器103实现深度卷积生成对抗网络(“dcgan”)。还包括用于生成智能合约的智能合约服务器104,该智能合约生成事件。一般来说,智能合约是在区块链或分布式账本上发生并受其支持的通用计算。智能合约由一群区块链节点独立执行,以便记录最新的程序状态以及作为处理被用户提交的交易的结果。区块链交易具有指定的目标智能合约函数、包含函数调用的输入值的有效负载,并且始终由提交者签名。交易可以提交到区块链网络中的任何节点,该节点将其广播到整个网络,因此所有节点将看到该交易。在某个时刻,交易通过每个个体节点使用目标智能合约中的可执行程序而得到处理。如果交易执行是成功的,则区块链的内部状态将被更新。智能合约还可能认为输入无效并且将交易拒绝作为失败,在此情况下状态不受影响。
16.系统150还包括区块链边缘网络110,其包括与区块链110直接交互的元素。通常,元素包括连接到iot网关112并且以分布式、去中心化方式连接的多组iot传感器/设备111。
17.在外带120处是可以形成工业4.0智能生产系统或任何类型的智能制造系统的元素。元素中的每个元素将包括与对应的iot网关112通信的至少一个对应的iot设备111。系统150中所示的智能制造元素包括智能/iot设备,诸如机器对机器元素121、高级机器人122、认知计算123、射频识别(“rfid”)技术124、3d打印125、大数据/分析126。任何其他智能制造元素可以包括在系统150中。
18.iot设备111可以是具有附接到其的传感器并且可以借助于互联网将数据从一个对象传输到另一个对象或传输到人的任何设备。iot设备111包括无线传感器、软件、致动器
和计算机设备。它们附接到通过互联网操作的特定对象,使得实现对象或人之间的数据的自动传送而无需人工干预。传感器111中的每个传感器可以包括理器/控制器以及使用诸如modbus、zigbee或专有协议之类的协议来连接到网关112的通信接口。
19.网关112使用不同协议与不同类型的传感器/设备通信,然后使用标准协议将数据发送到云服务。网关充当用于设备所发送的大量数据的过滤器,处理数据并仅将相关信息发送到云。因此,处理和存储服务被最佳利用,使得减少了对处理和存储的需求。此外,传感器的响应时间显著减少。附近的网关接收传感器数据,对其进行处理,并将相关命令发送回传感器。此外,网关112是高度安全的,并且它们还有助于保护连接到它们的传感器和设备。
20.系统150示出制造/工业设备(诸如机器人122)中的每个制造/工业设备之间的机器对机器(“m2m”)通信,该制造/工业设备中的每个制造/工业设备具有对应的iot传感器,并且被统称为智能设备、iot设备,或工业iot设备(“iiot”)。如所公开的,系统150利用智能合约来实现区块链。智能合约允许用户以可验证的方式在区块链网络上执行脚本,并允许许多问题以最小化信任需求的方式来解决。为此,它允许用户直接信任智能合约中指定的确定性协议和承诺,而不是第三方。
21.智能合约在区块链上有其自己的地址和账户。因此,它可以维护其自己的状态并取得区块链上资产的所有权,这使得它可以充当第三方托管(escrow)。智能合约向网络公开函数接口,该函数接口可以通过向智能合约发送交易来触发。由于智能合约驻留在区块链上,因此每个节点可以查看和执行其指令,以及看到与每个智能合约的每次交互的日志。智能合约充当区块链上的自治实体,其可以确定性地执行逻辑,该逻辑被表达为区块链上提供给它的数据的函数。
22.图2是根据本发明实施例的计算机服务器/系统10形式的图1的智能制造系统10的框图。尽管被示为单个系统,但是系统10的功能可以被实现为分布式系统。此外,本文公开的功能可以在可以通过网络耦合在一起的分开的服务器或设备上实现。此外,可以不包括系统10的一个或多个组件。系统10可以用于实现图1所示的任何组件和/或与任何组件进行交互。
23.系统10包括总线12或用于传送信息的其他通信机制,以及耦合到总线12用于处理信息的处理器22。处理器22可以是任何类型的通用或专用处理器。系统10还包括用于存储要由处理器22执行的信息和指令的存储器14。存储器14可以包括以下的任何组合:随机存取存储器(“ram”)、只读存储器(“rom”)、诸如磁盘或光盘的静态存储装置、或任何其他类型的计算机可读介质。系统10还包括诸如网络接口卡的通信设备20以提供对网络的访问。因此,用户可以直接或通过网络或任何其他方法远程地与系统10进行对接。
24.计算机可读介质可以是可由处理器22访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质以及通信介质。通信介质可以包括计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息递送介质。
25.处理器22还经由总线12耦合到诸如液晶显示器(“lcd”)的显示器24,并且包括用于接收用户话语的麦克风。键盘26和诸如计算机鼠标的光标控件设备28还被耦合到总线12以使用户能够与系统10进行对接。
26.在一个实施例中,存储器14存储当由处理器22执行时提供功能的软件模块。模块
包括为系统10提供操作系统功能的操作系统15。模块还包括实现智能制造以及本文公开的所有其他功能的智能制造模块16。系统10可以是更大系统的一部分。因此,系统10可以包括一个或多个附加功能模块18以包括附加功能,诸如任何其他工业4.0解决方案。文件存储设备或数据库17耦合到总线12以便为模块16和18提供中心化存储,包括关于由每个实例/群聚101生成的任何类型的问题的数据。在一个实施例中,数据库17是可以使用结构化查询语言(“sql”)来管理所存储的数据的关系数据库管理系统(“rdbms”)。
27.在一个实施例中,特别是当在单个设备处存在大量分布式文件时,数据库17被实现为存储器中数据库(“in-memory database,imdb”)。imdb是主要依靠主存储器来进行计算机数据存储的数据库管理系统。它与采用盘存储机制的数据库管理系统进行对比。主存储器数据库比盘优化数据库快,因为盘访问比存储器访问慢,内部优化算法更简单并且执行更少的cpu指令。访问存储器中的数据可以消除查询数据时的寻找时间,这提供比盘更快且更可预测的性能。
28.在一个实施例中,数据库17当被实现为imdb时,是基于分布式数据网格来实现的。分布式数据网格是一种系统,其中一组计算机服务器在一个或多个集群中一起工作,以在分布式或集群环境内管理信息和相关操作(诸如计算)。分布式数据网格可用于管理跨服务器共享的应用对象和数据。分布式数据网格提供低响应时间、高吞吐量、可预测的可伸缩性、连续可用性和信息可靠性。在特定示例中,诸如例如来自oracle公司的“oracle coherence”数据网格之类的分布式数据网格将信息存储在存储器中以实现更高的性能,并采用冗余来保持该信息的副本在多个服务器之间是同步的,从而确保系统的弹性以及在服务器发生故障的情况下的数据的连续可用性。
29.在一个实施例中,系统10是计算/数据处理系统,包括用于企业组织的应用或分布式应用的集合,并且还可以实现物流、制造和库存管理功能。应用和计算系统10可以被配置为与基于云的系统、软件即服务(“saas”)架构或其他类型的计算解决方案一起操作或被实现为基于云的系统、软件即服务(“saas”)架构或其他类型的计算解决方案。
30.通常,运营技术(“ot”)是指通过对企业中的物理设备、过程和事件的直接监控和/或控制来检测或引起变化的硬件和软件。例如,ot网络互连了工业控制系统,诸如可编程逻辑控制器、监督控制和数据采集系统、分布式控制系统、过程控制域、安全仪表系统以及楼宇管理和自动化系统。ot环境越来越多地被连接起来以在例如工业4.0实现中实现智能制造。
31.然而,随着生产系统变得更加互联,网络事件的曝光增加。对关键基础设施的攻击和破坏使声誉、生产、人员和利润置于风险中。传统上,ot网络已经与it网络分开操作,例如,ot网络利用针对所需函数优化的专有协议,这些协议中的一些已被采用为“标准”工业通信协议(例如,dp3、modbus、profibus、rtu、canbus、hart、devicenet)。最近,it标准网络协议正在ot设备和系统中实施,以降低复杂性并提高与更传统it硬件(例如,tcp/ip)的兼容性。这导致ot系统的安全性的显著降低。
32.网络安全系统被设计为通过监控和阻止恶意活动和错误配置来保护关键基础设施、控制系统和ot资产免受网络威胁和漏洞的影响,以促进ot安全并保护生产力。设备认证是网络安全系统用来提供安全控制的一项技术。网络中的设备被分配唯一令牌,相应设备将该唯一令牌提供给网络安全系统以用于认证。一旦设备已经被认证,网络安全系统就向
设备提供访问令牌,该访问令牌使设备能够访问服务直到访问令牌到期为止。然而,此技术的一个问题是设备本身可能被篡改,同时仍然保留其唯一令牌。因此,被篡改的设备将能够正确地通过网络安全系统进行认证并且篡改可能将不被检测到。
33.相比之下,实施例提供了去中心化的信任,以在早期阶段跟踪和避免制造中的任何欺诈,以使用具有资格证明共识算法的分布式账本技术(“dlt”)(例如,区块链)节省生产成本,该算法使用基于令牌的两步访问控制。实施例提供了去中心化的信任来跟踪和避免制造中的任何欺诈,并且还通过内联质量控制来在甚至更早的阶段检测部件中的缺陷,该内联质量控制使用机器学习算法(诸如通过对抗性过程同时使用训练模型的深度卷积生成对抗网络(“dcgan”)),其中生成器学习创建看起来真实的iot设备图像,而鉴别器学习区分真实图像和伪造图像以确定iot设备中的缺陷。
34.在一个实施例中,实现本发明的核心组件包括区块链基础设施100、生成事件的智能合约104、iot设备111(即,iot传感器111和对应的智能制造设备)、iot网关112和在甚至更早的阶段检测iot设备中的缺陷的dcgan(机器学习103)模型。然而,在其他实施例中,核心组件是一个或多个智能制造服务器,其执行与区块链基础设施、生成事件的智能合约、iot设备、iot网关和dcgan进行交互的功能,其中智能制造服务器通过图2的系统10来实现并执行本文公开的所有附加功能。
35.iot网关112和智能制造设备(例如,具有对应的iot传感器111的机器人122、3d打印125等)之间的所有客户端交互通过区块链100(或其他类型的分布式账本)进行,以在供应链中建立去中心化的信任机制以跟踪和避免欺诈并检测缺陷。在实施例中,所有iot设备操作被映射到智能合约中的操作/函数,并且每次客户端正确调用函数时,智能合约就生成对应的区块链事件。“客户端”可以被认为是请求由iot设备中的一个或多个iot设备执行的操作/功能的任何实体。客户端的示例包括语音控制器、智能锁、移动机器人、智能灯开关、空气质量监测器、空气污染监测器、烟雾报警器、恒温器简易温度控制、色调灯泡和照明系统、iot安全解决方案、门铃、智能插头、通用遥控器、带接头的wi-fi、网状wi-fi系统、tanktrack、智能水助手、cps、机器、传感器、wi-fi智能设备、蓝牙智能设备、lora设备、重型机械、智能交通、电器、监控和自动化、可穿戴设备等。这些事件由感兴趣的iot网关接收,并最终导致适当的iot设备中的操作。
36.每个客户端和对应的iot网关可以是dlt全节点本身或者他们可以通过充当远程过程调用(“rpc”)服务器(即,服务提供商)的另一个全节点而被连接到区块链。例如,一个实施例中的服务提供商是“oracle物联网(iot)云服务”。oracle物联网云服务使得实现iot设备和云之间安全可靠的双向通信。设备可以直接地或者通过iot网关间接地连接到云。oracle物联网云服务为每个设备分配唯一数字身份以在设备和应用之间建立信任关系。它还强制执行认证和授权来用于端到端通信安全并确保数据来源证明。它使用跨协议功能,该功能可以让连接到云的任何设备被直接寻址,而不管网络协议和防火墙限制。它还提供云和iot设备之间的可靠通信,即使通过不可靠的网络或利用间歇性连接的设备也是如此。然而,在其他实施例中,任何其他云服务可被用作服务提供商,包括例如来自亚马逊公司的“aws iot平台(aws iot platform)”,或者来自微软公司的“azure iot套件(azure iot suite)”。
37.dlt是在地理上跨多个地点、国家或机构散布的复制、共享和同步的数字数据的共
识。与分布式数据库不同,不存在中心管理员。尽管区块链是dlt的形式,但也存在可以用在实施例中的非区块链dlt。
38.在分布式计算中,rpc是在计算机程序导致过程(例如子例程)在不同的地址空间中执行时通常在共享网络上的另一台计算机上,该过程被编码就像正常/本地过程调用一样,而无需程序员对远程交互的详细信息进行显式编码。无论子例程对于执行程序是本地的还是远程的,程序员本质上编写相同代码。这是客户端-服务器交互形式(即,调用者是客户端,执行者是服务器),通常经由请求-响应消息传递系统来实现。在面向对象的编程范式中,rpc由远程方法调用(“rmi”)表示。rpc模型隐含了一定程度的位置透明性,即无论调用过程是本地还是远程,它们在很大程度上是相同的,但通常并不等同,因此本地调用可与远程调用区分开。远程调用通常比本地调用慢几个数量级且可靠性较低,因此区分它们可能是重要的。
39.任何iot网关112可以密切关注事件并根据事件采取行动,并且任何dlt用户可以充当系统客户端,包括任何类型的“智能”设备。iot设备的功能(诸如致动器的致动过程)可以通过可能与工业过程相关的“事件”来调用(例如,拧紧阀门、打开或关闭灯、打开或关闭设备、监控设备等)。此外,iot设备111由统一资源标识符(“uri”)使用语义来识别,例如,类似于或来自受限应用协议(“coap”)组通信。coap是服务层协议,其旨在用于资源受限的互联网设备,诸如无线传感器网络节点(即,iot传感器111)。coap被设计为轻松转换为http以用于与web的简化集成,同时还满足诸如多播支持、极低开销和简单性的专门要求。多播、低开销和简单性对于iot和机器对机器(“m2m”)设备极其重要,这些设备倾向于是深度嵌入的,并且与传统互联网设备具有的相比,其具有更少的存储器和电源供应。
40.遵循coap组通信或类似通信的语义,iot设备可以具有多个uri,并且一个uri可以对应于多个设备。uri的语义是特定于应用的。例如,它们可以指示设备的物理位置(例如,“工厂2/楼层1/操作室”)。iot网关112例如通过使用带外配置机制或使用服务发现协议来获知uri和附接到其的设备所支持的操作。然后,其地址贯穿系统150被认为是众所周知的智能合约104被调用以生成适当的dlt事件。
41.dlt事件具有名称和一些属性。服务提供者(即rpc客户端)可以通过指定事件名称和可选的对可索引属性的过滤器来请求查看由智能合约生成的事件。为了提供改进的认证安全性,授权系统使用唯一令牌和完整性测量值两者来认证设备。当设备向认证系统注册时,唯一令牌被分配给设备。注册后,设备开始定期地向网络授权系统传输完整性测量值。完整性测量值由设备计算并基于设备所收集的数据来指示设备的相对健康状况。授权系统将接收到的完整性测量值与识别设备的数据一起存储在授权区块链中。
42.设备向授权系统认证以接收访问令牌,设备可以使用该访问令牌来访问可用服务。访问令牌具有相关联的到期时间,在到期时间之后访问令牌无效并且设备必须再次向认证系统认证以接收新的访问令牌。为了向认证系统认证,设备向认证系统发送包括被分配给设备的唯一令牌的认证请求。设备在传输之前对唯一令牌进行加密。
43.一经接收到认证请求,认证系统就验证唯一令牌并从认证区块链访问设备的最新完整性测量值。然后,认证系统基于完整性测量值来生成设备的访问令牌并将生成的访问令牌提供给设备。例如,在一些实施例中,认证系统将完整性测量值与阈值完整性测量值进行比较以确保设备尚未被篡改。如果完整性测量值被确定为小于阈值完整性测量值,则认
证系统不向设备提供访问令牌。
44.在实施例中,授权系统是信息物理系统(“cps”),其是iot和iiot的基础技术平台。cps是连接先前被断开连接的物理机器的主要实现者。cps将物理过程的动态与软件和通信的动态进行集成,提供抽象和建模、设计和分析技术。
45.在根据实施例的智能合约架构中,通用事件名称包括三个属性:(1)对所需操作进行编码的扩展验证(“ev”)代码“ev code”;(2)与ev代码被应用在其中的(一个或多个)设备的uri相对应的uri属性;以及(3)与所需操作的依赖性操作代码相对应的“depevcode”。例如,在调用被称为“打开风扇”的操作事件之前,对于此操作存在依赖性事件,以确保风扇是可操作的(operational)。在没有可操作的风扇的情况下,调用诸如“打开风扇”的操作/事件是没有意义的。
46.ev代码与代码签名相关,代码签名是对可执行文件和脚本进行数字签名的过程,以确认软件作者并保证代码自被签名以来尚未被更改或损坏。过程采用对加密哈希的使用来验证真实性和完整性。代码签名最常见的使用是在部署时提供安全性。几乎每个代码签名实现都将提供某种数字签名机制来验证作者或构建系统的身份,并提供校验和来验证对象是否尚未被修改。它还可以用于提供关于对象的版本控制信息或存储关于对象的其他元数据。ev代码签名证书受制于附加的验证和技术需求。这些指南基于ca/b论坛的基线需求和扩展验证指南。
47.iot网关注册到它们的rpc服务器(即,服务提供商)以查看智能合约的事件操作(即,任何iot操作)并且(可选地)指定对事件的属性的过滤器。客户端简单地与智能合约进行交互并调用适当的函数。智能合约的主函数被称为“initiateevent”。此函数接受三个输入参数:ev代码、depevcode和uri,并生成操作事件,该操作事件的属性具有与函数调用参数相同的值。最终,此事件到达正在密切关注它的iot网关112。作为回报,每个iot网关112调用与指定uri相关联的iot设备111处的对应操作。
48.图3是根据一个实施例的图1的智能生产系统150的功能的流程图。在一个实施例中,图3(和下面的图4)的流程图的功能由存储在存储器或其他计算机可读或有形介质中的软件实现,并且由处理器执行。在其他实施例中,功能可以由硬件(例如,通过使用专用集成电路(“asic”)、可编程门阵列(“pga”)、现场可编程门阵列(“fpga”)等)或者硬件和软件的任何组合来执行。
49.图3中描述的示例将包括客户端、两个iot网关112、以及附接到每个网关112的两个iot设备111、授权系统和服务提供商。
50.在301处,iot网关112中的一个iot网关开始密切关注位于相应智能合约区块链地址处的智能合约的操作事件。此外,网关112请求基于事件的evcode来过滤事件,并且指定其想要仅密切关注其中evcode是“tightenvalue”或任何其它evcode值的事件。
51.在302处,在某个时刻,客户端调用智能合约的initiateevent函数。其使用与对应于301的网关112的iot设备111相匹配的uri作为uri,并使用“tightenvalue”作为evcode。
52.在303处,302处的交易导致向授权系统传输授权请求以创建要传播到所有全节点的事件。
53.在304处,当任何iot设备或客户端不具有访问令牌或具有到期的访问令牌时,授权请求组件生成授权请求。为了生成授权请求,授权请求组件对分配给iot设备的唯一令牌
进行加密。例如,授权请求组件使用私钥对唯一令牌进行加密。一旦唯一密钥被加密,授权请求组件就将包括加密的唯一令牌的授权请求传输到授权系统。
54.在305处,客户端从授权系统接收到访问令牌。访问令牌使客户端能够向服务提供商请求服务。访问令牌具有相关联的到期时间,在到期时间之后访问令牌不再有效,因此不能被客户端用来访问来自服务提供商的服务。因此,客户端将必须再次向认证系统认证以接收新的访问令牌。类似地,iot设备从授权系统接收访问令牌。访问令牌使iot设备能够从服务提供商请求服务。访问令牌具有相关联的到期时间,在到期时间之后访问令牌不再有效,因此不能被iot设备用来访问来自服务提供商的服务。因此,iot设备将必须再次向认证系统认证以接收新的访问令牌。
55.在306处,向服务提供商传输包括访问令牌的客户端请求。服务提供商使用所包括的访问令牌来确定是否批准请求。在访问令牌附有附加数据(例如,完整性测量值或完整性测量值范围)的一些用例中,服务提供商可以使用所附数据来确定是批准还是拒绝从iot设备接收到的对由服务提供商提供的服务的请求。例如,服务提供商可以将完整性测量值与阈值完整性测量值进行比较以确定是批准还是拒绝服务请求。替代地,服务提供商可以将完整性测量值范围与阈值完整性测量值范围进行比较以确定是批准还是拒绝服务请求。
56.在307处,访问令牌被进一步传输到正在密切关注这样的事件的iot网关。网关提取事件的uri并检查它是否与附接到其的任何iot设备相匹配。
57.如结合图3所公开的,实施例中的授权请求组件是具有智能合约组件的cps。此组件集成了联网、计算和物理过程,其中现代传感器有效地处理其主要组件,诸如网络系统和物理过程,这在这两个组件之间的交互增加的同时避免了安全漏洞。实施例包括使用区块链的物理系统,其在开放网络环境中保护和执行交易,而无需任何中心化第三方系统的参与。区块链是将所有交易记录到区块的链中的分布式账本。在将交易存储到区块的链之前,交易由区块链的所有参与成员验证。下面公开的去中心化共识算法(即资格证明拜占庭容错(“pebft”))用于对等(p2p)区块链网络中的数据同步。对等节点需要数字协议(即,智能合约)来完成可以自我执行、自我验证和自我强制执行的交易。
58.许多传统访问控制机制使用“令牌”来实现访问控制,“令牌”指示客户端对资源的能力。然而,令牌管理、安全和语义解释不能轻易地实现,尤其是在iot的背景下。相比之下,本发明的实施例利用分布式账本技术的能力来支持“定制令牌”以实现访问控制机制。
59.具体地,分布式账本(区块链)技术已指定了称作“erc-20”的令牌标准。erc-20令牌是基于区块链的资产,具有与比特币、以太币和比特币现金类似的功能,因为它可被保存价值并可以发送和接收。然而,erc-20令牌与其他加密货币之间的一个区别是,erc-20令牌是在以太坊区块链上创建和托管的,而比特币和比特币现金是其相应区块链的原生货币。
60.erc-20标准定义了智能合约应实现以便被视为令牌的一些函数。本文实施例中公开的架构的智能合约实现由erc-20标准定义的函数。在实施例中,erc-20令牌针对上述每个事件生成。erc-20令牌存储在由256字符种子(类似于aes256密码)保护的钱包中。为了访问和消耗令牌,服务提供商提供加密货币钱包。硬件钱包可用于在促进交易的同时保持凭证离线。每个事件被视为交易。
61.这些扩展可用于提供访问控制,如下所示。最初,拥有智能合约的用户将所有令牌分配给它们自己,并将此用户称为所有者。然后,所有者将至少一个令牌转移给每个经授权
客户端以显示资格证明。客户端拥有的令牌数量可以用作客户端角色的指示(即,客户端拥有的令牌越多,客户端的角色越有特权)。合约所有者可以通过指定经授权客户端的角色来保护操作。因此,在最简单的情况下,可以简单地通过使智能合约函数检查调用它的客户端是否拥有必要数量的令牌来保护操作。
62.使用本文公开的资格证明共识算法,可以定义需要持有更特权(“资格”)角色的客户端的“批准”的“关键”函数。特别地,如果这样的函数被低权限客户端调用而不是产生操作事件,则产生被称为“授权请求”的新类型的事件。此事件由特权客户端处理,该特权客户端检查其字段并相应地采取行动(即,客户端可以忽略或可以再次调用相同的函数使得生成操作事件)。
63.资格证明(pebft)共识算法
64.通常,共识算法是区块链网络的所有对等体关于分布式账本的当前状态达成共同一致的过程。以此方式,共识算法在区块链网络中实现了可靠性,并在分布式计算环境中的未知对等体之间建立了信任。共识协议确保被添加到区块链的每个新区块是被区块链中所有节点同意的唯一的事实版本。区块链共识协议由一些具体目标组成,诸如达成一致、协作、合作、每个节点的平等权利以及每个节点在共识过程中的强制性参与。
65.实施例实现了新颖的资格证明(pebft)共识算法,该算法在异步系统中有效地工作(即,对于对请求的响应将在何时被接收没有上限)并且可以并入现有的区块链架构中。实施例通过实现客户端拥有的令牌越多客户端的资格就越有特权的方法来解决与已知容错解决方案(例如,工作量证明(pow)、权益证明(pos)等共识算法)相关联的许多技术问题。实施例改进了已知的拜占庭容错解决方案,因为根据实施例,客户端拥有的令牌越多,客户端的资格就越有特权。
66.图4是根据一个实施例的由图1的智能生产系统150执行的资格证明(pebft)共识算法的流程图。在其他实施例中,图4的功能可以由任何dlt或区块链网络实现。在实施例中,pebft的每一轮共识被分为5个阶段,如图4的阶段所指示的。与bft类似,pebft是分布式网络的即使当网络中的节点中的一些节点未能响应或以错误信息响应时也能达成共识(即关于相同的值一致)的特性。pebft用于通过采用旨在减少故障节点的影响的集体决策来防范系统故障。此外,如下文所公开的,借助pebft实施例,任何全节点可以在不与对应的智能合约交互的情况下了解用户的令牌余额,因此令牌的数量被考虑用于资格证明。
67.如果网络中正确数量的工作节点关于其值达成一致,则pebft可被实现。可向丢失的消息给予默认投票值(即,假设,如果在某个时间限制内来自特定节点的消息没被接收到则该消息是“错误的”)。此外,如果大多数节点以正确值进行响应,则可分配默认响应。
68.考虑两类故障。一种是故障停止,其中节点故障并停止操作,另一种是任意节点故障。任意节点故障中的一些故障包括未能返回结果、以错误结果进行响应、以故意误导的结果进行响应以及对系统的不同部分以不同的结果进行响应。
69.根据实施例,实现pebft的分布式系统中的节点被顺序排序,其中一个节点为主节点(即,领导节点)并且其他节点被称为辅节点(即,备份节点)。系统中任何有资格的节点可以通过从辅节点转换为主节点来成为主节点,通常是在主节点故障的情况下。目标是所有诚实的节点使用多数规则来帮助关于系统状态达成共识,以及基于节点持有的令牌数量来使用节点的更特权状态。
70.在401处,客户端向主(即,领导)节点发送具有资格令牌的请求。在一个实施例中,令牌是erc-20令牌,其是以太坊的标准可替代令牌(即,在类型和价值上与另一令牌完全相同)。然而,任何类型的可替代令牌可在其他实施例中使用。如上所述,该请求可以是针对操作事件的,包括智能生产系统中的一个或多个iot设备的某种类型的功能。
71.在402处,主节点向令牌提供商(例如,任何加密钱包提供商)验证令牌以确保所提供的资格令牌是合法的。
72.在403处,主节点随后将区块链类型请求广播到所有辅(即,备份)节点以执行服务。通常,因为如果节点地址的私钥没有被故意存储在其钱包之外,则备份该钱包及其密钥就至关重要,所以备份节点存在。如果地址的私钥永久丢失,则不再有交易可以代表该地址而执行。此外,如果节点需要从系统故障中快速恢复,而没有由检索和重新索引区块链内容而造成的延迟,那么备份该节点的整个状态反而可能是有意义的。在区块链网络中,节点试图通过充当全节点来解决问题,以响应对服务的请求,并且其操作者受到奖励。它们在基于抵押的系统上进行操作,以确保它们作为区块链网络的骨干提供真正的服务,因此也被称为“绑定验证器系统”。
73.在404处,节点(主节点和辅节点)执行所请求的服务,然后向客户端发送回答复。
74.在405处,当客户端从网络中的不同节点接收到“m+1”个具有相同结果的回复时,请求被成功服务,其中m是允许的故障节点的最大数量。当客户端接收到回复时,客户端接收令牌并且令牌的数量是通过智能合约内已完成的成功请求的数量来计算的。每次请求被服务时,令牌被接收并且收集的令牌数量被视为资格证明。
75.在实施例中,重复401-405的共识轮(round),并且主(领导)节点在每个视图(即,每个pebft共识轮)期间被改变,并且在预定义的时间量已经过去而领导节点没有向备份节点(辅节点)广播请求的情况下,可以由视图改变协议替代主(领导)节点。如果需要的话,大多数诚实节点可以对当前领导节点的合法性进行投票,并将其替换为队列中的下一个循环(round-robin)节点。
76.作为共识轮的结果,资格证明是基于节点所服务的成功请求的数量来确定的。每当节点成功服务请求时,它就接收到令牌,并且令牌被计数以确定智能合约内的客户端的资格证明。因此,令牌数量保持。如上所述,在405之后由客户端持有的收集的令牌数量可以由任何节点确定,而不需要智能合约。
77.两步访问控制
78.在实施例中,由于分布式账本是分布式的,这是基于区块链的系统的关键属性,因此任何全节点可以在不与对应的智能合约交互的情况下了解用户的令牌余额。此属性使得实现在iot网关处对附加的并且可能更细粒度的访问控制策略的定义。因此,即使客户端被智能合约授权,最终,操作也可能被一些/所有iot网关拒绝。除了客户端的角色(如由客户端持有的令牌数量所指示的)之外,在iot网关处定义的访问控制策略还可以考虑现实世界所提供的其他辅助信息,诸如时间、位置信息、其他iot测量等。智能合约无法访问这样的信息。
79.人工神经网络模型
80.一个实施例合并了深度卷积生成对抗网络(“dcgan”)(如图1中的机器学习103所示),以通过内联质量控制在甚至更早的阶段检测零件中的缺陷。例如,通过由一组iot设备
组成的iot系统(其中每个iot设备拥有一组其先前传输的数据点),机器学习103可以根据状态监测iot应用,遵循具有时间序列、设备记录或设备健康监测数据集的数据点的分布。
81.实施例包括来自iot设备的正常状态的数据点,其中iot不存在缺陷。在此模型中,每个iot设备尝试了解其可用数据集上的生成器分布并使用该分布来检测系统的缺陷和异常行为。工业4.0系统中的缺陷或异常行为是导致iot设备传送不遵循其数据分布的数据点的任何活动。此外,如果iot设备知道其自身正常状态的分布,则其可以区分与正常状态分布不相似的数据点。
82.为了了解每个iot设备处的分布,实施例定义了具有分布的先验输入噪声和具有从该随机变量到数据空间的参数的映射人工神经网络(“ann”)。ann通常包括人工神经元和将输入映射到输出的激活函数。实施例为接收数据点并输出0到1之间的值的每个iot设备定义另一个ann元素:鉴别器。当鉴别器的输出更接近1时,则接收到的数据点是正常状态,并且当输出更接近0时,则接收到的数据来自异常iot设备。在实施例中,每个iot设备包括对应的鉴别器。
83.每个iot设备的生成器ann尝试生成接近正常状态数据的数据点以便找到数据点的最佳近似。另一方面,每个iot设备的鉴别器旨在将生成的数据点与其自己的数据集区分开来。生成的数据点实际上模拟了系统的异常状态,因为它们是从不等于数据点分布的生成器分布生成的,因为参数是为未经训练的ann随机选择的。因此,鉴别器为生成器输出0值。因此,每个iot设备处的生成器和鉴别器进行交互以找到最优参数和分布,使得生成器可以生成接近正常状态的数据点,而鉴别器可以在异常数据点和正常数据点之间进行区分。
84.本发明实施例的鉴别器和生成器模型结构的值,共同量化了生成器生成的数据点与正常状态的接近程度以及鉴别器能够在正常数据点和异常数据点之间进行区分的良好程度。在此模型结构中,定义第一迭代以强制鉴别器为真实数据生成等于1的值。同时,第二迭代对生成器生成的任何异常点进行惩罚。虽然每个iot设备的生成器将寻求对模型的值最小化,但鉴别器尝试最大化该值。因此,鉴别器和生成器的最优解可以从鉴别器和生成器的数据点的最小自变量(arg min)和最大值自变量(arg max)导出。
85.然而,由于每个iot设备只能访问其自己的数据集,因此优化问题是针对独立条件监测的,其中每个iot设备只能访问其自己的数据集。在实施例中,深度卷积生成对抗网络(“dcgan”)应用深度网络与对抗网络相结合来产生iot设备部件更高分辨率的图像。dcgan网络通常接收100
×
1噪声向量(表示为z),并将其映射到g(z)输出,该输出是64
×
64
×
3的。dcgan架构允许第一层扩展随机噪声。网络从100
×
1到1024
×4×
4。这个层表示投影(project)和重塑(reshape)。与没有gan的类似设计(即,残差神经网络(“resnet”))相比,dcgan具有更多细节,对人类更具吸引力。
86.在训练期间,生成器逐渐变得更善于创建看起来真实的图像,而鉴别器则变得更善于区分它们。当鉴别器无法再区分真实图像和伪造图像时,过程达到平衡。
87.本发明的实施例使用鉴别器(即,用于已知缺陷的第一鉴别器、用于未知缺陷的第二鉴别器)来区分iot设备图像并反向传播gan损失以训练鉴别器和生成器。dcgan架构的核心在鉴别模型上使用标准的卷积神经网络(“cnn”)架构。
88.对于生成器,卷积被上卷积取代,因此生成器的每一层处的表示实际上依次变大,
因为它从低维潜在向量映射到高维图像。
89.图5图示了根据本发明的实施例的示例dcgan架构500。dcgan网络500包括生成器502-503和鉴别器510-512。生成器被馈送一些噪声数据520、521并且生成被馈送到鉴别器中的伪造数据525、526,连同伪造图像530。反向传播也被馈送到鉴别器中。附加的生成器/鉴别器可被添加。
90.通常,对于网络500,生成器生成候选,而鉴别器评估他们。较量(contest)就数据分布而言进行操作。通常,生成网络学习从潜在空间映射到感兴趣的数据分布,而鉴别网络将生成器所产生的候选与真实数据分布区分开来。生成网络的训练目标是通过产生鉴别器认为未合成的新候选(即,是真实数据分布的一部分)来增加鉴别网络的错误率(即“愚弄”鉴别器网络)。
91.已知数据集550、551用作鉴别器的初始训练数据。训练每个鉴别器涉及向其呈现来自训练数据集的样本,直到其实现可接受的准确度为止。每个生成器基于它是否成功愚弄鉴别器来进行训练。通常,生成器使用从预定义的潜在空间(例如,多元正态分布)采样的随机输入作为种子。此后,由生成器合成的候选由鉴别器评估。独立的反向传播过程应被用于两个网络,使得生成器产生更好的图像,而鉴别器变得更擅长标记合成图像。在实施例中,生成器是反卷积神经网络,并且鉴别器是卷积神经网络。
92.此外,在一个实施例中,在网络500中,任何池化层都被替换为跨步卷积(鉴别器)和分数跨步卷积(生成器)。批量归一化用于生成器和鉴别器两者。为了更深的架构,完全连接的隐藏层被移除。除了使用tanh的输出之外,实施例在所有层的生成器中使用整流线性单元激活(“relu”)。实施例进一步在所有层的鉴别器中使用leakyrelu激活。
93.对dcgan 500的使用使得实现对iiot欺诈的发现。具有深度卷积的gan为其中正常样本远大于故障案例的不平衡工业时间序列提供了基于生成对抗网络(gan)的新颖的故障诊断方法。精心设计的特征提取器与gan相结合来帮助训练整个网络。实施例被设计为获得原始区别特征和潜在空间两者中的数据分布和隐藏模式。具体地,编码器-解码器-编码器三子网被用在gan中,基于深度卷积生成对抗网络(dcgan),但没有tanh激活层并且仅通过正常样本来训练。
94.如所公开的,实施例实现了智能生产系统,该系统使用去中心化的信任来跟踪并避免使用分布式账本技术的工业4.0的制造(或其他智能制造)中的任何欺诈。实施例包括具有基于令牌的两步访问控制的资格证明(pebft)共识算法。实施例还通过使用机器学习算法(包括深度卷积生成对抗网络)的内联质量控制在甚至更早的阶段检测部件中的缺陷。
95.本文具体图示和/或描述了若干实施例。然而,将理解的是,在不脱离本发明的精神和预期范围的情况下,所公开的实施例的修改和变化被上述教导所覆盖并且在所附权利要求的范围内。
技术特征:
1.一种使用包括多个节点的分布式账本来确定来自客户端的对操作事件的请求的资格的方法,所述方法包括:将来自客户端的请求发送到分布式账本的主节点,所述请求包括第一令牌;在主节点处向令牌提供商验证该节点;将所述请求广播到分布式账本的所有辅节点;由主节点和辅节点响应于所述请求而执行服务;当相应节点成功地执行服务时,从主节点和辅节点中的每一个向客户端发送回复,所述回复包括第二令牌;以及基于客户端接收到的第二令牌的数量的计数来确定客户端对于请求的资格,所述资格是基于所述计数超过预定义阈值来确定的。2.如权利要求1所述的方法,所述分布式账本包括智能合约,其中节点在不与智能合约交互的情况下能够确定客户端持有的第二令牌的数量的计数。3.如权利要求1所述的方法,其中当客户端接收到m+1个回复时,确定请求被成功服务,其中m是允许的故障节点的最大数量。4.如权利要求1所述的方法,其中所述分布式账本是区块链网络。5.如权利要求1所述的方法,其中计数与客户端的角色相关。6.如权利要求1所述的方法,智能合约耦合到分布式账本,所述智能合约确定所述客户端是否具有足够的第二令牌来调用操作事件。7.如权利要求1所述的方法,其中所述操作事件包括多个物联网(iot)设备中的一个iot设备的功能,所述方法包括:将对应的iot网关耦合到每个iot设备,每个iot网关监控分布式账本的智能合约的操作事件,每个iot设备和iot网关耦合到分布式账本;响应于客户端发起第一iot设备的操作,由智能合约生成对应的事件并向授权系统传输授权请求,并作为响应接收与该操作对应的第一令牌;将第一令牌传输到iot网关中的一个或多个iot网关,每个iot网关监控该事件并确定该事件是否与第一iot设备对应,然后在第一iot设备处实现所述操作;以及使用耦合到分布式账本并包括用于iot设备中的每个iot设备的对应鉴别器和生成器的经训练的深度卷积生成对抗网络(dcgan)模型,确定iot设备中的任何iot设备中的缺陷,iot设备中的每个iot设备具有数据点的正态分布集,dcgan模型监控从iot设备中的每个iot设备传输的数据点并检测所传输的数据点何时与数据点的正态分布集不对应。8.如权利要求7所述的方法,还包括训练dcgan模型,该训练包括:每个生成器生成基本上接近每个对应iot设备的数据点的正态分布集的数据点,该数据点包括噪声数据;每个鉴别器将生成的数据点与数据点的正态分布集区分开;以及重复生成和鉴别,直到每个鉴别器实现能够接受的准确度为止。9.如权利要求7所述的方法,iot网关中的每个iot网关提供访问策略包括基于客户端接收到的第二令牌的计数来确定客户端的角色。10.一种分布式账本系统,包括:客户端;
多个节点,耦合到所述客户端并且形成分布式账本;一个或多个处理器,耦合到所述多个节点,适于使用分布式账本响应于来自客户端的对操作事件的请求而将来自客户端的请求发送到分布式账本的主节点,所述请求包括第一令牌;所述一个或多个处理器还适于:在主节点处向令牌提供商验证该节点;将所述请求广播到分布式账本的所有辅节点;由主节点和辅节点响应于所述请求而执行服务;当相应节点成功地执行服务时,从主节点和辅节点中的每一个向客户端发送回复,所述回复包括第二令牌;以及基于客户端接收到的第二令牌的数量的计数来确定客户端对于请求的资格,所述资格是基于所述计数超过预定义阈值来确定的。11.如权利要求10所述的系统,所述分布式账本包括智能合约,其中节点在不与智能合约交互的情况下能够确定客户端持有的第二令牌的数量的计数。12.如权利要求10所述的系统,其中当客户端接收到m+1个回复时,确定请求被成功服务,其中m是允许的故障节点的最大数量。13.如权利要求10所述的系统,其中所述分布式账本是区块链网络。14.如权利要求10所述的系统,其中计数与客户端的角色相关。15.如权利要求10所述的系统,还包括耦合到分布式账本的智能合约,所述智能合约确定所述客户端是否具有足够的第二令牌来调用操作事件。16.如权利要求10所述的系统,其中所述操作事件包括多个物联网(iot)设备中的一个iot设备的功能,所述一个或多个处理器还适于:将对应的iot网关耦合到每个iot设备,每个iot网关监控分布式账本的智能合约的操作事件,每个iot设备和iot网关耦合到分布式账本;响应于客户端发起第一iot设备的操作,由智能合约生成对应的事件并向授权系统传输授权请求,并作为响应接收与该操作对应的第一令牌;将第一令牌传输到iot网关中的一个或多个iot网关,每个iot网关监控该事件并确定该事件是否与第一iot设备对应,然后在第一iot设备处实现所述操作;以及使用耦合到分布式账本并包括用于iot设备中的每个iot设备的对应鉴别器和生成器的经训练的深度卷积生成对抗网络(dcgan)模型,确定iot设备中的任何iot设备中的缺陷,iot设备中的每个iot设备具有数据点的正态分布集,dcgan模型监控从iot设备中的每个iot设备传输的数据点并检测所传输的数据点何时与数据点的正态分布集不对应。17.如权利要求16所述的系统,处理器还适于训练dcgan模型,该训练包括:每个生成器生成基本上接近每个对应iot设备的数据点的正态分布集的数据点,该数据点包括噪声数据;每个鉴别器将生成的数据点与数据点的正态分布集区分开;以及重复生成和鉴别,直到每个鉴别器实现能够接受的准确度为止。18.如权利要求16所述的系统,iot网关中的每个iot网关提供访问策略包括基于客户端接收到的第二令牌的计数来确定客户端的角色。
19.一种存储指令的计算机可读介质,所述指令在由多个处理器中的至少一个处理器执行时,使得所述处理器使用包括多个节点的分布式账本来确定来自客户端的对操作事件的请求的资格,确定资格包括:将来自客户端的请求发送到分布式账本的主节点,所述请求包括第一令牌;在主节点处向令牌提供商验证该节点;将所述请求广播到分布式账本的所有辅节点;由主节点和辅节点响应于所述请求而执行服务;当相应节点成功地执行服务时,从主节点和辅节点中的每一个向客户端发送回复,所述回复包括第二令牌;以及基于客户端接收到的第二令牌的数量的计数来确定客户端对于请求的资格,所述资格是基于所述计数超过预定义阈值来确定的。20.如权利要求19所述的计算机可读介质,所述分布式账本包括智能合约,其中节点在不与智能合约交互的情况下能够确定客户端持有的第二令牌的数量的计数。
技术总结
实施例使用包括多个节点的分布式账本来确定来自客户端的对操作事件的请求的资格。实施例将来自客户端的请求发送到分布式账本的主节点,该请求包括第一令牌。实施例在主节点处向令牌提供商验证该节点,将请求广播到分布式账本的所有辅节点,并且由主节点和辅节点响应于该请求而执行服务。当相应节点成功地执行服务时,实施例从主节点和辅节点中的每一个向客户端发送回复,该回复包括第二令牌。然后,实施例基于客户端接收到的第二令牌的数量的计数来确定客户端对于请求的资格。数来确定客户端对于请求的资格。数来确定客户端对于请求的资格。
技术研发人员:J
受保护的技术使用者:甲骨文国际公司
技术研发日:2022.02.15
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/