CN110674128A - 区块链的链上治理 - Google Patents
区块链的链上治理 Download PDFInfo
- Publication number
- CN110674128A CN110674128A CN201910588291.3A CN201910588291A CN110674128A CN 110674128 A CN110674128 A CN 110674128A CN 201910588291 A CN201910588291 A CN 201910588291A CN 110674128 A CN110674128 A CN 110674128A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- policy
- data
- request
- governance
- 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
- 238000005067 remediation Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 107
- 230000003993 interaction Effects 0.000 claims abstract description 11
- 230000004048 modification Effects 0.000 claims description 84
- 238000012986 modification Methods 0.000 claims description 84
- 230000008859 change Effects 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 239000003999 initiator Substances 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 241000081511 Matthiola lunata Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本公开涉及区块链的链上治理。示例操作可以包括以下中的一个或多个:生成用于存储在分布式分类账上并且可以被区块链网络的多个计算节点访问的区块的散列链接的链的数据区块,在所述数据区块内存储治理策略,所述治理策略治理与区块的散列链接的链的交互,以及将其中具有编码的治理策略的所生成的数据区块传送到分布式分类账的多个对等节点。
Description
技术领域
本申请一般而言涉及区块链的治理策略,更具体而言,涉及其中用于控制与区块链的交互的治理策略被存储在链上的区块链。
背景技术
虽然主要用于金融交易,但区块链可以存储与商品和服务(即产品、包裹、状态等)有关的各种信息。分散式方案为分散式网络提供权限和信任,并使其节点能够连续且顺序地在公共“区块”上记录交易,从而创建称为区块链的唯一“链”。散列可以用于创建不可变的分类账,而无需中央中介。由于存储交易的区块的不可变的属性,存储在区块链上的记录(例如,交易)被保护免于篡改和修改。此外,因为区块链是分布式系统,所以在将交易的区块添加到区块链分类账之前,对等体需要达到共识状态。
许可的区块链具有不同的组织,其具有不同的利害关系(stake)和权限,所有组织共享对单个数据结构(区块链)的访问。取决于这些利害关系和权限,可以采用不同的治理模式。治理策略对区块链至关重要,因为它们形成用于创建、更新和放弃区块链的元素的机制。特别地,治理规则使区块链网络能够根据需要修复问题。此类修复可以解决欺诈和黑客攻击,并确保成员对系统满意。按照惯例,治理规则在社会上(链下)达成一致和被管理。但是,链下达成一致的治理规则是静态的,不是由管理员以外的成员强制执行的,并且它们不可修改。照此,所需要的是治理区块链的更好方式。
发明内容
一个示例实施例可以提供一种方法,该方法包括以下中的一个或多个:生成用于存储在分布式分类账上并且可以被区块链网络的多个计算节点访问的区块的散列链接的链的数据区块,在数据区块内存储治理策略,治理策略治理与区块的散列链接的链的交互,以及将其中具有编码的治理策略的所生成的数据区块传送到分布式分类账的多个对等节点。
另一个示例实施例可以提供一种系统,其包括存储器、处理器和网络接口中的一个或多个。所述处理器被配置为以下中的一个或多个:生成用于存储在分布式分类账上并且可以被区块链网络的多个计算节点访问的区块的散列链接的链的数据区块,在数据区块内存储治理策略,治理策略治理与区块的散列链接的链的交互。所述网络接口被配置为将其中具有编码的治理策略的所生成的数据区块传送到分布式分类账的多个对等节点。
另一个示例实施例可以提供包括指令的非瞬态计算机可读介质,所述指令在由处理器读取时使得处理器执行以下中的一个或多个:生成用于存储在分布式分类账上并且可以被区块链网络的多个计算节点访问的区块的散列链接的链的数据区块,在数据区块内存储治理策略,治理策略治理与区块的散列链接的链的交互,以及将其中具有编码的治理策略的所生成的数据区块传送到分布式分类账的多个对等节点。
附图说明
图1是图示根据示例实施例的用于在链上管理治理信息的区块链网络的图。
图2A是图示根据示例实施例的用于资产共享场景的对等节点区块链体系架构配置的图。
图2B是图示根据示例实施例的对等节点之间的交易流的图。
图2C是图示根据示例实施例的对等节点之间的治理策略修改流的图。
图3是图示根据示例实施例的许可的区块链网络的图。
图4A是图示根据示例实施例的在区块链内存储治理策略的处理的图。
图4B是图示根据示例实施例的包括治理策略信息的数据区块内容的图。
图4C是图示根据示例实施例的可以存储在区块链上的治理策略内容的图。
图4D是图示根据示例实施例的存储用于治理区块链的签名策略数据的递归数据结构的图。
图5A是图示根据示例实施例的链上编码和存储治理信息的方法的图。
图5B是图示根据示例实施例的用于核实区块链交易满足链上治理策略的方法的图。
图5C是图示根据示例实施例的修改被存储在链上的治理信息的方法的图。
图5D是图示根据示例实施例的从递归数据结构确定签名策略的方法的图。
图5E是图示根据示例实施例的用于生成区块链信任评级的方法的图。
图6A是图示根据示例实施例的被配置为根据本文描述的一个或多个操作对区块链执行各种操作的物理基础设施的图。
图6B是图示根据示例实施例的被配置为在区块链上强制执行智能合约条款的中介服务器和合约方之间的智能合约配置的图。
图7A是图示根据示例实施例的用于确定区块链的信任信息的系统的图。
图7B是图示根据示例实施例的输出用于区块链的信任指示符的用户界面的图。
图8是图示被配置为支持一个或多个示例实施例的示例计算机系统的图。
具体实施方式
容易理解的是,如本文各图中一般描述和图示的本组件可以以各种各样不同的配置来布置和设计。因此,如附图中所表示的方法、装置、非瞬态计算机可读介质和系统中的至少一个的实施例的以下详细描述并非旨在限制所要求保护的本申请的范围,而仅仅是代表所选择的实施例。
如贯穿本说明书描述的本特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,贯穿本说明书使用的短语“示例实施例”、“一些实施例”或其它类似语言是指结合该实施例描述的特定特征、结构或特性可以被包括在至少一个实施例中的事实。因此,贯穿本说明书出现的短语“示例实施例”、“在一些实施例中”、“在其它实施例中”或其它类似语言不一定都指代相同的一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
此外,虽然术语“消息”可能已经在实施例的描述中使用,但是该申请可以应用于许多类型的网络数据,诸如数据包、帧、数据报等。术语“消息”还包括数据包、帧、数据报及其任何等同物。此外,虽然在示例性实施例中可能描绘某些类型的消息和信令,但是它们不限于某种类型的消息,并且该申请不限于某种类型的信令。
区块链是一种分布式系统,其包括相互通信的多个节点。区块链操作被称为链码(chaincode)的程序(例如,智能合约等),持有状态和分类账数据,并执行交易。一些交易是对链码调用的操作。一般而言,区块链交易通常必须由某些区块链成员“背书(endorse)”,并且只有背书的交易可以被提交给区块链并对区块链的状态产生影响。其它未背书的交易将被忽视。可能存在用于管理功能和参数的一个或多个特殊链码,其被统称为系统链码。
节点是区块链系统的通信实体。“节点”可以在不同类型的多个节点可以在同一物理服务器上运行的意义上执行逻辑功能。节点在信任域中被分组并与以各种方式控制它们的逻辑实体相关联。节点可以包括不同类型,诸如客户端或向背书者(例如,对等体)提交交易调用的提交客户端节点,并且将交易提案广播到排序服务(例如,排序节点)。另一种类型的节点是对等节点,其可以接收客户端提交的交易、提交交易并维护区块链交易的分类账的状态和副本。对等体也可以具有背书者的角色,但是这不是必需的。排序节点是为所有节点运行通信服务的节点,并且其实现递送保证,诸如在提交交易和修改区块链的世界状态(其识别区块链的当前值,并且还可以包括控制和设置信息)时向系统中的每个对等节点进行广播。
分布式分类账是区块链的所有状态转换的有序、防篡改记录。状态转换可以由参与方(例如,客户端节点、排序节点、背书节点、对等节点等)提交的链码调用(例如,交易或其它请求等)产生。交易可以导致一组资产密钥值对被提交给分类账作为一个或多个操作数,诸如创建、更新、删除等。分类账包括用于在区块中存储不可变的、有序记录的区块链(也被称为散列链接的链)。分类账还包括状态数据库,该状态数据库维护存储在区块链上的记录的当前状态。每个通道通常有一个分布式分类账。每个对等节点为其作为成员的每个通道维护分布式分类账的副本。
链是交易日志,其被结构化为区块的散列链接的序列,并且每个区块可以包含N个交易的序列,其中N等于或大于1。区块头部包括区块的交易的散列,以及前一区块的头部的散列。以这种方式,对分类账的所有交易可以被排序并以密码的方式链接在一起。因此,不可能在不破坏散列链接的情况下篡改分类账数据。最近添加的区块链区块的散列表示链上在它之前已到来的每个交易,使得可以确保所有对等节点处于一致且可信的状态。链可以被存储在对等节点文件系统(即本地、附接的存储装置、云等)上,高效地支持区块链工作负载的仅附加(append-only)性质。
不可变的分类账的当前状态表示链交易日志中包含的密钥的最新值。因为当前状态表示通道已知的最新密钥值,因此它有时被称为世界状态。链码调用针对分布式分类账的当前状态数据执行交易。为了使这些链码交互高效,可以将密钥的最新值存储在状态数据库中。状态数据库可以是到链的交易日志的索引视图,其可以随时从链中重新生成。已经对等节点启动以及在接受被交易之前,可以自动恢复(或在需要时生成)状态数据库。
示例实施例提供方法、系统、非瞬态计算机可读介质、设备和/或网络,其提供链上区块链治理策略的管理。在一些实施例中,治理策略和策略数据在数据区块内被编码并被存储在由治理策略控制的区块链上。区块链(和治理策略)可以存储在跨多个区块链对等节点分布(即复制)的分布式分类账上。示例实施例还提供用于修改链上治理策略的机制。例如,区块链对等节点可以提议对治理策略的改变、识别需要背书该修改的一方或多方,以及征求来自一方或多方的签名。对治理策略的修改可以像传统的区块链交易一样存储在数据区块内。
本申请通过将用于链的治理规则编码到链本身(即数据区块内)来解决链下管理治理的缺点(诸如刚性和缺乏安全性),而先前的治理解决方案依赖于外部社交结构体。例如,可以基于来自区块链的成员节点的请求动态地修改或以其它方式调整治理策略。这种系统的一些好处包括能够在区块链处理的每个阶段核实治理策略被遵守,基于存储在链上的签名策略更新(添加、删除、修改)已建立的治理策略,管理对治理策略的改变的不可变的记录以及授权此类修改的各方等。而且,治理策略不再是线下一成不变的严格的规则集合,而是可以在成员认为合适使治理策略可配置的情况下被修改和调整。本申请还提供基于区块链数据确定区块链的信任量或信任级别,区块链数据包括在其中编码的区块链的治理策略。
区块链与传统数据库的不同之处在于区块链不是中央存储,而是分散式的、不可变的和安全的存储,其中节点必须共享对存储装置中的记录的改变。区块链中固有的并且有助于实现区块链的一些属性包括但不限于不可变的分类账、智能合约、安全性、隐私、分散化、共识、背书、可访问性等,这些将在本文中进一步描述。根据各方面,区块链治理的链上管理是由于区块链的不可变的属性、共识、背书、安全性以及区块链固有且唯一的分布式方面实现的。特别地,区块链可以从治理规则的初始集合开始,这些治理规则在区块链的创世区块内被编码为策略。可以通过收集链中来自不同利益相关者的背书来执行对治理策略的修改,直到足以满足策略的协定意味着来自在区块链网络上操作的不同方的共识。一旦被修改,区块链就对存储在链上的任何新区块应用治理改变。因为在链上跟踪对治理的改变,所以始终有可能识别哪些成员批准了治理动作或对治理的改变。
示例实施例提供了超过传统数据库的许多益处。例如,通过区块链,实施例提供对区块链的治理策略的链上管理和修改。同时,由于需要分散的协定,因此传统数据库不能用于实现示例实施例。在传统数据库中,控制实体可以在没有参与者的同意的情况下修改治理记录,并且无需其修改的记录。这种类型的单方面控制使单个实体能够确定如何治理数据库。相反,区块链使得能够在许可的区块链网络上的不同方(并且常常是不同的组织)之间进行分散的管理。因而,示例实施例提供了对区块链/信息系统技术领域的问题的具体方案。
示例实施例还改变数据可以如何存储在区块链的区块结构内。例如,治理策略信息和识别与治理策略相关联的签名策略的递归数据结构可以存储在区块链上的数据区块的数据段内。通过将治理信息和签名策略信息存储在区块链的数据区块内,可以通过区块的散列链接的链将治理信息和签名信息附加到不可变的分类账。在一些实施例中,数据区块可以存储在与传统区块结构内的其它交易相同的链上。例如,区块可以包含治理信息交易以及传统区块链交易。
图1图示了根据示例实施例的用于在链上管理治理信息的区块链网络100。参考图1,网络100包括区块链管理员110(例如,区块链运营商等)和多个对等节点120-124,它们经由网络130彼此连接。在这里,对等节点120-124中的每一个可以管理并存储在节点120-124之间共享的区块链。因为区块链分布在对等节点120-124上,所以对等节点120-124基于对等节点120-124之间的协定而不是依赖于中央权限来控制何时以及如何对存储在区块链上的数据进行改变。
根据各种实施例,当区块链被区块链管理员110初始化时,区块链管理员110可以编码诸如区块链的创世数据区块(区块0)之类的数据区块内的区块链的治理策略。治理策略的初始集合可以在社会上、链下达成一致,但可以通过数据区块被链上存储。区块链管理员110可以将治理策略和诸如签名策略之类的其它信息编码到创世区块中,并将创世区块分发给诸如对等节点120-124之类的其它参与者。
对等节点120-124可以回顾被编码到创世区块中的治理策略,并且或者加入链将它们的协定发信号给治理规则,或者决定不加入链。一旦加入,所有各方就根据区块链管理员110在创世区块的治理策略信息内规定的规则来处理交易,该交易包括更新治理策略的交易。当修改(或添加或删除其部分)治理策略的有效交易随后被提交到区块链时,区块链(和网络实体)在针对所有后续交易的更新的治理规则下操作,直到发生下一个修改。
在创世区块中编码的初始治理策略信息可以包括命名策略、策略数据、对控制治理策略的修改的签名策略的引用等。初始治理策略信息可以表示链的对等节点120-124之间的初始治理协定,其被形式化并且通过不可变的区块链分类账上的存储而变得不可变。当治理策略被变异或以其它方式修改(添加、删除等)时,经修改的策略可以存储在区块链中的新区块的数据部分中,从而在区块链内留下对治理策略的修改的不可变的记录。
图2A图示了根据示例实施例的区块链体系架构配置200。参考图2A,区块链体系架构200可以包括某些区块链元素,例如,一组区块链节点202。区块链节点202可以包括一个或多个节点204-210。(作为示例,仅描绘了4个节点)。这些节点参与许多活动,诸如区块链交易添加和验证处理(共识)。区块链节点204-210中的一个或多个可以背书交易并且可以为体系架构200中的所有区块链节点提供排序服务。区块链节点可以发起区块链认证并寻求写入存储在区块链层216中的区块链不可变的分类账,其副本也可以存储在基础物理基础设施214上。区块链配置可以包括一个或多个应用224,该一个或多个应用224链接到应用编程接口(API)222以访问和执行所存储的程序/应用代码220(例如,链码、智能合约等),其可以根据由参与者寻求的定制配置而被创建并且可以维护其自己的状态、控制其自己的资产以及接收外部信息。这可以被部署为交易,并经由附加到分布式分类账而被安装在所有区块链节点204-210上。
区块链基础或平台212可以包括区块链数据、服务(例如,密码信任服务、虚拟执行环境等)以及可以用于接收和存储新交易并且向正在寻求访问数据条目的审计者提供访问的基础物理计算机基础设施的各种层。区块链层216可以暴露接口,该接口提供对处理程序代码和占用物理基础设施214所必需的虚拟执行环境的访问。密码信任服务218可以用于核实诸如资产交换交易之类的交易并使信息保密。
图2A的区块链体系架构配置可以经由被区块链平台212暴露的一个或多个接口以及提供的服务来处理和执行程序/应用代码220。代码220可以控制区块链资产,并且可以根据(遵循)存储在区块链上的治理策略来操作。例如,代码220可以存储和传送数据,并且可以由节点204-210以智能合约和相关联的链码的形式执行,其中条件或其它代码元素经受其执行。作为非限制性示例,可以创建智能合约以执行提醒、更新和/或经受改变、更新等的其它通知。智能合约本身可以用于识别与授权和访问要求及分类账的使用相关联的规则。例如,交易信息226可以由区块链层216中包括的一个或多个处理实体(例如,虚拟机)处理。交易结果228可以包括对区块链的治理策略的修改。物理基础设施214可以用于检索本文描述的任何数据或信息。
在链码内,可以经由高级应用和编程语言创建智能合约,然后将其写入到区块链中的区块。智能合约可以包括用区块链(例如,区块链对等体的分布式网络)注册、存储和/或复制的可执行代码。智能合约是根据区块链内定义的治理规则创建和执行的。交易是智能合约代码的执行,智能合约代码可以响应于与智能合约相关联的条件被满足而执行。智能合约的执行可以触发对数字区块链分类账的状态的(一个或多个)可信的修改。由智能合约执行引起的对区块链分类账的(一个或多个)修改可以通过一个或多个共识协议在区块链对等体的整个分布式网络中被自动复制。
智能合约可以以密钥值对的格式将数据写入到区块链。此外,智能合约代码可以读取存储在区块链中的值并在应用操作中使用它们。智能合约代码可以将各种逻辑运算的输出写入到区块链中。代码可以用于在虚拟机或其它计算平台中创建临时数据结构。写入到区块链的数据可以是公共的和/或可以被加密并维护为私有。由智能合约使用/生成的临时数据由所供应的执行环境持有在存储器中,然后一旦区块链所需的数据被识别出,该临时数据就被删除。
链码可以包括具有额外特征的智能合约的代码解释。如本文所述,链码可以是部署在计算网络上的程序代码,其中它在共识处理期间由链验证者一起执行和验证。链码接收散列并从区块链中检索与通过使用先前存储的特征提取器创建的数据模板相关联的散列。如果散列标识符的散列和从所存储的标识符模板数据创建的散列匹配,则链码将授权密钥发送到所请求的服务。链码可以写入到与密码细节相关联的区块链数据。在图2A中,交易数据226可以包括治理策略数据。一个功能可以是生成对治理策略数据228的修改,其可以被提供给节点204-210中的一个或多个。
图2B图示了根据示例实施例的区块链的节点之间的交易流230的示例。图2B中执行的每个交易可以由(并遵守)存储在区块链的数据区块内的治理策略来管理。参考图2B,交易流可以包括由应用客户端节点240发送给背书对等节点231的交易提案241。背书对等体231可以核实客户端签名并执行发起交易的链码函数。输出可以包括链码结果、在链码(读取集合)中读取的密钥/值版本集合以及在链码(写入集合)中写入的密钥/值集合。如果被批准,则提案响应242连同背书签名一起被发送回客户端240。
客户端240将背书组装到交易有效载荷243中并将其广播到排序服务节点234。然后,排序服务节点234将排序后的交易作为区块递送到通道上的所有对等体231-233。在提交到区块链之前,每个对等体231-233可以验证交易并且还核实是否满足治理策略。例如,对等体231-233可以核查背书策略以确保指定对等体的正确分配已经针对交易有效载荷243签署了结果并且认证了签名。作为另一个示例,对等体可以确定交易是否满足存储在区块将被提交的链上的管理策略。
再次参考图2B,客户端节点240通过构造并向作为背书者的对等节点231发送请求来发起交易241。客户端240可以包括充分利用所支持的软件开发工具包(SDK)(诸如NODE、JAVA、PYTHON等)的应用,其利用可用的API来生成交易提案。提案是调用链码函数使得可以将数据读取和/或写入到分类账(即为资产写入新密钥值对)的请求。SDK可以用作填充程序(shim)以将交易提案打包成具有正确体系架构的格式(例如,通过远程过程调用(RPC)的协议缓冲区)并且取得客户端的密码凭证来为交易提案产生唯一签名。
作为响应,背书对等节点231可以核实(a)交易提案是良好形成的,(b)过去尚未提交过该交易(重放-攻击保护),(c)签名有效,以及(d)提交者(在该示例中为客户端240)被正确授权在该通道上执行所提议的操作。背书对等节点231可以将交易提案输入作为所调用的链码函数的参量。然后针对当前状态数据库执行链码以产生包括响应值、读取集合和写入集合的交易结果。但是,此时没有对分类账进行更新。在242中,将该值集合与背书对等节点231的签名一起作为提案响应242传递回客户端240的SDK,该SDK解析有效载荷以供应用来消费。
作为响应,客户端240的应用检查/核实背书对等体签名并比较提案响应以确定提案响应是否相同。如果链码仅查询分类账,则应用将检查查询响应并且通常不会将交易提交给排序节点服务234。如果客户端应用打算将交易提交给排序节点服务234以更新分类账,则应用在提交交易之前确定是否已经满足指定的背书策略(即是否交易所需的所有对等节点都背书该交易)。在这个示例中,客户端240可以仅包括交易的多方之一。在这种情况下,每个客户端可以拥有其自己的背书节点,并且每个背书节点都需要背书交易。该体系架构使得即使应用选择不检查响应或以其它方式转发未背书的交易,背书策略仍将由对等体强制执行并在提交验证阶段被保持。
在成功检查之后,在步骤243中,客户端240将背书组装到交易中,并在交易消息内将交易提案和响应广播到排序节点234。交易可以包含读取/写入集合、背书对等体签名和通道ID。排序节点234不需要为了执行其操作而检查交易的整个内容,而是排序节点234可以简单地从网络中的所有通道接收交易、按时间顺序按通道将它们排序,并创建每个通道的交易的区块。
交易的区块从排序节点234被递送到通道上的所有对等节点231-233。区块内的交易244被验证以确保满足任何背书策略并确保没有因为读取集合变量的对分类账状态的变化,因为读取集合是由交易执行生成的。区块中的交易被标记为有效或无效。此外,在步骤245中,每个对等节点231-233将区块附加到通道的链,并且对于每个有效交易,写入集合被提交给当前状态数据库。发出事件来向客户端应用通知交易(调用)已不可变地被附加到链,以及通知交易是有效还是无效。
图2C图示了根据示例实施例的对等节点之间的治理策略修改流250。参考图2C的示例,在261中,发起者节点251(例如,区块链对等节点)可以确定或以其它方式接收对改变治理策略的请求,该治理策略是为发起者节点251是其成员的区块链建立的。在通过将初始治理策略存储到区块链的创世区块而执行治理策略的初始引导之后,可以修改(即改变、添加、删除等)治理策略。希望修改治理策略的发起者节点251识别发起者节点251希望从存储在区块链上的先前存储的治理信息进行修改的治理配置的各方面。要修改的每个元素具有相关联的治理“修改策略”,其指示对修改那个元素所必须满足的协定的条件。
发起者节点251可以识别作为区块链的成员的节点(或节点的组合),其必须在区块链可以实现修改之前背书该修改。作为非限制性示例,当对治理策略的修改需要来自作为区块链的成员的对等节点的超过50%的协定时,则只要对等节点超过一半同意,对等节点的不同组合就可以满足修改策略。
可以从已经建立的存储在区块链上的治理策略中识别必要的签名者或签名者的组合。例如,治理策略可以存储在区块链上的区块中,并且每个治理策略可以包括对批准对治理策略的修改所需的主体或其它实体的引用。该主体可以表示一组节点/用户、特定用户等。该引用可以用于识别与主体对应并存储用于修改每个治理策略的签名信息(即签名策略)的递归数据结构内的节点。每个治理策略可以需要不同的签名者或签名者的不同组合。在一些实施例中,递归数据结构可以是分层的并且可以是递归的,因为置于在图中较高处(即更靠近根节点)的表示主体及其签名策略的节点需要比图中较低的节点更大量的协定。图4D中示出了递归数据结构的示例。
在图2C的示例中,发起者节点251确定签署节点252和签署节点253需要背书对治理策略的修改。在262中,发起者251从签署节点252和253征求对修改集合的协定(签名),这些协定需要满足修改策略。在263中,发起者节点从签署节点252和253接收所请求的签名,从而背书对治理策略的改变。在264中,一旦已经收集了满足修改策略的足够的签名集合,发起者251就将它们与提议的修改打包在一起,并将该交易提交给排序节点254。在265中,排序节点254可以在包含一个或多个其它交易(传统、修改等)的数据区块内存储该修改交易,并将新数据区块广播到区块链网络的对等节点。此外,在266中,接收包括对治理策略的修改的数据区块的对等节点核实该交易是有效的(根据治理策略包含足够的签名),如果是,那么提交它。经修改的治理配置在267中被应用于整个区块链网络。因而,将根据经修改的治理策略存储和管理区块链上的所有后续交易。
图3图示了许可的区块链网络300的示例,其具有分布式、分散的对等体系架构,以及管理用户角色和许可的证书机构318。在这个示例中,区块链用户302可以向许可的区块链网络310提交交易。在这个示例中,交易可以是部署、调用、查询等,并且可以通过客户端应用充分利用SDK、直接通过REST API等来发布。可信的商业网络可以提供对诸如审计者(例如,美国股票市场中的证券交易委员会)之类的监管者系统314的访问。同时,区块链网络运营商308可以管理成员许可,诸如将监管者系统314登记为“审计者”并且将区块链用户302登记为“客户端”。审计者可以仅限于查询分类账,而客户端可以被授权部署、调用和查询某些类型的链码。
区块链开发者系统316写入链码和客户端侧应用。区块链开发者系统316可以通过REST接口将链码直接部署到网络。为了在链码中包括来自传统数据源330的凭证,开发者系统316可以使用带外连接来访问数据。在这个示例中,区块链用户302通过对等节点312连接到网络。在继续任何交易之前,对等节点312从证书机构318检索用户的登记和交易证书。在一些情况下,区块链用户必须拥有这些数字证书来在许可的区块链网络310上交易。同时,尝试驱动链码的用户可能需要在传统数据源330上核实其凭证。为了确认用户的授权,链码可以通过传统的处理平台320使用对这个数据的带外连接。在一些实施例中,对等节点312还可以提交对区块链的治理策略的修改。该修改可以由控制对等节点312的实体或者由访问对等节点312的区块链用户提交。
根据各种实施例,许可的区块链网络的治理是确保基于区块链的网络成功的关键特征要求。区块链网络的参与者需要定义治理网络的规则并收集对网络的策略的协定的签名的能力。例如,区块链的参与者可能想要实现50%的成员必须投票以添加更多成员或删除成员的策略。作为另一个示例,60%的成员必须在背书策略的改变被批准之前达成一致。示例实施例提供了在区块链内清楚地表达治理策略并且在已经收集背书所需的签名之后强制执行策略的能力。
图4A图示了根据示例实施例的存储治理策略信息的新区块被添加到分布式分类账420的处理400,并且图4B图示了根据示例实施例的包括用于区块链的治理信息的用于区块链的区块结构430的内容。参考图4A,排序节点(未示出)可以提交对修改存储在分布式分类账420上的区块链422的先前建立的治理策略的请求。在这里,该修改请求可以由作为区块链422的成员的区块链对等节点410接收。初始治理策略信息可以存储在区块链422的创世区块423中。同时,对治理策略的修改(例如,添加、删除、变异等)可以作为交易存储在区块链422的后续区块424中。区块链对等节点410可以从创世区块423读取初始治理策略信息,并且还将经修改的治理策略信息作为交易提交给后续数据区块424。在这个示例中,数据区块424还可以包括同一区块内的传统区块链交易。
除了区块链422之外,区块链对等节点410还可以经由状态数据库426维护区块链网络和区块链422的资产的当前状态,状态数据库426存储在分布式分类账420上。应当认识到的是,区块链网络中可以存在不同类型的区块链节点/对等体,包括模拟和背书由客户端提议的交易的背书对等体,以及核实背书、验证交易和向分布式分类账420提交交易的提交对等体。在这个示例中,区块链对等节点410可以执行背书节点、提交节点或两者的角色。
分布式分类账420包括在区块中存储不可变的、有序的记录的区块链422,以及维持区块链422的当前状态的状态数据库426(当前世界状态)。每个通道可以存在一个分布式分类账420,并且每个对等体可以为它们是其成员的每个通道维护其自己的分布式分类账420的副本。区块链422是交易日志,被构造为散列链接的区块,其中每个区块包含N个交易的序列。区块可以包括各种组件,诸如图4B中所示。可以通过在当前区块的区块头部内添加先前区块的头部的散列来生成区块的链接(图4A中的箭头所示)。以这种方式,在不破坏散列链接的情况下,区块链422上的所有交易被排序并加密地链接在一起,从而防止篡改区块链数据。此外,由于链接,区块链422中的最新区块表示在其之前已到来的每个交易。区块链422可以存储在对等文件系统(本地或附接的存储装置)上,其支持仅附加的区块链工作负载。
区块链422和分布式分类账420的当前状态可以存储在状态数据库426中。在这里,当前状态数据表示区块链422的链交易日志中包括的所有密钥的最新值。在一些实施例中,状态数据库426还可以存储区块链422的治理策略的最当前列表以及签署/背书该治理策略的实体。链码调用针对状态数据库426中的当前状态执行交易。为了使这些链码交互极其高效,所有密钥的最新值都存储在状态数据库426中。状态数据库426可以包括到区块链422的交易日志中的索引视图,因此可以在任何时间从链重新生成。在交易被接受之前,一经对等体启动,状态数据库426就可以被自动恢复(或在需要时被生成)。
背书节点从客户端接收交易并基于模拟的结果来背书该交易。背书节点持有智能合约,该智能合约模拟交易提案并且是根据存储在链上的治理策略信息而设计和执行的。当背书节点背书交易时,背书节点创建交易背书,该交易背书是从背书节点到客户端应用的指示所模拟的交易的背书的签署的响应。背书交易的方法取决于可以在链码内指定的背书策略。背书策略的示例是“大多数背书对等体必须背书该交易。”不同通道可以具有不同的背书策略。背书的交易由客户端应用转发到排序服务(未示出)。
排序服务接受背书的交易,将它们排序到区块中,并将区块递送到提交对等体,诸如区块链对等节点410。例如,排序服务可以在已经达到交易阈值、定时器超时或其它条件时发起新区块。在一些实施例中,新区块可以包括对存储在链上的先前建立的治理策略的修改。在这个示例中,修改可以包括对在创世区块423处存储的初始治理策略的改变,其随后被记录在数据区块424处。
在一些实施例中,排序服务可以由排序者的集群组成。排序服务不处理交易、智能合约或维护所共享的分类账。而是排序服务可以接受背书的交易并指定那些交易被提交到分布式分类账420上的区块链422的次序。可以设计区块链网络的体系架构,使得“排序”的特定实现(例如,Solo、Kafka、BFT等)成为可插入组件。可以以一致的次序将交易写入区块链422。建立交易的次序以确保对状态数据库426的更新在它们被提交到网络时是有效的。与其中通过求解加密难题或挖掘来进行排序的加密货币区块链系统(例如,比特币等)不同,在这个示例中,分布式分类账420的各方可以选择最适合那个网络的排序机制。
当排序服务初始化新区块424时,可以将新区块424广播到提交对等体(例如,区块链对等节点410等)。作为响应,每个提交对等体通过核查以确保读取集合与写入集合仍然与状态数据库426中的当前世界状态匹配并且数据区块424满足存储在链上的治理策略,来验证新区块424内的交易。在一些示例中,提交对等体可以确定当背书者模拟交易时存在的读取数据是否与包括治理信息的状态数据库426中的当前世界状态完全相同。当区块链对等节点410验证新区块424中的交易时,交易信息被写入分布式分类账420上的区块链422,并且状态数据库426被用来自读取-写入集合的写入数据更新。如果交易失败,即如果区块链对等节点410发现读取-写入集合与状态数据库426中的当前世界状态不匹配,那么被排序到区块中的交易仍将被包括在那个区块中,但是将被标记为无效的,并且状态数据库426将不被更新。
参考图4B,存储在分布式分类账420的区块链422上的区块430(也称为数据区块)可以包括多个数据段,诸如区块头部431、区块数据432和区块元数据433。应当认识到的是,各种描绘的区块及其内容(诸如图4B中所示的区块430及其内容)仅仅是出于示例的目的,并不意味着限制示例实施例的范围。在一些情况下,区块头部431和区块元数据433两者可以小于存储交易数据的区块数据432,但是这不是必需的。区块430可以在区块数据432内存储N个交易(例如,100、500、1000、2000、3000个等)的交易信息。区块430还可以在区块头部431内包括到前一区块的链接(例如,在图4A中的区块链422上)。特别地,区块头部431可以包括前一区块的头部的散列。区块头部431还可以包括唯一区块号、当前区块430的区块数据432的散列等。区块430的区块号可以是唯一的,并且以从零开始的增量/顺序次序被指派。区块链中的第一区块可以称为创世区块423,其包括关于区块链、其成员、存储在其中的数据等的信息。
区块数据432可以存储区块430内记录的每个交易的交易信息。例如,交易数据可以包括交易类型、版本、时间戳、分布式分类账420的通道ID、交易ID、时期、有效载荷可见性、链码路径(部署tx)、链码名称、链码版本、输入(链码和函数)、客户端(创建者)身份(诸如公钥和证书)、客户端的签名、背书者的身份、背书者签名、提案散列、链码事件、响应状态、命名空间、读取集合(由交易读取的密钥和版本的列表等)、写入集合(密钥和值列表等)、开始密钥、结束密钥、密钥列表、Merkel树查询摘要等中的一个或多个。可以为N个交易中的每个存储交易数据。
在一些实施例中,区块数据432还可以存储治理策略信息440和识别用于改变治理策略信息440的签名策略信息的递归数据结构信息450,这将额外的信息添加到区块链422中的区块的散列链接的链中。因而,治理策略信息440和递归数据结构信息450可以存储在分布式分类账420上区块的不可变日志中。存储治理策略信息440和递归数据结构信息450的一些益处提供了区块链的治理策略的动态链上管理。因而,区块链的成员节点可以通过区块链422以安全和分布的方式动态地改变和调整治理策略。
区块元数据433可以存储元数据的多个字段(例如,作为字节数组等)。元数据字段可以包括区块创建时的签名、对上一个配置块的引用、识别区块内有效和无效交易的交易过滤器,对区块进行排序的排序服务的持续的上一偏移等。签名、上一个配置区块和排序者元数据可以由排序服务添加。同时,区块的提交者(诸如区块链对等节点410)可以基于背书策略、读取/写入集合的核实等来添加有效/无效信息。交易过滤器可以包括大小等于区块数据432中交易的数量的字节数组以及识别交易是否有效/无效的验证代码。
处理区块链的所有各方负责强制执行对在当前治理下被授权的治理模型的改变。对治理的改变作为交易被执行,因此不需要被检测。在交易处理期间,配置更新交易通知处理器这个交易修改了治理规则。然后,处理器构建由该更新提议的对治理的改变的集合,编译必须被满足以授权这种改变的策略集合,然后评估背书所提议的更新的签名集合满足那个集合中的每个策略。因为这种评估是确定性的,所以所有处理器将关于该治理更新是有效还是无效得出相同的结论,并分别应用或不应用新治理。
不遵守治理策略的对等体或节点将与网络的其余部分具有不一致的状态。因为其状态不一致,所以一般无法制作有效的交易或以其它方式有意义地参与区块链网络。像许多其它拜占庭容错系统一样,保证是所有诚实的节点都同意。
图4C图示了根据示例实施例的可以存储在区块链上的治理策略内容440的非限制性示例。参考图4C,治理策略信息可以治理节点、区块链、网络等之间的交互。在这里,每个治理策略可以包括策略名称442、策略值444和识别用于修改治理策略的签名策略的位置的引用446。引用446可以包括在递归数据结构450上存储用于修改治理策略的签名策略的地方的标识。策略名称442、值444和/或引用446的内容可以在被存储在区块链上之前被编码以防止未经授权的访问。
治理策略类型的示例包括但不限于用于向区块链添加新成员的策略、存储在区块链上的区块的区块大小、用于散列存储在区块链上的区块内容的区块散列算法、区块批量超时时段、Merkle树宽度、用于批准/背书要存储在区块链上的交易的共识类型、共识参数(例如,背书对等体的网络位置等)、区块链上的每一方的权限和/或角色、用于改变治理策略(即添加、删除策略)的策略等。应当认识到的是,已知或变得已知的所有类型的治理策略可以存储在区块链上,如本文所述,并且不受图4C中所示的示例的限制。
图4D图示了根据示例实施例的存储用于治理区块链的签名策略数据的递归数据结构450的非限制性示例。参考图4D,递归数据结构450可以包括分层图,其中节点451通过链接452被连接以识别由节点表示的主体实体(或身份)之间的关系。主体实体可以包括节点的子组、特定节点、整个通道、区块链内的某些角色(即读取者、写入者、排序者、背书者等)等。
具有当前治理配置的知识和对在区块链上交易的授权的任何实体可以提议治理上的改变。这个实体必须从具有由当前治理策略授予的权限以向所提议的更新贡献有效签名的那些方收集签名,或者带外、或者由区块链上的应用促进。可以从递归数据结构450获得签名信息。取决于所提议的改变,这些方可以选择同意(通过贡献签名)或不同意(通过拒绝签署)。
示例实施例定义了治理区块链网络的方式。该系统提供了一种机制来表述治理基于区块链的业务网络所需的治理策略。此外,该系统还提供了递归数据结构450,其存储了改变(变异)该治理策略所需的签名策略的信息。签名策略是由包含递归数据结构450定义的自包含规则。签名策略将身份列表定义为主体,其中主体可以定义文字身份(诸如证书)、角色(诸如成员或管理员)或组织单元。签名策略然后经由递归结构来定义满足这些主体的可允许的签名的组合。这种递归结构允许任意深度和复杂度的策略,支持“…中选N”运算符(“AND”和“OR”运算符的超集)。
在图4D的示例中,在数据结构450中较高处存储的更靠近根节点(通道)的签名策略可能需要比在数据结构450中较低处存储的并且更靠近叶子节点的签名策略更大的协定(例如,更高的百分比)。例如,子策略可能需要由数据结构450中的父策略所需的签名的子集,但是,实施例不限于此。因为父策略可能需要子策略所需的所有签名,所以父策略可以是关于子策略的递归。可以从存储在区块链上的治理策略信息内的参考元素来识别签名策略。因此,节点可以快速确定数据结构450中用于治理策略的签名策略存在的地方。
图5A图示了根据示例实施例的在链上编码和存储治理信息的方法510。例如,方法510可以由诸如区块链网络运营商之类的区块链节点或其它管理员来执行。参考图5A,在511中,该方法可以包括为存储在分布式分类账上并且可由区块链网络的多个计算节点访问的区块的散列链接的链生成数据区块。数据区块可以包括区块链的创世区块(即区块0)。在512中,该方法可以包括在生成的数据区块内存储治理策略。例如,治理策略可以关于在区块链上交易和存储数据来治理作为区块链成员的节点的交互。生成的数据区块可以包括头部结构、数据结构和元数据结构,并且治理策略可以在数据区块的数据结构内编码。编码可以将编码策略的字符转换成不同的字符/形式,以使能数据的隐私性和安全性。在生成的数据区块内被编码的每个治理策略可以包括策略名称、策略数据和对修改策略的引用,该修改策略治理对相应治理策略的修改。
在513中,该方法可以包括将生成的数据区块和其中存储的治理策略传送到分布式分类账的多个对等节点。例如,传送的数据区块可以是创世区块,其使对等节点能够接受治理策略并加入区块链。在加入区块链之后,对等节点必须遵守治理策略,否则它们将与区块链网络上的其余节点具有不一致的状态并且将无法制作和提交有效的交易。在一些实施例中,该方法还可以包括将生成的数据区块与编码的治理策略一起存储在分布式分类账上的区块链内。
作为非限制性示例,在生成的数据区块内被编码的治理策略可以针对区块的散列链接的链来治理区块大小、区块散列算法和区块批量超时中的一个或多个。在一些实施例中,在生成的数据区块内被编码的治理策略可以关于区块的散列链接的链来治理区块链网络的不同节点的权限。在一些实施例中,在生成的数据区块内被编码的治理策略可以针对区块的散列链接的链来治理共识模型的共识类型和参数中的一个或多个。作为另一个示例,在生成的数据区块内被编码的治理策略可以治理如何将新成员添加到能够访问区块的散列链接的链的成员列表中。
图5B图示了根据示例实施例的用于核实区块链交易满足链上治理策略的方法520。例如,方法520可以由区块链上的对等节点执行。参考图5B,在521中,该方法可以包括接收对将区块链交易提交到存储在分布式分类账上的区块的散列链接的链的请求(例如,区块链交易请求)。例如,该请求可以包括修改存储在区块链上的资产的交易。
在522中,该方法可以包括提取在分布式分类账上的区块的散列链接的链的数据区块内被编码的治理策略。例如,治理策略可以在区块链的创世区块内被编码。作为另一个示例,治理策略可以是对存储在创世区块中的治理策略的修改,并且存储在区块链的后续块中。最新版本的治理策略可以存储在分布式分类账的世界状态数据库中。在一些实施例中,该提取可以包括从数据区块的数据部分解码分布式分类账的被编码的治理策略。
在523中,该方法可以包括确定区块链请求是否满足存储在分布式分类账上的区块的散列链接的链的提取出的治理策略。例如,对等节点可以核实交易的区块大小、交易的各方、执行的共识等中的一个或多个满足存储在其中的区块链的治理策略。响应于区块链请求满足提取出的治理策略,在524中,该方法可以包括执行区块链请求并将执行的区块链请求存储在分布式分类账上数据区块的散列链接的链的另一个数据区块内。
在一些实施例中,该确定可以包括基于提取出的治理策略确定是否允许提交区块链请求的区块链节点执行区块链请求。在一些实施例中,该方法还可以包括接收用于区块链请求的共识被满足的指示,并且响应于共识被满足将区块链请求存储在分布式分类账上。在这个示例中,该确定还可以包括基于提取出的治理策略确定共识是否满足针对区块的散列链接的链的共识模型的共识类型和参数中的一个或多个。在一些实施例中,将执行的区块链请求的存储存储在具有基于提取出的治理策略的大小的数据区块中。作为另一个示例,执行的区块链请求的存储还包括基于从提取出的治理策略识别出的散列算法的执行的区块链请求的散列信息。
图5C图示了根据示例实施例的修改存储在链上的治理信息的方法530。例如,方法530可以由区块链网络内的并且可以访问存储区块链的分布式分类账的对等节点、与对等节点交互的排序节点、节点的组合等执行。在531中,该方法可以包括接收对实现对区块链的先前建立的治理策略的修改的请求。例如,该请求可以包括对关于针对区块链的先前建立的治理策略改变、添加和/或删除治理策略的请求。可以在本地经由对等节点上的输入、在外部从客户端用户等接收该请求。
每个治理策略可以具有满足区块链背书协议所需的签名要求。在532中,该方法可以包括基于包括一个或多个签名要求的区块链来识别对修改的一个或多个要求。签名要求可以链上存储在数据区块(例如,创世区块、后续区块等)、世界状态数据库等内,数据区块和世界状态数据库等存储在分布式分类账上。在一些实施例中,区块链节点可以征求满足修改要求所需的签名。在这里,在533中,该方法可以包括基于请求内包括的签名数据确定一个或多个识别出的要求是否被满足。例如,对等节点可以核实所需的签名被接收到。
作为响应,在534中,对等节点可以将签名信息和修改提交给排序节点以供批准。当排序节点接收到修改请求时,排序节点可以核实签名数据,将修改作为交易存储在数据区块中,并将数据区块广播到区块链的对等节点。当由区块链的对等节点接收到修改时,每个对等节点可以再次核实签名并将包括对治理策略的修改的区块提交给区块链。修改的存储可以导致修改被实现并且向前应用,使得任何未来的交易都必须遵守经修改的治理策略。
在一些实施例中,一个或多个要求可以包括在可以实现所请求的修改之前必须提供签名的一组区块链节点的标识。在一些实施例中,可以基于对存储在区块链的数据区块内的先前建立的治理策略的引用来识别一个或多个要求。在一些实施例中,该确定可以包括通过所请求的修改构建对先前建立的治理策略的改变集合,并且编译必须被满足以授权该改变集合的对应修改策略集合。改变可以作为数据包被发送到排序节点。
在一些实施例中,对先前建立的治理策略的修改可以包括区块链的区块大小的改变、区块散列算法的改变以及区块批量超时的改变中的一个或多个。在一些实施例中,对先前建立的治理策略的修改可以包括改变区块链对等体在区块链上交易以及从区块链读取区块数据中的一个或多个的能力。在一些实施例中,对先前建立的治理策略的修改可以包括删除先前建立的治理策略。在一些实施例中,对先前建立的治理策略的修改可以包括将新治理策略添加到先前建立的治理策略。
图5D图示了根据示例实施例的从图数据结构确定签名策略的方法540。例如,方法540可以由在区块链网络内且可以访问存储区块链的分布式分类账的对等节点、与对等节点交互的排序节点、节点的组合等执行。在541中,该方法可以包括接收对修改区块链的治理策略的请求。例如,可以经由本地输入、经由网络传送的客户端请求等来接收请求。在542中,该方法可以包括识别控制治理策略的主体身份。例如,节点可以基于链上存储在治理策略内的修改引用来确定哪些节点必须签署(背书)对治理策略的修改。修改引用可以指向图数据结构上存储对与区块链交互的一组主体身份(诸如对等节点用户、组、管理员、排序者、证书机构、通道等)的签名策略要求的位置。
在543中,该方法可以包括基于存储用于背书对治理策略的修改的签名策略的图数据结构来确定修改治理策略所需的主体身份的签名的可允许组合,并且在544中,响应于接收到签名的可允许组合而基于请求修改区块链的治理策略。在一些情况下,可允许的组合可以包括法定人数(组中可用节点的多于50%等)。作为另一个示例,可允许的组合可以包括必须签署的节点或一组节点。作为另一个示例,可允许的组合可以包括“M中选N”个节点,其中N小于或等于M。在一些实施例中,该方法还可以包括从存储在区块链上的区块的散列链接的链中的数据区块读取图数据结构。
根据各种实施例,图数据结构可以包括有向非循环图,其中区块链的该组主体身份被映射到以树结构布置的一组节点。在一些实施例中,树结构可以包括分层和递归结构,其中更靠近树结构的根的节点比远离树结构的根的节点需要更大的签名协定。例如,树结构中的父节点可以表示需要满足由子节点表示的签名策略的签名策略。在一些实施例中,主体身份可以包括证书、成员、管理员和组织单元中的一个或多个。在一些实施例中,对修改治理策略的请求可以包括对改变区块大小的请求、对改变区块散列算法的请求、对改变区块链的区块批量超时的请求、对改变如何添加新区块链成员的请求以及对改变区块链对等体在区块链上交易的能力的请求中的一个或多个。
图5E图示了根据示例实施例的用于生成区块链信任评级的方法550。例如,方法550可以由检查者等执行,检查者等可以访问多个不同区块链网络的区块链信息。在551中,该方法可以包括从用户设备接收对区块链信息的请求。该请求可以包括为了区块链信息,按钮经由用户界面被按下。在552中,该方法可以包括从多个区块链获取区块链数据,所述区块链正活动地操作并且可用于加入。例如,所获取的区块链数据可以包括相应区块链的节点的位置多样性、相应区块链的节点的证书身份信息、节点部署信息、链码部署信息以及相应区块链的成员节点的数量中的一个或多个。在一些实施例中,所获取的区块链数据可以包括在相应区块链的数据区块内被编码的治理策略信息。
在553中,该方法可以包括基于相应区块链的所获取的区块链数据来确定多个区块链中的每个区块链的信任量。在554中,该方法可以包括输出识别多个区块链的列表,其中列表上的每个区块链的标识包括指示相应区块链的确定的信任量的信任指示符。在一些实施例中,输出可以包括在列表上布置多个区块链,使得具有最大确定的信任量的区块链在列表上最高。作为示例,指示相应区块链的所确定的信任量的状态指示符可以包括在最低可能信任量与最高可能信任量之间的可滑动范围。在这里,该范围可以位于最高信任量和最低信任量之间的任何位置,从而提供信任评级的尺度范围。
在一些实施例中,输出还可以包括输出指示是否在相应的区块链上交易的建议。在一些实施例中,输出还可以包括输出在用户设备可以加入相应区块链之前必须执行的额外标准的通知。在一些实施例中,该方法还可以包括禁止访问具有低于预定阈值的确定的信任量的相应区块链。
图6A图示了根据示例实施例的被配置为根据一个或多个示例操作方法对区块链执行各种操作的示例物理基础设施。参考图6A,示例配置600A包括具有区块链620和智能合约640的物理基础设施610,其可以执行任何示例实施例中包括的任何操作步骤612。步骤/操作612可以包括在一个或多个流程图和/或逻辑图中描述或描绘的一个或多个步骤,诸如图5A-图5E的示例中所示。这些步骤可以表示写入驻留在计算机系统配置的物理基础设施610上的一个或多个智能合约640和/或区块链620或从其中读取的输出或写入信息(例如,治理策略信息、签名策略信息等)。可以从执行的智能合约640和/或区块链620输出数据。物理基础设施610可以包括一个或多个计算机、服务器、处理器、存储器和/或无线通信设备。
图6B图示了根据示例实施例的被配置为对区块链强制执行智能合约条款的中介服务器和合约方之间的示例智能合约配置。参考图6B,配置650可以表示通信会话、资产转移会话或由智能合约640驱动的处理或过程,智能合约640明确地识别一个或多个用户设备652和/或656。智能合约执行的执行、操作和结果可以由服务器654管理。智能合约640的内容可能需要由作为智能合约交易的各方的实体652和656中的一个或多个的数字签名。智能合约执行的结果可以作为区块链交易被写入到区块链。根据各种实施例,可以根据如本文所述的链上存储的治理策略来设计和执行智能合约640。
图7A图示了根据示例实施例的用于确定区块链的信任信息的检查者系统720,并且图7B图示了根据示例实施例的输出区块链的信任指示符的用户界面730。参考图7A和图7B,检查者720可以接收或以其它方式监视多个不同区块链701、702、703和704间的区块链活动。通过区块链701-704和操作区块链701-704的网络的多个不同性质,可以确定指示区块链的可信度的信任评级。此外,可以经由用户界面730显示信任量的信任指示符732,信任指示符提供指示区块链的可信度的可动态修改的可滑动范围。在一些实施例中,用户界面730还可以显示评级(例如,高、低、差、良好、平均等)并提供用于高效地加入区块链的按钮734。在一些实施例中,按钮736可以用于提供关于在区块链可以被加入之前要执行的标准的额外信息。作为另一个示例,可以禁用加入区块链的能力738。
区块链即服务用户界面(UI)使创始人能够容易地邀请多个参与者加入区块链。但是,网络的创始人或成员组可以规定网络成员上的某些条件。基于区块链的成员、条件、交易历史,信任量可以从区块链被识别并被输出到用户界面,以便为用户提供确定是否在区块链上交易、是否采取步骤与其它成员一起改进他们的区块链、是否制定为加入区块链要满足的适当指导方针或标准等的能力。在一些实施例中,可以经由用户界面730将信息输出给用户。
根据各种实施例,检查器720可以监视和接收来自区块链网络的数据,并基于区块链的一个或多个性质确定区块链信任评级强度得分,一个或多个性质诸如位置多样性711、治理规则712、成员对等部署713、组织身份714、链码部署的规则、区块链网络上成员的数量等。基于这个信息,检查者720可以决定哪些区块链网络是安全的以及哪些区块链是有风险的。此外,检查者720可以经由指示区块链的可信度的可滑动指示符732输出信任评级得分。信任信息可以使用户能够做出关于是否加入区块链的决定。而且,在一些情况下,检查者720可以提供额外标准736,这些标准可以描述改进在用户可以基于由检查者720做出的确定而加入区块链之前必须满足的网络信任评级得分和/或标准的方法。在一些实施例中,当区块链接收到低于预定阈值的信任评级得分时,检查者720甚至可以禁止对区块链的访问738。
可以经由滑块范围732来递送网络信任评级得分。检查者720可以依赖于丰富的标准集合来计算网络信任评级得分。作为非限制性示例,可以用于确定网络的信任评级的标准包括网络位置多样性711、强制执行的治理规则712、成员对等部署713、具有经证明的身份的组织714、链码部署的规则715、区块链网络中成员的数量716等。
区块链是共享的分布式分类账。当为许可的网络确定位置多样性711时,检查者720可以确保节点是真正分布的。例如,检查者720可以确保每个节点的高可用性在分离的数据中心上,并且节点基于网络成员的起点而全局分布。关于治理信息712,每个许可的区块链应当受到网络创始人和成员同意并签署的治理规则的指导。检查者720可以识别不同类别的治理规则强制执行以确定网络信任评级,例如,更严格的治理规则被赋予较高的网络信任得分,而松散的治理规则(例如,任何成员都可以添加或移除成员)得到较低的网络信任得分。
关于成员对等部署713,在区块链上部署对等体使得网络信任评级能够增加,因为它可以保证集成硬件安全模块(HSM)具有最高联邦信息处理标准(FIPS)合规性、被向下锁定的设备没有用于防篡改检测的特权访问和安全启动序列。关于组织身份714,成员可以加入网络并生成他们用于在网络上交易的证书。证书将成员的身份与加密密钥相关联。身份证明机构可以验证并证明参与成员的身份,从而确保对网络的更大信任。
关于链码部署715的规则,参与网络的成员还需要同意并签署链码部署的规则。在计算网络信任评级的同时考虑签署这些规则。此外,随着特定网络的成员数量的增加,对分布式分类账的信任也会增加。因而,检查者720可以在计算网络信任评级的同时考虑特定网络的成员716。基于这些因素,检查者720可以计算网络信任评级,其使得成员和创始人能够基于那个评级采取各种动作。可以调整所考虑的因素,并且随着区块链技术的发展,可以优化网络信任评级算法。此外,在一些情况下,可以基于所确定的网络信任评级来调整经由用户界面730对用户/企业可用的动作。
以上实施例可以用硬件、由处理器执行的计算机程序、固件或以上的组合来实现。计算机程序可以被实施在计算机可读介质(诸如存储介质)上。例如,计算机程序可以驻留在随机存取存储器(“RAM”)、闪存、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、寄存器、硬盘、可移动盘、光盘只读存储器(“CD-ROM”)或本领域已知的任何其它形式的存储介质中。
示例性存储介质可以耦合到处理器,使得处理器可以从存储介质读取信息和向存储介质写入信息。在替代方案中,存储介质可以是处理器的组成部分。处理器和存储介质可以驻留在专用集成电路(“ASIC”)中。在替代方案中,处理器和存储介质可以作为分立元件驻留。例如,图8图示了示例计算机系统体系架构800,其可以表示或集成在任何上述组件等中。
图8不旨在对本文描述的申请的实施例的使用范围或功能提出任何限制。总之,计算节点800能够被实现和/或执行上文阐述的任何功能。
在计算节点800中,存在计算机系统/服务器802,其可与许多其它通用或专用计算系统环境或配置一起操作。可能适于与计算机系统/服务器802一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机系统、服务器计算机系统、瘦客户端、厚客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型计算机系统、大型计算机系统以及包括上述系统或设备中的任何一种的分布式云计算环境等。
计算机系统/服务器802可以在由计算机系统执行的诸如程序模块的计算机系统可执行指令的一般语境下描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器802可以在其中任务由通过通信网络链接的远程处理设备执行的分布式云计算环境中实践。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图8所示,云计算节点800中的计算机系统/服务器802以通用计算设备的形式示出。计算机系统/服务器802的组件可以包括但不限于一个或多个处理器或处理单元804、系统存储器806以及将包括系统存储器806的各种系统组件耦合到处理器804的总线。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。计算机系统/服务器802典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器802访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
在一个实施例中,系统存储器806实现其它图的流程图。系统存储器806可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)810和/或高速缓存存储器812。计算机系统/服务器802还可以包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统814可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。虽然图中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线相连。存储器806可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块818的程序/实用工具816,可以存储在例如存储器806中,这样的程序模块818包括——但不限于——操作系统、一个或者多个应用、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块818通常执行本发明所描述的实施例中的功能和/或方法。
如所属领域的技术人员将认识到的,本申请的方面可以被实施为系统、方法或计算机程序产品。因而,本申请的各方面可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者组合软件和硬件方面的实施例的形式,这些实施例一般全都可以被称为“电路”、“模块”或“系统”。此外,本申请的各方面可以采取在一个或多个计算机可读介质中实施的计算机程序产品的形式,该一个或多个计算机可读介质具有在其上实施的计算机可读程序代码。
计算机系统/服务器802也可以与一个或多个外部设备820(例如键盘、指向设备、显示器822等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器802交互的设备通信,和/或与使得该计算机系统/服务器802能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口824进行。并且,计算机系统/服务器802还可以通过网络适配器826与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如互联网)通信。如图所示,网络适配器826通过总线与计算机系统/服务器12的其它模块通信。应当明白,虽然图中未示出,可以结合计算机系统/服务器802使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
虽然在附图中示出了和在前面的详细描述中描述了系统、方法和非瞬态计算机可读介质中的至少一个的示例性实施例,但是应该理解的是,本申请不限于在所公开的实施例,而是能够进行如下面权利要求所阐述和限定的许多重新布置、修改和替换。例如,各个图的系统的能力可以由本文描述的模块或组件中的一个或多个或在分布式体系架构中执行,并且可以包括发送器、接收器或两者的对。例如,由各个模块执行的功能的全部或部分可以由这些模块中的一个或多个执行。另外,本文描述的功能可以在不同时间并且与模块或组件内部或外部的各种事件相关地执行。而且,可以经由以下当中的至少一个在模块之间发送在各个模块之间发送的信息:数据网络、互联网、语音网络、互联网协议网络、无线设备、有线设备和/或经由多个协议。而且,可以直接和/或经由一个或多个其它模块发送或接收由任何模块发送或接收的消息。
本领域技术人员将认识到的是,“系统”可以被实施为个人计算机、服务器、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、智能电话或任何其它合适的计算设备或设备的组合。将上述功能呈现为由“系统”执行并不旨在以任何方式限制本申请的范围,而是旨在提供许多实施例的一个示例。实际上,本文公开的方法、系统和装置可以以与计算技术一致的本地化和分布式形式实现。
应当注意的是,本说明书中描述的一些系统特征已经作为模块呈现,以便更具体地强调它们的实现独立性。例如,模块可以被实现为包括定制的超大规模集成(VLSI)电路或门阵列的硬件电路,诸如逻辑芯片、晶体管或其它分立元件的现成半导体。模块还可以在可编程硬件设备中实现,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
模块还可以至少部分地以软件实现,以便由各种类型的处理器执行。识别出的可执行代码的单元可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或函数。但是,识别出的模块的可执行文件不需要物理地位于一起,而是可以包括存储在不同位置的不同指令,当逻辑上连接在一起时,这些指令包括模块并实现模块的所述目的。另外,模块可以存储在计算机可读介质上,该计算机可读介质可以是例如硬盘驱动器、闪存设备、随机存取存储器(RAM)、磁带或用于存储数据的任何其它此类介质。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可以分布在若干不同的代码段上、不同的程序当中以及跨若干存储器设备。类似地,操作数据可以在本文中在模块内被识别和示出,并且可以以任何合适的形式实施并且被组织在任何合适类型的数据结构内。操作数据可以作为单个数据集被收集,或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为系统或网络上的电子信号存在。
容易理解的是,如本文附图中一般描述和说明的,本申请的组件可以以各种不同的配置来布置和设计。因此,实施例的详细描述不旨在限制所要求保护的本申请的范围,而仅仅代表本申请的所选实施例。
本领域普通技术人员将容易理解的是,可以利用不同次序的步骤和/或利用与所公开的不同的配置中的硬件元件来实践上述内容。因此,虽然已经基于这些优选实施例描述了本申请,但是对于本领域技术人员来说明显的是,某些修改、变化和替代构造将是明显的。
虽然已经描述了本申请的优选实施例,但是应该理解的是,所描述的实施例仅是说明性的,并且当考虑具有等同物和修改(例如,协议、硬件设备、软件平台等)的全范围时,本申请的范围仅由所附权利要求限定。
Claims (86)
1.一种计算系统,包括:
存储装置;
处理器,被配置为生成用于存储在分布式分类账上并且可以被区块链网络的多个对等节点访问的区块的散列链接的链的数据区块,以及在所述数据区块内存储治理策略,所述治理策略治理与所述区块的散列链接的链的交互;以及
网络接口,被配置为将其中具有编码的治理策略的所生成的数据区块传送到所述分布式分类账的多个对等节点。
2.如权利要求1所述的计算系统,其中所述数据区块包括所述区块的散列链接的链的创世区块。
3.如权利要求1所述的计算系统,其中所生成的数据区块包括头部结构、数据结构和元数据结构,并且所述治理策略存储在所述数据区块的所述数据结构内。
4.如权利要求1所述的计算系统,其中所述处理器被配置为将所生成的数据区块与所存储的治理策略存储在所述分布式分类账上的所述区块的散列链接的链内。
5.如权利要求1所述的计算系统,其中存储在所生成的数据区块内的所述治理策略针对所述区块的散列链接的链来治理区块大小、区块散列算法和区块批量超时中的一个或多个。
6.如权利要求1所述的计算系统,其中存储在所生成的数据区块内的所述治理策略关于所述区块的散列链接的链来治理区块链网络的不同节点的权限。
7.如权利要求1所述的计算系统,其中存储在所生成的数据区块内的所述治理策略针对所述区块的散列链接的链来治理共识模型的共识类型和参数中的一个或多个。
8.如权利要求1所述的计算系统,其中存储在所生成的数据区块内的所述治理策略治理如何将新成员添加到被允许访问所述区块的散列链接的链的成员列表。
9.如权利要求1所述的计算系统,其中存储在所生成的数据区块内的每个治理策略包括策略名称、策略数据和对修改策略的引用,所述修改策略治理对相应治理策略的修改。
10.一种方法,包括:
生成用于存储在分布式分类账上并且可以被区块链网络的多个计算节点访问的区块的散列链接的链的数据区块;
在所述数据区块内存储治理策略,所述治理策略治理与所述区块的散列链接的链的交互;以及
将其中具有编码的治理策略的所生成的数据区块传送到所述分布式分类账的多个对等节点。
11.如权利要求10所述的方法,其中所述数据区块包括所述区块的散列链接的链的创世区块。
12.如权利要求10所述的方法,其中所生成的数据区块包括头部结构、数据结构和元数据结构,并且所述治理策略存储在所述数据区块的所述数据结构内。
13.如权利要求10所述的方法,还包括将所生成的数据区块与所存储的治理策略存储在所述分布式分类账上的所述区块的散列链接的链内。
14.如权利要求10所述的方法,其中存储在所生成的数据区块内的所述治理策略针对所述区块的散列链接的链来治理区块大小、区块散列算法和区块批量超时中的一个或多个。
15.如权利要求10所述的方法,其中存储在所生成的数据区块内的所述治理策略关于所述区块的散列链接的链来治理区块链网络的不同节点的权限。
16.如权利要求10所述的方法,其中存储在所生成的数据区块内的所述治理策略针对所述区块的散列链接的链来治理共识模型的共识类型和参数中的一个或多个。
17.如权利要求10所述的方法,其中存储在所生成的数据区块内的所述治理策略治理如何将新成员添加到能够访问所述区块的散列链接的链的成员列表。
18.如权利要求10所述的方法,其中存储在所生成的数据区块内的每个治理策略包括策略名称、策略数据和对修改策略的引用,所述修改策略治理对相应治理策略的修改。
19.一种计算系统,包括:
网络接口,被配置为接收对将区块链请求提交给存储在分布式分类账上的区块的散列链接的链的请求;以及
处理器,被配置为提取在所述分布式分类账上的所述区块的散列链接的链的数据区块内被编码的治理策略,确定所述区块链请求是否满足所述分布式分类账上的所述区块的散列链接的链的所提取出的治理策略,以及,响应于所提取出的治理策略的成功满足,执行所述区块链请求并将所执行的区块链请求存储在所述分布式分类账上的数据区块的所述散列链接的链的另一个数据区块内。
20.如权利要求19所述的计算系统,其中所述处理器从所述区块的散列链接的链的创世数据区块中提取所述被编码的治理策略。
21.如权利要求19所述的计算系统,其中所述处理器被配置为基于所提取出的治理策略来确定是否允许提交所述区块链请求的区块链节点来执行所述区块链请求。
22.如权利要求19所述的计算系统,其中所述处理器还被配置为:接收对所述区块链请求的成功共识的指示,以及,响应于成功共识,将所述区块链请求存储在所述分布式分类账上。
23.如权利要求22所述的计算系统,其中所述处理器还被配置为基于所提取出的治理策略来确定所述共识是否满足用于所述区块的散列链接的链的共识模型的共识类型和参数中的一个或多个。
24.如权利要求19所述的计算系统,其中所述处理器还被配置为从所述数据区块的数据部分解码所述分布式分类账的所述被编码的治理策略。
25.如权利要求19所述的计算系统,其中所执行的区块链请求存储在具有基于所提取出的治理策略的大小的数据区块中。
26.如权利要求19所述的计算系统,其中所述处理器还被配置为基于从所提取出的治理策略中识别出的散列算法来散列所执行的区块链请求的信息。
27.一种方法,包括:
接收对将区块链请求提交给存储在分布式分类账上的区块的散列链接的链的请求;
提取在所述分布式分类账上的所述区块的散列链接的链的数据区块内被编码的治理策略;
确定所述区块链请求是否满足所述分布式分类账上的所述区块的散列链接的链的所提取出的治理策略;以及
响应于所述区块链请求满足所提取出的治理策略,执行所述区块链请求并将所执行的区块链请求存储在所述分布式分类账上的数据区块的所述散列链接的链的另一个数据区块内。
28.如权利要求27所述的方法,其中所述提取包括从所述区块的散列链接的链的创世数据区块中提取所述被编码的治理策略。
29.如权利要求27所述的方法,其中所述确定包括基于所提取出的治理策略来确定是否允许提交所述区块链请求的区块链节点来执行所述区块链请求。
30.如权利要求27所述的方法,还包括:接收对所述区块链请求的共识被满足的指示,以及响应于所述共识被满足,将所述区块链请求存储在所述分布式分类账上。
31.如权利要求30所述的方法,其中所述确定还包括基于所提取出的治理策略来确定所述共识是否满足用于所述区块的散列链接的链的共识模型的共识类型和参数中的一个或多个。
32.如权利要求27所述的方法,其中所述提取包括从所述数据区块的数据部分解码所述分布式分类账的所述被编码的治理策略。
33.如权利要求27所述的方法,其中所执行的区块链请求的所述存储被存储在具有基于所提取出的治理策略的大小的数据区块中。
34.如权利要求27所述的方法,其中所执行的区块链请求的所述存储还包括基于从所提取出的治理策略中识别出的散列算法来散列所执行的区块链请求的信息。
35.一种计算系统,包括:
网络接口,被配置为接收对实现对区块链的先前建立的治理策略的修改的请求;以及
处理器,被配置为基于所述区块链识别对所述修改的一个或多个要求,基于所述请求内包括的签名数据确定一个或多个所识别出的要求是否被满足,以及,响应于所述一个或多个要求由所述签名数据满足,控制所述网络接口将所述修改传送到排序节点以包括在所述区块链的区块的散列链接的链的数据区块内。
36.如权利要求35所述的计算系统,其中所述一个或多个要求由所述处理器从所述区块链上的所述区块的散列链接的链的创世区块识别。
37.如权利要求35所述的计算系统,其中所述一个或多个要求包括在能够实现所请求的修改之前必须提供签名的一组区块链对等节点的标识。
38.如权利要求35所述的计算系统,其中所述一个或多个要求由所述处理器基于对存储在所述区块链的数据区块内的先前建立的治理策略的引用来识别。
39.如权利要求35所述的计算系统,其中所述处理器被配置为识别将由所请求的修改造成的对所述先前建立的治理策略的改变集合,并且打包必须被满足以授权所述改变集合的修改策略集合。
40.如权利要求35所述的计算系统,其中对所述先前建立的治理策略的所述修改包括所述区块链的区块大小的改变、区块散列算法的改变以及区块批量超时的改变中的一个或多个。
41.如权利要求35所述的计算系统,其中对所述先前建立的治理策略的所述修改包括区块链对等体在所述区块链上交易和从所述区块链读取区块数据中的一个或多个的能力的改变。
42.如权利要求35所述的计算系统,其中对所述先前建立的治理策略的所述修改包括删除先前建立的治理策略。
43.如权利要求35所述的计算系统,其中对所述先前建立的治理策略的所述修改包括向所述先前建立的治理策略添加新治理策略。
44.一种方法,包括:
接收对实现对区块链的先前建立的治理策略的修改的请求;
基于所述区块链识别对所述修改的一个或多个要求;
基于所述请求内包括的签名数据确定一个或多个所识别出的要求是否被满足;以及
响应于所述签名数据满足所述一个或多个要求,将所述修改传送到排序节点以包括在所述区块链的区块的散列链接的链的数据区块内。
45.如权利要求44所述的方法,其中所述一个或多个要求从所述区块链上的所述区块的散列链接的链的创世区块被识别。
46.如权利要求44所述的方法,其中所述一个或多个要求包括在能够实现所请求的修改之前必须提供签名的一组区块链对等节点的标识。
47.如权利要求44所述的方法,其中所述一个或多个要求基于对存储在所述区块链的数据区块内的先前建立的治理策略的引用被识别。
48.如权利要求44所述的方法,其中所述确定包括识别将由所请求的修改造成的对所述先前建立的治理策略的改变集合,并且打包必须被满足以授权所述改变集合的对应修改策略集合。
49.如权利要求44所述的方法,其中对所述先前建立的治理策略的所述修改包括所述区块链的区块大小的改变、区块散列算法的改变以及区块批量超时的改变中的一个或多个。
50.如权利要求44所述的方法,其中对所述先前建立的治理策略的所述修改包括区块链对等体在所述区块链上交易和从所述区块链读取区块数据中的一个或多个的能力的改变。
51.如权利要求44所述的方法,其中对所述先前建立的治理策略的所述修改包括删除先前建立的治理策略。
52.如权利要求44所述的方法,其中对所述先前建立的治理策略的所述修改包括向所述先前建立的治理策略添加新治理策略。
53.一种计算系统,包括:
网络接口,被配置为接收对修改区块链的治理策略的请求;以及
处理器,被配置为识别控制所述治理策略的主体身份,基于存储用于背书对治理策略的修改的签名策略的图数据结构来确定修改所述治理策略所需的所述主体身份的签名的可允许组合,以及响应于接收到签名的可允许组合而基于所述请求修改所述区块链的所述治理策略。
54.如权利要求53所述的计算系统,其中所述处理器还被配置为从存储在所述区块链上的区块的散列链接的链中的数据区块读取所述图数据结构。
55.如权利要求53所述的计算系统,其中所述图数据结构包括有向非循环图,其中所述区块链的该组主体身份被映射到以树结构布置的一组节点。
56.如权利要求55所述的计算系统,其中所述树结构包括分层和递归结构,其中更靠近所述树结构的根的节点比远离所述树结构的根的节点需要更大的签名协定。
57.如权利要求55所述的计算系统,其中所述树结构中的父节点表示需要满足由子节点表示的签名策略的签名策略。
58.如权利要求53所述的计算系统,其中所述主体身份包括证书、成员、管理员和组织单元中的一个或多个。
59.如权利要求53所述的计算系统,其中所述签名的可允许组合包括与所述主体身份相关联的法定人数的用户。
60.如权利要求53所述的计算系统,其中对修改所述治理策略的所述请求包括对改变区块大小的请求、对改变区块散列算法的请求、对改变所述区块链的区块批量超时的请求、对改变如何添加新区块链成员的请求以及对改变区块链对等体在所述区块链上交易的能力的请求中的一个或多个。
61.一种方法,包括:
接收对修改区块链的治理策略的请求;
识别控制所述治理策略的主体身份;
基于存储用于背书对治理策略的修改的签名策略的图数据结构来确定修改所述治理策略所需的所述主体身份的签名的可允许组合;以及
响应于接收到签名的可允许组合而基于所述请求修改所述区块链的所述治理策略。
62.如权利要求61所述的方法,还包括从存储在所述区块链上的区块的散列链接的链中的数据区块读取所述图数据结构。
63.如权利要求61所述的方法,其中所述图数据结构包括有向非循环图,其中所述区块链的该组主体身份被映射到以树结构布置的一组节点。
64.如权利要求63所述的方法,其中所述树结构包括分层和递归结构,其中更靠近所述树结构的根的节点比远离所述树结构的根的节点需要更大的签名协定。
65.如权利要求63所述的方法,其中所述树结构中的父节点表示需要满足由子节点表示的签名策略的签名策略。
66.如权利要求61所述的方法,其中所述主体身份包括证书、成员、管理员和组织单元中的一个或多个。
67.如权利要求61所述的方法,其中所述签名的可允许组合包括与所述主体身份相关联的法定人数的用户。
68.如权利要求61所述的方法,其中对修改所述治理策略的所述请求包括对改变区块大小的请求、对改变区块散列算法的请求、对改变所述区块链的区块批量超时的请求、对改变如何添加新区块链成员的请求以及对改变区块链对等体在所述区块链上交易的能力的请求中的一个或多个。
69.一种计算系统,包括:
网络接口,被配置为从用户设备接收对区块链信息的请求;以及
处理器,被配置为从处于活动操作且可用的多个区块链中获取区块链数据,基于相应区块链的所获取的区块链数据来确定所述多个区块链中的每个区块链的信任量,以及输出识别所述多个区块链的列表,其中所述列表上的每个区块链包括指示所述相应区块链的确定的信任量的信任指示符。
70.如权利要求69所述的计算系统,其中所述处理器被配置为在所述列表上布置所述多个区块链,使得具有最大确定的信任量的区块链在所述列表上最高。
71.如权利要求69所述的计算系统,其中所获取的区块链数据包括所述相应区块链的节点的位置多样性、所述相应区块链的节点的证书身份信息、节点部署信息、链码部署信息以及所述相应区块链的成员节点的数量中的一个或多个。
72.如权利要求69所述的计算系统,其中所获取的区块链数据包括在所述相应区块链的数据区块内被编码的治理策略信息。
73.如权利要求69所述的计算系统,其中指示相应区块链的所述确定的信任量的所述信任指示符包括在最低可能的信任量和最高可能的信任量之间的可滑动范围。
74.如权利要求69所述的计算系统,其中所述处理器被配置为基于所述区块链的确定的信任量来输出指示是否在相应区块链上交易的建议。
75.如权利要求69所述的计算系统,其中所述处理器被配置为输出在允许所述用户设备加入相应区块链之前必须执行的额外标准的通知。
76.如权利要求69所述的计算系统,其中所述处理器还被配置为禁止访问具有低于预定阈值的确定的信任量的相应区块链。
77.一种方法,包括:
从用户设备接收对区块链信息的请求;
从正活动地操作且可用于加入的多个区块链中获取区块链数据;
基于相应区块链的所获取的区块链数据来确定所述多个区块链中的每个区块链的信任量;以及
输出识别所述多个区块链的列表,其中所述列表上的每个区块链包括指示所述相应区块链的确定的信任量的信任指示符。
78.如权利要求77所述的方法,其中所述输出包括在所述列表上布置所述多个区块链,使得具有最大确定的信任量的区块链在所述列表上最高。
79.如权利要求77所述的方法,其中所获取的区块链数据包括所述相应区块链的节点的位置多样性、所述相应区块链的节点的证书身份信息、节点部署信息、链码部署信息以及所述相应区块链的成员节点的数量中的一个或多个。
80.如权利要求77所述的方法,其中所获取的区块链数据包括在所述相应区块链的数据区块内被编码的治理策略信息。
81.如权利要求77所述的方法,其中指示相应区块链的所述确定的信任量的所述信任指示符包括在最低可能的信任量和最高可能的信任量之间的可滑动范围。
82.如权利要求77所述的方法,其中所述输出还包括基于所述区块链的确定的信任量来输出指示是否在相应区块链上交易的建议。
83.如权利要求77所述的方法,其中所述输出还包括输出在允许所述用户设备加入相应区块链之前必须执行的额外标准的通知。
84.如权利要求77所述的方法,还包括禁止访问具有低于预定阈值的确定的信任量的相应区块链。
85.一种包括指令的非瞬态计算机可读介质,所述指令在由处理器读取时使所述处理器执行如权利要求10-18中任一项所述的方法。
86.一种计算机系统,所述系统包括分别用于执行如权利要求10-18、27-34、44-52、61-68、77-84中任一项所述的方法的步骤的模块。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/025,342 | 2018-07-02 | ||
US16/025,489 | 2018-07-02 | ||
US16/025,422 | 2018-07-02 | ||
US16/025,342 US11165826B2 (en) | 2018-07-02 | 2018-07-02 | On-chain governance of blockchain |
US16/025,535 | 2018-07-02 | ||
US16/025,535 US11095433B2 (en) | 2018-07-02 | 2018-07-02 | On-chain governance of blockchain |
US16/025,578 US11924323B2 (en) | 2018-07-02 | 2018-07-02 | On-chain governance of blockchain |
US16/025,489 US10756884B2 (en) | 2018-07-02 | 2018-07-02 | On-chain governance of blockchain |
US16/025,578 | 2018-07-02 | ||
US16/025,422 US11108544B2 (en) | 2018-07-02 | 2018-07-02 | On-chain governance of blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674128A true CN110674128A (zh) | 2020-01-10 |
CN110674128B CN110674128B (zh) | 2023-12-15 |
Family
ID=69068580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910588291.3A Active CN110674128B (zh) | 2018-07-02 | 2019-07-02 | 区块链的链上治理 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674128B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111275417A (zh) * | 2020-01-16 | 2020-06-12 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
CN111370087A (zh) * | 2020-03-04 | 2020-07-03 | 田素芳 | 一种基于区块链的居民健康档案管理系统 |
CN111459672A (zh) * | 2020-03-30 | 2020-07-28 | 百度国际科技(深圳)有限公司 | 基于区块链网络的事务处理方法、装置、设备及介质 |
CN111884808A (zh) * | 2020-07-20 | 2020-11-03 | 杭州溪塔科技有限公司 | 一种防止交易跨链重放的方法、装置及电子设备 |
WO2020143853A3 (en) * | 2020-04-20 | 2021-02-18 | Alipay (Hangzhou) Information Technology Co., Ltd. | Distributed blockchain data storage under account model |
CN112804260A (zh) * | 2021-03-17 | 2021-05-14 | 中国工商银行股份有限公司 | 基于区块链的信息传递方法和节点 |
US11526488B2 (en) | 2020-04-15 | 2022-12-13 | Alipay (Hangzhou) Information Technology Co., Ltd. | Distributed blockchain data storage under account model |
CN111881472B (zh) * | 2020-07-22 | 2024-04-26 | 云账户技术(天津)有限公司 | 一种数据访问控制方法、系统及权限管理系统、介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100041A1 (en) * | 2008-04-25 | 2009-04-16 | Wilson Kelce S | Public Electronic Document Dating List |
US20100306269A1 (en) * | 2009-05-26 | 2010-12-02 | Roger Frederick Osmond | Method and apparatus for large scale data storage |
US20150169595A1 (en) * | 2013-12-16 | 2015-06-18 | MetaGovernance Inc. | Information governance platform |
US20150188945A1 (en) * | 2013-12-30 | 2015-07-02 | Alexander Kjeldaas | Method and System for Providing Transparent Trusted Computing |
WO2017036546A1 (en) * | 2015-09-04 | 2017-03-09 | Nec Europe Ltd. | Method for storing an object on a plurality of storage nodes |
CN106603198A (zh) * | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
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 |
CN107451874A (zh) * | 2017-07-27 | 2017-12-08 | 武汉天喻信息产业股份有限公司 | 基于区块链的电子发票综合处理方法及系统 |
CN107453896A (zh) * | 2017-06-27 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 多重区块链网络数据处理方法、装置及服务器 |
CN107615317A (zh) * | 2015-03-31 | 2018-01-19 | 纳斯达克公司 | 区块链交易记录的系统和方法 |
US20180039667A1 (en) * | 2016-08-05 | 2018-02-08 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
CN107851246A (zh) * | 2015-05-21 | 2018-03-27 | 万事达卡国际股份有限公司 | 用于在现有支付网络上处理基于区块链的交易的系统和方法 |
US20180139278A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
US20180150835A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Auditing certified blockchain checkpoints |
-
2019
- 2019-07-02 CN CN201910588291.3A patent/CN110674128B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100041A1 (en) * | 2008-04-25 | 2009-04-16 | Wilson Kelce S | Public Electronic Document Dating List |
US20100306269A1 (en) * | 2009-05-26 | 2010-12-02 | Roger Frederick Osmond | Method and apparatus for large scale data storage |
US20150169595A1 (en) * | 2013-12-16 | 2015-06-18 | MetaGovernance Inc. | Information governance platform |
US20150188945A1 (en) * | 2013-12-30 | 2015-07-02 | Alexander Kjeldaas | Method and System for Providing Transparent Trusted Computing |
CN107615317A (zh) * | 2015-03-31 | 2018-01-19 | 纳斯达克公司 | 区块链交易记录的系统和方法 |
CN107851246A (zh) * | 2015-05-21 | 2018-03-27 | 万事达卡国际股份有限公司 | 用于在现有支付网络上处理基于区块链的交易的系统和方法 |
WO2017036546A1 (en) * | 2015-09-04 | 2017-03-09 | Nec Europe Ltd. | Method for storing an object on a plurality of storage nodes |
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 |
US20180039667A1 (en) * | 2016-08-05 | 2018-02-08 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
US20180139278A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
US20180150835A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Auditing certified blockchain checkpoints |
CN106603198A (zh) * | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
CN107453896A (zh) * | 2017-06-27 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 多重区块链网络数据处理方法、装置及服务器 |
CN107451874A (zh) * | 2017-07-27 | 2017-12-08 | 武汉天喻信息产业股份有限公司 | 基于区块链的电子发票综合处理方法及系统 |
Non-Patent Citations (2)
Title |
---|
XU GENG.ET AL: "The Blocking Factors and Solution Countermeasures in Policy Implementation of New Energy Vehicle", pages 179 * |
周致成;李立新;李作辉;: "基于区块链技术的高效跨域认证方案", 计算机应用, no. 02, pages 18 - 22 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111275417A (zh) * | 2020-01-16 | 2020-06-12 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
CN111275417B (zh) * | 2020-01-16 | 2024-03-12 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
CN111370087A (zh) * | 2020-03-04 | 2020-07-03 | 田素芳 | 一种基于区块链的居民健康档案管理系统 |
CN111459672B (zh) * | 2020-03-30 | 2023-09-29 | 百度国际科技(深圳)有限公司 | 基于区块链网络的事务处理方法、装置、设备及介质 |
CN111459672A (zh) * | 2020-03-30 | 2020-07-28 | 百度国际科技(深圳)有限公司 | 基于区块链网络的事务处理方法、装置、设备及介质 |
US11526488B2 (en) | 2020-04-15 | 2022-12-13 | Alipay (Hangzhou) Information Technology Co., Ltd. | Distributed blockchain data storage under account model |
WO2020143853A3 (en) * | 2020-04-20 | 2021-02-18 | Alipay (Hangzhou) Information Technology Co., Ltd. | Distributed blockchain data storage under account model |
US11556516B2 (en) | 2020-04-20 | 2023-01-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Distributed blockchain data storage under account model |
CN111884808A (zh) * | 2020-07-20 | 2020-11-03 | 杭州溪塔科技有限公司 | 一种防止交易跨链重放的方法、装置及电子设备 |
CN111884808B (zh) * | 2020-07-20 | 2023-06-23 | 杭州溪塔科技有限公司 | 一种防止交易跨链重放的方法、装置及电子设备 |
CN111881472B (zh) * | 2020-07-22 | 2024-04-26 | 云账户技术(天津)有限公司 | 一种数据访问控制方法、系统及权限管理系统、介质 |
CN112804260B (zh) * | 2021-03-17 | 2023-04-07 | 中国工商银行股份有限公司 | 基于区块链的信息传递方法和节点 |
CN112804260A (zh) * | 2021-03-17 | 2021-05-14 | 中国工商银行股份有限公司 | 基于区块链的信息传递方法和节点 |
Also Published As
Publication number | Publication date |
---|---|
CN110674128B (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11108544B2 (en) | On-chain governance of blockchain | |
US11095433B2 (en) | On-chain governance of blockchain | |
US11165826B2 (en) | On-chain governance of blockchain | |
US10756884B2 (en) | On-chain governance of blockchain | |
US11924323B2 (en) | On-chain governance of blockchain | |
US10917233B2 (en) | Selective exchange of transaction data | |
US11227057B2 (en) | Membership access management of a database | |
CN110674128B (zh) | 区块链的链上治理 | |
CN111488393B (zh) | 虚拟区块链 | |
US20200050386A1 (en) | Private and fault-tolerant storage of segmented data | |
CN112053157B (zh) | 灵活交易验证 | |
CN111144881A (zh) | 对资产转移数据的选择性访问 | |
US11489672B2 (en) | Verification of conditions of a blockchain transaction | |
CN112241919B (zh) | 具有数据流控制的多域区块链网络 | |
US11270017B2 (en) | Selective exchange of transaction data | |
US11184395B1 (en) | Cross-network identity provisioning | |
US11354278B2 (en) | Linking of tokens | |
CN114450708A (zh) | 基于现有链码的链码推荐 | |
CN111831739A (zh) | 数据库复合背书 | |
CN112084186A (zh) | 拆分和合并存储 | |
CN111698198B (zh) | 秘密生成和份额分发 | |
CN111797426B (zh) | 一种用于去信任通知服务的方法和系统 | |
CN112036876A (zh) | 基于元数据的背书 | |
US11222292B2 (en) | Data linkage across multiple participants | |
CN112052473A (zh) | 地理位置合规性 |
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 |