CN116938965A - 从分布式账本中删除交易 - Google Patents
从分布式账本中删除交易 Download PDFInfo
- Publication number
- CN116938965A CN116938965A CN202310437485.XA CN202310437485A CN116938965A CN 116938965 A CN116938965 A CN 116938965A CN 202310437485 A CN202310437485 A CN 202310437485A CN 116938965 A CN116938965 A CN 116938965A
- Authority
- CN
- China
- Prior art keywords
- transactions
- data
- distributed ledger
- parties
- transaction
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 48
- 230000014759 maintenance of location Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 13
- 230000006854 communication Effects 0.000 description 13
- 239000003795 chemical substances by application Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 241000712062 Patricia Species 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000001010 compromised effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 102100031920 Dihydrolipoyllysine-residue succinyltransferase component of 2-oxoglutarate dehydrogenase complex, mitochondrial Human genes 0.000 description 2
- 101000992065 Homo sapiens Dihydrolipoyllysine-residue succinyltransferase component of 2-oxoglutarate dehydrogenase complex, mitochondrial Proteins 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000001773 deep-level transient spectroscopy Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 235000019013 Viburnum opulus Nutrition 0.000 description 1
- 244000071378 Viburnum opulus Species 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000009044 synergistic interaction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
-
- 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
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
- G06F16/2246—Trees, e.g. B+trees
-
- 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
- G06F16/2255—Hash tables
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及从分布式账本中删除交易。本发明涉及公开的各种示例,通常涉及在分布式账本(420)中并且与一个或多个交易(270‑273)相关联地存储相应智能合约的所有者的一个或多个标识符(233、243)。本公开的各种示例涉及在接收到给定方的退出请求时删除与作为所有者的给定方相关联的交易。
Description
技术领域
本公开的各个方面一般涉及操作维护诸如区块链的分布式账本的节点网络的节点。本公开的各种示例特别地涉及数据结构和相关联的协议,如果相关联的一方打算离开运营网络的联盟,则所述相关联的协议促进从分布式账本中删除交易。
背景技术
区块链应用以去中心化的(decentralized)方式存储数据。区块链是分布式账本的示例实现,所述分布式账本以复制的方式跨相应网络的多个节点被存储。
这允许去中心化治理和监控与数据相关联的交易(智能合约),其中单独的实体不能以不受约束的恶意方式对交易进行改变。
即使智能合约的状态被更新为要删除的,智能合约的所有先前版本仍然以相应交易的形式存在于分布式账本中,并且可以通过在智能合约的初始状态上实施交易集来验证各种状态。
本质上,数据的整个生命周期被存储、是可访问的并且可以被监控。这引入区块链通过传统集中式数据库提供的高级信任承诺。
尽管如此,这样的技术面临特定的限制和缺点。例如,区块链应用可以具有多个参与者(各方的联盟)。如果在每一方参与应用时每一方均引进其自己的数据,则该数据被存储在区块链上,所述区块链跨相应网络的多个节点被复制。如果在某个时间点,给定方想要离开区块链应用(离开联盟),则其数据仍存储在区块链上。根据参考实现,因为该数据跨多个节点被复制,所以该数据既不能被删除,也不能真正地是访问受限制的。
当提到设计区块链应用(blockchain application)时,这导致高难度和复杂性,因为要求联盟的各方不断地知道哪个数据被存储在分布式账本中,哪个数据使用替代方式被存储(即不被包含在分布式账本中),如何对存储在其他地方的数据提供相同级别的数据起源和安全承诺,以及如何确保存储在分布式账本中的数据不揭露与存储在其他地方的数据相关的信息。因为策略不能以回顾的方式被改变,所以在设计应用时理解和定义所有这些要求是一种挑战。
发明内容
因此,存在用于操作票据网络(a network of notes)的节点的先进技术的需求,所述票据网络在各方的联盟之间正在维护智能合约的分布式账本。特别地,存在用于减轻上述限制和缺点的先进技术的需要。
由独立权利要求的特征满足这种需要。从属权利要求的特征定义实施例。
根据本文中所公开的示例,公开用于执行的协议和正在维护分布式账本的节点网络的节点。这样的协议使得能够以高效的方式在由节点网络维护的分布式账本中存储数据、特别地存储与智能合约相关联的交易。
多个节点由各方的联盟的各方操作。
多个节点可以实现分布式数据库系统(DBS)。
根据各种示例,每个交易都可以与相应的智能合约相关联,所述智能合约又与拥有该智能合约的各方的联盟的给定方相关联。换句话说,每个交易都可以与相应的所有者相关联。每个交易都可以被标记为拥有相关联的智能合约的相应方。一个或多个相应的标识符可以与存储在分布式账本中的那些交易相关联地被存储。
在一方打算离开联盟的情况下,这些标识符促进从分布式账本中删除交易。一旦给定方打算离开联盟,就有可能通过考虑标识符从分布式账本中删除与作为所有者的给定方相关联的这样的交易。
这可能符合与智能合约相关联的并且对于给定方打算离开联盟的情况指定多方之间的共识要求的数据保留规则(data retention rules)。
除非另有明确声明,否则术语“实施”、“计算”、“计算机实现的”、“计算”、“建立”、“生成”、“配置”、“重建”等优选地涉及修改数据和/或生成数据和/或将数据变换成其他数据的动作和/或过程和/或处理步骤。数据可以由物理量表示或可以作为物理量存在,例如作为电脉冲。尤其是,术语“计算机”应该宽泛地被解释成涵盖所有具有数据处理能力的电子设备。因此,计算机可以由个人计算机、服务器、存储器可编程控制器、手持式计算机系统、袖珍型PC设备、无线通信设备和可以处理数据的其他通信设备、处理器和用于处理数据的其他电子设备来实现。
在本公开的上下文中,“计算机实现的”可以涉及其中处理器实施至少一个方法步骤的方法的实现。
本公开的上下文中的处理器可以是机器或电子电路。处理器可以特别地由中央处理单元(CPU)或微处理器或微控制器、例如专用集成电路(ASIC)或数字信号处理器来实现,可能结合用于存储程序代码的存储单元等。可替代地或附加地,处理器可以由集成电路(IC)、特别地现场可编程门阵列(FPGA)、ASIC或数字信号处理器(DSP)或图形处理单元(GPU)来实现。可替代地或附加地,处理器可以由虚拟处理器或虚拟机或软CPU来实现。处理器可以由具有配置接口的可编程处理器来实现,所述配置接口促进本文中描述的各种技术的配置。可编程处理器可以被配置成实现如本文中描述的方法步骤、组件、模块或本文中描述的技术的其他方面。
“存储单元”或“存储模块”等可以由随机存取存储器(RAM)形式的易失性存储器或诸如硬盘或数据载体的非易失性存储器来实现。
在本公开的上下文中,“模块”可以由处理器和/或用于存储程序指令的存储单元来实现。模块可以以硬件和/或软件和/或固件来实现。例如,处理器可以被配置成执行程序指令,使得处理器执行实现如本文中所述的方法或方法的步骤的功能。模块也可以是实现相应模块的特定功能/特性的DBS的节点。相应模块可以例如作为分离的/单独的模块来实现。为此,相应模块可以包括另外的元件。例如,这些另外的元件可以是一个或多个接口(例如数据库接口、通信接口——例如网络接口或WLAN接口)和/或评估单元(例如处理器)和/或存储单元。借助于接口,有可能交换数据(例如接收、传达、传输或提供数据)。借助于评估单元,有可能以计算机实现和/或自动化的方式比较、确认、处理、分配或计算数据。借助于存储单元,可以以计算机实现和/或自动化的方式存储、检索或提供数据。也将会可能的是,多个模块由公共处理器来实现。
在本公开的上下文中,术语“包括”——特别地关于数据和/或信息——可以涉及(以计算机实现的方式)将相应信息或相应日期(date)存储在数据结构/数据集中(所述数据结构/数据集例如又也被存储在存储单元中)。
结合本公开,术语“分配”——特别地关于数据和/或信息——可以涉及以计算机实现的方式分配数据和/或信息。例如,借助于存储地址或唯一标识符给第一日期分配第二日期,例如通过将第一日期与第二日期的存储地址或唯一标识符一起存储在数据集中。这也涉及与其他数据“关联”的数据。
结合本公开,术语“提供”——尤其是关于数据和/或信息——可以涉及以计算机实现的方式提供。所述提供可以通过接口、例如数据库接口、网络接口、到存储单元的接口来实现。当经由接口提供时,有可能传达和/或传输和/或检索和/或接收相应的数据和/或信息。
在本公开的上下文中,术语“提供”也可以涉及与相应的数据一起例如加载或保存交易。例如,这可以在存储模块上或由存储模块来实现。
在本公开的上下文中,术语“提供”也可以涉及从区块链或(分别相对应的基础设施的)区块链的一个节点向另一节点传达(或传输或接收或传递)相应的数据。
“智能合约过程”可以是指借助于DBS或相应的基础设施在过程中执行程序代码、例如控制指令。
在本公开的上下文中,“校验和”、例如数据块校验和、数据校验和、节点校验和、交易校验和、链式校验和(chaining checksum)等可以涉及密码校验和或密码哈希或哈希值。这样的校验和尤其是可以跨数据集和/或数据和/或一个或多个交易和/或数据块的分段、例如区块链的区块的区块头部或DBS的数据块的数据块头部或者仅数据块的交易的一部分被确定。校验和可以特别地由一个校验和或多个校验和或哈希树、例如Merkle树、Patricia树的一个哈希值或多个哈希值来实现。此外,“校验和”也可以通过数字签名或密码消息认证码来实现。借助于校验和,有可能在DBS的各个级别上对于交易和相关联的数据和数据集实现密码保护/防操纵。例如,如果需要提高的安全级别,则将会有可能在交易级别上创建并且确认校验和。例如,如果需要降低的安全级别,则将会有可能在区块级别上创建并且确认校验和——例如跨整个区块或仅跨数据块的一部分(例如子区块)和/或交易的一部分。
在本公开的上下文中,“数据块校验和”可以涉及跨数据块的一部分或所有交易计算的校验和。节点可以借助于数据块校验和来确认/确定数据块的相应部分的完整性/真实性。可替代地或附加地,数据块校验和也可以跨在前数据块/前驱数据块的交易被形成。数据块校验和尤其是可以借助于哈希树、例如Merkle(默克尔)树[1]或Patricia(帕特里夏)树来实现。在这里,数据块校验和可以是Merkle树或(of)Patricia树或另一二叉哈希树的根校验和。将会可能的是,交易分别借助于来自Merkle树或Patricia树的另外的校验和被保存,例如通过使用交易校验和,其中尤其是另外的校验和可以分别涉及Merkle树或Patricia树的叶子。因此,数据块校验和可以通过从另外的校验和形成根校验和来保护交易。数据块校验和尤其是可以针对数据块中的特定数据块的交易被计算。尤其是,这样的数据块校验和可以被包括在给定数据块的后续数据块中,例如以将该后续数据块与在前数据块链结起来,并且尤其是使DBS的完整性可测试。因此,数据块校验和可以实现链式校验和,或者至少进入链式校验和。数据块(例如新数据块或数据块校验和被确定所针对的数据块)的头部可以包括数据块校验和。
结合本公开,“交易校验和”可以涉及跨数据块的交易确定的校验和。此外,可以加速相应数据块的数据块校验和的计算,因为对于这个数据块已经计算的交易校验和可以容易地被用作Merkle树的叶子。
本公开的上下文中的“链式校验和”可以涉及针对DBS的相应数据块表明或引用DBS的在前数据块——所述在前数据块在文献[1]中通常被称为“先前块哈希”——的校验和。为此,尤其是为在前数据块确定相应的链式校验和。链式校验和可以例如通过数据块、即DBS的现有数据块的数据块校验和或交易校验和来实现;以便从而将新数据块与DBS的(现有)数据块链结起来。例如,也将会可能的是,跨在前数据块的头部或跨整个在前数据块确定校验和以被用作链式校验和。例如,这也能够针对多个或所有在前数据块被计算。例如,链式校验和也能够通过在数据块校验和中跨数据块的头部确定的校验和来实现。然而,DBS的相应数据块优选地包括链式校验和,所述链式校验和已经被计算或涉及在前数据块、特别地与相应数据块直接相邻的次近邻(next-neighbor)在前数据块。例如,也将会可能的是,仅跨相应数据块、例如在前数据块的一部分确定相应的链式校验和。从而,可以实现具有完整性受保护部分和非受保护部分的数据块。由此,可以实现具有不可变的完整性受保护部分和具有以后可以被修改的不受保护部分的数据块。完整性受保护(integrityprotected)可以意味着可以借助于校验和检测完整性受保护数据的变化。
接下来,描述交易的示例实现。
数据——例如被存储在数据块的交易中——可以以各种方式被提供。代替数据——例如用户数据、诸如测量数据或关于ASIC的数据/所有权结构,相反地数据块的交易可以包括针对这样的数据的校验和。可以以各种方式实现相应的校验和。例如,另一数据库或分布式账本的数据块(例如包括相应数据)的相应数据块校验和、例如分布式账本或另一数据库的相应数据的数据块的交易校验和或跨数据确定的数据校验和可以被使用。
此外,相应的交易可以可选地包括至存储位置的链接或存储位置的指示——例如文件服务器的地址和在文件服务器上在何处可以找到相应数据的指示;或包括该数据的另一分布式账本的地址。相应的数据例如也能够在分布式账本的另外的数据块的另外的交易中被提供——例如如果相应的数据和相关联的校验和被包括在不同的数据块中。也将会可能的是,这些数据经由另一通信信道、例如经由另一数据库和/或以密码方式确保的通信信道被提供。
此外,将会有可能的是,除了校验和之外,在相应的交易中提供附加数据集(add-on data set)——例如到存储位置的链接或对存储位置的指示。附加数据集尤其是可以表明可以在何处检索数据。这可以有助于限制区块链或分布式账本的数据量。
术语“安全性受保护的”特别地可以涉及可以通过密码方法实现的保护。例如,这可以通过使用DBS来实现,用于提供或传达或传输相应的数据/交易。这可以通过各种校验和(例如密码校验和)的组合,通过校验和之间的适当的协同交互来实现,以便例如提高交易的数据的安全性或密码安全性。换句话说,本公开的上下文中的“安全性受保护的”也可以涉及“以密码方式受保护的”和/或“防操纵的”,其中“防操纵的”也可以被称为“受保护的完整性”。
将交易插入分布式账本中可以包括链结(chaining)分布式账本的数据块。结合本公开的术语“链结分布式账本的数据块”可以涉及分别包括链接到分布式账本的另一数据块或多个其他数据块的信息(诸如链式校验和)的数据块[1]、[4]、[5]。
将交易插入分布式账本中可以包括将交易保存/存储在分布式账本的一个或多个数据块中。
插入交易可以包括确认和/或证实交易。
术语“将交易插入分布式账本中”等(特别地,将交易存储在分布式账本中)可以涉及将一个交易或多个交易或包括交易的数据块传达给DBS的一个或多个节点。如果这些交易例如借助于一个或多个节点成功地被确认,则这些交易可以作为新的数据块与分布式账本的至少一个现有数据块链结[1]、[4]、[5]。为此,相应的交易被存储在新的数据块中。尤其是,这种确认和/或链结可以由可信节点、例如挖矿节点(Mining node)、区块链预言机(oracle)或区块链平台来实现。
尤其是,区块链可以涉及作为服务的区块链,诸如已经由Microsoft(微软)或IBM提出的。尤其是,可信节点和/或其他节点可以将节点校验和、例如数字签名寄存(deposit)在数据块中,例如寄存在已经由相应节点确认并且然后被链结的数据块中,尤其是以便促进标识数据块的创建者和/或标识节点。在这里,节点校验和表明哪个节点已将相应的数据块与分布式账本的至少一个其他数据块链结在一起。
结合本公开的“一个交易”或“多个交易”可以涉及智能合约[4]、[5]、数据结构或交易数据集,其尤其是分别包括一个交易或多个交易。结合本公开,术语“一个交易”或“多个交易”也可以涉及区块链的数据块的交易的数据。交易可以例如包括程序代码,所述程序代码例如实现智能合约。例如,在本公开的上下文中,交易也可以涉及控制交易和/或确认交易。可替代地,交易也可以通过保存数据(例如,控制指令和/或合约数据和/或其他数据、诸如视频数据、用户数据、测量数据等)的数据结构来实现。
尤其是,术语“将交易保存在数据块中”、“保存交易”等可以涉及直接保存或间接保存。直接保存可以涉及包括相应数据的分布式账本的相应交易或分布式账本的相应数据块。间接保存可以涉及相应的数据块或相应的交易,其包括校验和和可选地包括附加数据集,例如到用于相应数据的存储位置的链接或所述存储位置的指示;因此,相应的数据不被直接保存在数据块(或交易)中。相反地,为数据块中的这些数据提供校验和。尤其是,这些校验和可以在将交易保存在数据块中时被确认,诸如上面关于“插入分布式账本中”已经解释的。
结合本公开,“程序代码”——诸如智能合约——可以涉及保存在一个或多个交易中的一个程序指令或多个程序指令。程序代码可以是可执行的并且可以例如通过DBS被执行。这可以例如通过例如虚拟机的运行时环境来实现,其中运行时环境或程序代码优选地是图灵完备(Turing complete)。程序代码优选地通过DBS的基础设施被执行[4]、[5]。在这里,虚拟机由DBS的基础设施来实现。有可能在确认相对应的交易时执行程序代码。
结合本公开,“智能合约”可以涉及可执行的程序代码[4]、[5]——尤其是参见上面提供的关于“程序代码”的解释。智能合约优选地被保存在分布式账本——例如区块链——的交易中,例如被保存在分布式账本的数据块中。例如,智能合约可以以与结合“程序代码”的定义、尤其是结合主题公开描述的相同方式被执行。
结合本公开,术语“工作量证明(proof ofwork)”可以涉及尤其是根据数据块的内容或特定交易的内容来解决计算昂贵的任务[1]、[4]、[5]。这种计算昂贵的任务也可以被称为密码学难题(cryptographic puzzle)。
在本公开的上下文中,也可以被简称为“分布式数据库”的术语“分布式账本”一般可以涉及去中心化的分布式数据库、区块链、分布式存储系统、基于分布式账本技术(DLT)的系统(DLTS)、修订安全数据库系统(revision secure database system)、云、云服务、云中的区块链或对等数据库系统。此外,可以使用区块链或DLTS的各种实现,例如诸如借助于有向无环图(DAG)、密码学难题、哈希图或这些变体的组合实现的区块链或DLTS[6]、[7]。也应该有可能实现不同的共识算法。例如,可以借助于密码学难题、八卦八卦(gossip aboutgossip)、虚拟投票(virtual voting)或者这些技术的组合(例如八卦八卦与虚拟投票相组合)来实现共识算法[6][7]。例如,如果使用区块链,则这尤其是可以通过基于比特币的实现或基于以太坊的实现来实现[1]、[4]、[5]。术语“分布式数据库”也可以涉及DBS,所述DBS具有由云实现的其节点和/或设备和/或基础设施的至少一部分。例如,相应的组件可以被实现为云中的节点/设备(例如实现为虚拟机中的虚拟节点)。这可以通过VMWare、Amazonweb服务或Microsoft Azure来实现。由于所描述的实现场景的增加的灵活性,尤其是有可能将所描述的实现场景的部分方面相互组合,例如通过使用哈希图作为区块链,其中区块链本身也可以是区块批次(block batch)。
例如,如果使用有向无环图(DAG)(例如IOTA或Tangle(纠纷)),则图形的交易或区块或节点经由有向边相互连接。即(所有)边(总是)正在具有(are having)相同方向,例如如针对时间观察的那样(as observed for time)。换句话说,尤其是不可能向后图形的交易或区块或节点传播或访问图形的交易或区块或节点(即与共同的统一方向相反)。无环尤其是意味着当遍历图形时不存在环路或闭环。例如,分布式账本可以涉及公共分布式账本(例如公共区块链)或封闭(私有)分布式数据库系统(distributed databased system)(例如私有区块链)。
例如,在公共分布式账本的情况下,节点和/或设备可以在无授权证明或认证或登录凭据的情况下加入DBS,分别在无这样的信息的情况下被DBS接受。尤其是,在这样的情况下,节点和/或设备的运营商可以保持匿名。
例如,在通过封闭数据库系统实现分布式账本的情况下,新的节点和/或设备可能需要有效的授权证明和/或有效的认证信息和/或有效的凭据和/或有效的登录信息来加入DBS或被DBS接受。各方的相应联盟可能需要用于接受新的一方的共识。
DBS也可以通过用于进行数据交换的分布式通信系统来实现。例如,这可以是网络或对等网络。
在本公开的上下文中,术语“数据块”——根据上下文和实现也可以被称为“成分(constituent)”或“区块”——可以涉及分布式账本——例如区块链或点对点数据库——的数据块,它们尤其是被实现为数据结构,并且优选地包括交易之一或交易中的多个交易。在实现中,数据库或数据库系统可以是基于DLT的系统(DLTS)或区块链,并且数据块可以是区块链或DLTS的区块。
作为一般规则,数据块可以例如包括数据块的大小——例如以字节为单位的数据量——的指示、数据块头部(区块头部)、交易计数器和一个或多个交易[1]。数据块头部可以包括版本、链式校验和、数据块校验和、时间戳、工作量证明、一次性随机数(Nonce)——即唯一值、随机值或为工作量证明使用的计数器[1]、[4]、[5]。例如,数据块也可以简单地涉及存储在DBS中的全部数据的相应存储范围(memory range)或地址范围。因此,有可能实现无区块DBS,诸如IOT链(ITCA)、IOTA、字节雪球(Byteball)等。在这里,区块链的区块和交易的功能性以以下方式被相互组合,即例如交易本身确保分布式账本的交易的序列或链,使得它们尤其是以安全的方式被保存。为此,可以借助于链式校验和,例如通过使用分离的校验和或一个或多个交易的交易校验和作为链式校验和来链结交易,所述链式校验和当将新交易存储在分布式账本中时被保存在分布式账本中的新交易中。在这样的场景中,数据块例如也可以包括一个或多个交易,其中在简单的场景中,数据块涉及单个交易。
结合本公开,术语“一次性随机数”可以涉及密码一次性随机数——所述密码一次性随机数是“仅使用一次”[2]或“使用一次的数字”[3]的缩写。尤其是,一次性随机数表明在相应的上下文(例如交易、数据通信)中优选地仅使用一次的单独的数字或字母组合。
结合本公开,术语“分布式账本的(给定)数据块的在前数据块”可以例如涉及作为(给定)数据块的直接前驱(predecessor)的分布式账本的数据块。可替代地,术语“分布式账本的(给定)数据块的在前数据块”也可以涉及在给定数据块之前的DBS的所有数据块。因此,链式校验和或交易校验和可以跨直接在前的数据块(分别其交易)或在给定数据块之前的所有数据块(分别相应的交易)被确定。
在本公开的上下文中,术语“区块链节点”、“节点”、“DBS的节点”等可以涉及实施与分布式账本、例如区块链相关联的操作的设备——例如移动设备、无线通信设备、计算机、智能手机、客户端或参与者[1]、[4]、[5]。这样的节点例如可以执行相应数据块或分布式账本的交易,或者可以借助于新数据块将包括新交易的新数据块插入分布式账本中。尤其是,这种确认和/或链结可以由可信节点(例如挖矿节点)或排他地由可信节点来实现。可信节点是具有额外安全措施——例如防火墙、对节点的访问限制等——的节点以避免对节点的操纵。可替代地或附加地,当将新数据块与分布式账本链结时,可信节点可以例如在新数据块中保存节点校验和——例如数字签名或证书。从而,有可能提供表明相应的数据块已经通过特定节点被插入的证明,分别表明发起者。
作为一般规则,一个设备或多个设备可以由也可以是DBS的节点的技术系统和/或工业设施(industrial plant)和/或自动化网络和/或制造设施的设备来实现。因此,这些设备可以是也可以是DBS的节点的移动设备或物联网的设备。节点可以例如包括至少一个处理器,例如以执行其计算机实现的功能性。
在本公开的上下文中,术语“区块链预言机”等可以涉及包括安全模块的节点、设备或计算机,所述安全模块具有软件保护机制——例如密码方法——、机械保护机制——例如可锁定的外壳——或电气保护措施——例如篡改防护(tamper protection)或在未经授权的使用/修改区块链预言机的情况下删除安全模块的数据的保护系统。安全模块可以包括例如用于计算校验和——例如交易校验和或节点校验和需要的密码密钥。
术语“计算机”或“设备”可以涉及分别布置在区块链之外或者不是DBS的参与者、即不执行DBS的操作或在不执行交易、插入数据块的情况下仅仅(simply)检索这些操作或计算工作量证明的计算机(系统)、客户端、智能手机、设备或服务器。可替代地,术语“计算机”或“设备”也可以涉及DBS的节点。换句话说,设备可以尤其是实现DBS的节点或分别在区块链和DBS之外的设备。DBS之外的设备可以例如访问DBS的数据——例如交易或控制交易。DBS之外的设备可以由节点——例如借助于智能合约和/或区块链预言机被控制。例如,如果设备——例如被实现为节点的设备或DBS之外的设备——的控制由节点实现,则这可以通过智能合约发生,所述智能合约尤其是被保存在DBS的交易中。
引文列表
[1]Andreas M.Antonopoulos″Mastering Bitcoin:Unlocking DigitalCryptocurrencies″,O′Reilly Media,December 2014
[2]Roger M.Needham,Michael D.Schroeder″Using encryption forauthentication in large networks of computers″ACM:Communi-cations of theACM.Vol 21,Nr.12Dec.1978,
[3]Ross Anderson″Security Engineering.A Guide to Building DependableDistributed Systems″Wiley,2001
[4]Henning Diedrich,,Ethereum:Blockchains,Digital Assets,SmartContracts,Decentralized Autonomous Organizations″,CreateSpace IndependentPublishing Platform,2016
[5]″The Ethereum Book Project/MasteringEthereum″https://github.com/ethereumbook/ethereumbook,5.10.2017
[6]Leemon Baird″The Swirlds Hashgraph Consensus Algorithm:Fair,Fast,Byzantine Fault Tolerance″,SwirldsTechReport SWIRLDS-TR-2016-01,31.5.2016
[7]Leemon Baird″Overview of Swirlds Hashgraph″,31.5.2016
[8]Blockchain Oracles,
https://blockchainhub.net/blockchain-oracles/(retrieved July 12,2018)
应当理解的是,在不脱离本发明的范围的情况下,上面提及的特征和下面仍要解释的那些特征不仅可以以所表明的相应组合的方式而且可以以其他组合的方式或单独地被使用。
附图说明
图1示意性地图解根据各种示例的多个节点的网络,所述网络维护分布式账本。
图2以进一步的细节根据各种示例示意性地图解图1的网络的节点。
图3是根据各种示例的方法的流程图。
图4示意性地图解根据各种示例的分布式账本的数据结构。
图5是根据各种示例的方法的流程图。
具体实施方式
本公开的一些示例通常提供多个电路或其他电气设备。对电路和其他电气设备以及由每个所提供的功能性的所有参考并不旨在限于包含仅在本文中图解和描述的内容。虽然可以将特定标签分配给所公开的各种电路或其他电气设备,但是这样的标签并不旨在限制用于电路和其他电气设备的操作的范围。这样的电路和其他电气设备可以基于期望的特定类型的电气实现以任何方式被相互组合和/或分离。认识到,本文中公开的任何电路或其他电气设备可以包括任何数量的微控制器、图形处理器单元(GPU)、集成电路、存储设备(例如,FLASH、随机存取存储器(RAM)、只读存储器(ROM)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其其他适当的变体)以及彼此共同合作以实施本文中公开的(一个或多个)操作的软件。此外,电气设备中的任何一个或多个电气设备可以被配置成执行包含在非暂时性计算机可读介质中的程序代码,所述程序代码被编程来实施如所公开的任何数量的功能。
下面将参考所附附图详细地描述本发明的实施例。应当理解的是,对实施例的以下描述不应在限制的意义上来理解。本发明的范围不旨在受以下描述的实施例或附图限制,所述实施例或附图被认为仅是说明性的。
附图应被视为是示意表示,并且附图中所图解的元件不一定按比例示出。相反地,各种元件被表示为使得所述元素的功能和一般目的对于本领域技术人员而言变得显而易见。附图中所示的或在本文中所描述的功能块、设备、组件或其他物理或功能单元之间的任何连接或耦合也可以通过间接连接或耦合来实现。组件之间的耦合也可以通过无线连接被建立。功能块可以以硬件、固件、软件或其组合来实现。
在下文中,将公开涉及操作形成DBS的节点网络的节点的技术。节点网络维护分布式账本。可以通过区块链实现分布式账本。在这种情况下,网络可以被称为区块链网络。为简单起见,下文中将针对通过区块链实现分布式账本公开各种示例;然而,与区块链不同,相应的技术可以容易地被应用于分布式账本的其他种类和类型的实现。
根据各种示例,可以由节点网络促进区块链应用。区块链应用可以定义多方之间的交互。多方可以形成联盟。
举几个示例,将会可能的是,多方涉及沿着供应链、例如食品供应链的不同供应商。多方可能涉及工业制造过程中的不同机器或自动化设备。
在维护区块链时,节点根据预定的策略操作。相应的协议可以由节点来实现。特别地,将会可能的是,网络的节点考虑数据保留规则。这样的数据保留规则可以指定允许联盟的各方离开联盟连同从区块链中删除相应的交易的情况。
图1示意性地图解多个节点401-403的网络410。每个节点401-403存储区块链420的相应副本。因此,网络410维护区块链420。节点401-403形成DBS。
区块链420通常与参与区块链应用并且操作节点401-403的各方的联盟之间的智能合约相关联。典型地,联盟的每一方都操作相应的节点401-403。
网络410还可以包括一个或多个非分布式数据库450,用于链下存储(off-chain)例如有效载荷数据(即大型应用程序级数据)。将会可能的是,每个节点401-403具有相应的非分布式数据库(未示出)。
图2示意性地图解节点91。节点91能够例如实现图1的示例的网络410的节点401-403中的任何一个节点。
节点91包括处理器92和存储器93以及通信接口94。处理器92可以经由通信接口94接收数据并且可以经由接口94例如向其他节点传输数据。例如,处理器92能够经由通信接口94接收用以存储交易的询问和相关联的交易99。处理器92能够经由通信接口94输出交易的验证任务的结果。智能合约的正确性可以被确认。
处理器92可以从存储器93加载程序代码,并且然后可以执行该程序代码。当加载程序代码时,处理器92可以实施如本文中所公开的技术,例如关于在区块链420中存储一个或多个交易,与该一个或多个交易相关联地存储一个或多个智能合约的所有者的一个或多个标识符,所述一个或多个标识符与存储在区块链420中的一个或多个交易相关联;获得并且处理给定方离开联盟的退出请求(withdrawal request);从区块链420中删除与作为所有者的给定方相关联的交易;等等。
关于节点91、特别地处理器92的操作的细节将结合图3、图4在图5中在下文中予以解释。
图3是根据各种示例的方法的流程图。图3的流程图能够由维护分布式账本、诸如区块链420的节点网络的节点执行。例如,图3的方法能够由图1的网络410的节点401-403中的任何一个节点执行。更具体地,将会有可能的是,根据图3的方法在从存储器93加载并且执行程序代码时由处理器92执行,参见图2。
在执行图3的方法之前,区块链可以被实例化。为此,可以跨网络的所有节点复制创世数据(genesis data)。
图3图解涉及在区块链中存储一个或多个交易的方法。这些一个或多个交易与多方的联盟之间的智能合约相关联。同样地,一个或多个交易可以与由联盟的各方执行的区块链应用相关联。
在方框3005处,获得与一个或多个智能合约相关联的一个新交易或多个新交易。例如,可以从区块链客户端获得用于在区块链中进行存储的相应询问。
每个智能合约都与从联盟的各方中选择的相应所有者相关联。
在方框3010处,将在方框3005处获得的一个或多个交易存储在区块链中。例如,一个或多个区块可以被链结成区块链。
在方框3015处,将与在方框3010中存储的一个或多个交易相关联的一个或多个智能合约的所有者的一个或多个标识符与一个或多个交易相关联地存储在区块链中。可以利用相应的所有者对每个智能合约进行注释。这些标识符可以包括相应方的唯一身份。
作为一般规则,各种选项可用于与一个或多个交易相关联地存储这样的一个或多个标识符。举几个示例,将会可能的是,与所关联的标识符一起接连地(in immediatesuccession)存储每个交易。将会可能的是,标识符包括指向相应交易的指针。也将会可能的是,所关联的标识符和交易被包括在公共数据结构、例如区块链的公共区块或子区块中。在图4中图解区块链420的条目(entries)的相应结构的示例实现。
图4示意性地图解区块链420的区块201。
区块201包括头部211。头部211包括元数据。这样的元数据可以包括区块链420的在前区块425的校验和(例如哈希值)。元数据可以包括指向在前区块425的指针(还图解了后续区块426)。
头部211还可以包括当前区块201的校验和。这样的校验和尤其是能够跨区块201的多个子区块231、241被确定(而在图4中仅图解了两个子区块231、241,作为一般规则,区块201可以包括多于两个的子区块并且原则上也能够仅包括单个子区块)。
每个子区块231、241包括一个或多个交易270、271、272、273。
例如,将会可能的是,子区块内的交易基于其时间戳被排序。
通过使用多个子区块231、241,区块链被划分成多个数据结构、即子区块231、241。区块链420的这种划分(partitioning)是根据构成交易的基础的智能合约的所有者的。换句话说,子区块231、241中的每一个都与联盟的相应方相关联。然后,不同的交易270、271、272、273根据相应的所有者被存储在特定的子区块231、241中。
此外,对于每个子区块231、241,相应的校验和232、242被确定并且与该子区块231、241相关联地被存储。
如图4中所图解的,可能的是,另外的信息233-234、243-244与子区块231、241相关联地被存储。特别地,将会可能的是,该子区块231、241的相应交易270-270的所有者的相应标识符233、243与那些子区块231、241相关联地被存储。即,拥有每个子区块231、241中的交易270-273的该方可以被标识。可替代地或附加地,有可能与交易270-273相关联地存储相应的数据保留规则234、244。这些数据保留规则234、244标识联盟的各方之间用于接受来自各方用于离开联盟的退出请求的共识要求。共识要求能够指定对于离开联盟的一方是否需要一致决定(unanimous decison)。可以指定允许一方离开联盟所需要的多数票(majority)。可以指定轮询模式。在图4的所示场景中,这些数据保留规则234、244被存储在区块链中(所述区块链通常是可选的)。数据保留规则234、244能够与治理智能合约相关联。即数据保留规则234、244能够被视为与该治理智能合约相关联的交易。作为一般规则,数据保留规则234、244也能够被存储在其他地方,例如被存储在链下数据库450中。
作为一般规则,每个智能合约可以与联盟的各方之间的相应的共识要求相关联;在这里,对于每个交易,可以存储相应的数据保留规则234、244。因此,甚至对于是多个智能合约和所关联的交易的所有者的给定方,也可以使用多个数据保留规则。
此外,将会可能的是,多个数据保留规则与各方中的不同方相关联。即,不同的数据保留规则可以适用于不同方。
例如,每当新的智能合约被部署时,即每当与新的智能合约相关联的交易被存储在区块链420中时,新的数据保留规则可以被存储。
如将从图4中将会理解的那样,交易270-274根据标识符233、243被分组。来自同一所有者的所有交易270-271和272-273一起被分组到相应的子区块231、241中;然后,子区块231、241被添加到公共区块201(或区块链的多个连续区块)。
这与额外信息232-234、242-244一起形成与分别拥有相应交易270-271和272-273的相应各方相关联的段221、222。
对于基于拥有方的结构,尤其是存在以下两种可能性:首先,获得相应存储询问所针对的所有交易(参见图3:方框3005)属于同一所有者。于是,所有这些交易都被绑定到单个子区块中,所述子区块被添加到区块链的区块或区块链的多个连续区块中。其次,如果获得用于存储属于不同方/所有者的多个交易的询问(参见图3:方框3005),则与多个所有者中的每一个所有者相关联的交易一起被分组到相应的子区块中。于是,每个子区块包括与单个所有者相关联的、即共享相同的标识符233、243的交易。
包括特定于一方的段221、222的区块链420的这样的结构使得有可能在从打算离开联盟的一方获得退出请求时促进从区块链420移除交易270-273。与交易的这样的删除相关联的方面结合图5予以图解。
图5图解一种涉及从区块链中删除一个或多个交易的方法。这些一个或多个交易与智能合约相关联,所述智能合约与打算离开联盟的给定所有者相关联。图5的方法可以建立于图3的方法上。
可选方框用虚线标记。
在方框3105处,从多方中的给定方获得退出请求。退出请求表明该给定方离开联盟的意图。退出请求可以由给定方触发,例如由相应的区块链客户端触发。
例如,退出请求能够从打算离开联盟的给定方的应用程序客户端(applicationclient)被获得。退出请求可以由用于删除与打算离开联盟的该方相关联的交易和/或其他数据的请求的明确或隐含指示伴随。
在可选方框3110处,将会有可能确定在联盟的各方之间是否满足用于接受这样的退出请求的一个共识要求或多个共识要求。如上面结合图4已经解释的那样,将会可能的是,与相应的交易270-273相关联地存储相应的数据保留规则234、244。所述数据保留规则可以以治理智能合约的交易的形式被存储;然后,治理智能合约可以由打算离开联盟的给定方触发。
因此,有可能测试由这些数据保留规则234、244指定的相应共识要求是否在联盟的各方之间得到满足。这可以包括针对相应共识的轮询。
作为一般规则,数据保留规则可以指定在给定方可以离开联盟之前哪些方需要投票。投票/轮询模态可以由数据保留规则指定。可以指定投票权。这确保给定方不能以恶意的方式离开。例如,仅当所有剩余方都同意并且批准(或可以由数据保留规则例如借助于投票权指定的子集),给定方才可以有权离开。
作为一般规则,当给定方打算离开联盟时,可能存在与多个不同的交易相关联并且构成智能合约的基础的多个不同的数据保留规则适用。在那个意义上,可以针对不同的交易多次作出在方框3110处进行的决定(为了简单起见在图5中未图解)。
在未达成所需要的共识的情况下,于是可以在方框3115处拒绝移除请求。否则,该方法可以在方框3120处开始。在这里,触发与离开方相关联的数据的数据清理。
在方框3120处,有可能从区块链中并且基于与交易相关联地存储的并且标识相应智能合约的所有者的相应标识符删除与作为所有者打算离开联盟的给定方相关联的所有交易。
例如,在分布式账本的区块链实现中,具有由离开方拥有的子区块的最新区块被标识。来自那个特定子区块的所有交易被删除,而那个子区块的校验和被保留。为了以后验证的目的,以那种方式,所有具有区块和子区块的值的(That way all has values…)被保持完整。然后基于来自头部211的先前区块链接反向遍历区块链,直到具有由离开方拥有的子区块的新区块被标识为止。该过程重复,直到不存在包含由离开方拥有的子区块的旧区块为止。
在交易中已实施的操作也从日志中被移除。这可能涉及删除链下数据,参见方框3125。这意味着将会有可能删除与从区块链420删除的交易相关联的任何链下数据、特别地有效载荷数据。
借助于方框3120、3125,离开方的足迹(footprint)被删除并且所移除的数据的当前状态可以在交易历史之后被重建的可能性被阻止。
作为一般规则,将会有可能实施与打算离开联盟的给定方相关联的子区块231、241的查找并且删除与那个给定方相关联的子区块231、241。同时,可以保留校验和232、242。这将会使得能够例如通过在区块链的在前或后续区块中对校验和实施检查来随后验证分布式账本420的完整性。
作为一般规则,智能合约可以具有定义为所有者的所关联的一方。智能合约还可以与一个或多个交易对手(counterparties)相关联。例如,这样的一个或多个交易对手也可以签署交易。然而,这些一个或多个交易对手不是那个智能合约或源自于智能合约的交易的所有者。
可能出现其中在给定方打算离开在一个或多个交易中充当交易对手的联盟的情形。在这样的情况下,将会可能的是,与这样的一方相关联的这些交易未由该方自身签署,而是由代表那一方的代理签署。代理(agent)可以是各方的联盟的联盟领导者。代理可以是例如对于每个签署过程从联盟中选择的随机方。代理也可以是中央机构。代理可以由联盟的各方在运营节点网络时被设立。例如,当一方参与智能合约时,可能需要该方赞同:该方可能潜在地抉择在将来(in the feature)离开联盟;于是代理可以代表那一方签署。然后,在方框3125处,当在方框3105处获得这样的一方的退出请求时,将会有可能维持这些交易(因为所有者没有离开联盟)。另一方面,由于已经由代理代表正在离开联盟的该方签署这些交易,因此离开方的身份以清楚的格式不可用(但是相反地是伪匿名化的(pseudonymized))。将会可能的是,在代理处维护日志,该日志与其中离开方已经充当交易对手的那些交易相关联。该日志可以表明那个给定方或者特别地已经离开联盟的该方的退出请求。可替代地或附加地,可以维护离开方的伪匿名身份。于是,代理可以拒绝任何未经授权的其他方访问日志,使得维持已经离开的该方的匿名性。
总而言之,已经公开了维护分布式账本的节点网络的节点的操作协议,所述操作协议使各方(用户和组织)能够在先前商定的条件下离开联盟。同时,分布式账本的安全性、验证和不变性不受损害(compromised)。已经公开了使打算离开联盟的一方能够移除任何链下数据和/或对于其中离开方已经充当另一所有者的交易对手的交易触发匿名性和/或删除由离开方拥有的任何交易的技术。数据的完整性不受损害。数据起源(dataprovenance)不受损害。启用去中心化应用(decentralized application),所述去中心化应用满足数据隐私的监管要求。数据可以被存储在分布式账本中,并且如果需要可以稍后被删除。从而可以推动分布式账本在行业应用中的广泛使用。分布式账本的数据结构的各方面已经被公开,所述各方面促进从分布式账本中删除交易的高效和安全的方式,例如使用分布式账本的特定于一方的划分。
Claims (14)
1.一种操作节点(91、401、402、403)的网络(410)的节点(91、401、402、403)的计算机实现的方法,所述网络正在维护各方的联盟之间的智能合约的分布式账本(420),所述方法包括:
-获得(3005)与一个或多个智能合约相关联的一个或多个交易(99、270、271、272、273),用于存储在所述分布式账本(420)中,所述一个或多个智能合约中的每个智能合约与从各方的联盟中选择的相应所有者相关联,
-在所述分布式账本(420)中存储(3010)所述一个或多个交易,以及
-在所述分布式账本(420)中与所述一个或多个交易(99、270、271、272、273)相关联地存储(3015)与所述一个或多个交易(99、270、271、272、273)相关联的一个或多个智能合约的所有者的一个或多个标识符(233、243)。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
-从各方的联盟的给定方获得(3105)用于离开所述联盟的退出请求,以及
-当获得所述退出请求时,从所述分布式账本(420)中并且基于所述一个或多个标识符(233、243)删除与作为所有者的给定方相关联的任何交易(99、270、271、272、273)。
3.根据权利要求2所述的计算机实现的方法,进一步包括:
-当获得所述退出请求时,从不同于所述分布式账本(420)的另外的数据库(450)中删除与从所述分布式账本中删除的交易相关联的有效载荷数据。
4.根据权利要求2或3所述的计算机实现的方法,
其中存储在所述分布式账本(420)中的至少一个交易(99、270、271、272、273)与不同于所述给定方的作为所有者的另外方相关联,
其中所述给定方是与所述至少一个交易(99、270、271、272、273)相关联的智能合约的另外方的交易对手,
其中所述至少一个交易(99、270、271、272、273)由代表所述给定方的代理签署,
其中所述方法进一步包括:
-当获得所述退出请求时,在所述代理处维护与所述至少一个交易(99、270、271、272、273)相关联并且表明所述给定方的退出请求的日志或者所述给定方的并且与所述至少一个交易相关联的伪匿名身份中的至少一个。
5.根据前述权利要求中任一项所述的计算机实现的方法,
其中所述存储所述一个或多个交易(99、270、271、272、273)和所述一个或多个标识符(233、243)包括:
-将所述分布式账本(240)划分成与各方的联盟的各方相关联的多个数据结构(231、241),所述一个或多个交易(99、270、271、272、273)中的每一个交易根据相应的所有者被存储在所述相应的数据结构(231、241)中,以及
-为所述多个数据结构中的每个数据结构(231、241)确定相应的校验和(232、242)并且将所述相应的校验和(232、242)存储在所述分布式账本(420)中。
6.根据权利要求5所述的计算机实现的方法,
其中所述分布式账本是包括多个区块的区块链,
其中所述数据结构是所述多个区块的子区块。
7.根据权利要求5或6以及权利要求2至4中任一项所述的计算机实现的方法,
其中所述删除与作为所有者的给定方相关联的任何交易包括:对于与所述给定方相关联的数据结构实施查找,删除与所述给定方相关联的任何数据结构,以及在所述分布式账本(420)中保留与任何所删除的数据结构相关联的相应的校验和。
8.根据前述权利要求中任一项所述的计算机实现的方法,进一步包括:
-与所述一个或多个交易(99、270、271、272、273)相关联地存储与所述一个或多个智能合约相关联的一个或多个数据保留规则(234、244),所述一个或多个数据保留规则(234、244)标识各方的联盟之间的用于接受来自各方的联盟的各方用于离开所述联盟的退出请求的共识要求。
9.根据权利要求8所述的计算机实现的方法,
其中所述一个或多个数据保留规则(234、244)被存储在所述分布式账本(420)中。
10.根据权利要求8或9所述的计算机实现的方法,
其中所述一个或多个数据保留规则(234、244)包括与各方的联盟的不同方相关联的多个数据保留规则。
11.根据权利要求8至10中任一项所述的计算机实现的方法,
其中所述一个或多个数据保留规则(234、244)包括至少两个与各方的联盟的给定方和不同的智能合约相关联的数据保留规则。
12.一种计算机程序,包括由至少一个处理器可执行的程序代码,其中所述程序代码的执行促使所述至少一个处理器实施前述权利要求中任一项所述的方法。
13.节点(91、401、402、403)的网络(410)的节点(91、401、402、403),所述网络被配置用于在各方的联盟之间维护智能合约的分布式账本(420),所述节点包括至少一个处理器和存储器,所述至少一个处理器被配置成从所述存储器加载程序代码并且执行所述程序代码,其中所述至少一个处理器在执行所述程序代码时被配置成:
-获得(3005)与一个或多个智能合约相关联的一个或多个交易(99、270、271、272、273),用于存储在所述分布式账本(420)中,所述一个或多个智能合约中的每个智能合约与从各方的联盟中选择的相应所有者相关联,
-在所述分布式账本(420)中存储(3010)所述一个或多个交易,以及
-在所述分布式账本(420)中与所述一个或多个交易(99、270、271、272、273)相关联地存储(3015)与所述一个或多个交易(99、270、271、272、273)相关联的一个或多个智能合约的所有者的一个或多个标识符(233、243)。
14.根据权利要求13所述的节点,
其中所述至少一个处理器在执行所述程序代码时被配置成实施根据权利要求1至11中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22169268.4 | 2022-04-21 | ||
EP22169268.4A EP4266623B1 (en) | 2022-04-21 | 2022-04-21 | Deleting transactions from a distributed ledger |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938965A true CN116938965A (zh) | 2023-10-24 |
Family
ID=81346317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310437485.XA Pending CN116938965A (zh) | 2022-04-21 | 2023-04-21 | 从分布式账本中删除交易 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11928689B2 (zh) |
EP (1) | EP4266623B1 (zh) |
CN (1) | CN116938965A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399373A (zh) * | 2019-06-26 | 2019-11-01 | 杭州慧牧科技有限公司 | 一种区块链账本存储系统、存储查询方法及删除方法 |
CN111079155A (zh) * | 2019-11-13 | 2020-04-28 | 北京海益同展信息科技有限公司 | 数据处理方法、装置、电子设备和计算机存储介质 |
CN111611260A (zh) * | 2020-06-23 | 2020-09-01 | 上海优扬新媒信息技术有限公司 | 一种区块链数据的删除方法及装置 |
EP3709568A1 (en) * | 2019-03-14 | 2020-09-16 | Nokia Technologies Oy | Deleting user data from a blockchain |
CN111913978A (zh) * | 2020-09-02 | 2020-11-10 | 上海优扬新媒信息技术有限公司 | 一种区块删除方法、装置及系统 |
CN111919216A (zh) * | 2018-03-30 | 2020-11-10 | 微软技术许可有限责任公司 | 计算机存储系统中的数据的按需去标识 |
CN113592639A (zh) * | 2021-05-21 | 2021-11-02 | 上海佩俪信息科技有限公司 | 一种区块链交易删除方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250439B2 (en) * | 2016-09-19 | 2022-02-15 | Thomson Reuters Enterprise Centre Gmbh | Systems and methods for smart contract intervention |
US20190361917A1 (en) * | 2018-05-25 | 2019-11-28 | Bao Tran | Smart device |
US11947522B2 (en) * | 2021-10-27 | 2024-04-02 | Mastercard International Incorporated | Method and system for pruning blocks from blockchains for data retention and storage scalability purposes |
-
2022
- 2022-04-21 EP EP22169268.4A patent/EP4266623B1/en active Active
-
2023
- 2023-04-14 US US18/134,996 patent/US11928689B2/en active Active
- 2023-04-21 CN CN202310437485.XA patent/CN116938965A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111919216A (zh) * | 2018-03-30 | 2020-11-10 | 微软技术许可有限责任公司 | 计算机存储系统中的数据的按需去标识 |
EP3709568A1 (en) * | 2019-03-14 | 2020-09-16 | Nokia Technologies Oy | Deleting user data from a blockchain |
CN110399373A (zh) * | 2019-06-26 | 2019-11-01 | 杭州慧牧科技有限公司 | 一种区块链账本存储系统、存储查询方法及删除方法 |
CN111079155A (zh) * | 2019-11-13 | 2020-04-28 | 北京海益同展信息科技有限公司 | 数据处理方法、装置、电子设备和计算机存储介质 |
CN111611260A (zh) * | 2020-06-23 | 2020-09-01 | 上海优扬新媒信息技术有限公司 | 一种区块链数据的删除方法及装置 |
CN111913978A (zh) * | 2020-09-02 | 2020-11-10 | 上海优扬新媒信息技术有限公司 | 一种区块删除方法、装置及系统 |
CN113592639A (zh) * | 2021-05-21 | 2021-11-02 | 上海佩俪信息科技有限公司 | 一种区块链交易删除方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4266623B1 (en) | 2024-08-14 |
EP4266623A1 (en) | 2023-10-25 |
US20230342785A1 (en) | 2023-10-26 |
EP4266623C0 (en) | 2024-08-14 |
US11928689B2 (en) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6877448B2 (ja) | 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム | |
JP7186178B2 (ja) | 安全なブロックチェーンベースのコンセンサス | |
CN109691015B (zh) | 一种区块链上的动态访问控制方法及系统 | |
US11741083B2 (en) | Cross-shard private atomic commit | |
JP2024073535A (ja) | ブロックチェーンを用いる論理ゲート機能の実装 | |
JP2024001326A (ja) | 契約の実行を制御する方法及びシステム | |
CN111144881A (zh) | 对资产转移数据的选择性访问 | |
KR20200013679A (ko) | 스크립트 기반 블록체인 상호작용 | |
WO2018172439A1 (en) | Method for operating a blockchain | |
CN114679282A (zh) | 用区块链实施的用于安全投票和分配的计数系统和方法 | |
US20210391991A1 (en) | Linking identities in a distributed database | |
EP3742321A1 (en) | Storage of measurement datasets and distributed databases | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN117390114B (zh) | 基于区块链的电池护照存储方法、设备及存储介质 | |
Chenli et al. | ProvNet: Networked bi-directional blockchain for data sharing with verifiable provenance | |
Swarnkar et al. | Security, privacy, trust management and performance optimization of blockchain technology | |
CN117043772A (zh) | 区块链数据分离 | |
US12081675B2 (en) | Content use system, permission terminal, browsing terminal, distribution terminal, and content use program | |
US12051061B2 (en) | Method for operating a distributed database system, distributed database system, and industrial automation system | |
Charalampidis et al. | When distributed ledger technology meets internet of things--benefits and challenges | |
CN112425121A (zh) | 关于分布式数据库的使用控制数据网络 | |
CN113826369A (zh) | 对计算机系统的入侵识别 | |
US11928689B2 (en) | Deleting transactions from a distributed ledger | |
US20220271956A1 (en) | Operational safety using a distributed ledger | |
Haga et al. | IoT‐Based Autonomous Pay‐As‐You‐Go Payment System with the Contract Wallet |
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 |