基于区块链的可当责分布式计算系统技术方案

技术编号:39756842 阅读:44 留言:0更新日期:2023-12-17 23:56
公开了一种用于在被实现为经许可区块链网络的分布式计算系统中进行故障检测和故障去除的方法和系统

【技术实现步骤摘要】
【国外来华专利技术】基于区块链的可当责分布式计算系统


[0001]本公开总体上涉及分布式计算系统,并且更具体地,涉及用于检测和去除基于区块链的可当责
(accountable)
分布式计算系统中的故障的方法和系统


技术介绍

[0002]分布式计算系统是跨地理上截然不同的位置而分布的联网计算机组

分布式计算系统的组件可以包括多个节点,使得各个节点皆是单个联网计算机,并且这些节点通过消息交换来彼此通信,以便实现共同的目标,诸如执行计算
(
例如,
ATM
交易
)。
在一些场景中,为了使分布式计算系统执行任何关键计算,组件必须达成共识

这进而又依赖于分布式计算系统内的两个重要特性:组件之间的信任以及对组件故障的鲁棒性

组件需要信任其它组件没有进行恶意动作

在没有信任的情况下,分布式计算系统不可能达成共识或执行关键计算

在这样的情况下,最好也只不过,组件可能丢弃可疑消息或者可能遇到来自恶意输入的可恢复错误,而在最坏的情况下,组件因来自进行恶意动作的可信组件的恶意输入而失效

[0003]类似地,分布式计算系统对于组件必须是鲁棒的,这是因为分布式计算系统包含比集中式系统更多数量的组件

分布式计算系统中的信任必要性是许多恶意行为者企图利用的弱点的来源

[0004]一种用于确保分布式系统
(
诸如上面所讨论的分布式计算系统
)
容忍恶意参与者或组件故障并且在该恶意参与者或组件故障存在时确保该分布式系统的计算中的进程的已知解决方案对于本领域技术人员而言被称为拜占庭容错
(Byzantine Fault Tolerance

BFT)。
虽然
BFT
方法旨在使分布式系统对拜占廷故障更具弹性,但是增加分布式系统的鲁棒性的另一方法是去除导致拜占廷故障的组件

这被称为当责
(accountability)
,并且是分布式系统使得能够实现对该分布式系统内的恶意参与者的检测

标识以及隔离的特性

当责提供了额外的优点,诸如将不可否认的责任指派给分布式系统的参与者,尤其是当参与者是恶意参与者之一时,并且进一步提高了这种系统内的透明度

当责还依赖于系统的可审核性
(auditability)
,并且在本领域中已知的解决方案中,对于系统中的恶意参与者和确保当责的问题,涉及相当大的复杂性并且招致高计算成本来实现

[0005]当责包括以下三个特性:
[0006]故障预防:通过增加恶意行为的成本来阻止恶意行为

[0007]故障容许度:故障的检测和隔离以及防止其蔓延到系统的其它部分

[0008]故障去除:从系统中去除行为不当的行为者,以限制它们对系统其余部分的影响

[0009]为了实现当责,各个参与者的动作必须是可审核的

系统的可审核性需要安全

防篡改
(tamper resistant)、
防揭换
(tamper evident)
以及透明的审核日志
(
也被可互换地称为安全记录
(logging))
,并且还需要观察组件内的进程
(process)
的能力

虽然审核日志的严格要求被设计成增加审核日志中的信任,但是现有技术中的许多解决方案依赖于对这些审核日志的存储和访问的集中式方法

这是一个缺点,因为它将信任问题从审核日志本
身转移到审核日志的管理员

用于确保安全记录的一些现有技术方法包括使用数字账本
(ledger)
来保护和存储诸如审核日志之类的审核数据

这样,审核数据对于成员是透明的,并且是由分布式计算系统本身的组件来保护的

[0010]数字账本是被存储在计算机中的交易记载
(record)。
交易表示系统状态的变化

因此,数字账本表示诸如金融系统之类的系统的状态或者一般分布式系统的状态

数字账本可以在集中式系统中实现,该集中式系统保存所有交易的记载并且改变该记载,而不需要另一系统与它自己的记载一致并且不产生由集中式系统作出的变化的可审核踪迹

另一种方法是允许保存交易记载并实现确定多个系统之间的共识的方法的分散式或分布式方法

这是有用的,因为它对以自私的方式运行并以损害分布式系统的方式来改变账本的包括分布式系统的任何特定系统产生了抑制作用

这本身可以增加分布式计算系统中的用户信任,并且出于该原因可以是有用的

[0011]数字账本技术的一个示例是区块链网络

区块链是由使用链表
(linked list)
结构或类似结构链接在一起的区块组成的仅附加
(append

only)
数据结构

区块是用于数字信息的容器,区块包括报头

元数据以及交易列表

报头和元数据可以包含关于软件版本

被用于压缩存储所需的数据量的密码散列

时间戳等的信息

交易是数字令牌的所有交易的列表,并且可潜在地散列以减少存储所需的数据量

区块列出了从一个用户到另一用户的所有交易

用户之间的交易是经由用户的对应数字地址之间的交易来实现的

[0012]区块链数据结构便于包括区块链网络的节点的分布式系统充当单个计算机,从而使得能够实现分散式计算

有鉴于集中式系统内的计算很少被记录和审核,将分散式计算的结果以区块链交易的形式记载在区块链上,从而增加了计算中的信任

在区块链的背景下描述分散式计算的计算机程序被称为智能合约

[0013]在区块链网络的背景下,可以将智能合约定义为可执行计算机程序,其定义了必须在执行智能合约时施加的一组规则

数据以及关系

智能合约是不可变的,即一旦将智能合约添加至它们被定义用于的区块链网络的分布式账本架构中,就不能操纵智能合约

此外,由区块链网络的节点对智能合约的调用
(invocation)
导致被记载在区块链网络上的交易

在一些实现中,一组相关智能合约被称为链码
(chain code)
,其被用于在区块链网络上部署相本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.
一种用于形成可当责分布式计算系统的使能区块链的联网计算机,所述可当责分布式计算系统具有访问经许可区块链网络的不同的联网计算机,所述使能区块链的联网计算机包括:至少一个处理器;以及存储器,所述存储器上存储有指令,所述指令在由所述至少一个处理器执行时,使所述联网计算机:编译并且执行智能合约,其中,所述智能合约包括一组规则,所述一组规则将所述处理器配置成:
1)
将交易附加到所述经许可区块链,所述交易包括指示在访问所述经许可区块链网络的所述联网计算机之间的消息交换的日志,
(2)
在达成共识时检测所述联网计算机的恶意行为,其中,所述检测是基于所述联网计算机的内核仪器化来执行的,以及
(3)
在检测到所述恶意行为时撤销所述联网计算机对所述经许可区块链网络的访问,或其组合;以及执行分布式计算程序,所述分布式计算程序被配置成与访问所述经许可区块链网络的所述联网计算机达成共识
。2.
根据权利要求1所述的联网计算机,其中,所述联网计算机被配置成使用与所述经许可区块链网络的协议不相关的通信协议,来与访问所述经许可区块链网络的所述联网计算机交换消息
。3.
根据权利要求1所述的联网计算机,其中,所述联网计算机被配置成使用依赖于所述经许可区块链网络的协议的通信协议,来与访问所述经许可区块链网络的所述联网计算机交换消息
。4.
根据权利要求1所述的联网计算机,其中,所述智能合约被配置成基于对一个或更多个审核日志的分析来检测恶意行为,所述一个或更多个审核日志是由所述联网计算机响应于所述智能合约的执行以及所述经许可区块链网络的对应交易而生成的
。5.
根据权利要求1所述的联网计算机,其中,所述智能合约被配置成当所述联网计算机向访问所述经许可区块链网络的不同联网计算机传送同一消息的不同值时,检测所述恶意行为
。6.
根据权利要求1所述的联网计算机,其中,所述联网计算机被配置为所述经许可区块链网络内的观察者节点或操作者节点中的至少一者
。7.
根据权利要求1所述的联网计算机,其中,所述智能合约在所述经许可区块链网络上的部署是通过向所述经许可区块链网络的成员分发所述智能合约的源代码或与经编译的智能合约相关联的可信二进制文件中的至少一者而发生的
。8.
根据权利要求1所述的联网计算机,其中,所述智能合约被部署为所述联网计算机的所述内核仪器化的部分,使得由所述智能合约自动记录对一种或多种类型的系统调用
syscall
请求的调用以便在所述经许可区块链网络上发布
。9.
根据权利要求8所述的联网计算机,其中,所述智能合约被部署为所述联网计算机的内核仪器化的部分,其中,通过检查包含与一种或多种类型的系统调用请求相关联的审核数据的所述经许可区块链网络来检测用户空间程序的恶意更改
。10.
根据权利要求1所述的联网计算机,其中,所述联网计算机为观察者节点,所述观察者节点被配置成复制所述观察者节点作为成员的所有经许可
(

)
网络的所述区块链
。11.
根据权利要求
10
所述的联网计算机,其中,所述联网计算机访问多个经许可区块链网络,以确保子网络与另一子网络具有至少一个公共观察者节点

12.
根据权利要求1所述的联网计算机,其中,所述联网计算机为操作者节点,所述操作者节点被配置成通过提交内核仪器化数据来提供该操作者节点的操作的审核细节,所述内核仪器化数据通过经部署的智能合约上传至所述经许可区块链网络
。13.
根据权利要求
1...

【专利技术属性】
技术研发人员:TC
申请(专利权)人:三菱电机株式会社
类型:发明
国别省市:

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

1