CN110915166A - 区块链 - Google Patents
区块链 Download PDFInfo
- Publication number
- CN110915166A CN110915166A CN201880046765.5A CN201880046765A CN110915166A CN 110915166 A CN110915166 A CN 110915166A CN 201880046765 A CN201880046765 A CN 201880046765A CN 110915166 A CN110915166 A CN 110915166A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- bsp
- ledger
- volt
- vol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书涉及安全、有效、机密和/或外包的区块链网络,其可以使得一组互不信任的参与方能够安全地共享状态,然后就该共享状态上的线性操作历史达成一致。
Description
附图说明
附图示出了在本文档中传达的构思的实现。通过参考以下结合附图的描述,可以更容易地理解所示实现的特征。只要可行,在各个附图中使用相似附图标记来指示相似的元素。此外,每个附图标记的最左边的数字传达附图标记被首次引入的图以及相关联的讨论。在空间允许的情况下,为方便读者,元素及其相关联的附图标记都被示出于附图页面上。否则,仅附图标记被示出。
图1和图6A至图6C示出了根据本构思的一些实现的示例volt区块链系统或网络。
图2、图3和图5示出了根据本构思的一些实现的volt区块链系统或网络示例的各方面。
图4和图7至图9示出了根据本构思的一些实现的示例volt区块链流程图。
具体实施方式
本说明书涉及安全、有效、机密和外包的区块链网络。本构思的一些实现被包含在称为“volt”的系统中,该系统可以使得一组互不信任的参与方安全地共享状态,然后就该共享状态上的线性操作历史达成一致。
图1示出了示例volt区块链系统或网络100。volt的一个方面是区块链服务提供方(BSP)102的抽象,其创建并且更新仅附加防篡改账本104。volt的另一方面是新的分布式协议,称为“凯撒(Caesar)共识”或“凯撒共识协议”(CCP)106。下面相对于图4描述了用于实现CCP 106的示例方法。简而言之,即使在BSP 102任意行为不当时,CCP仍可以利用BSP 102使得volt区块链网络的成员(例如,或成员节点)108能够就BSP的账本104达成共识。因此,通过设计,BSP 102是不受信任的,因此其可以在任何不受信任的基础设施上运行。如本文所使用的,术语BSP可以是指提供区块链服务的组件和服务本身两者。因此,BSP可以是指提供区块链服务的(多个)组件和/或区块链服务。为了清楚起见,术语BSP组件可以在专门指代提供服务的组件时在本文中被采用。
在一些实现中,BSP 102可以在云中被实例化,这提供了廉价、丰富并且(多半)可靠的计算资源。在一些实现中,BSP可以体现为模块化设计,该模块化设计可以利用四个良好定义的组件来模拟BSP抽象,这使得服务提供方可以容易地对其进行强化并且提供可信赖的服务。此外,模块化设计可以使得网络的成员能够将存储和计算(可能需要参与网络)外包给BSP,使得成员仅需依赖BSP的可用性。最后,volt趋于带来低的资源成本并且提供良好的性能。
支撑流行加密货币(诸如比特币和以太坊)的区块链技术已经被吹捧为在诸如金融、医疗保健和公共部门等许多领域中显著转换公共业务流程。区块链的基本吸引力中的一个吸引力是其承诺实现可验证的、低成本的和可信赖的业务流程,而无需涉及在上述业务领域中猖獗的昂贵的、可信的中介机构。该技术背后的一个关键机制是区块链网络中的所有参与方共享的仅附加防篡改账本。
然而,大多数区块链未能完全实现该承诺:其在安全性、隐私性、性能和/或成本方面均有不足。例如,公共区块链系统(诸如比特币和以太坊)的安全性依赖于基于博弈论和激励的机制(例如,基于工作量证明的挖矿),因为其以任何成员都可以参与该系统的无许可成员资格模型来操作。此外,针对许多业务应用而言,其慢且昂贵(由于挖矿)。
这导致了在诸如云的许可环境中的区块链,其中参与仅限于业务流程的实体。这些解决方案中的一些解决方案采用了诸如以太坊的公共区块链协议,但是针对这样的系统,强大的安全性要求部署大量计算资源以用于挖矿。其他人提出了诸如超级账本、Tendermint和Ripple的系统,其使用拜占庭容错(BFT)协议的变体来在区块链网络中达成共识。
与基于挖矿的系统相比,这些基于BFT的方法往往是资源有效的,因为其不采用挖矿。但是,这样的区块链中的成员必须信任BFT协议以及其被部署的基础设施的完整实现(例如,以维持BFT协议预期的故障阈值)。因此,这些系统面临根本的部署冲突。例如,其可以在云中使用廉价且丰富的计算资源,但成员必须信任云基础设施。备选地,其可以在完全去中心化的环境中操作,但是其无法利用云,仍然必须信任完整实现。
本实现可以使用volt解决这种冲突,volt是在许可成员资格模型中实现安全和资源有效的区块链网络的第一系统,使得大部分工作可以安全地被外包给不受信任的基础设施。为实现此,volt提倡用于区块链网络(例如,volt区块链网络100)的新架构,该新架构引入了区块链服务提供方102的概念和新颖的分布式协议凯撒共识106,与传统的共识协议不同,该凯撒共识106由参与区块链网络的成员节点108与BSP一起运行。
在volt中,成员节点108可以将创建和更新仅附加防篡改账本104(其中条目由区块链网络的成员所定义的状态机管理)的任务外包给BSP 102,其可以自然地由服务提供方在不受信任的基础设施上实现和操作。尽管将关键工作外包给BSP 102,但是成员节点108仍使用凯撒共识106来检测BSP的不当行为,以从不当行为中恢复并且就账本104达成共识。凯撒共识106可以通过对BSP 102的属性的端到端检查来完成所有这些工作。
凯撒共识106中的关键观察是,区块链网络的成员节点108可以利用BSP 102维护的仅附加防篡改账本104,通过在账本本身上写入单一类型的特殊消息,来就账本104的前缀达成一致。该机制可以带来针对许可的区块链网络的简单共识算法。此外,那些特殊消息可以被记录在账本104上并且由网络中的成员节点108处理,因此成员节点可以使用其来实施灵活的策略类别,以确定账本的哪个前缀被网络达成一致。作为示例,区块链网络可以实施从强到最终的一致性水平,以及从崩溃到拜占庭的故障模型(针对成员节点),同时保持BSP 102无视这些策略。
上面的volt概念与前述基于BFT的系统形成鲜明对比,在前述基于BFT的系统中,节点在将交易的集合(使用诸如PBFT的协议)写入到防篡改账本之前就对其达成了共识,从而将共识策略先验地嵌入系统中。此外,在volt中,如果BSP 102或任何恶意成员节点(诸如例如成员节点108(1))犯下安全违反,并且将其暴露给诚实的成员节点(诸如成员节点108(2)和/或108(3)),最终可以将其归咎为BSP的恶意行为。这样的归咎可以由其他非诚实成员节点通过密码可验证,并且不需要任何阈值假定。
除了将创建和更新账本104的任务外包给BSP 102之外,volt还可以使得成员节点108将参与凯撒共识协议106所需的存储和计算外包给BSP,同时仅依赖于BSP的可用性。为此,volt的BSP 102可以以模块化方式被设计。
在这样的模块化BSP实现中,模块可以包括具有收据的可验证存储、链接服务、状态转换服务和/或协调器(协调器模块)。这样的模块化设计使服务提供方可以轻松确保BSP几乎始终是可信赖的。其还允许这些模块的不同实例化,以实现灵活性、性能和/或安全性。例如,状态转换服务可以在现代处理器上利用安全执行环境被实例化,以实现外包和机密性。下面相对于图5更详细地描述一个这样的示例实现。
从一个角度来看,本发明的构思可以包括以下改进等。首先,新的基础—区块链服务提供方和凯撒共识—以用于设计许可的区块链网络。其次,使得成员节点能够通过模块化设计来将存储和计算外包给BSP。第三,volt可以在现有云服务之上的基于云的部署模型中被实现。例如,关于公司,Volt可以在服务结构和文档数据库的顶部被提供。Volt同样可以与其他云服务(诸如由亚马逊和/或谷歌提供的那些云服务等)结合被提供。备选地,volt可以在成员节点上(例如,分布式的)被实现。实验评估示出,针对现实的区块链应用,volt每个账本每秒可以完成数千笔交易(比基于以太坊的基准高出190倍)。
volt的目标是使得采用区块链的新兴的应用类别能够重新架构关键业务流程。示例包括清算和结算、供应链管理、医疗保健、资产登记等。这样的应用被称为安全多方协作(SMC)。
从一个角度来看,SMC可以涉及相互不信任的实体共享状态,并且然后就该共享状态上的操作历史达成一致。本实现中的一些实现可以满足这些应用的关键任务性质。例如,一些实现可以确保所有共享状态的突变可以由所有参与方都通过密码可验证。这些实现可能使计算上很难篡改共享状态的操作历史或状态本身。该实现可以使共享状态及其上的操作保持私有。该实现可以容忍来自参与方的恶意。
原则上,区块链技术可以支持SMC,因为在其核心处,区块链技术可以使一组互不信任的各方维护共享的账本。这在两个流行的区块链系统中是明显的。比特币是加密货币,其中用户通过数字签名方案中的公钥被标识,并且用户使用其私钥来交易。比特币将所有交易记录在区块链中,区块链是仅附加密码链式的区块序列。区块链由矿工在去中心化的网络中维护,并且矿工经由挖矿就区块链的当前状态达成一致。矿工解决了计算难题,以将新块附加到链中。因此,比特币使用难题和激励的新颖组合来创建可信赖的账本。
以太坊扩展了比特币的可编程性:用户可以在区块链上存储状态计算。然后,其可以通过提交交易来更改这样的计算的状态,该交易也被存储在同一区块链中。这样的模型使得能够在区块链上构建通用应用。
众所周知,企业不能直接将公共区块链用于SMC,因为其规模很小。作为示例,比特币的最大吞吐量趋于仅7交易/秒。存在用以解决公共区块链的吞吐量限制的提议。然而,区块链仍经由挖矿和激励得到保护,这可能导致意外的攻击。例如,理性的矿工有激励来跳过验证新区块中昂贵的交易。此外,公共区块链是昂贵的。例如,在以太坊上存储成本为$125,000/GB。这导致了区块链处于许可的设置,但是如上所述,这些系统面临着去中心化和信任之间的根本冲突,这由当前构思解决。
Volt可以采用使用BSP和/或凯撒共识的替代方法。例如,在一些实现中,BSP和凯撒共识可以利用BSP和区块链的密码属性来使得企业能够创建安全和高效的区块链网络。此外,BSP的模块化设计可以允许企业将存储和/或计算外包给BSP,而仅依赖于BSP的可用性和活跃性。
下面的讨论提供了volt构思的概述,其后是BSP和凯撒共识实现的细节。讨论以BSP的问责性属性结束。
在一些实现中,volt可以将许可的区块链作为目标,这将参与限制为业务/组织应用中所涉及的实体。继续看图1,BSP 102自然可以由云提供方(诸如亚马逊AWS和/或微软Azure)在任何不受信任的基础设施(包括云)上被提供作为服务。另一方面,成员节点108可以由volt区块链网络100中的参与实体拥有和操作。
成员节点108可以使用实现CCP的volt库110。例如,volt库110可以与BSP 102交互(即,以在112处提交交易和/或在114处得知volt区块链网络的当前状态)。(图1中的volt区块链网络100的二维图形表示不能容易地传达volt区块链网络中可能发生的所有相互关系。例如,成员节点108(3)与BSP 102之间的交易112和状态114通信未被示出,以减少附图页面上的混乱。)如上面所提到的,成员节点108还可以在106处实现凯撒共识协议,而不需要BSP 102超出其界面的任何协作。为了简单起见,实现可以基于仅成员节点108提交交易的假定。
当volt区块链网络100被初始化时,成员节点108共同定义管理该网络的规则。这包括当前的参与方列表、网络的初始状态以及用以认证和验证交易的规则。后两者在区块链状态机(BSM)中被编码(在下面关于图2被介绍),该BSM可以包括由volt区块链网络执行以处理交易的代码。以下讨论涉及区块链状态机、volt支持的编程模型以及初始化信息被记录的位置。
该解释依赖于若干假定。第一,BSP 102和成员节点108遵守标准密码硬度假定的假定。第二,所有成员节点108都知道数字签名方案中BSP的公钥,而区块链网络中的所有成员节点都知道其他成员节点的公钥。第三,BSP 102和成员节点108可以任意偏离其协议。特别是,其可以由同一全球敌对方控制(该方面将在下面被详细讨论)。
可以假定通过丢弃、重新排序和复制消息,volt区块链网络100可以是对抗性的。然而,可以假定volt区块链网络中的正确实体(即遵循其规定协议的那些实体)最终可以与其他正确实体进行通信。还假定volt区块链网络最终是同步的以保持活跃。
volt区块链网络的核心组成部分是来自去中心化加密货币的区块链数据结构。该数据结构可以被概括并且称为可验证外包账本(VOL)。
图2示出了示例性区块链VOL 202。每个volt区块链网络可以与个体VOL相关联。VOL 202是块204的仅附加链,其中每个块包括两个组件:元数据块206和以208指示的数据块B。
换言之,VOL 202是仅附加数据结构,类似于去中心化加密货币中的区块链(例如,每个块包含交易并且嵌入其前驱(例如,直接先前块)的密码哈希H。在volt中,VOL还充当用于传播区块链网络的元数据的机制(例如,VOL中的第一个块存储了管理其代表的区块链网络的规则)。VOL中的每个条目还伴随着使用BSP的私钥的签名的集合。
元数据块206可以是三元组:(id,prev,H),其中‘id’是由VOL 202表示的volt区块链网络的身份,‘prev’是前驱块的密码哈希(或如果不存在任何前驱(例如,创世块),则为null(空)),并且‘H’是对应数据块208的密码哈希,其包含交易列表。
一些实现可以采用简单的扩展,其中VOL 202中的每个条目都伴随有由BSP(图1中102)的私钥签名的数字签名的集合(称为收据或收据集210)(该方面将在下面被详细讨论)。此外,如在去中心化加密货币中一样,VOL 202中的条目可以由称为区块链状态机(BSM)212的程序管理。volt区块链网络的BSM 212被存储在与网络相关联的VOL 202中的第一块(称为创世块G)处。
从一个角度来看,VOL 202可以被视为仅附加数据结构,类似于去中心化加密货币中的区块链(例如,每个块都包含交易并且嵌入其前驱的密码哈希H)。在volt中,VOL还可以用作用于传播区块链网络的元数据的机制(例如,VOL中的第一个块存储用于管理其代表的区块链网络的规则)。VOL中的每个条目还伴随有使用BSP的私钥的签名的集合。
现在,讨论转向volt的编程模型来表示BSM 212的示例。volt支持类似于以太坊的智能合约的编程模型以用于表示区块链状态机212(在此表示为“Ψ”)。其中Ψ包括(Ψc,Ψs),其中Ψs是BSM的内部状态,而Ψc是通过处理状态机命令(即区块链交易)来更改Ψs的代码。Ψc预期是单线程的和确定性的。但是,其必须调用volt提供的密码库(以执行数字签名检查、哈希处理等),并且其可以访问简单的键值存储以保持其内部状态。
该讨论共同描述了相对于图1引入的各方面以及相对于图2引入的各方面,以提供示例BSP实现的细节。BSP(图1的102)可以使用VOL(图2的202)来表示volt区块链网络(例如,其在同一VOL上记录网络的初始状态以及由网络处理的所有交易)。BSP可以向成员节点公开以下三个操作:“设置”、“交易”和“同步”。
“设置”获取用于初始化新的volt区块链网络100的信息(例如,区块链状态机212、成员节点列表(例如,成员资格列表、区块链代码和/或初始状态等,其通常在214处示出))。其将新的创世块(例如,元数据块206(1)返回到调用成员节点(图1的108),其包含设置信息以及刚刚创建的volt区块链网络的身份。创世块(例如,元数据块206(1))由BSP(图1的102)签名,使得调用成员节点可以将其分发到其他成员节点(图1的108),并且其可以使用BSP的公钥来验证创世区块的真实性。
“交易”接受个体volt区块链网络的身份(图1中的100)和已签名的交易,该交易是使volt区块链网络的内部状态改变的命令。BSP(图1的102)使用与volt区块链网络相关联的区块链代码来验证交易,并且将其附加到与该volt区块链网络相关联的VOL 202。为了更高的吞吐量,BSP可以在单个块204中批处理可配置数目的交易。
“同步”接受volt区块链网络100的身份并且返回与该网络相关联的VOL 202。为了更好的性能,同步可以接受附加参数,该附加参数使得成员节点108能够指定其已经下载的VOL 202的各部分,使得BSP 102可以简单地将后续添加返回给VOL 202。上面的界面很容易利用有状态流程来实现。
该讨论涉及凯撒共识协议106的各方面。虽然BSP 102负责维护VOL 202,但是在至少一些实现中,所有诚实成员节点108必须具有VOL的一致视图,即,其必须全部以相同的顺序来看块204的同一集合。这样的特殊形式的一致可以被称为凯撒共识协议106。与传统共识不同,该凯撒共识协议不仅涉及“n”个成员节点,而且还涉及BSP,BSP大多是正确的且资源丰富的。这也不是一个普遍的共识,而是专用于就仅附加防篡改账本达成一致。凯撒共识协议106利用BSP 102来使得诚实成员能够达成一致,以及确保VOL 202的“提交”前缀被保留,即使BSP 102任意行为不当也是如此。
图3示出了BSP的账本104的示例的概示图。该示例使用T(mi,Bj)来表示来自成员节点mi(在图1中被指定为108)的针对块Bj(被示为类似于图2的块204的块B1至B5)的心跳交易。假定存在四个成员节点,并且其使用f=1的BFT。观察到2f+1个成员(即m1、m2、m3)已经针对块B3或B4发送了心跳交易,因此B3之前和包括B3的所有块已经被准备好。为了找到具有最高高度的提交块,成员运行相同的算法,并假定VOL在最高准备高度处结束。这样确保至少2f+1个成员在准备好的最高高度目击了该块。因此,一直到B1并且包括B1的所有块都被提交。
该描述首先描述了正常情况下的凯撒共识协议106,然后示出了如何配置凯撒共识协议以处理广泛的故障模型和一致性语义。特别地,凯撒共识协议106可以被配置,使得其可以被映射到标准拜占庭容错(BFT)协议(诸如PBFT)。
凯撒共识协议106的关键区别方面在于其利用VOL抽象,其中实际账本104被存储在BSP(图1中为102)上,并且被本地存储在每个成员节点上(图1中为108)(下面描述的一些实现放宽了该假定)。结果是,凯撒共识协议106的正常情况看似简单。其仅涉及特殊的心跳交易(m,g,h)σ,其中m是成员节点的身份(即,其公钥),g是成员节点所验证的VOL的高度,h是元数据块在高度g处的密码哈希,并且σ是使用m的数字签名。如果VOL是“格式正确的”,则位于当前高度的VOL(图2的202)被认为是有效的。在一些实现中,必须存在一系列块(图2中的204),其中第一块是创世块(例如,图2的204(1)),并且每个后续块在密码上指向前一个块。此外,根据相关联的区块链状态机(图2的212),每个块中包括的每个交易都是有效的。同样,针对VOL的块中所包括的每个心跳交易(m,g,h)σ,密码哈希h匹配高度g处链的哈希。
如图4所示,在一些凯撒共识实现中,成员节点(图1的108,并且在本讨论中被表示为“m”)(和/或其他组件)可以执行实现凯撒共识协议的方法400。该方法可以周期性地和/或不时地被实现。在402处,该方法可以调用BSP的同步API来学习VOL的最新添加(图2的202)、当前高度g以及高度g处的元数据块的密码哈希(h)。如前所述,在404处,该方法可以利用最新添加来检查VOL是否保持有效。如果VOL不再有效,则在406处认为BSP被破解,并且导致故障转移。如果VOL保持有效,则该方法可以在408处创建签名的心跳交易(m,g,h)σ。在410处,该方法可以使用交易API来将交易公布到BSP。在412处,根据策略,该方法可以通过处理VOL中包括的其他成员节点的心跳交易来计算VOL的提交前缀(即,提交高度g’)。接下来讨论该方面。
上面介绍的凯撒共识协议106的实现实质上使用了心跳交易作为通常在共识协议中交换的消息。这样做带来了若干潜在的好处。凯撒共识协议利用了现有的交易API和VOL,因此易于实现。可能更重要的是,因为所有心跳交易都被记录在VOL中,所以这些实现可以通过仅定义VOL的前缀被认为已提交的条件,来轻松地实例化不同类型的共识(在不同的失败假定下)。例如,成员节点可能信任其他成员节点处的安全执行环境,因此其可能对仅崩溃失败的假定满意,并且在其看到来自大多数成员的验证t的心跳交易后立即考虑提交交易t。
实际上,这些策略可以基于其相应的风险和性能概况,在每个成员和/或每个交易的基础上被配置。例如,针对低价值交易,成员节点可能愿意在其登录到VOL后立即考虑其已提交(使得其可以立即响应),但是这样带来风险:这样的交易可能消失在BSP被破解的(不太可能的)事件中。针对高价值交易,成员节点可能代替地要求每个其他成员节点验证交易,然后指定其经由心跳交易已经进行了验证,这可能增加延迟。然而,该额外的灵活性在实践中是有价值的,在一些区块链业务应用中甚至是至关重要的。
值得注意的是,标准实践(通常被用于诸如超级账本的许可区块链中)要求成员节点在将所提出的交易提交到账本之前在其上运行拜占庭容错(BFT)协议。这样的设计不能适应凯撒共识协议提供的灵活性类型,因为在这些方法中,该策略在BFT协议中是预先硬连接的。在账本之外执行BFT还增加了复杂性,其必须被信任。
BFT协议(诸如PBFT)最多容忍具有n=3f+1个副本的f个拜占庭故障。正常情况下的协议涉及主节点,该主节点在提交建议之前利用预备消息启动协议,然后进行两轮多播,一轮利用准备消息,另一轮利用提交消息。在继续之前,副本必须从至少2f+1个副本(包括其自身)接收消息。正确性取决于以下事实:在2f+1个副本的任意两个集合的交集处存在至少一个正确的副本。
如图4中所示,在一些情况下,凯撒共识可以被配置为具有n=3f+1个成员节点,以容忍最多f个拜占庭故障。然后心跳交易可以在有效的VOL上被映射到PBFT中的消息,如下所示。在高度为g的VOL上的块b等效于PBFT中的主节点,该主节点多播在高度为g的共识实例中的值b的预备消息。具有gm≥g的心跳交易(m,gm,h)σ用于准备来自成员节点m的高度为g的值b的准备消息的目的,因为其隐式地在VOL中回显该决策。
令gp为存在心跳交易(m,gm,h)σ的最低高度,这些心跳交易来自2f+1个成员节点,且gp≥gm≥g。此时,高度为g的块b被认为已准备好。具有gm≥gp的心跳交易(m,gm,h)σ用于来自成员节点m的高度为g的值b的提交消息的目的,因为其隐式回显了来自2f+1个成员节点的准备消息。令gc为存在心跳交易(m,gm,h)σ的最低高度,这些心跳交易来自2f+1个成员节点m,且gc≥gm≥gp。此时,高度为g的块b被视为已提交。
为简单起见,到BFT的映射可以从BFT中的单个共识实例的角度被呈现(例如,在该映射中,VOL上的每个高度都对应于BFT中的共识实例)。然而,每个心跳交易实际上可以同时参与许多共识实例,因为每个心跳交易都会验证线性扩展前缀。因此,如果VOL在高度g处已经准备(或提交)了块,则高度小于g的所有块都已经被准备(或提交)。因此,给定当前VOL处于某个高度,则存在最高准备(或提交)高度g,在任何高度g'≤g处的块被准备(或提交)。此高度被称为当前准备(或提交)点。
讨论现在研讨BSP(图1的102)的问责性作用。回想一下,BSP通常在云中被实例化,该云是资源丰富的并且在可靠性、可用性和安全性方面被强化。因此,当BSP是正确的时,凯撒共识协议有效执行。
BSP(图1的102)也是问责的,就像在一般问责性框架中一样。在一些情况下,由于VOL的结构,该任务比较简单。这也可以确保故障成员节点在BSP正确时无法构架BSP。问责性可以从安全性、公平性和活跃性的角度来考虑。
BSP(图1的102)可能违反安全保证,例如,通过在VOL(图2的202)中创建交叉,这通过将两个不同的块分配给相同的高度。(其还可以创建格式不正确的VOL,这很容易检测到)。由于没有成员节点(图1的108)不能伪造BSP的签名,因此由BSP签名的任何这样的交叉的存在都提供了足够的证据来归咎BSP。此外,应当注意,只要BSP是正确的,那么在volt中的成员节点就无法创建交叉。
除了安全违反之外,BSP(图1的102)还可以例如通过不公平地丢弃或延迟来自某些成员节点(图1的108)的交易,或通过防止交易被添加到VOL(图2的202)来违反公平性或活跃性。这样做还可以通过尝试在正确的成员节点(图1的108)之中维护交叉视图来帮助逃避安全违反检测。为了公平起见,无法使其交易被BSP所接受的成员节点可以将其交易广播给所有其他成员节点,然后所有其他成员节点可以将其交易背负于该成员节点的交易。因此,除非BSP放弃来自所有正确成员节点的交易(这将公平性违反转变为活跃性违反),否则对正确的成员节点的任何歧视最终将由正确的成员节点检测到。
没有附加的同步假定很难检测到活跃性违反。经历不合理的长时间延迟以使其交易被接受(即使在广播之后)的任何成员节点(图1的108)可以向其他成员节点提出签名的投诉。如果f+1个成员投诉,则BSP是恶意的,因为这些投诉中的至少一个投诉由正确的成员节点提出。
当BSP(图1的102)被认为利用通过密码可验证归咎被破解时,成员节点(图1的108)可以用新的BSP来替换BSP。然而,实际上,如果BSP被托管在信誉良好的云提供方上,这是很少见的事件。要切换到新的BSP,存在若干选项。新的BSP可以在区块链网络被建立时被预先确定,在需要时由可信权威机构引入,和/或在成员节点运行的共识协议中被选择。应当注意,当转移到新的BSP时,账本的提交状态应当被保留。
当成员节点(图1的108)使用上述BFT设置时,BFT的视图变化协议可以被采用。下面的描述说明了在这样的情况下如何适应视图变化。首先,将视图编号与每个BSP(图1的102)相关联,其被包括在每个心跳交易中。新的BSP将始终具有比其前驱较高的视图编号,并且在凯撒共识协议(图1的106)中,成员节点在收到具有较高的观看次数的视图变化消息后停止在较旧的视图中发送心跳交易(即,向旧的BSP发送)。
在视图变化期间,新的BSP(图1的102)通过从2f+1个成员节点收集本地状态(即VOL(图2的202)的副本)开始。由于先前的BSP可能已经被破解,来自成员节点的VOL可能不一致(其中一致性在下面被定义),因此新的BSP必须构造一致的VOL。
以下定义可以在一些实现中被采用。如果针对0≤i≤min(gc,gc'),c上的块i与c'上的块i相同,则两个VOL c和c'一致。在此,gc和gc'是c和c'的高度。
现在讨论构造一致的VOL(图2的202)。令gn为来自2f+1个成员节点的集合C(图1的108)的有效VOL的最高准备点。然后新的BSP(图1的102)选择直到高度gn的VOL,这可以被证明是正确的。首先,由BSP构造的VOL与收到的每个有效VOL一致,因为直到gn的每个块被准备,并因此经由心跳交易由2f+1个成员节点的集合C'所验证。因此,在相同高度上将不会存在两个冲突的块,因此两个块都被准备,因为在C和C'的交集中正确的成员节点经已经验证两个块。其次,先前网络中的每个提交的块将被包括在BSP构造的VOL中。这是因为根据定义,任何提交的块b都必须在2f+1个成员节点的C”集处被准备。此外,在C和C”的交集中存在至少一个正确的成员节点,因此块b必须在gn之前。
在备选实现中,BSP(图1的102)可以是模块化的并且是外包的。本节讨论云提供方可以如何构建BSP,使得使其大部分可信赖。该方法是将BSP的功能分解为模块化的、良好定义的组件/模块,每个组件/模块具有窄的职责和界面。这样的模块化设计使云提供方可以利用不同的机制分别为性能和安全性而加强BSP的每个组件。此外,本讨论还解释了该模块化体系结构如何使得网络的成员节点能够将存储和计算外包给BSP。
BSP的功能包括:块的存储,使用Ψc处理交易以构造新块以及将其链接以构造区块链。图5示出了提供状态转换服务“T”的状态转换服务模块502,提供可验证存储服务“S”的可验证存储模块504,提供链接服务“C”的链接服务模块506以及提供协调器服务“R”的协调器模块508。从一个角度看,模块502至506执行个体功能,并且协调器模块508将先前的模块绑定在一起。
现在,讨论转向可验证存储模块504。一些BSP实现的第一组件是依赖于大多数不受信任的存储系统中的公知底层的存储系统。这可以是数据项由其密码哈希来命名的存储系统。这实现了可验证性,即,这样的系统的客户端可以通过将数据名称与返回数据的密码哈希进行比较来本地检查其是否从系统中获取了正确的数据。可验证存储模块504存储VOL的数据块和元数据块两者。
此外,当成员节点在其中存储数据的二进制大对象时,可验证存储模块504提供存储收据。存储收据的目的是使得可验证存储库504诸如通过不受信任的信道向实体(可以信任可验证存储库504的可用性和活跃性)传达可验证存储库负责存储数据项。可验证存储模块504拥有数字签名方案的密钥对(PKs,SKs),并且其输出以下界面。
Deposit(Blob b):将b存储在S中,并且返回元组(h,σ),其中h=H(b)并且σ=Signature(SKs,b)。
Retrieve(Hash h):返回b使得h=H(b)。
现在,讨论涉及由链接服务模块506提供的链接服务“C”。链接服务C负责创建新的VOL并且维护在S中所存储的VOL块的线性历史。也许令人惊讶,链接服务C仅需要保持恒定数量的状态来完成这两项任务,从而使云提供方较容易正确地实现链接服务C。链接服务持有数字签名方案的密钥(PKc,SKc)。链接服务C公开以下操作:
Init:为区块链网络分配身份。
Chain:将在S处所存储的新块附加到先前初始化的VOL。
如果C不丢失状态图(参见下面的伪代码示例)和SKc,则其保持不分叉属性:针对C产生的每个元数据块m,存在最多一个元数据块m’,使得前驱(m’)=H(m),其中前驱返回元数据块三元组中的第二字段。指示为1至21的以下行表示链接服务C的伪代码示例。
1 def Init(Hash h,Receipt s):
2 if verifyReceipt(PK_s,h,s)==false:
3 return"Storage receipt check failed"
4 id=random()#random 128-bit number
5 if state[id]!=null:
6 return"Internal error;retry"
7
8 state[id]:=(id,h,null,s)
9 return(state[id],signature(SK_c,state[id]))
10
11 def Chain(Guid id,Hash h,Receipt s,Receipt r):
12 if state[id]==null:
13 return"Uninitialized VOL"
14
15 if verifyReceipt(PK_s,state[id],r)==false:
16 return"Storage receipt check failed"
17 if verifyReceipt(PK_s,h,s)==false:
18 return"Storage receipt check failed"
19
20 state[id]=(id,h,H(state[id]),s,r)
21 return(state[id],signature(SK_c,state[id]))
上面的伪代码为volt的连锁服务(C)内部提供了工作示例。在这种情况下,Init初始化新的VOL并且分配随机身份,C在状态图中记住该随机身份。Chain将新块附加到已初始化的VOL。应当注意,C依靠S的收据来确保其不会附加S尚未存储的块。当然,如果S的签名密钥被破解,那么C最终可以附加S尚未存储的块。
该讨论解决了状态转换服务T。状态转换服务负责执行区块链代码以处理交易。状态转换服务保存数字签名方案的密钥(PKt,SKt),并且公开以下API。
Init(Guid id,Blob b):接受VOL和包含区块链代码和初始状态的二进制大对象的身份,并且设置环境以处理交易。
CreateBlock(Guid id,list<Transaction>l):使用Ψc验证l中的每个交易,并且生成新块以及由SKt签名的计算收据。计算收据包含已接受交易的签名以及T处理的先前交易列表的哈希。
现在,讨论转向协调器服务“R”。协调器服务实现BSP的界面。协调器服务包括Web服务器,该Web服务器从成员节点接收HTTP请求,协调BSP的各个组件,并且响应成员节点。协调器服务与其他服务的不同之处在于其正确性不影响BSP的正确性。其仅能影响活跃性。
图5描绘了volt中的交易生命周期。在510(1)处,协调器服务(R)对交易进行批处理并且将其发送到状态转换服务(T)。在510(2)处,状态转换服务(T)利用块B响应协调器服务R。在510(3)处,协调器服务R利用收据将B存储在可验证存储模块504上(S),该可验证存储模块504发出存储收据。在510(4),协调器服务R将存储收据发送到链接服务(C)。
本部分提供了各种实现细节的设计原理。状态转换服务模块502的计算收据构造了分组为块的通过密码连接的交易序列。然而,状态转换服务模块502运行由成员节点(图1的108)提交的代码,因此该代码中的任何可利用的漏洞可能潜在地输出在VOL(图2的202)中创建分支的计算接收。当然,凯撒共识协议(图1的106)将检测到这样的安全违反。然而,从云操作方运行BSP的角度来看,为避免这样的安全违反可能是谨慎的做法。协调器模块508可以防止这样的违反,但是一些实现可以采用资源密度较低的解决方案,该解决方案可以确保BSP从不创建分支。这些实现可以采用链接服务。这些实现的一个重点是可以使用相对最小的组件,因此BSP可以利用小型可信计算基(TCB)来确保安全。
一些实现可以将BSP(图1的102)外包。BSP可以已经存储VOL的副本(图2的202)并且验证交易。这些实现可以允许成员节点(图1的108)安全地将其大部分计算和存储负担(用以参与volt区块链网络)外包给BSP。BSP的模块化设计使该外包是可行的。
关于存储,应当注意,可验证存储服务S的抽象使成员节点(图1的108)将存储外包,而无需信任S的安全属性。例如,如果其信任BSP(图1的102)的持久性和可用性,则其可以丢弃VOL(图2的202)中的所有数据块(图2的208)和元数据块(图2的206),其在凯撒共识期间(除了最新的元数据块以外)在验证来自S的存储收据之后被获得。该抽象还导致了灵活的复制策略,以减少对BSP的S的依赖。例如,每个成员节点都可以负责存储VOL的一部分:‘ith’块(例如当前块)在成员节点i%k、(i+1)%k和(i+2)%k处被复制,假定k个成员节点具有从0到k-1的身份。更一般地,当成员节点针对持久性和可用性所信任的各方向他们发送该Blob的存储收据时,成员节点可以从其本地存储中垃圾回收Blob。应当注意,只要每个VOL条目存在愿意供应对应blob的至少一个实体(甚至是恶意的),VOL就可以被重建。
关于涉及模块化BSP(图1的102)的计算,图5的状态转换服务T负责执行Ψc来处理交易。T执行区块链代码Ψc,使得成员节点在不重新执行Ψc的情况下验证T是否正确地执行Ψ。T的计算收据可以包括根据Ψ为有效的每个块的证明π。检查π很廉价,但是生成π的成本仍然昂贵:数十分钟的CPU时间。该方法适用于不希望对BSP作出超出密码硬度假定的任何假定,并且能够容忍这样的开销的应用。
Volt提倡基于现代处理器中的安全执行环境(即指定位址空间)将状态转换服务T实例化。尽管在指定位址空间上很强的假定下,但此硬件特征可以提供有效的VC。为了使用这样的T,volt区块链网络(图1的100)的成员节点(图1的108)利用指定位址空间执行远程证实,以确认正在运行其所批准的代码,并且获得PKt。然后,成员节点可以像以前一样参与凯撒共识协议(图1的106),但是现在其验证来自运行T的指定位址空间的计算接收,以避免在其一侧重新执行Ψ。最后,当Ψ被外包时,成员节点可能想要访问Ψ。存在两种选择。T可以服务于对Ψs的读取请求。备选地,每个VOL条目可以报告在处理块(图2中的204)中所包括的交易之后改变的键-值对的列表,因此成员可以获取那些块,构造其感兴趣的键-值对的本地高速缓存。
volt可以确保对成员节点(图1的108)的强保密性。从高层次来看,一个目标是确保仅授权实体可以检查volt区块链网络的状态,诸如交易、处理交易的内部状态等。
观察到BSP的大部分功能(诸如链接服务C和/或具有收据S的可验证存储)不需要观察交易。因此,volt使用语义上安全的加密方案来加密VOL(图2的202)中的所有条目,因此敏感状态对于包括BSP(图1的102)的任何人都不可见。然而,在此的中心问题是谁加密账本条目,谁管理用于加密的密钥以及在交易被加密时如何处理交易。
由于volt的状态转换服务T已经使用安全的执行环境用于可验证的计算,因此可以利用其来提高机密性。一些实现可以关注较简单的目标:对除volt区块链网络(图1的100)的成员节点(图1的108)之外的所有人(包括BSP)隐藏敏感状态。状态转换服务T获得由所有成员节点共享的密钥,其用于对从T块中流出的所有数据进行加密以被附加到VOL(图2的202)。由于区块链代码的内部状态位于受指定位址空间保护的内存中,因此其可以通过安全硬件被自动加密和完整性保护。
当前的机密性方法中的一个机密性方法自然地扩展为利用较复杂的密钥管理方案来实施通用机密性策略。例如,volt区块链网络(图1的100)可能要求即使个体成员节点(图1的108)也不能明文访问交易,除非其获得了法定人数的成员节点的许可,或每个交易可以有细粒度的访问策略。
除其他选项外,BSP(图1的102)的特定实现可以用C#和Python中的volt库来实现。在该示例实现中,BSP可以在Azure服务结构(或相似的竞争性云服务)上被构建,因为其简化了创建可靠的云服务。BSP的每个组件都可以被设计为微服务,因此结构运行时会注意隔离这些微服务,从故障中恢复以及跨计算机集群进行负载平衡。例如,实现具有收据的可验证存储(S)的微服务可以使用Azure DocumentDB。Azure DocumentDB是NoSQL键值存储库(类似于亚马逊DynamoDB),以可靠地保持其状态。而且,协调器微服务将BSP的界面作为REST API公开给成员节点(图1的108)。英特尔SGX的基准应用和T可以用C++等实现。IntelSGX的一种版本可以被采用,以防止某些侧通道攻击。最后,例如,该实现可以将SHA-256用于哈希函数,并且将RSA用于数字签名。
本设计中的一些设计关注如何初始化和更新单个VOL(图2的202)上。固有的瓶颈是应用的吞吐量受BSP每秒可以附加到单个VOL的条目数限制。该问题可以通过采用分区技术被缓解。特别是,在volt中的应用可以创建多个VOL,其中每个VOL负责应用状态的分片。因此,不更改应用状态的同一分片的两个交易可以被并行处理,而无需将其序列化。
因此,成员节点(图1的108)想要获得多个VOL(图2的202)的一致视图。在这些实现中,每个心跳交易现在都是条目的向量,每个VOL具有条目。但是,凯撒共识协议(图1的106)的其余部分可以像以前一样工作。而且,为简单起见,volt可以使用单独的VOL来存储volt区块链网络(图1中的100)的所有心跳交易。
一些volt的实现可以经由凯撒共识协议(图1的106)来实施线性化,其又可以依赖于相似于心跳和信标的机制。在现有设计中,这些消息被用于检测节点在其上调解历史的分叉并且实施新鲜度保证。然而,两个客户端可以同时具有彼此不一致的系统视图。而volt的成员节点(图1的108)仅在保证即使具有BSP故障转移其也能被保留的情况下,才将交易声明为已提交。因此,任何两个诚实成员节点将始终具有VOL(图2的202)的一致视图。其他实现可以为较小的TCB设计BSP(图1的102),其未由先前系统所涵盖。与当前的链接服务相似,现有系统探索小型可信原语以用于构建可信赖的分布式系统,但是其不像凯撒共识协议(图1的106)或可验证的外包中那样提出端到端检查。
如上所述,BSP(图1的102)可以在云中被实现和/或BSP可以以去中心化的方式被部署在成员节点(图1的108)的基础设施上。BSP仍然是不受信任的(通过设计),因此与诸如超级账本的系统相比,其减少了区块链系统中的可信代码量。此外,虽然凯撒共识协议的实例化(图1的106)被描述,其提供了假定拜占庭成员的保证,但是本方法概括为其他故障模型(例如,崩溃)和一致性语义(例如,最终一致性)。这是有可能的,因为volt将所有心跳记录在账本中。
本发明的构思使其适合于不断发展的模型。Volt中的成员节点仅依赖BSP的界面,因此BSP可以随时更改基础实现,而无需来自成员节点的任何批准。针对每个网络,volt可以假定静态成员资格列表和区块链状态机。Volt可以允许成员节点更新其,并且可以将其视为网络中达成一致的附加状态。成员节点可以使用相似于凯撒共识的协议就这样的状态更新达成共识,而不必显著改变BSP。
区块链系统中的关键问题是公平性,这要求恶意实体不应当能够审查某些用户的交易。未经许可的区块链使用激励和交易费用来实现(弱)公平性属性。由于volt提倡使用安全的指定位址空间用于T,因此BSP看不到明文交易,因此BSP很难区分某些交易。应当注意,这不是万能药。虽然交易数据和/或一些元数据可以被隐藏(经由指定位址空间或密码方法),但BSP始终可以基于经由与恶意成员节点合谋所推断出的任何元数据来过滤交易。
尽管volt可以采用由云提供方操作的BSP来用于性能,但这只是一个选择。实际上,BSP的界面公开了防篡改账本,其可以以去中心化的方式被验证(使用区块链网络成员所提交的代码)。此外,VOL本身可以移植到新的BSP或任何其他许可的区块链系统。
图6A至图6C分别示出了可以实现volt区块链构思的示例系统600A、600B和600C。出于说明的目的,系统600包括设备602(1)、602(2)、602(3)和602(4)。在该示例中,设备602(1)被示为智能手机设备,示例设备602(2)被示为笔记本计算机,示例设备602(3)被示为车辆,示例设备602(4)被示为作为服务器设备。出于说明的目的,设备602(1)至602(3)可以用作对等节点或成员节点108,并且设备602(4)是基于云的资源604。所示设备的数目和/或位置旨在是代表性的并且是非限制性的。设备602可以经由一个或多个网络(由闪电606表示)通信和/或可以通过网络访问互联网。在一些情况下,在附图标记之后使用括号来区分类似的元素。不具有相关联的括号的附图标记的使用对元素而言是通用的。
图6A至图6C示出了可以由设备602采用的两个设备配置608。个体设备602可以采用配置608(1)或608(2)中的任一个配置,或备选配置。(由于附图页面上的空间限制,示出了每种配置的一个实例,而不是示出了相对于每个设备602的设备配置)。简要地,设备配置608(1)代表以操作系统(OS)为中心的配置。配置608(2)表示片上系统(SOC)配置。配置608(1)被组织为一个或多个应用610、操作系统612和硬件614。配置608(2)被组织为共享资源616、专用资源618以及其间的界面620。
在任一配置608中,设备可以包括存储装置/存储器622、处理器624、电池(或其他电源)626,通信组件628和/或volt组件630。volt组件630可以包括BSP或BSP组件102和/或凯撒共识协议或(组件)106。BSP 102可以包括可验证存储模块、链接服务模块和/或状态转换服务模块(其中每一项将相对于图5被讨论和指定)。在一些配置中,设备602中的每个设备可以具有volt组件630的实例。然而,可以由个体volt组件执行的功能彼此可以相同或可以不同。例如,在一些情况下,诸如图6的系统600A,每个设备的volt组件630可以是鲁棒的并且提供上面和下面描述的所有功能(例如,以设备为中心的实现)。在其他情况下,一些设备可以采用volt组件的较不鲁棒的实例,该实例依赖于将被远程执行的一些功能(例如,依赖于远程(例如,云)处理的以应用为中心的实现)。图6B示出了以云为中心的系统600B。相比之下,图6C的系统600C可以是不依赖于基于云的资源的以成员节点为中心的实现。
本文所使用的术语“设备”、“计算机”或“计算设备”可以意指具有一定数量的处理能力和/或存储能力的任何类型的设备。处理能力可以由一个或多个处理器提供,该一个或多个处理器可以执行计算机可读指令形式的数据以提供功能。数据(诸如计算机可读指令和/或用户相关数据)可以被存储在存储装置(诸如可以位于设备内部或外部的存储装置)上。存储装置可以包括以下中的任何一项或多项:易失性或非易失性存储器、硬盘驱动器、闪存设备和/或光学存储设备(例如CD、DVD等)、远程存储装置(例如基于云的存储装置)等。如本文所使用的,术语“计算机可读介质”可以包括信号。相反,术语“计算机可读存储介质”不包括信号。计算机可读存储介质包括“计算机可读存储设备”。计算机可读存储设备的示例包括易失性存储介质(诸如,RAM)和/或非易失性存储介质(诸如,硬盘驱动器、光盘和闪存)等。
如上所述,配置608(2)可以被认为是片上系统(SOC)类型的设计。在这样的情况下,设备提供的功能可以被集成在单个SOC或多个耦合的SOC上。一个或多个处理器624可以被配置为与共享资源616(诸如存储器/存储装置622等)和/或一个或多个专用资源618(诸如被配置为执行某些特定功能的硬件块)进行协调。因此,本文所使用的术语“处理器”还可以是指中央处理单元(CPU)、图形处理单元(GPU)、控制器、微控制器、处理器核或其他类型的处理设备。
通常,本文描述的功能中的任何功能可以使用软件、固件、硬件(例如,固定逻辑电路)或这些实现的组合来实现。如本文所使用的术语“组件”通常表示软件、固件、硬件、整个设备或网络或其组合。例如,在软件实现的情况下,这些可以表示当在处理器(例如,一个或多个CPU)上被执行时执行指定任务的程序代码。程序代码可以被存储在一个或多个计算机可读存储设备中,诸如计算机可读存储介质。组件的特征和技术与平台无关,这意味着其可以在具有各种处理配置的各种商业计算平台上被实现。
设备602的示例可以包括传统的计算设备,诸如个人计算机、台式计算机、服务器、笔记本计算机、手机、智能电话、个人数字助理、平板型计算机、移动计算机、照相机、电器、智能设备、IoT设备、车辆等和/或众多不断发展或尚未开发类型的计算设备。
图7示出了与区块链技术有关的技术或方法700的流程图。
在框702处,该方法可以共享分布式账本的状态。
在框704处,该方法可以就分布式账本的共享状态的线性操作历史达成一致。
图8示出了与区块链技术有关的技术或方法800的另一流程图。
在框802处,该方法可以创建与区块链有关的仅附加防篡改账本,该区块链与区块链网络的多个成员节点相关联。
在框804处,该方法可以更新仅附加防篡改账本以反映在区块链上的操作。
在框806处,该方法可以将更新后的仅附加防篡改账本分发给多个成员节点。
图9示出了与区块链技术有关的技术或方法900的另一流程图。
在框902处,该方法可以接收与区块链相关联的分布式账本,该区块链与区块链网络的成员节点有关。
在框904处,该方法可以检测与分布式账本相关联的不当行为。
在框906处,该方法可以利用分布式账本的内容来与校正的分布式账本的成员节点中的至少一些成员节点达成共识。
在框908处,该方法可以使用添加的消息来将校正的分布式账本传播到至少一个其他成员节点,以建立校正的分布式账本。
所描述的方法可以由上面和/或下面描述的系统和/或元件和/或由其他设备和/或系统来执行。方法被描述的顺序不旨在被理解为限制,并且任何数目的描述动作可以以任何顺序被组合以实现该方法或备选方法。此外,该方法可以以任何合适的硬件、软件、固件或其组合来实现,使得设备可以实现该方法。在一种情况下,该方法作为指令的集合(例如,计算机可读指令或计算机可执行指令)被存储在一个或多个计算机可读存储介质上,使得计算设备的处理器的执行使计算设备执行该方法。
上面描述了各种示例。附加的示例如下所述。一个示例包括其上存储有指令的至少一个计算机可读存储介质,该指令当由计算设备执行该指令时,使计算设备执行动作,包括接收与区块链有关的仅附加防篡改账本,该区块链与包括多个成员节点的区块链网络相关联。所执行的动作还可以包括更新仅附加防篡改账本以反映在区块链上的操作,并且将经更新的仅附加防篡改账本分发给与区块链网络相关联的多个成员节点。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中接收包括从个体成员节点接收仅附加防篡改账本。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中接收包括从区块链服务提供方接收仅附加防篡改账本,该区块链服务提供方生成了仅附加防篡改账本。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中更新包括附加仅附加防篡改账本,以反映区块链的设置信息、区块链的交易信息以及指定已经被下载的区块链各部分的同步信息。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中更新包括将改变附加到仅附加防篡改账本。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中分发包括直接分发给成员节点或通过区块链服务提供方来分发。
另一示例可以包括一种系统,该系统包括处理器和区块链服务提供方组件,该区块链服务提供方组件由处理器执行并且被配置为:创建与区块链有关的仅附加防篡改账本,该区块链与区块链网络的多个成员节点相关联;更新仅附加防篡改账本以反映区块链上的操作;以及将经更新的仅限附加防篡改账本分发到多个成员节点。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中系统包括基于云的资源,或包括基于云的资源和多个节点,或包括多个节点。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中区块链包括可验证外包账本。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中可验证外包账本包括块的集合。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中块的集合中的每个块包含交易,并且嵌入块的集合中的直接先前块的密码哈希。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中可验证外包账本包括元数据块和数据块。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中元数据块中的第一元数据块存储了管理区块链网络的规则。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中反映个体操作的每个条目都伴随有签名的集合,该签名利用区块链服务提供方的私钥被加密。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中可验证外包账本包括仅附加数据结构。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中区块链包括存储元数据的块,该元数据包括管理区块链网络的规则。
另一示例可以包括上面和/或下面的示例中的任何示例,其中规则由区块链状态机管理。
另一示例可以包括一种系统,该系统包括存储计算机可执行指令的存储器,该计算机可执行指令用于接收与区块链相关联的分布式账本,该区块链与区块链网络的成员节点有关;检测与该分布式账本相关联的不当行为;利用该分布式账本的内容来与校正的分布式账本的成员节点中的至少一些成员节点达成共识,以及使用添加的消息来将校正的分布式账本传播给至少一个其他成员节点,以建立校正的分布式账本。该系统还可以包括执行计算机可执行指令的处理设备。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中接收包括接收由区块链服务提供方提供的分布式账本。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中检测包括检测区块链服务提供方的不当行为。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中利用内容包括利用分布式账本中的前缀来与成员节点中的至少一些成员节点达成共识。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中共识涉及关于包括区块链的块的集合的协议。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中共识基于传达个体成员节点的身份的分布式账本的交易,、区块链的验证高度、验证高度处的个体块的加密哈希以及个体成员节点的数字签名。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中系统在用户设备或基于云的资源上被实现。
另一示例可以包括上面和/或下面的示例中的任何一个示例,其中系统被实现为凯撒共识协议。
除其他方面之外,该描述涉及为企业应用设计许可的区块链的问题。通过利用防篡改账本的属性,现有资源有效许可的区块链中的基本部署冲突可以被解决。结果是许可区块链系统,该许可区块链系统包括去中心化的好处,同时利用了诸如云的不受信任的基础设施,其提供廉价的资源。
尽管已经用特定于结构特征和/或方法动作的语言描述了与区块链有关的主题内容,但当应理解,所附权利要求书中定义的主题内容不必限于上述特定特征或动作。相反,上述特定特征和动作被公开为实现权利要求的示例形式。
Claims (14)
1.一种系统,包括:
处理器,以及
区块链服务提供方组件,所述区块链服务提供方组件由所述处理器执行并且被配置为:创建与区块链有关的仅附加防篡改账本,所述区块链与区块链网络的多个成员节点相关联;更新所述仅附加防篡改账本以反映所述区块链上的操作;以及将经更新的所述仅限附加防篡改账本分发到所述多个成员节点。
2.根据权利要求1所述的系统,包括基于云的资源,或包括基于云的资源和多个节点,或包括所述多个节点。
3.根据权利要求1所述的系统,其中所述区块链包括可验证外包账本。
4.根据权利要求3所述的系统,其中所述可验证外包账本包括块的集合。
5.根据权利要求4所述的系统,其中所述块的集合中的每个块包含交易,并且嵌入所述块的集合中的直接先前块的密码哈希。
6.根据权利要求3所述的系统,其中所述可验证外包账本包括元数据块和数据块。
7.根据权利要求6所述的系统,其中所述元数据块中的第一元数据块存储管理所述区块链网络的规则。
8.根据权利要求6所述的系统,其中反映个体操作的每个条目伴随有签名的集合,所述签名的集合利用所述区块链服务提供方的私钥被加密。
9.根据权利要求3所述的系统,其中所述可验证外包账本包括仅附加数据结构。
10.根据权利要求1所述的系统,其中所述区块链包括存储元数据的块,所述元数据包括管理所述区块链网络的规则。
11.根据权利要求10所述的系统,其中所述规则由区块链状态机管理。
12.一种系统,包括:
存储装置,所述存储装置存储计算机可执行指令以用于:
接收与区块链相关联的分布式账本,所述区块链与区块链网络的成员节点有关;
检测与所述分布式账本相关联的不当行为;
利用所述分布式账本的内容来与校正的分布式账本的所述成员节点中的至少一些成员节点达成共识;
将所述校正的分布式账本传播给至少一个其他成员节点,以建立校正的分布式账本;以及
处理设备,所述处理设备执行所述计算机可执行指令。
13.根据权利要求12所述的系统,其中所述接收包括接收由区块链服务提供方提供的所述分布式账本。
14.根据权利要求13所述的系统,其中所述检测包括检测所述区块链服务提供方的不当行为。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762532933P | 2017-07-14 | 2017-07-14 | |
US62/532,933 | 2017-07-14 | ||
US15/727,522 US10984134B2 (en) | 2017-07-14 | 2017-10-06 | Blockchain system for leveraging member nodes to achieve consensus |
US15/727,522 | 2017-10-06 | ||
PCT/US2018/034804 WO2019013890A1 (en) | 2017-07-14 | 2018-05-29 | BLOCK CHAIN |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110915166A true CN110915166A (zh) | 2020-03-24 |
CN110915166B CN110915166B (zh) | 2023-05-02 |
Family
ID=64998970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880046765.5A Active CN110915166B (zh) | 2017-07-14 | 2018-05-29 | 区块链 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10984134B2 (zh) |
EP (1) | EP3652886B1 (zh) |
CN (1) | CN110915166B (zh) |
WO (1) | WO2019013890A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710374A (zh) * | 2022-03-14 | 2022-07-05 | 中国科学院软件研究所 | 一种数据广播与共识解耦的异步区块链共识方法和系统 |
CN117527832A (zh) * | 2024-01-03 | 2024-02-06 | 杭州趣链科技有限公司 | 一种区块链的交易排序方法、装置、电子设备和存储介质 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10521776B2 (en) * | 2002-10-01 | 2019-12-31 | Andrew H B Zhou | UN currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices |
US10521777B2 (en) * | 2002-10-01 | 2019-12-31 | World Award Foundation Inc, Ab Stable Group Llc, Mobile Pay, Inc | Crypto digital currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices |
US10817593B1 (en) | 2015-12-29 | 2020-10-27 | Wells Fargo Bank, N.A. | User information gathering and distribution system |
US9998286B1 (en) | 2017-02-17 | 2018-06-12 | Accenture Global Solutions Limited | Hardware blockchain consensus operating procedure enforcement |
US10291413B2 (en) * | 2017-02-17 | 2019-05-14 | Accenture Global Solutions Limited | Hardware blockchain corrective consensus operating procedure enforcement |
CN107368507B (zh) * | 2017-03-28 | 2020-03-27 | 创新先进技术有限公司 | 一种基于区块链的共识方法及装置 |
US10937009B1 (en) * | 2017-11-03 | 2021-03-02 | Virtustream Ip Holding Company Llc | Provisioning distributed ledger software |
US20190197130A1 (en) * | 2017-12-21 | 2019-06-27 | Microsoft Technology Licensing, Llc | Ensuring consistency in distributed incremental content publishing |
US10599835B2 (en) | 2018-02-06 | 2020-03-24 | Vmware, Inc. | 32-bit address space containment to secure processes from speculative rogue cache loads |
US10884876B2 (en) * | 2018-02-27 | 2021-01-05 | Veritas Technologies Llc | Systems and methods for performing a database backup for repairless restore |
US10713133B2 (en) * | 2018-06-11 | 2020-07-14 | Vmware, Inc. | Linear view-change BFT |
US10747629B2 (en) * | 2018-06-11 | 2020-08-18 | Vmware, Inc. | Linear view-change BFT with optimistic responsiveness |
US20210256016A1 (en) * | 2018-06-25 | 2021-08-19 | Commonwealth Scientific And Industrial Research Organisation | Blockchain system and method |
GB201810707D0 (en) * | 2018-06-29 | 2018-08-15 | Bedrock Capital Ltd | Gospel L |
EP3837660A4 (en) * | 2018-08-17 | 2022-03-30 | Telefonaktiebolaget LM ERICSSON (PUBL) | METHOD AND SYSTEM FOR PREDICTING VIOLATIONS OF INTELLIGENT CONTRACTS USING DYNAMIC STATE SPACE GENERATION |
US10929113B2 (en) * | 2018-10-30 | 2021-02-23 | International Business Machines Corporation | Transformation of inter-organization process for execution via blockchain |
US11474854B2 (en) * | 2018-10-30 | 2022-10-18 | International Business Machines Corporation | Transformation of inter-organization process for execution via blockchain |
PL3549324T3 (pl) | 2018-11-16 | 2021-07-19 | Advanced New Technologies Co., Ltd. | Schemat zarządzania nazwą domeny dla interakcji międzyłańcuchowych w systemach łańcuchów bloków |
BR112019008025B1 (pt) * | 2018-11-16 | 2022-03-15 | Advanced New Technologies Co., Ltd | Método implementado por computador, meio legível por computador e sistema para implementar um método |
US11762815B2 (en) * | 2018-11-23 | 2023-09-19 | Amazon Technologies, Inc. | Multi-framework managed blockchain service |
US11411921B2 (en) | 2018-11-23 | 2022-08-09 | Amazon Technologies, Inc. | Enabling access across private networks for a managed blockchain service |
JP7209518B2 (ja) * | 2018-12-03 | 2023-01-20 | 富士通株式会社 | 通信装置、通信方法、および通信プログラム |
KR102137784B1 (ko) * | 2018-12-24 | 2020-07-24 | 주식회사 지비시코리아 | 블록체인 기반 인수 합병 서비스 제공 시스템 및 이의 동작 방법 |
CN109792382B (zh) * | 2018-12-28 | 2022-07-12 | 创新先进技术有限公司 | 使用全局加速节点提高区块交易速度的方法、系统和存储介质 |
JP6892514B2 (ja) * | 2018-12-28 | 2021-06-23 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | トランザクションの再送信を使用してブロックチェーンネットワークにおけるトランザクション配信の加速化 |
WO2019072307A2 (en) | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | ACCELERATION OF TRANSACTION DELIVERIES IN BLOCK CHAIN NETWORKS USING ACCELERATION NODES |
US11283673B2 (en) * | 2019-01-07 | 2022-03-22 | International Business Machines Corporation | Blockchain endorsement verification |
US10938750B2 (en) * | 2019-03-18 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
CN110870288B (zh) * | 2019-03-18 | 2022-05-27 | 创新先进技术有限公司 | 共识系统停机时间恢复 |
EP3889780A1 (en) * | 2019-03-18 | 2021-10-06 | Advanced New Technologies Co., Ltd. | System and method for ending view change protocol |
KR102170347B1 (ko) * | 2019-03-18 | 2020-10-28 | 알리바바 그룹 홀딩 리미티드 | 뷰 변경 프로토콜을 종료하기 위한 시스템 및 방법 |
EP3580913B1 (en) | 2019-03-18 | 2021-01-20 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
CN111787034B (zh) * | 2019-04-03 | 2024-01-16 | 北京邦天信息技术有限公司 | 区块生成方法、同步方法、装置、区块链系统和存储介质 |
JP6856772B2 (ja) * | 2019-04-03 | 2021-04-14 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理 |
US11055277B2 (en) * | 2019-04-04 | 2021-07-06 | Advanced New Technologies Co., Ltd. | Integrity verification method, apparatus, and system and device for data in a blockchain-type ledger |
SG11201909948WA (en) * | 2019-04-08 | 2019-11-28 | Alibaba Group Holding Ltd | Product promotion using smart contracts in blockchain networks |
CA3060790C (en) | 2019-04-12 | 2021-06-08 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
SG11201910057QA (en) * | 2019-04-12 | 2019-11-28 | Alibaba Group Holding Ltd | Performing parallel execution of transactions in a distributed ledger system |
US11150978B2 (en) | 2019-04-26 | 2021-10-19 | Bank Of America Corporation | Automated system for intelligent error correction within an electronic blockchain ledger |
EP3701701A4 (en) * | 2019-06-05 | 2020-12-30 | Alibaba Group Holding Limited | CONSENSUS SYSTEM AND PROCESS |
CN110223068B (zh) * | 2019-06-14 | 2023-05-12 | 广东灏昌商业保理有限公司 | 一种基于区块链智能合约的电子证据存证方法 |
KR102229923B1 (ko) * | 2019-06-18 | 2021-03-22 | 한국과학기술원 | 네트워크 상에서 합의된 데이터를 전송하는 방법 및 네트워크 상에서 합의된 데이터를 전송하기 위한 전자기기 |
CN113435885A (zh) * | 2019-08-30 | 2021-09-24 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
US20210092127A1 (en) * | 2019-09-19 | 2021-03-25 | Microsoft Technology Licensing, Llc | Writing role-backed access control to chain |
US11516147B2 (en) | 2019-10-02 | 2022-11-29 | Red Hat, Inc. | Blockchain-based dynamic storage provisioner |
US11432149B1 (en) | 2019-10-10 | 2022-08-30 | Wells Fargo Bank, N.A. | Self-sovereign identification via digital credentials for selected identity attributes |
CN114902632A (zh) * | 2019-11-06 | 2022-08-12 | 维萨国际服务协会 | 基于区块链的容错 |
CN111131181B (zh) * | 2019-12-05 | 2022-02-08 | 重庆邮电大学 | 一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法 |
EP3769233B1 (en) | 2019-12-05 | 2023-05-03 | Alipay (Hangzhou) Information Technology Co., Ltd. | Performing map iterations in a blockchain-based system |
CN111295650B (zh) | 2019-12-05 | 2023-05-16 | 支付宝(杭州)信息技术有限公司 | 在基于区块链的系统中执行映射迭代 |
CN111522800B (zh) | 2020-07-03 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 蜜獾拜占庭容错共识机制的区块链共识方法、节点及系统 |
US11481268B2 (en) * | 2020-08-03 | 2022-10-25 | International Business Machines Corporation | Blockchain management of provisioning failures |
KR102574890B1 (ko) * | 2021-04-02 | 2023-09-06 | 주식회사 헤세그 | 장애 노드에 내성을 갖는 블록체인 시스템 및 그 동작 방법 |
US11943210B2 (en) * | 2021-04-16 | 2024-03-26 | Verizon Patent And Licensing Inc. | System and method for distributed, keyless electronic transactions with authentication |
US11522726B1 (en) | 2021-06-29 | 2022-12-06 | Fmr Llc | Systems and methods for reading, storing, and correcting historical records in distributed ledgers |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201605032D0 (en) * | 2016-03-24 | 2016-05-11 | Eitc Holdings Ltd | Recording multiple transactions on a peer-to-peer distributed ledger |
US20160261690A1 (en) * | 2015-03-02 | 2016-09-08 | Dell Products L.P. | Computing device configuration and management using a secure decentralized transaction ledger |
US20160259937A1 (en) * | 2015-03-02 | 2016-09-08 | Dell Products L.P. | Device reporting and protection systems and methods using a secure distributed transactional ledger |
GB201613176D0 (en) * | 2016-07-29 | 2016-09-14 | Eitc Holdings Ltd | Computer-implemented method and system |
US20160344550A1 (en) * | 2014-06-30 | 2016-11-24 | CloudMode, LLC | Authentication of a user and/or a device through parallel synchronous update of immutable hash histories |
US20170075941A1 (en) * | 2016-11-28 | 2017-03-16 | Keir Finlow-Bates | Consensus system and method for adding data to a blockchain |
CN106534273A (zh) * | 2016-10-31 | 2017-03-22 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
US20170140375A1 (en) * | 2015-11-15 | 2017-05-18 | Michael Kunstel | System and Method for Permissioned Distributed Block Chain |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023968B2 (en) | 2015-03-05 | 2021-06-01 | Goldman Sachs & Co. LLC | Systems and methods for updating a distributed ledger based on partial validations of transactions |
EP3362965A4 (en) * | 2015-10-13 | 2019-08-07 | Transactive Grid Inc. | USING A DISTRIBUTED CONSENSUS CONTROL BASED ON A BLOCK CHAIN |
US9992028B2 (en) | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
US9967088B2 (en) | 2016-05-23 | 2018-05-08 | Accenture Global Solutions Limited | Rewritable blockchain |
-
2017
- 2017-10-06 US US15/727,522 patent/US10984134B2/en active Active
-
2018
- 2018-05-29 CN CN201880046765.5A patent/CN110915166B/zh active Active
- 2018-05-29 EP EP18731320.0A patent/EP3652886B1/en active Active
- 2018-05-29 WO PCT/US2018/034804 patent/WO2019013890A1/en unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160344550A1 (en) * | 2014-06-30 | 2016-11-24 | CloudMode, LLC | Authentication of a user and/or a device through parallel synchronous update of immutable hash histories |
US20160261690A1 (en) * | 2015-03-02 | 2016-09-08 | Dell Products L.P. | Computing device configuration and management using a secure decentralized transaction ledger |
US20160259937A1 (en) * | 2015-03-02 | 2016-09-08 | Dell Products L.P. | Device reporting and protection systems and methods using a secure distributed transactional ledger |
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
US20170140375A1 (en) * | 2015-11-15 | 2017-05-18 | Michael Kunstel | System and Method for Permissioned Distributed Block Chain |
GB201605032D0 (en) * | 2016-03-24 | 2016-05-11 | Eitc Holdings Ltd | Recording multiple transactions on a peer-to-peer distributed ledger |
GB201613176D0 (en) * | 2016-07-29 | 2016-09-14 | Eitc Holdings Ltd | Computer-implemented method and system |
CN106534273A (zh) * | 2016-10-31 | 2017-03-22 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
US20170075941A1 (en) * | 2016-11-28 | 2017-03-16 | Keir Finlow-Bates | Consensus system and method for adding data to a blockchain |
Non-Patent Citations (4)
Title |
---|
HIROKI WATANABE: ""Blockchain contract: A complete consensus using blockchain"", 《2015 IEEE 4TH GLOBAL CONFERENCE ON CONSUMER ELECTRONICS (GCCE)》 * |
MARKO VUKOLIC: ""Rethinking Permissioned Blockchains"", 《BBC"17:PROCEEDINGS OF THE ACM WORKSHOP ON BLOCKCHAIN,CRYPTOCURRENCIES AND CONTRACTS》 * |
王继业等: "基于区块链的数据安全共享网络体系研究", 《计算机研究与发展》 * |
黎江等: "区块链、分布式账本技术解读", 《金融电子化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710374A (zh) * | 2022-03-14 | 2022-07-05 | 中国科学院软件研究所 | 一种数据广播与共识解耦的异步区块链共识方法和系统 |
CN117527832A (zh) * | 2024-01-03 | 2024-02-06 | 杭州趣链科技有限公司 | 一种区块链的交易排序方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10984134B2 (en) | 2021-04-20 |
CN110915166B (zh) | 2023-05-02 |
WO2019013890A1 (en) | 2019-01-17 |
EP3652886A1 (en) | 2020-05-20 |
US20190018984A1 (en) | 2019-01-17 |
EP3652886B1 (en) | 2023-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110915166B (zh) | 区块链 | |
CN111144881B (zh) | 对资产转移数据的选择性访问 | |
JP7454616B2 (ja) | 分散型元帳におけるdagベースのトランザクション処理方法およびシステム | |
JP7168759B2 (ja) | ハイパーレッジャファブリックブロックチェーンにおいてsqlベースのリッチクエリをサポートするためのシステムおよび方法 | |
CN110537182B (zh) | 为区块链云服务提供代表性状态转移代理服务的系统和方法 | |
US11704303B2 (en) | Method and system for processing transactions in a blockchain network | |
US11387979B2 (en) | Partially-ordered blockchain | |
Bozic et al. | Securing virtual machine orchestration with blockchains | |
CN112136291A (zh) | 区块链的高效验证 | |
JP7228322B2 (ja) | ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理 | |
CN112241919B (zh) | 具有数据流控制的多域区块链网络 | |
CN110674128B (zh) | 区块链的链上治理 | |
CN111414413A (zh) | 区块链背书验证 | |
Tate et al. | Multi-user dynamic proofs of data possession using trusted hardware | |
KR20220160100A (ko) | 크로스-네트워크 id 프러비저닝 | |
CN111698198B (zh) | 秘密生成和份额分发 | |
CN112116348A (zh) | 一种对节点资源的访问控制方法 | |
CN112036876A (zh) | 基于元数据的背书 | |
Tanwar | Distributed Consensus for Permissioned Blockchain | |
Pavithran et al. | Distributed databases and distributed operating systems for blockchain | |
EP4360032A1 (en) | Systems and methods for transaction validation in layer 2 | |
Neiheiser | Scalable and Resilient Byzantine Fault Tolerant Consensus | |
Li et al. | Blockchain-Based Decentralized Cloud Storage with Reliable Deduplication and Storage Balancing | |
CN115168872A (zh) | 基于去中心化信任的公有云下tee状态连续性保护方法 | |
Khan | Decentralizing trust: New security paradigms for cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |