CN112041872A - 在分区区块链网络中维护区块链的区块 - Google Patents
在分区区块链网络中维护区块链的区块 Download PDFInfo
- Publication number
- CN112041872A CN112041872A CN201980028786.9A CN201980028786A CN112041872A CN 112041872 A CN112041872 A CN 112041872A CN 201980028786 A CN201980028786 A CN 201980028786A CN 112041872 A CN112041872 A CN 112041872A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- block
- nodes
- transactions
- 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 abstract description 47
- 238000012795 verification Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 239000012634 fragment Substances 0.000 description 23
- 238000013500 data storage Methods 0.000 description 10
- 238000005065 mining Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 238000000638 solvent extraction Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000000644 propagated effect Effects 0.000 description 5
- 230000001902 propagating effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
Images
Classifications
-
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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/401—Transaction verification
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- 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
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
- Electrotherapy Devices (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Abstract
本发明提供一种计算机实现方法及系统,所述计算机实现方法及系统维护跨分片化区块链网络的多个节点的区块链的多个区块,其中所述节点为多个活跃分片中的一个或多个分片的成员。所述方法及系统使用给定节点生成表示所述区块链新区块的数据并存储表示所述新区块的所述数据,所述给定节点为所述多个活跃分片中的特定子集的成员。此类数据包括:i)作为新区块一部分且与多个活跃分片的特定子集相关联的交易的交易标识符列表,及/或ii)新区块的局部默克尔树。
Description
技术领域
本公开通常涉及处理区块链交易的计算机实现系统和方法,更具体地,涉及对区块链进行分区(partition)以及对分区区块链的交易和区块进行验证的方法和系统。
背景技术
本文件中,术语“区块链”指几种基于计算机的电子分布式账本中的任意一种。这类账本包括基于共识的区块链和交易链技术、经许可和未经许可的账本、共享账本及其变体。尽管已提出并开发了其他区块链实现方式,但区块链技术在目前最广为人知的应用为比特币区块链。尽管在本公开中为了方便和说明可能提及比特币实例,但应注意本公开不限于与比特币区块链一同使用;并且替代的区块链实现方式和协议属于本公开的保护范围。例如,在类似于比特币关于哪些约束条件可以在交易中编码的其他区块链实现方式中,本公开可能有用。
区块链为同级间电子账本,由基于计算机的非集中分布式系统创建和维护。账本由区块组成,而区块依次由交易和其他信息组成。区块链系统或区块链网络包括多个区块链节点和一组操作。区块链节点可用于执行一组操作中的某些或所有操作。各区块链节点可作为计算机硬件、计算机软件或两者的组合实现,由节点运营商运行,其中节点算符可以独立于其他节点算符并与之无关。区块链节点可各自维护区块链账本的副本或区块链账本的某一部分。该组操作可包括创建交易、传播交易、读取区块链账本、评估区块链账本、为区块链账本的拟定添加产生(挖矿)新区块、与其他区块链节点通信以及提供钱包功能以便用户创建交易并管理区块链资产。
区块链账本为非集中式账本,其中无确定何时修改账本的单个区块链节点或实体。相反,区块链节点各自通过区块链协议规则的知识进行编程,以核实区块链账本并确认其他区块链节点采取的措施与那些规则一致。术语“区块链”可以是指区块链账本包括一系列链接区块这一事实,每个链接区块表示计算机内存中可由计算机进程读取并可作为数据传输方式传输的数据结构。区块包括一个或多个交易,也表示计算机内存中可由计算机进程读取并可作为数据传输方式传输的数据结构。区块用链链接,因为被正式添加至区块链的每个新区块包含对前一区块的不可变参考,前一区块包含对其之前一个区块的不可变参考,以此类推。
为了使特定交易包含在已写入区块链的区块中,一个或多个节点验证该特定交易并可能将该交易传播给其他节点,节点挖矿交易的区块,其中该节点包含该特定的交易,而其他节点确认该区块的有效性和该节点中交易的有效性。由于挖矿节点在编程或配置时会考虑到这些规则,挖矿节点不可能将交易包含在可能使该节点无效的节点内,因此,区块不会被其他节点接受并且挖矿节点将不会获得任何好处。例如,在许多区块链网络中,区块可以包含“奖励”交易,其中,指定量的值会分配给挖矿节点的运营商。通过这种方式,成功的矿工通过区块创造的价值得到补偿。此外,交易可包括交易费,交易费也有利于挖矿节点的运营商。
区块链网络中的交易包含各种数据元素,包括值单位和其他数据元素。值单位可以为加密货币(例如,比特币SV),但也可能是利用其他数字资产的其他变体。在非集中、分布式总账系统中,总账可以是公共总账,以便任何人可以查看总账并访问存储在总账区块中的交易。
区块链网络,例如,比特币区块链网络,可能受到交易网络传播延迟造成的性能限制相关交易验证,因为每个交易需要在能传播给其他挖矿节点之前进行验证。而且,随着区块链规模的增长,验证交易和区块的节点的存储要求增多。
发明内容
因此,需要提供通过使用分区(partition)或分片(shard)提高区块链账本可扩展性的改进的系统和方法。
区块链网络在分片中分区使用户能够选择他们自己对区块链网络的参与度。每个用户可以选择成为一个或多个分片的成员。少于所有分片的成员所属用户需要较少的存储空间来存储分配给该用户为分片成员的所有交易。基于分片交易标识符分配交易给分片具有的优势是,产生的分片大小大致相等,据此相对于较小的分片成员可以避免给较大的分片成员产生过度的负担,而同时使交易和相关联验证能够准确进行,而不会造成任何过度延迟。
本文所称的用户可与一个或多个节点或计算装置相关联,并且这些节点也可以称为分区区块链网络中的客户端实体。下文中,提及用户也可以理解为提及与该用户相关联的节点或实体(该节点或实体拥有或控制属于分片式或分区区块链网络一部分的节点或实体)。各节点可以与分区区块链网络中至少一个或多个其他节点可通信地耦合。
本文所讨论的与本公开这一方面和其他方面(如下所述)相关联的这些优势归因于节点的结构、分片化区块链网络得到的网络拓扑和架构以及与网络节点相关联的协议。在该分片化网络中接收、存储及/或验证未花费交易输出使用所描述和要求保护的方法、用于通信、数据存储和数据共享的规则或协议以及用于每个分片内节点的验证技术以及基于与属于不同分片的节点通信的相关联规则和协议来执行。
这些特定结构、数据流方法、交易分配和验证协议将在下文相对于本公开的各种实施例来作进一步解释。有利地,分片化网络结构或架构以及本文所述的用于交易分配以及此类经分配交易在分片化区块链网络中验证的相关联方法能够实现用于数据流、数据存储和未花费交易输出验证检查的新颖技术。此外,这些技术有利地防止双花攻击,例如鉴于结构和数据通信/验证协议的比特币区块链中的女巫攻击。
因此,根据本公开,可提供一种跨分片化区块链网络的多个节点维护区块链的多个区块的计算机实现方法及系统,其中每个节点为多个活跃分片中一个或多个分片的一员。该方法及系统使用作为多个活跃分片的特定子集的成员的给定节点,其中该给定节点用于生成表示该区块链新区块的数据并存储表示该新区块的数据。此类数据包括:i)作为新区块一部分且与多个活跃分片的特定子集相关联的交易的交易标识符列表,及/或ii)新区块的局部默克尔树(Partial Merkle Tree)。i)中的交易标识符列表不包括作为新区块的一部分且与多个活跃分片的特定子集不关联的交易的交易标识符。
在实施例中,i)中的交易标识符列表可通过以下操作来产生:基于包括在新区块中的数据构建新区块的交易标识符的初始列表,并移除与交易对应的任何交易标识符来处理交易标识符的初始列表,该交易不与多个活跃分片的特定子集相关联。
在实施例中,ii)中的局部默克尔树包括从作为新区块的一部分且与多个活跃分片的特定子集不关联的交易导出的散列值,同时省略从作为新区块的一部分且与多个活跃分片的特定子集相关联的交易导出的散列值。
在实施例中,ii)中的局部默克尔树可通过以下操作来产生:基于包括在新区块中的数据构建新区块的完整默克尔树,并处理完整默克尔树以替代从作为新区块的一部分且与多个活跃分片的特定子集相关联的交易导出的散列值的占位符。
在实施例中,处理完整默克尔树可进一步包括从完整默克尔树的底级迭代至根级,移除邻接节点对的两个散列值并留下父散列值。
在实施例中,处理完整默克尔树可进一步包括从完整默克尔树的底级迭代至根级,并替代父树节点的散列值的占位符,该父树节点具有两个子节点,该两个子节点均不表示从与多个活跃分片的特定子集不关联的交易导出的散列值。
在实施例中,节点可操作来处理局部默克尔树,从而在不需要对交易进行存取的情况下计算用于区块验证的默克尔根散列值,此类交易为区块的一部分且与多个活跃分片的特定子集不关联。
在实施例中,处理局部默克尔树以计算默克尔根散列值可涉及从局部默克尔树的底级迭代至根级,用来自i)中的交易标识符列表的对应散列值替换底级中的任何占位符,并用根据局部默克尔树的对应子散列值计算出的散列值替换底级以上层级中的任何占位符。
在实施例中,i)中的交易标识符列表和ii)中的局部默克尔树基于节点成员资格和交易在分片之间的分配在节点之间发生变化。
在实施例中,作为新区块一部分的交易可基于交易标识符与多个活跃分片的多个分片相关联(或分配至该多个分片)。
在其他实施例中,作为新区块一部分的交易基于父区块链交易与多个活跃分片的多个分片相关联(或分配至该多个分片),其中父交易通过与子区块链交易输入对应的输出定义,且其中父交易和子交易均与同一分片相关联。
在实施例中,通过节点维护的区块数据可省略作为节点所不属于的分片的一部分的交易数据,因此节省节点存储空间。因此,一些节点仅对区块链交易的有限子集存储区块链的数据结构,而其他节点则对区块链的所有交易存储数据结构。在这种情况下,对区块链的有限子集存储数据结构的节点的数据存储容量可远小于对整个区块链存储数据结构的节点的数据存储容量。
在实施例中,在生成表示新区块的数据时,节点可验证作为新区块的一部分且与多个活跃分片的特定子集相关联的交易,同时绕过作为新区块的一部分且与多个活跃分片的特定子集不关联的交易的验证。此类处理可减少区块验证操作的计算工作。这种优势连同对区块链网络某些分片减少数据存储容量要求可允许具有计算资源的节点有效参与区块链网络。
因此,根据本公开,提供了一种如随附权利要求所定义的方法。
根据本公开,可提供一种包括处理器、计算机内存和网络接口装置的电子装置。该存储器上已经存储了计算机可执行指令,该计算机可执行指令在执行时配置处理器以执行本文所述的方法。
根据本公开,可提供一种非暂时性计算机可读存储介质。该计算机可读存储介质包括计算机可执行指令,该计算机可执行指令在执行时配置处理器以执行本文所述的方法。
附图说明
通过参考本文所述实施例,本公开的以上方面和其它方面将显而易见并得到阐明。现仅通过示例的方式并参考附图来描述本公开的实施例,其中:
图1A说明可实施各种实施例的区块链网络。
图1B说明区块链账本和代表性区块,其可通过图1A的区块链网络来维护且其中可实施各种实施例。
图2说明说明性分片化区块链网络的节点连同通过此类节点维护的分片化区块链账本的数据结构。
图3A和图3B共同为流程图,说明作为分片化区块链账本(例如,图2的分片化区块链账本)一部分的区块链交易的产生和验证以及挖矿。
图4A和图4B共同为流程图,描述在验证通过矿工的新区块时,由并非所有分片成员的节点执行的操作。
图5为流程图,描述在构建新区块的局部默克尔树时,由并非所有分片的成员的节点执行的操作。
图6A至图6D为图5所示操作的示意图。
图7A至图7D共同为流程图,描述在验证通过节点维护的区块数据时,由并非所有分片的成员的节点执行的操作。此类操作处理区块的局部默克尔树以计算局部默克尔树的默克尔根散列值。
图8A至图8D为图7A至图7D所示操作的示意图。
图9说明可实施各种实施例的计算环境。
具体实施方式
首先参考图1A,其说明根据本公开实施例的与区块链相关联的示例区块链网络100。在实施例中,区块链网络100包含区块链节点,其可能被实施为各自运行软件和/或硬件实例的点对点分布式电子装置,该软件及/或硬件实例执行遵循区块链协议的操作,该区块链协议在区块链节点运营商之间整体或部分地达成协议。在一些示例中,这些分布式电子装置简称为“节点”,例如图1A中的节点102。区块链协议示例为比特币协议。
节点102可通过计算资源服务提供商分布式系统中的多个计算装置或通过图9的计算装置2600等任何合适的电子客户端装置,包含任何合适的计算装置(例如,数据中心中的服务器,诸如桌台式计算机、膝上型计算机、平板计算机、智能电话等客户端计算装置)。节点102可具有输入以接收数据消息或代表交易及/或区块的对象以及与其他节点相关的信息。节点102可查询其维护的信息,诸如其对交易状态的理解。
如图1A所示,一些节点102通信耦合至节点102的一个或多个其他节点。至于哪些节点102可与哪些其他节点通信,这些细节不需要集中地判定。区块链网络100中的活跃节点能够与一或多个其他节点102通信,使得从一个节点102传递至另一节点102的消息可在整个区块链网络100(或该区块链网络的某重要部分)中传播,这就足够了,其中假设该消息为区块链协议指示应被转发的消息。一个此类消息可为发布由节点102A的一个节点提议的交易,该消息将接着沿着诸如路径106的路径传播。另一此类消息可为发布提议包括在区块链上的新区块。
节点102可存储分布式区块链账本(或区块链),其含有与交易对应的数据以及与交易区块对应的数据。节点102可存储区块链账本的完整副本或其一部分。例如,一些节点可存储整个区块链账本的数据,而其他节点可存储仅未花费交易的数据,同时其他节点可维护整个区块链账本。节点102可包括验证其接收到的每个区块以及该区块中交易的功能。一些节点102可为矿工节点,其收集交易并创建交易区块,使得新区块可被添加至区块链账本。矿工节点可能需要执行某项工作,该工作既复杂(以避免恶意节点轻易创建不当区块)又取决于所包括交易的数据(使得恶意节点无法提前执行复杂操作),其中其他节点可以轻松验证这些任务的执行。在创建新区块时,多个矿工节点有可能竞争来执行必要的工作。这被称为“工作量证明”挖矿。替代地,新区块的矿工节点可以确定性的方式选择,具体取决于也被定义为权益的新区块的价值。这被称为“权益证明”挖矿或锻造。矿工节点将新区块传播至其他节点进行验证。其他节点验证新区块和嵌入新区块中的交易。若通过节点执行的验证操作成功,则节点将新区块添加至区块链并将新区块传播至其他节点。这将新区块提交至区块链账本。
在一些示例中,区块为常常用前一区块的时间戳和“指纹”(例如,散列)标记的交易分组。通过这种方式,每个区块变为链接至前一区块,从而产生链接区块链账本中区块的“链”。每个区块包括指区块交易组的数据(例如,交易标识符)。在实施例中,有效区块通过区块链网络中节点的共识添加至区块链账本。同样,在一些示例中,区块链账本包含经验证区块的有序列表。图1B说明具有三个区块1221、1223、1223的链的区块链账本1216。应注意,区块1222包括指区块1222的交易组的数据(例如,区块头(block header)1230和交易标识符1231(1)、1231(2)、1231(3)……)。
本公开旨在通过使用分区来改善区块链账本的可扩展性。本领域的分区考虑两个特定维度:水平和垂直。在水平分区中,数据被划分为称作分片的不同区段,这些分片实际上是特定数据库方案的多个实例,其中数据分布在这些实例中的每个实例上(不考虑实例冗余)。在垂直分区中,给定数据库方案分布在多个节点上,从而使得特定对象的属性使用规范化来分布。
本公开将水平分区方案用于被称作“分片”的相关联节点组之间区块链账本的数据结构。每个分片都指派有唯一标识符。存在一个涵盖所有分片的被称作“所有分片”的组。区块链网络的每个节点可属于一个或多个分片(包括“所有分片”组)。属于分片的节点可称为该分片的成员。在图2的示例中,节点A1和A2为分片A的成员(属于分片A),节点B1和B2为分片B的成员(属于分片B),节点C为分片A和B的成员(属于分片A和B),节点D为“所有分片”组的成员(属于“所有分片”组)。也可以使用其他分片。此外,每个节点用于存储与其所属一个或多个分片对应的区块链账本的数据结构。在图2的示例中,区块链账本的数据结构包括分片的比特币相关数据结构,该数据结构包括分片的未花费交易输出集、分片的交易队列(内存池)、分片的交易数据(标记为交易数据)和分片的区块数据。分片的未花费交易输出集表示可作为新交易输入而花费的未花费交易输出(UTXO)。
在本文所述的实施例中,通过给定节点维护的区块数据包括给定节点所属的一个或多个分片的区块数据。该区块数据包括表示区块链账本区块的数据,并且可包括每个区块的以下数据:i)包括局部默克尔树连同区块其他数据的区块头,及/或ii)作为区块一部分的交易的交易标识符列表;该列表包括仅对作为区块一部分且与给定节点所属一个或多个分片相关联的交易的交易标识符;该列表不包括对作为区块的一部分且不与给定节点所属一个或多个分片相关联的交易的交易标识符。存储在区块头中的局部默克尔树包括从作为区块的一部分且与给定节点所不属于的一个或多个分片相关联的交易导出的散列值,但省略从作为区块的一部分且与给定节点所属一个或多个分片相关联的交易导出的散列值。局部默克尔树可用于在不需要对交易进行存取的情况下允许节点计算用于区块验证的区块默克尔根散列值,该交易为区块的一部分且与节点所属一个或多个分片不关联。这样,通过不同分片的节点存储为区块数据一部分的给定区块的i)的局部默克尔树和ii)的列表可基于节点成员资格和分片之间交易的分布在节点之间发生变化。有利地,鉴于分片化区块链网络的狭窄性以及用于建立每个节点可储存也可不储存的信息的本文所述协议,使用区块的与区块头相关联的局部默克尔树和其他数据(如本实施例所述)是可能的,以便仍准确地保存并使用待验证和传播的区块的必要详细信息,而不需要每个节点存储并验证与给定交易相关的所有未花费交易输出。如本文将进一步解释的,用于处理区块信息的局部默克尔树的创建和使用通过以下内容来促进:分片化网络的这种结构,通过分片化网络内用于同一分片内通信和数据流的节点应用的协议,外加用于与节点相关联的分片外部的一个或多个节点通信和数据流的其他协议。
在图2的示例中,节点A1和A2存储分片A的未花费交易输出集的副本、分片A的交易队列(内存池)的副本、分片A的交易数据的副本和分片A的区块数据的副本。节点A1和A2不存储以下内容:其他分片(分片A除外)的未花费交易输出集的副本、其他分片(分片A除外)的交易队列(内存池)的副和其他分片(分片A除外)的交易数据的副本。此外,分片A的区块数据包括表示区块链账本区块的数据,并且可包括每个区块的以下数据:i)包括局部默克尔树连同区块其他数据的区块头,和ii)作为区块一部分的交易的交易标识符列表;该列表包括仅对作为区块的一部分且与分片A相关联的交易的交易标识符;该列表不包括对作为区块的一部分且与分片A不关联的交易的交易标识符。存储在区块头中的局部默克尔树包括从作为区块的一部分且与分片A不关联的交易导出的散列值,但省略从作为区块的一部分且与分片A相关联的交易导出的散列值。
节点B1和B2存储分片B的未花费交易输出集的副本、分片B的交易队列(内存池)的副本、分片B的交易数据的复本和分片B的区块数据的副本。节点B1和B2不存储以下内容:其他分片(分片B除外)的未花费交易输出集的副本、其他分片(分片B除外)的交易队列(内存池)的副本和其他分片(分片B除外)的交易数据的副本。此外,分片B的区块数据包括表示区块链账本区块的数据,并且可包括每个区块的以下数据:i)包括局部默克尔树连同区块其他数据的区块头,和ii)作为区块一部分的交易的交易标识符列表;该列表包括仅对作为区块的一部分且与分片B相关联的交易的交易标识符;该列表不包括对作为区块的一部分且与分片B不关联的交易的交易标识符。存储在区块头中的局部默克尔树包括从作为区块的一部分且与分片B不关联的交易导出的散列值,但省略从作为区块的一部分且与分片B相关联的交易导出的散列值。
节点C存储分片A的未花费交易输出集的副本、分片B的未花费交易输出集的副本、分片A的交易队列(内存池)的副本、分片B的交易队列(内存池)的副本、分片A的交易数据的副本、分片B的交易数据的副本以及分片A和B的区块数据的副本。节点C不存储以下内容:其他分片(分片A和B除外)的未花费交易输出集的副本、其他分片(分片A和B除外)的交易队列(内存池)的副和其他分片(分片A和B除外)的交易数据的副本。此外,分片A和B的区块数据包括表示区块链账本区块的数据,并且可包括每个区块的以下数据:i)包括局部默克尔树连同区块其他数据的区块头,和ii)作为区块一部分的交易的交易标识符列表;该列表包括仅对作为区块的一部分且与分片A或B相关联的交易的交易标识符;该列表不包括对作为区块的一部分且与分片A或B不关联的交易的交易标识符。存储在区块头中的局部默克尔树包括从作为区块的一部分且与分片A或B不关联的交易导出的散列值,但省略从作为区块的一部分且与分片A或B相关联的交易导出的散列值。
节点D存储所有分片的未花费交易输出集的副本、所有分片的交易队列(内存池)的副本、所有分片的交易数据的复本和所有分片的区块数据的副本。
应注意,通过节点维护的区块数据可省略作为节点所不属于的分片的一部分的交易数据,因此节省节点存储空间。因此,一些节点(例如,节点A1、A2、B1、B2、C)仅对区块链账本交易的有限子集存储区块链账本的数据结构,而其他节点(例如,节点D)则对区块链账本的所有交易存储数据结构。在这种情况下,对区块链账本的有限子集存储数据结构的节点(例如,节点A1、A2、B1、B2、C)的数据存储容量可远小于对整个区块链账本存储数据结构的节点(例如,节点D)的数据存储容量。应注意,在其他区块链账本中,可对不同分片存储和维护其他数据结构。
图2的水平分区方案允许节点运营商选取或选择成为区块链网络的一个或多个分片的成员。这允许数据存储容量有限的小型当事人(如爱好者)选择成为单个分片的成员,而数据存储容量较大的大型当事人(如金融机构)可选取或选择成为所有分片的成员。
此外,每个节点用于执行仅验证与节点所属一个或多个分片相关联的那些交易的区块验证操作。在此类操作中,与节点所不属于的另一分片相关联的任何交易的验证被绕过且不影响节点是否认为区块有效。这种情况下,选择成为单个分片成员的运营商通过验证区块链账本中交易的有限集合而具有较轻权重的安全参与度,而选择成为所有分片成员的运营商通过验证区块链账本中的所有交易而具有较高的安全参与度。
应注意,节点可用于与单个分片内的多个其他节点通信,以防止女巫攻击。这些攻击可有效忽略发送自节点的交易,从而防止其通过网络进一步传播。给定分片中的一个或多个节点也可被指派来交换与其他分片中节点相关的信息,且此类指派可随时间在给定分片中的节点之间轮换。每个节点可将其接收到的每笔交易广播至其耦合的其他节点,且若该给定节点并非该分片的成员,则其在向前传播交易之前执行基本交易层检查,而非进行完整的交易验证。
在不同或特定时间/实例中,关于其他节点的详细信息也可在特定分片中的节点之间共享。这是使用addr协议消息的修改版本,根据本公开的第二实施例来执行的。当前作为比特币协议的一部分存在的addr消息的实现用于列出或标识一个或多个IP地址和端口。例如,getaddr请求可用于获取含有一群已知活跃对等者的addr消息(例如,用于引导)。addr消息通常只含有一个地址,但有时含有许多地址,并在一些示例中含有多达1000个地址。在一些示例中,所有节点周期性地(即每24小时)广播一次含有其自身IP地址的addr。然后,节点可将这些消息传递至其对等者,并可在消息对于节点而言为新消息的情况下存储所传递的地址。这样,在网络中的节点可合理清楚地知道,在连接至网络之时或之后,哪些IP被连接至网络。在大多数情况下,IP地址因为初始addr广播而被添加至每个人的地址数据库中。
除上述内容外,根据本公开的经修改addr协议的实现可能能够传输关于特定节点所属分片的额外信息。例如,在经修改addr协议中,当诸如图1b的共享网络中的节点加入网络中的特定分片时,作为addr消息的一部分而广播的内容也可包括标识节点为其成员的一个或多个分片的字段。因此,此信息也响应于来自图1b的网络中对等者的getaddr请求而被返回。如第一实施例所讨论的,此信息可基于数据结构,该数据结构与每个节点及/或节点与之相关联的每个分片相关联。
图3A和图3B共同为流程图,说明作为分片化区块链账本(例如,图2的分片化区块链账本)一部分的区块链交易的产生和验证以及挖矿。
在框301中,客户端节点生成区块链交易,其中区块链交易与区块链网络的一个或多个分片相关联(或指派或分配给该一个或多个分片)。与有效区块链交易相关联的分片可以是与区块链交易自身相关联的分片,也可以是与有效区块链交易的一个或多个交易输入或交易输出相关联的分片。例如,在一个实施例中,与有效区块链交易相关联的分片可基于区块链交易的交易标识符,该交易标识符通过将SHA256函数应用于区块链交易的交易数据来创建。更具体而言,与有效区块链交易相关联的分片可通过将区块链网络上当前活跃分片的数量的模量应用于交易标识符来判定,即,分片标识符=TX ID mod n,其中n为当前活跃分片的数量。在另一实施例中,与有效区块链交易相关联的分片可基于区块链交易的第一或其他输入以及输入引用的较早交易的输出。在这种情况下,其输出被后续交易的第一输入引用的交易被称为“父”交易,后续交易则被称为“子”交易。应注意,使用第一输入来定义父交易对于该方法而言并非必需;如果存在多个输入,可选择任何输入来执行该方法。例如,若子交易的特定数量的输入引用与父交易相同的分片中的交易输出,则较早交易可定义为子交易的父交易。输入的数量可定义子交易的大部分输入。英国专利申请1806907.0和英国专利申请1806909.6阐述了这些机制的详细信息,这两项申请共同转让给了本申请的受让人并以全文引用的方式并入本文。在另外的其他实施例中,其他机制可用于将区块链交易与区块链网络的一个或多个分片相关联起来。
在框303中,客户端节点广播区块链交易以便与属于与区块链交易相关联的一个或多个分片的节点(并且可能与属于与区块链交易不关联的分片的其他节点)通信。
在框305中,属于与区块链交易相关联的一个或多个分片的节点接收区块链交易。
在框307中,属于与区块链交易相关联的一个或多个分片的节点验证接收到的区块链交易或其部分,并且每个此类节点在接收到的区块链交易或其部分被视为有效时,将区块链交易传播至其所属分片中的其他节点。
在一个实施例(称为“交易分片验证”)中,框307的交易验证通过分片来执行,交易与该分片相关联或分配至该分片。如上所述,交易可使用应用于交易的交易标识符的模函数的结果来与分片相关联(或指派给该分片)。因为交易可具有来自不同分片的输入,所以节点可与其他分片的节点通信来进行未花费交易输出检查。具体而言,属于一个或多个分片的节点可对属于其他分片的节点提出请求来获取其他分片的未花费交易输出集。若节点都不具有所请求的未花费交易输出集,则给出空响应,且认为所涉交易无效。在认为交易输入有效的情况下,交易被添加至分片的交易队列(内存池),交易与该分片相关联或分配至该分片(框309),且交易被传播至该分片中的其他节点(框311)。
在另一实施例(称为“基于未花费交易输出分片的验证”)中,框307的交易验证基于与未花费交易输出集相关的输入验证交易,该集合在与执行验证的节点相同的分片中。与不同分片中的未花费交易输出集相关的输入并不予以验证。每个输入的验证可涉及检查确认被引用输出的未花费交易输出尚未花费,验证(例如,脚本验证)输入是否经授权收集被引用输出的值以及若干其他检查。在输入无效的情况下(诸如当与输入相关的未花费交易输出不存在,交易输出的值大于对应输入的未花费交易输出,或存在脚本错误时),交易将被丢弃且不会传播至同一分片中的其他节点。若认为输入有效,交易被添加至执行验证的节点的分片的交易队列(内存池)(框309),且交易被传播至该分片中的其他节点(框311)。
英国专利申请1806911.2和英国专利申请1806914.6阐述了“交易分片验证”实施例和“基于未花费交易输出分片的验证”实施例的详细内容,这两项申请共同转让给了本申请的受让人并以全文引用的方式并入本文。
在实施例中,框307的交易验证也可涉及与交易整体相关的检查,诸如检查交易的语法和数据结构是否正确,检查交易是否小于所允许的区块大小且大于或等于100个字节,以及检查锁定时间是否小于最大允许值。
在框309中,属于与有效区块链交易相关联的分片的节点将该有效区块链交易添加至与有效区块链交易相关联的分片的交易队列(内存池)。
在框311中,一个或多个节点(例如,矿工)根据所有分片的交易队列(内存池)(例如,“所有分片”的内存池)形成区块并将该新区块传播至其他节点。
在框313中,节点接收新区块,并根据共识协议处理新区块以进行区块验证和提交区块。
图4A和图4B共同为流程图,描述在验证对并非为所有分片成员的节点而通过矿工产生的新区块时,图3A和图3B的框313的操作。在这种情况下,节点属于活跃分片的有限子集,因此不属于一或多个活跃分片。应注意,为所有分片成员的任何节点均可使用熟知的区块验证过程验证新区块。
在框401中,节点接收新区块。在实施例中,区块包括区块头,并列出表示区块的TX标识符的有序序列的数据。在如图2所示的比特币式分布式区块链系统中,区块头可包括以下数据字段:
[1]区块版本号,其指示要遵循哪一组区块验证规则;
[2]前一区块标头散列,其为前一区块标头的内部字节顺序的SHA256(SHA256())散列。此举确保如不改变该区块的标头(header),就不能改变前一区块;
[3]从包括在区块中的所有交易散列导出的默克尔根散列,从而确保在不修改标头的情况下均不能修改此类交易;
[4]区块时间,其为矿工开始使标头散列(根据矿工)的Unix出现时间;
[5]nBits,其为该标头散列必须小于或等于的目标阈值的编码版本;以及
[6]随机数,其为矿工进行更改以修改标头散列,从而产生小于或等于目标阈值的散列的任意数目。
图6A示出了具有字段的示例区块。
在框403中,节点提取存储于框401中接收到的区块中的表示交易标识符(“TX标识符”或“IX Id”)的有序序列列表。图6A示意性地示出了区块交易标识符的示例列表。
在框405中,节点生成表示框403中提取的区块交易标识符的有序序列的完整默克尔树数据。完整默克尔树为具有叶节点有序序列的树,叶节点与区块交易标识符的有序序列对应。各叶节点包括对应交易标识符参考的交易数据散列,且每个非叶节点包括其子节点散列值的密码散列。在从叶(底部)至根部向上延伸的多个层级上以逻辑方式组织完整默克尔树的非叶节点,且众所周知的是,根部存储完整默克尔树的根散列值。图6A示意性地示出了区块的示例完整默克尔树。
在框407中,节点提取存储于框401中接收的区块标头中的默克尔根散列值,且节点对提取的默克尔根散列值与框405中生成的完整默克尔树的根散列值进行比较。
在框409中,节点对框407的比较值进行评估,以确定提取的默克尔根散列值与框405中生成的完整默克尔树的根散列值是否匹配。若否,则操作继续至区块439及441。若是,则操作继续至框411。
在框411中,节点评估区块有效性的其他标头条件。
在框413中,节点检查确认框411的评估,以确定是否满足区块有效性的其他标头条件。若否,则操作继续至框439及441。若是,则操作继续至框415。
在框415中,节点配置通过框403中提取的区块交易标识符的有序序列的循环,且在循环中对每个给定交易标识符执行框417至425的操作。
在框417中,节点识别与给定交易标识符参考的交易对应的分片。与交易对应的分片可为与交易自身相关联的分片或与一个或多个交易输入或交易输出相关联的分片。针对图3A及图3B中的框301,上文描述了可用于指定交易与一或多个分片之间的相关联(或对应)的机构的示例。
在框419中,节点检查确认其是否属于框417中识别的分片。若否,则操作继续至框421。若是,则操作继续至框422。
在框421中,节点从如在框403中提取的区块交易标识符的有序序列移除给定交易标识符,且操作继续至框425。
在框423中,节点检查给定交易标识符参考的交易是否有效。若确定给定交易标识符参考的交易有效,则操作继续至框425。若否,则操作继续至框439及441。在实施例中,节点可检查确认给定交易标识符参考的交易存储于节点所属的分片的交易队列(内存池)中。若是,则交易可视为有效的,且操作继续至框425。若否,则节点可与网络的另一节点通信,以请求并获得交易副本。收到后,节点便可执行用于验证接收到的交易操作。根据图3A及图3B的框307,对验证操作的示例进行描述。如交易被视为有效,则操作继续至框425。在交易视为无效的情况下,操作继续至框439及441。
在框425中,节点检查所有交易标识符是否已在通过在框415中配置的交易标识符的有序序列的循环中进行了处理。若否,则操作返回至框415,以继续列表中下一交易标识符的循环。若是,则操作继续至框427。
请注意,框419至425的操作检查与节点属于的分片相关的交易的有效性,且因此略过检查与节点不属于的分片相关的交易验证。
在框427中,节点可生成且存储将区块标记为有效的数据。
在框429中,节点存储包括区块交易标识符的结果列表的数据。交易标识符的结果列表可省略与节点不属于的分片相关联的交易标识符,且因此避免存储区块交易标识符的有序序列的完整列表。
在框431中,节点导出表示区块局部默克尔树的数据。下文参考图5来详细描述该操作。
在框433中,节点更新区块的标头数据,以包括框431中导出的区块的局部默克尔树。
在框435中,节点存储表示区块的数据(包括框433中采用区块的局部默克尔树更新的标头,及包括框429中存储的区块的结果列表数据),数据作为节点所属一个或多个分片的区块数据的一部分。此类操作可存储表示区块至永久存储器,例如磁盘或其他形式等永久数据存储器。图6D示意性地示出了表示区块的示例标头数据和交易列表数据。
请注意,框431的局部默克尔树可省略从与节点不属于的分片相关联的交易导出的分支,且包括沿分支的占位符(针对散列值),所属占位符从与节点所属的分片相关联的交易导出。因此,在许多情况下,局部默克尔树的节点及层级相对于完整默克尔树的常规形式是不平衡的。重要的是,减小完整默克尔树以产生局部默克尔树的操作,可用于减少节点所属的一个或多个分片的区块数据标头中的局部默克尔树的存储要求。由于默克尔树分支为分支或分支下面的叶的级联及散列的结果,因此可基于树中的完整路径来减少完整默克尔树。如分支导致形成充分完整叶,则可移除分支,从而仅留下其散列。可移除从默克尔根部至叶的散列,从而可通过替换占位符再次产生局部默克尔树的根散列。通过执行该程序,可通过减小局部默克尔树中存储的散列数目,从而降低存储要求。
在框437中,节点可将如在框401中接收的新区块传播至其他节点。
在框439中,节点可生成且存储将区块标记为无效的数据。
在框441中,节点可舍弃表示无效区块的数据,且避免将无效区块传播至其他节点。节点也可舍弃如分配至分片的属于无效区块的一或多个交易的交易数据,且在适当时将交易的未花费交易输出返回至分片的未花费交易输出集。
图5为说明通过节点执行以导出表示区块的局部默克尔树数据的示例性操作流程图。
在框501中,节点读取区块头及区块交易标识符的有序列表。
在框503中,节点使用如在框501中读取的区块交易标识符的列表生成表示区块的完整默克尔树的数据。
在框505中,节点配置通过区块交易标识符的有序列表的交易标识符的循环,交易标识符与完整默克尔树的底级中的散列值对应(从左到右)。循环对列表中的每个给定交易标识符执行框507至框513的操作。
在框507中,节点检查给定交易标识符参考的交易是否与节点所属分片对应。上文关于图3A和3B的框301描述了可用于指定交易与一个或多个碎片之间的相关联或对应的机制的示例。若给定交易标识符参考的交易与节点所属分片不对应,则操作继续至框509及框513。若给定交易标识符参考的交易的确与节点所属分片对应,则操作继续至框511。
在框511中,节点用占位符替换列表的给定交易标识符(散列值),且操作继续至框513。占位符为相对于列表交易标识符的编码大小具有较小编码大小的数据值或字符。占位符还被配置为可轻易地从列表的交易标识符的允许值中识别出来。在实施例中,占位符可为空值或特定字符。理想情况下,占位符应提供相对于256位散列的最大空间减小。或者,占位符可以提供相对于256位散列的一些其他最小到最大空间减小。
在框513中,节点检查任何交易标识符是否保持在框505中配置的通过交易标识符的循环中进行处理。若是,则操作返回至框505,以继续列表中下一交易标识符的循环。若否,则操作继续至框515。
请注意,框507至513的操作用于从完整默克尔树的底部(叶)级中的交易标识符的占位符替代与节点所属分片对应的交易。
在框515中,节点将默克尔树当前级指针设置为由框503中生成的数据表示的完整默克尔树的底部(或叶节点级)。
在框517中,节点检查默克尔树当前级指针是否指向完整默克尔树的根级。若否,则操作继续至框533。若是,则操作继续至框519。
在框519中,节点配置在(由默克尔树当前级指针参考的)完整默克尔树的当前级通过邻接节点对的循环。该循环在完整默克尔树的当前级对每个给定邻接节点对执行框521至529的操作。
在框521中,节点检查确认给定邻接节点对的两个节点是否各自含有散列值(如与占位符区分)。请注意,在完整默克尔树的底级的邻接节点对的节点指由如上文所述的框505至框513的操作产生的交易及占位符的有序列表中的对应元素,其中通过由使交易及占位符的列表中的位置与完整默克尔树的底级中叶节点位置(从左到右)匹配来决定对应关系。若未满足该条件,则在框523中单独留下给定邻接节点对的两个节点,在框525中采用占位符替换给定邻接节点对的父树节点的散列值,且操作继续至框529。若满足该条件,则节点移除给定邻接节点对的两个节点,且在框527中单独留下邻接节点对的父树节点的散列值,且操作继续至框529。
在框529中,节点检查在完整默克尔树的当前级的任何更多邻接节点是否保持在框519中配置的邻接节点对的循环中进行处理。若是,则操作返回至框519,以继续在完整默克尔树的当前级的邻接节点对的循环。若否,则操作继续至框531。
在框531中,节点调整默克尔树当前级指针,以指向完整默克尔树的下一级,且操作继续,以对完整默克尔树的下一级重复框517至529的操作。
在框533中,节点用占位符替换或替代完整默克尔树的根节点散列值,且操作结束。
图6A示出了示例性区块的完整默克尔树。
图6B示出了对图6A的示例性区块的完整默克尔树进行图5的流程图的框519至框529的操作的结果。在这些操作中,占位符替换了完整默克尔树的底级中六个交易的散列值(交易标识符),其中这些交易与节点所属分片对应。
图6C示出了对图6A的完整默克尔树进行图5的流程图的框519至框529的操作的结果。在这些操作中,已经移除完整默克尔树的底级中的两个邻接散列值(位于完整默克尔树的左侧),因为此类散列值是从不与节点所属分片对应的交易导出的。此外,在邻接节点均不具有对应散列值且因此从与节点所属分片对应的至少一个交易导出的三种情况下,占位符已经替换了完整默克尔树第二级中的邻接叶节点的父节点(位于完整默克尔树的左侧)。
图6D示出了局部默克尔树,其为图6A的完整默克尔树的图5中的流程图的操作结果。
图7A至图7C共同为流程图,说明通过并非所有分片成员的节点执行的操作,以验证作为分片化区块链账本(例如图2中的分片化区块链账本)一部分存储的区块。在这种情况下,节点属于活跃分片的有限子集,因此不属于一或多个活跃分片。应注意,为所有分片成员的任何节点均可使用熟知的区块验证过程验证新区块。
在框701中,节点从节点所属分片的区块数据读取区块。区块数据包括区块头,其包括表示区块局部默克尔树的数据。区块头可同样包括其他字段。区块数据也包括交易的交易标识符的有序列表,交易标识符为交易的一部分且与节点所属分片对应。图8A示意性地示出了示例区块数据。
在框703中,节点提取如存储于框701中读取的区块数据中的区块交易标识符的序列列表。交易标识符列表可省略作为区块一部分且与节点不属于的一个或多个分片对应的交易,且因此避免存储区块的交易标识符的有序序列的完整列表。
在框705中,节点提取表示如存储于框701中读取的区块数据中的区块局部默克尔树的数据。
在框707中,节点设定局部默克尔树当前级指针为如通过框705中提取的数据表示的局部默克尔树的底级。
在框709中,节点配置通过在局部完整默克尔树的当前级(为框707中设定的局部默克尔树当前级指针参考的底级)的树节点的循环。该循环在局部默克尔树的底级对每个给定树节点执行框711至717的操作。
在框711中,节点检查确认给定树节点是否为占位符。若否,则节点在框713中跳过树节点,且继续至框717。若是,则节点继续至节点用在框703中提取列表的对应交易标识符(散列值)替换占位符的框715,且操作继续至框717。请注意,可通过局部默克尔树的底级中占位符的排序与在框703中提取列表中的交易标识符的排序之间的对应关系,确定占位符与在框703中提取列表中的交易标识符(散列值))之间的对应关系。
在框717中,节点检查在局部默克尔树的当前级(由局部默克尔树当前级指针参考)的任何更多树节点是否在框709中配置的通过树节点的循环中保持为待处理。若是,则操作返回至框709,以继续下一树节点的循环。若否,则操作继续至框719。
在框719中,节点设定局部默克尔树当前级指针至如通过在框705中提取的数据表示的局部默克尔树的下一级(高于底部叶节点级的层级)。
在框721中,节点检查确认局部默克尔树当前级指针是否指向局部默克尔树中的根级。若是,则操作继续至框735。若否,则操作继续至框723。
在框723中,节点配置通过在局部完整默克尔树当前级的树节点的循环(由在框719或733中设定的局部默克尔树当前级指针参考)。该循环对在局部默克尔树的当前级的给定树节点执行框725至框731的操作。
在框725中,节点检查确认给定树节点是否为占位符。若否,则在框727中,节点跳过树节点,且继续至框731。若是,则节点继续至节点基于给定树节点的两个子节点的散列值计算散列值且用计算所得散列值替换占位符的框729,且操作继续至框729。
在框729中,节点检查在局部默克尔树的当前级(由局部默克尔树当前级指针参考)的任何更多树节点是否在框723中配置的通过树节点的循环中保持为待处理。若是,则操作返回至框723,以继续下一树节点的循环。若否,则操作继续至框733。
在框733中,节点调整局部默克尔树当前级指针以指向局部默克尔树的下一级,且操作返回至框721以处理局部默克尔树中的下一级。
在框735中,节点基于如从框709至731的操作确定的根节点的两个子节点计算散列值,且用计算所得散列值替换根节点的占位符。
在框737中,节点提取作为在框701中读取的区块数据一部分存储于区块标头中的默克尔根散列值,且节点对提取的默克尔根散列值与在框735中计算的局部默克尔树的根散列值进行比较。
在框739中,节点对框737的比较值进行评估,以确定提取的默克尔根散列值与框735中计算的局部默克尔树的根散列值是否匹配。若是,则操作继续至框741。若否,则操作继续至框755及757。
在框741中,节点评估区块有效性的其他标头条件。
在框743中,节点检查确认框741的评估,以确定是否满足区块有效性的所有其他标头条件。若是,则操作继续至框745。若否,则操作继续至框755及757。
在框745中,节点配置通过在框703中提取的交易标识符的列表的循环。交易标识符列表可能省略与节点不属于的分片相关联的交易,且因此避免存储区块交易标识符的有序序列的完整列表。该循环对此列表中的给定交易标识符执行框747至749的操作。
在框747中,节点检查给定交易标识符参考的交易是否有效。若确定给定交易标识符参考的交易确定有效,则操作继续至框749。若否,则操作继续至框755及757。在实施例中,节点可检查确认给定交易标识符参考的交易存储于节点所属的分片的交易队列(内存池)中。在交易被视为有效的情况下,操作继续至框749。若否,则节点可与网络的另一节点通信,以请求并获得交易副本。收到后,节点便可执行用于验证接收到的交易操作。参见图3A及图3B的框307,在上文中描述该验证操作示例。如交易被视为是有效的,则操作继续至框749。如交易被视为无效的,则操作继续至框755及757。
在框749中,节点检查任何交易标识符是否在框745中配置的通过交易标识符的循环中保持为待处理。若是,则操作返回至框745,以继续列表中下一交易标识符的循环。若否,则操作继续至框751及753。
在框751中,节点生成且存储将区块标记为有效的数据。
在框753中,节点可传播表示有效区块的数据至属于与节点相同的分片集的其他节点。
在框755中,节点生成且存储将区块标记为无效的数据。
在框757中,节点可舍弃表示无效区块的区块数据,且避免将表示无效区块的区块数据传播至其他节点。节点也可舍弃如分配至分片的作为无效区块一部分的一个或多个交易的交易数据,且在适当时将该交易的未花费交易输出传回至分片的未花费交易输出集。
图8A示出了示例性区块的局部默克尔树。
图8B示出了对图8A的局部默克尔树进行图7A至图7D的流程图的框709至框717的操作的结果。在这些操作中,采用了在框703中提取的作为交易标识符列表一部分的对应散列值(交易标识符)替换局部默克尔树的较低(叶)级中的五个占位符。
图8C示出了对图8A的局部默克尔树进行图7A至图7D的流程图的框723至框731的操作的结果。在这些操作中,采用了子节点散列值导出的散列值替换局部默克尔树第二级中的三个占位符。
图8D示出了对图8A的局部默克尔树进行图7A至图7D的流程图的框723至框737的操作结果。在这些操作中,局部默克尔树根部的散列值从子节点散列值导出,且与存储于区块的区块头中的默克尔根散列值进行比较以供验证。
图9为可用于实践本公开的至少一个实施例的计算装置2600的示例性简化方框图。在各种实施例中,计算装置2600用于可实现上文说明和描述的任何系统。例如,计算装置2600可配置为用作数据服务器、网络服务器、便携式计算装置、个人计算机或任何电子计算装置。如图9所示,计算装置2600可包括可通过总线子系统2604与若干外围子系统通信且以在操作上耦合至该若干外围子系统的一个或多个处理器2602。作为如本文所述的验证开销交易的一部分,处理器2602可用于处理解锁和锁定脚本。外围子系统可包括存储子系统2606,包含内存子系统2608及文件/磁盘存储子系统2610、一个或多个用户接口输入装置2612、一个或多个用户接口输出装置2614,以及网络接口子系统2616。存储子系统2606可用于临时或长期性存储信息,例如与本公开描述的与交易及区块相关的详细内容。
总线子系统2604可提供用于使计算装置2600的所有组件及子系统能够按预期相互通信的机制。尽管总线子系统2604示意性地显示为单个总线,但总线子系统的替代实施例可采用多个总线。网络接口子系统2616可向其他计算装置和网络提供接口。网络接口子系统2616可用作从计算装置2600的其他系统收发数据的接口。举例而言,网络接口子系统2616可使数据技术员能够将装置连接至无线网络,使得数据技术员能够在处于远程位置(例如,用户数据中心)时传输及接收数据。总线子系统2604可用于将详细信息、搜寻项目等数据传送至本公开的监督模型,且可用于通过网络接口子系统2616将监督模型的输出传送至一个或多个处理器2602及商家及/或债权人。
用户接口输入装置2612可包括一个或多个用户输入设备,例如键盘;指示装置,如集成鼠标、跟踪球、触摸板或图形输入板;扫描仪;条形码扫描仪;与显示器整合的触摸屏;音频输入装置,如语音识别系统和麦克风;和其他各类输入装置。一般而言,术语“输入装置”意在包括将信息输入至计算装置2600的所有可能类型的装置和机构。一个或多个用户接口输出装置2614可包括显示器子系统、打印机或音频输出装置等非可视化显示器。显示器子系统可以是阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)显示器、投影或其他显示装置等平板装置。一般而言,术语“输出设备”意在包括从计算装置2600输出信息的所有可能类型的装置和机构。例如,一个或多个用户接口输出装置2614可用于呈现用户接口,以便于用户与执行所述进程和其中的变化的应用程序交互(当这种交互可能适当时)。
存储子系统2606可提供用于存储可提供本公开的至少一个实施例的功能性基本程序设计及数据建构的计算机可读存储介质。当由一个或多个处理器执行应用程序时,这些应用程序(如程序、代码模块和指令)可提供本公开的一个或多个实施例的功能性,并能存储在存储子系统2606中。这些应用模块或指令可通过一个或多个处理器2602执行。存储子系统2606还可以提供用于存储根据本公开使用的数据的存储库。存储子系统2606可包括内存子系统2608及文件/磁盘存储子系统2610。
内存子系统2608可包括若干内存,包括用于在程序执行期间存储指令及数据的主随机存取存储器(RAM)2618及可存储固定指令的只读存储器(ROM)2620。文件/磁盘存储子系统2610可提供用于程序及数据文件的非暂时性永久(非易失性)存储器,且可包括硬盘机、连同相关可移动介质的软盘驱动器、光盘只读存储器(CD-ROM)驱动器、光驱、可移动介质盒及其他类似存储介质。
计算装置2600可包括至少一个本地时钟2624。本地时钟2624可为表示已从特定开始日期发生的滴答声数目的计数器,且可整体位于计算装置2600内。本地时钟2624可用于以特定频率脉冲对计算装置2600的处理器与其中包括的所有子系统中的数据传送进行同步,且可用于协调计算装置2600与数据中心中其他系统之间的同步操作。在一个实施例中,本地时钟2624为原子钟。在另一实施例中,本地时钟为一可编程间隔定时器。
计算装置2600可包括便携式计算机装置、平板计算机、工作站或下文所描述的任何其他装置等各类装置。另外,计算装置2600可包括通过一个或多个端口(如,USB、耳机接口、闪电接口等)可与计算装置2600相连的另一装置。可与计算装置2600相连的装置可包括用于接插光纤连接器的多个端口。因此,所述装置可用于将光信号转换成电信号,然后可通过连接该装置与计算装置2600的端口传输电信号,以进行处理。归因于计算机及网络不断改变的本质,出于说明装置的较佳实施例之目的,图9所示的计算装置2600的描述仅意图作为特定示例。具有比图9所示的系统更多或更少组件的多个其他组态是可能的。
应该指出的是,上述实施例是用于说明而非限制本公开,在没有背离所附权利要求定义的本公开的范围时,本领域技术人员能够设计多种替代实施例。在权力要求中,括号中的任何附图标记不得解释为限制权利要求。“包括”等类似词语不排除未在任何权利要求或整体说明书中列出的其它元件或步骤的存在。本说明书中,“包括(comprise、comprising)”指“包括或由……组成包括(include、including)或由组成(consist of、consisting of)”。对元件的单数引用不排除对这种元件的复数引用,反之亦然。本公开可借助于包括若干元件的硬件实现,也可以借助于适当编程的计算机来实现。在列举了若干构件的装置权利要求中,可以由同一硬件项目来体现这些装置中的若干构件。在相互不同的附属权利要求中叙述某些措施的纯粹事实,并未说明这些措施的组合不能用于获利。
应当理解的是,上述描述为说明性的,而非限制性的。在阅读且理解上述描述之后,许多其他实施方式将对本领域技术人员来说是显而易见的。尽管本公开已参考特定示例实施方式予以描述,但应认识到,本公开不限于所描述的实施方式但可在随附权要求范围内进行修改和变更。据此,应将本说明书及附图视为示范性质但不具限制意义。因此,本发明的范围应参考随附的权利要求以及所述权利要求有资格要求的等价物的全部范围而确定。
Claims (15)
1.一种用于维护跨分片化区块链网络的多个节点的区块链的多个区块的计算机实现方法,其中每个所述节点为多个活跃分片中的一个或多个分片的成员,所述方法包括:
通过给定节点生成表示所述区块链的新区块的数据,所述给定节点为所述多个活跃分片的特定子集的成员;以及
通过所述给定节点存储表示所述新区块的所述数据;
其中,表示所述新区块的所述数据包括:i)作为所述新区块的一部分且与所述多个活跃分片的所述特定子集相关联的交易的交易标识符的列表,及/或ii)所述新区块的局部默克尔树。
2.根据权利要求1所述的计算机实现方法,其中,
i)中的所述交易标识符列表不包括作为所述新区块的一部分且与所述多个活跃分片的特定子集不关联的交易的交易标识符。
3.根据权利要求2所述的计算机实现方法,其中,
i)中的所述交易标识符列表通过以下操作生成:基于包括在所述新区块中的数据构建所述新区块的交易标识符的初始列表,及处理交易标识符的所述初始列表以移除与交易对应的任何交易标识符,所述交易与所述多个活跃分片的所述特定子集不关联。
4.根据权利要求1所述的计算机实现方法,其中,
ii)中的所述局部默克尔树包括从作为所述新区块一部分且与所述多个活跃分片的所述特定子集不相关的交易导出的散列值,同时省略从作为所述新区块一部分且与所述多个活跃分片的所述特定子集相关的交易导出的散列值。
5.根据权利要求1所述的计算机实现方法,其中,
ii)中的所述局部默克尔树通过以下操作来生成:基于包括在所述新区块中的数据构建所述新区块的完整默克尔树,及处理所述完整默克尔树以替代从作为所述新区块的一部分且与所述多个活跃分片的所述特定子集相关联的交易导出的散列值的占位符。
6.根据权利要求5所述的计算机实现方法,其中,
处理所述完整默克尔树进一步包括从所述完整默克尔树的底级迭代至根级,移除邻接节点对的两个散列值,并留下父散列值。
7.根据权利要求5所述的计算机实现方法,其中,
处理所述完整默克尔树进一步包括从所述完整默克尔树的底级迭代至根级,并替代父树节点的所述散列值的占位符,所述父树节点具有两个子节点,所述两个子节点均不表示从与所述多个活跃分片的所述特定子集不关联的交易导出的散列值。
8.根据权利要求1所述的计算机实现方法,其中,
操作所述节点以处理所述局部默克尔树,从而在不需要对所述交易进行存取的情况下计算用于区块验证的默克尔根散列值,所述交易为所述区块的一部分且与所述多个活跃分片的所述特定子集不关联。
9.根据权利要求8所述的计算机实现方法,其中,
处理所述局部默克尔树以计算从所述局部默克尔树的较低级迭代至根级的所述默克尔根散列值,并采用从所述局部默克尔树的对应子散列值计算的散列值替换占位符。
10.根据权利要求1所述的计算机实现方法,其中,
基于节点成员资格及所述交易在所述分片之间的分配,i)中的所述交易标识符列表及ii)中的所述局部默克尔树在所述节点之间发生变化。
11.根据权利要求1所述的计算机实现方法,其中,
在生成表示所述新区块的所述数据中,所述节点验证了作为所述新区块一部分且与所述多个活跃分片的所述特定子集相关的交易,同时略过了作为所述新区块一部分且与所述多个活跃分片的所述特定子集不相关的交易的验证。
12.根据权利要求1所述的计算机实现方法,其中,
作为所述新区块一部分的所述交易基于交易标识符与所述多个活跃分片的多个分片相关。
13.根据权利要求1所述的计算机实现方法,其中,
作为所述新区块一部分的所述交易基于父区块链交易与所述多个活跃分片的多个分片相关,其中所述父交易通过与子区块链交易输入对应的输出定义,且其中所述父交易及所述子交易均与同一分片相关。
14.一种系统,包括:
处理器;以及
包括可执行指令的内存,所述指令由于通过所述处理器的执行使得所述系统执行至少部分根据权利要求1至14中任一项的计算机实现方法。
15.一种存储有可执行指令的非暂时性计算机可读存储介质,所述指令通过计算机系统的处理器执行,使得所述计算机系统执行至少部分根据权利要求1至14中任一项的计算机实现方法。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1806930.2 | 2018-04-27 | ||
GB1806911.2 | 2018-04-27 | ||
GBGB1806909.6A GB201806909D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
GBGB1806911.2A GB201806911D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
GBGB1806930.2A GB201806930D0 (en) | 2018-04-27 | 2018-04-27 | Computer-implemented systems and methods |
GBGB1806907.0A GB201806907D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
GB1806907.0 | 2018-04-27 | ||
GB1806909.6 | 2018-04-27 | ||
GB1806914.6 | 2018-04-27 | ||
GBGB1806914.6A GB201806914D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
PCT/IB2019/053383 WO2019207504A1 (en) | 2018-04-27 | 2019-04-24 | Maintaining blocks of a blockchain in a partitioned blockchain network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112041872A true CN112041872A (zh) | 2020-12-04 |
Family
ID=66397390
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980028826.XA Active CN112041873B (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN201980028825.5A Active CN112055864B (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN201980028786.9A Pending CN112041872A (zh) | 2018-04-27 | 2019-04-24 | 在分区区块链网络中维护区块链的区块 |
CN201980028769.5A Active CN112041870B (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN201980028770.8A Pending CN112041871A (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN202410394956.8A Pending CN118396627A (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980028826.XA Active CN112041873B (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN201980028825.5A Active CN112055864B (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980028769.5A Active CN112041870B (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN201980028770.8A Pending CN112041871A (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
CN202410394956.8A Pending CN118396627A (zh) | 2018-04-27 | 2019-04-24 | 区块链网络划分 |
Country Status (9)
Country | Link |
---|---|
US (8) | US11856100B2 (zh) |
EP (5) | EP3785208A1 (zh) |
JP (9) | JP7362654B2 (zh) |
KR (5) | KR20210003214A (zh) |
CN (6) | CN112041873B (zh) |
SG (5) | SG11202008896QA (zh) |
TW (6) | TWI816781B (zh) |
WO (5) | WO2019207500A1 (zh) |
ZA (2) | ZA202005969B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839086A (zh) * | 2021-01-06 | 2021-05-25 | 中山大学 | 基于区块链分片技术的网络资源分配方法和装置 |
WO2024011707A1 (en) * | 2022-07-11 | 2024-01-18 | Hsbc Software Development (Guangdong) Limited | Blockchain transaction sharding for improved transaction throughput |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419225B2 (en) | 2017-01-30 | 2019-09-17 | Factom, Inc. | Validating documents via blockchain |
US10411897B2 (en) | 2017-02-17 | 2019-09-10 | Factom, Inc. | Secret sharing via blockchains |
US10817873B2 (en) | 2017-03-22 | 2020-10-27 | Factom, Inc. | Auditing of electronic documents |
US10783164B2 (en) | 2018-05-18 | 2020-09-22 | Factom, Inc. | Import and export in blockchain environments |
US11134120B2 (en) | 2018-05-18 | 2021-09-28 | Inveniam Capital Partners, Inc. | Load balancing in blockchain environments |
US11170366B2 (en) | 2018-05-18 | 2021-11-09 | Inveniam Capital Partners, Inc. | Private blockchain services |
US12093247B2 (en) * | 2018-06-25 | 2024-09-17 | Redbelly Blockchain Holdings Pty Ltd | Blockchain system and method |
US11989208B2 (en) | 2018-08-06 | 2024-05-21 | Inveniam Capital Partners, Inc. | Transactional sharding of blockchain transactions |
US11328290B2 (en) | 2018-08-06 | 2022-05-10 | Inveniam Capital Partners, Inc. | Stable cryptocurrency coinage |
US11334874B2 (en) | 2018-08-06 | 2022-05-17 | Inveniam Capital Partners, Inc. | Digital contracts in blockchain environments |
US20200074458A1 (en) * | 2018-08-30 | 2020-03-05 | International Business Machines Corporation | Privacy preserving transaction system |
US11301590B2 (en) * | 2018-09-05 | 2022-04-12 | International Business Machines Corporation | Unfalsifiable audit logs for a blockchain |
US12095934B2 (en) * | 2018-09-13 | 2024-09-17 | International Business Machines Corporation | Sparse peer with transient participation |
KR102712518B1 (ko) * | 2018-11-20 | 2024-10-02 | 서강대학교산학협력단 | 이더리움 샤딩 환경에서 샤드 간 트랜잭션 로드 분배 방법 |
BR112019015423A8 (pt) * | 2018-12-13 | 2023-03-28 | Advanced New Technologies Co Ltd | Método implementado por computador para proteger dados sensíveis armazenados em um protocolo de confiança mantido por uma rede de protocolo de confiança, meio de armazenamento não transitório, legível por computador e sistema |
US11483143B2 (en) * | 2019-04-15 | 2022-10-25 | Smart Security Systems, Llc | Enhanced monitoring and protection of enterprise data |
US20220200973A1 (en) * | 2019-04-15 | 2022-06-23 | Bear System, LLC | Blockchain schema for secure data transmission |
GB201907345D0 (en) | 2019-05-24 | 2019-07-10 | Nchain Holdings Ltd | Protocol for validating blockchain transactions |
GB201907347D0 (en) * | 2019-05-24 | 2019-07-10 | Nchain Holdings Ltd | In-script functions within a blockchain transaction |
US11711202B2 (en) | 2019-05-29 | 2023-07-25 | International Business Machines Corporation | Committing data to blockchain based on approximate hash verification |
US11539527B2 (en) | 2019-05-29 | 2022-12-27 | International Business Machines Corporation | Peer node recovery via approximate hash verification |
US11429738B2 (en) | 2019-05-29 | 2022-08-30 | International Business Machines Corporation | Blockchain endorsement with approximate hash verification |
US11516000B2 (en) * | 2019-05-29 | 2022-11-29 | International Business Machines Corporation | Approximate hash verification of unused blockchain output |
US11570002B2 (en) | 2019-05-29 | 2023-01-31 | International Business Machines Corporation | Reduced-step blockchain verification of media file |
GB201913143D0 (en) * | 2019-09-12 | 2019-10-30 | Nchain Holdings Ltd | Running a program from a blockchain |
CN110958324B (zh) * | 2019-12-12 | 2023-12-19 | 度小满科技(北京)有限公司 | 一种区块链网络的数据处理方法及装置 |
US11343075B2 (en) | 2020-01-17 | 2022-05-24 | Inveniam Capital Partners, Inc. | RAM hashing in blockchain environments |
WO2021145606A1 (en) * | 2020-01-17 | 2021-07-22 | Samsung Electronics Co., Ltd. | User apparatus and manager apparatus included in blockchain network and controlling method thereof |
WO2021150163A1 (en) * | 2020-01-22 | 2021-07-29 | The Flowchain Foundation Limited | Storage virtualization architecture with hybrid blockchain and the method thereof |
CN111428275B (zh) * | 2020-03-13 | 2021-03-26 | 华东师范大学 | 一种面向联盟链的服务不停机分片增加方法 |
CN111488202B (zh) * | 2020-04-07 | 2023-08-15 | 百度国际科技(深圳)有限公司 | 多链系统的事务处理方法、装置、设备、系统和介质 |
US11720453B2 (en) * | 2020-04-28 | 2023-08-08 | Akamai Technologies, Inc. | High performance distributed system of record with unspent transaction output (UTXO) database snapshot integrity |
WO2021232295A1 (zh) * | 2020-05-20 | 2021-11-25 | 新华三技术有限公司 | 软件许可信息的监控方法、装置、服务器及存储介质 |
US20220006641A1 (en) * | 2020-07-03 | 2022-01-06 | Inveniam Capital Partners, Inc. | Distribution of Blockchain Validation |
US11853291B2 (en) | 2020-07-06 | 2023-12-26 | International Business Machines Corporation | Privacy preserving architecture for permissioned blockchains |
US11741083B2 (en) | 2020-07-24 | 2023-08-29 | International Business Machines Corporation | Cross-shard private atomic commit |
KR102337760B1 (ko) * | 2020-08-27 | 2021-12-08 | 연세대학교 산학협력단 | 심층강화학습 기반 적응적 샤드 블록체인 네트워크 관리 장치 및 방법 |
CN112559204A (zh) * | 2020-12-08 | 2021-03-26 | 中山市当下科技有限公司 | Utxo账户模型区块链中的应用数据联通结构 |
CN112615826A (zh) * | 2020-12-08 | 2021-04-06 | 中山市当下科技有限公司 | 应用于UTXO区块链的MetaID协议格式结构 |
CN112269423B (zh) * | 2020-12-21 | 2021-03-19 | 支付宝(杭州)信息技术有限公司 | 一种锁定区块链系统中全局时钟的方法及区块链系统 |
EP4057173B1 (en) * | 2021-03-09 | 2023-10-11 | SW7 Ventures (H.K.) Limited | System and method of securely establishing control of a resource |
US12008526B2 (en) | 2021-03-26 | 2024-06-11 | Inveniam Capital Partners, Inc. | Computer system and method for programmatic collateralization services |
GB202105020D0 (en) * | 2021-04-08 | 2021-05-26 | Nchain Licensing Ag | Uniform resource identifier |
CN113360951B (zh) * | 2021-05-12 | 2022-08-16 | 电子科技大学 | 一种基于分区式区块链的电子证据保全方法 |
CN113067904B (zh) * | 2021-06-02 | 2021-09-14 | 支付宝(杭州)信息技术有限公司 | 组建区块链子网的方法和区块链系统 |
US12007972B2 (en) | 2021-06-19 | 2024-06-11 | Inveniam Capital Partners, Inc. | Systems and methods for processing blockchain transactions |
US12107966B2 (en) * | 2021-06-26 | 2024-10-01 | Ceremorphic, Inc. | Device authentication using blockchain |
KR20230004216A (ko) * | 2021-06-30 | 2023-01-06 | 주식회사 아티프렌즈 | 블록체인 기반의 미디어 콘텐츠용 토큰 발행 서비스 제공 장치 및 방법 |
US11968311B2 (en) * | 2021-07-16 | 2024-04-23 | The Regents Of The University Of California | Multi-shard transactions in a Byzantine computing environment |
KR20230018876A (ko) | 2021-07-30 | 2023-02-07 | 서강대학교산학협력단 | 샤드를 기반으로 한 데이터 분산 저장 방법 및 이를 이용한 블록체인 네트워크 시스템 |
WO2023177358A1 (en) * | 2022-03-18 | 2023-09-21 | National University Of Singapore | Distributed verifiable ledger database |
KR102596700B1 (ko) * | 2022-06-03 | 2023-11-09 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 인터샤드 트랜잭션 시스템 및 방법 |
KR102628759B1 (ko) * | 2022-06-14 | 2024-01-23 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 어카운트의 워킹샤드 변경 시스템 및 방법 |
KR20240024465A (ko) * | 2022-08-17 | 2024-02-26 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 다이나믹 샤딩 시스템 및 방법 |
KR20240057605A (ko) * | 2022-10-25 | 2024-05-03 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 어카운트 생성 시스템 및 방법 |
KR102682674B1 (ko) * | 2022-11-03 | 2024-07-16 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 노드 분배 시스템 및 방법 |
US11914616B1 (en) | 2022-12-16 | 2024-02-27 | Alchemy Insights, Inc. | Systems and methods for creating a consistent blockchain including block commitment determinations |
US11769143B1 (en) | 2022-12-22 | 2023-09-26 | Alchemy Insights, Inc. | System and method for high performance providing fresh NFT metadata |
US11728976B1 (en) | 2022-12-22 | 2023-08-15 | Alchemy Insights, Inc. | Systems and methods for efficiently serving blockchain requests using an optimized cache |
US11750711B1 (en) | 2022-12-22 | 2023-09-05 | Alchemy Insights, Inc. | Systems and methods for adaptively rate limiting client service requests at a blockchain service provider platform |
US11816021B1 (en) | 2022-12-22 | 2023-11-14 | Alchemy Insights, Inc. | System and method for intelligent testing of blockchain applications using a shadow system |
US11811955B1 (en) * | 2022-12-23 | 2023-11-07 | Alchemy Insights, Inc. | Systems and methods for improving reliability in blockchain networks using sharding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170344580A1 (en) * | 2016-05-27 | 2017-11-30 | Mastercard International Incorporated | Method and system for transferring trust across block chain segments |
CN107528886A (zh) * | 2017-07-25 | 2017-12-29 | 中国科学院计算技术研究所 | 区块链全网拆分方法与系统 |
US20180019867A1 (en) * | 2016-07-15 | 2018-01-18 | Mastercard International Incorporated | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains |
CN107766540A (zh) * | 2017-10-31 | 2018-03-06 | 上海分布信息科技有限公司 | 一种分区的区块链网络及其实现分区存储的方法 |
Family Cites Families (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758257A (en) * | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
GB9426341D0 (en) * | 1994-12-29 | 1995-03-01 | At & T Global Inf Solution | A transaction terminal |
DE10104713A1 (de) * | 2001-02-02 | 2002-08-08 | Siemens Ag | Verfahren und Vorrichtungen zum Zugreifen auf Nachrichten |
US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
US7774010B2 (en) * | 2005-07-06 | 2010-08-10 | Nokia Corporation | Peer-to-peer group management framework and methodology |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7702614B1 (en) | 2007-03-30 | 2010-04-20 | Google Inc. | Index updating using segment swapping |
JP2009000708A (ja) | 2007-06-20 | 2009-01-08 | Nikon Corp | 光照射装置と、これを具備するレーザ加工装置 |
US20110029319A1 (en) | 2009-07-29 | 2011-02-03 | Google Inc. | Impression forecasting and reservation analysis |
EP2973043A2 (en) * | 2013-03-15 | 2016-01-20 | James Webber | Method and apparatus for ensuring consistent outcomes in updates to distributed databases |
CN103268321B (zh) * | 2013-04-19 | 2016-04-27 | 中国建设银行股份有限公司 | 高并发交易数据处理方法和装置 |
US11270298B2 (en) * | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
WO2016161073A1 (en) * | 2015-03-31 | 2016-10-06 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
US20160342989A1 (en) * | 2015-05-21 | 2016-11-24 | Mastercard International Incorporated | Method and system for processing blockchain-based transactions on existing payment networks |
EP3317775B1 (en) * | 2015-07-02 | 2022-02-16 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US20170048235A1 (en) | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Captcha and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20170091726A1 (en) * | 2015-09-07 | 2017-03-30 | NXT-ID, Inc. | Low bandwidth crypto currency transaction execution and synchronization method and system |
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 |
US20170132626A1 (en) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Method and system for processing of a blockchain transaction in a transaction processing network |
US20170236103A1 (en) * | 2016-02-12 | 2017-08-17 | D+H Usa Corporation | Peer-to-Peer Financial Transactions Using A Private Distributed Ledger |
US11120437B2 (en) * | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
EP4167165A1 (en) * | 2016-02-23 | 2023-04-19 | nChain Licensing AG | Blockchain-based exchange with tokenisation |
AU2017225932C1 (en) | 2016-02-29 | 2021-06-24 | Securekey Technologies Inc. | Systems and methods for distributed identity verification |
EP3440823B1 (en) * | 2016-04-05 | 2020-09-02 | Zamna Technologies Limited | Method and system for managing personal information within independent computer systems and digital networks |
US10404469B2 (en) | 2016-04-08 | 2019-09-03 | Chicago Mercantile Exchange Inc. | Bilateral assertion model and ledger implementation thereof |
US10346428B2 (en) | 2016-04-08 | 2019-07-09 | Chicago Mercantile Exchange Inc. | Bilateral assertion model and ledger implementation thereof |
CN105931052A (zh) * | 2016-04-21 | 2016-09-07 | 四川大学 | 一种基于区块链多因子交叉验证的虚拟货币交易验证方法 |
GB201607477D0 (en) * | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger |
WO2017194976A1 (en) * | 2016-05-13 | 2017-11-16 | De La Rue International Limited | Methods and systems for processing assets |
US20170357966A1 (en) * | 2016-06-09 | 2017-12-14 | Mastercard International Incorporated | Method and system for use of a proprietary private blockchain |
CN106251216B (zh) * | 2016-07-18 | 2020-12-25 | 恒宝股份有限公司 | 一种用于缓解节点存储压力的方法和系统 |
CN107666388B (zh) * | 2016-07-28 | 2019-11-01 | 郑珂威 | 基于完全同态加密方法的区块链信息加密方法 |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
CN106302702B (zh) * | 2016-08-10 | 2020-03-20 | 华为技术有限公司 | 数据的分片存储方法、装置及系统 |
CN106372941B (zh) * | 2016-08-31 | 2019-07-16 | 江苏通付盾科技有限公司 | 基于区块链的ca认证管理方法、装置及系统 |
WO2018050222A1 (en) | 2016-09-14 | 2018-03-22 | Innogy Se | System comprising an electrical producer arrangement |
CN106503053B (zh) * | 2016-09-26 | 2019-07-16 | 江苏通付盾科技有限公司 | Utxo查询方法及装置 |
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
JP6825296B2 (ja) | 2016-10-11 | 2021-02-03 | 富士通株式会社 | エッジサーバ,及びその暗号化通信制御方法 |
JP6274680B1 (ja) | 2016-10-18 | 2018-02-07 | 株式会社大和総研ビジネス・イノベーション | 取引記録システムおよびプログラム |
CN107045518A (zh) * | 2016-10-18 | 2017-08-15 | 北京天德科技有限公司 | 一种区块链的扩展设计方法 |
US11004130B2 (en) * | 2016-10-26 | 2021-05-11 | International Business Machines Corporation | Computer implemented method, an apparatus and a non transitory computer readable storage medium for verifying reviews on a blockchain |
US10491378B2 (en) | 2016-11-16 | 2019-11-26 | StreamSpace, LLC | Decentralized nodal network for providing security of files in distributed filesystems |
CN106797389A (zh) * | 2016-11-18 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链网络、物品交易方法、装置及节点设备 |
US10540652B2 (en) | 2016-11-18 | 2020-01-21 | Intel Corporation | Technology for secure partitioning and updating of a distributed digital ledger |
CN106530072A (zh) * | 2016-11-22 | 2017-03-22 | 天津米游科技有限公司 | 一种区块链共识机制 |
CN106559211B (zh) * | 2016-11-22 | 2019-12-13 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN106603198A (zh) * | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
US10396997B2 (en) | 2016-12-14 | 2019-08-27 | International Business Machines Corporation | Container-based operating system and method |
CN106897351B (zh) * | 2016-12-29 | 2020-11-10 | 北京瑞卓喜投科技发展有限公司 | 有向无环图型区块链的生成方法及系统 |
US10447480B2 (en) * | 2016-12-30 | 2019-10-15 | Guardtime Sa | Event verification receipt system and methods |
CN107018125B (zh) * | 2017-02-17 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种区块链系统、数据存储方法及装置 |
CN107040582B (zh) * | 2017-02-17 | 2020-08-14 | 创新先进技术有限公司 | 一种数据处理方法及装置 |
WO2018165044A1 (en) | 2017-03-08 | 2018-09-13 | Mcafee, Llc | Aggregate, index-based, real-time verification of node contents |
CN106936589B (zh) * | 2017-04-21 | 2020-02-07 | 杭州秘猿科技有限公司 | 一种无中心的许可链平行分片方法及交易方法 |
CN107239940A (zh) * | 2017-05-11 | 2017-10-10 | 北京博晨技术有限公司 | 基于区块链系统的网络交易方法及装置 |
US10397328B2 (en) | 2017-05-17 | 2019-08-27 | Nec Corporation | Method and system for providing a robust blockchain with an integrated proof of storage |
US11626993B2 (en) | 2017-05-22 | 2023-04-11 | Visa International Service Association | Network for improved verification speed with tamper resistant data |
US10740733B2 (en) | 2017-05-25 | 2020-08-11 | Oracle International Corporaton | Sharded permissioned distributed ledgers |
CN107273760A (zh) * | 2017-06-09 | 2017-10-20 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链多ca应用认证方法 |
KR102348418B1 (ko) | 2017-07-11 | 2022-01-07 | 스월즈, 인크. | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 |
CN107392608B (zh) * | 2017-07-11 | 2020-07-07 | 北京博晨技术有限公司 | 基于区块链系统的数字资产交易方法及区块链系统 |
CN107240018A (zh) * | 2017-07-25 | 2017-10-10 | 成都励睿德企业管理有限公司 | 一种用于支付区块链网络中交易费用的方法和系统 |
KR101852935B1 (ko) * | 2017-07-31 | 2018-04-27 | 임종범 | 전자 화폐 거래 시스템 및 방법 |
US10552556B2 (en) | 2017-08-03 | 2020-02-04 | Liquineq AG | System and method for performance testing of scalable distributed network transactional databases |
CN107563817A (zh) * | 2017-09-11 | 2018-01-09 | 浙江华信区块链科技服务有限公司 | 一种基于区块链对用户注意力进行激励的广告传播方法及系统 |
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN107742210A (zh) * | 2017-10-13 | 2018-02-27 | 布比(北京)网络技术有限公司 | 一种不同区块链间的跨链转账系统和方法 |
CN107862216B (zh) * | 2017-10-13 | 2021-04-06 | 布比(北京)网络技术有限公司 | 用于匿名跨链交易的隐私保护方法、装置和存储介质 |
CN107807984A (zh) * | 2017-10-31 | 2018-03-16 | 上海分布信息科技有限公司 | 一种分区的区块链网络及其实现分区共识的方法 |
US10567168B2 (en) | 2017-11-16 | 2020-02-18 | International Business Machines Corporation | Blockchain transaction privacy enhancement through broadcast encryption |
US10997125B2 (en) * | 2017-11-29 | 2021-05-04 | Technion Research & Development Foundation Limited | Proof of lottery (PoL) blockchain |
KR20190067581A (ko) | 2017-12-07 | 2019-06-17 | 한국전자통신연구원 | 블록체인 트랜잭션 분산 처리 장치 및 방법 |
US10250708B1 (en) | 2017-12-26 | 2019-04-02 | Akamai Technologies, Inc. | High performance distributed system of record |
GB2572135B (en) * | 2018-03-07 | 2023-01-25 | The Maidsafe Found | Data transaction system and method |
CN108399572A (zh) | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
CN108596613A (zh) | 2018-03-22 | 2018-09-28 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
CN108900321A (zh) | 2018-06-06 | 2018-11-27 | 广州链块科技有限公司 | 一种区块链分区间进行实时原子交易的方法 |
CN108769264B (zh) | 2018-07-09 | 2021-06-04 | 中国联合网络通信集团有限公司 | 一种区块链分域方法 |
CN108920723A (zh) | 2018-08-01 | 2018-11-30 | 江苏恒宝智能系统技术有限公司 | 一种节点分层分区管理方法 |
US10826705B2 (en) | 2018-12-13 | 2020-11-03 | International Business Machines Corporation | Compact state database system |
-
2019
- 2019-04-24 CN CN201980028826.XA patent/CN112041873B/zh active Active
- 2019-04-24 US US17/050,836 patent/US11856100B2/en active Active
- 2019-04-24 EP EP19724939.4A patent/EP3785208A1/en active Pending
- 2019-04-24 US US17/051,070 patent/US11743045B2/en active Active
- 2019-04-24 US US17/051,083 patent/US20210233074A1/en active Pending
- 2019-04-24 JP JP2020558031A patent/JP7362654B2/ja active Active
- 2019-04-24 KR KR1020207033858A patent/KR20210003214A/ko unknown
- 2019-04-24 US US17/050,837 patent/US12028453B2/en active Active
- 2019-04-24 CN CN201980028825.5A patent/CN112055864B/zh active Active
- 2019-04-24 EP EP19724255.5A patent/EP3785206A1/en active Pending
- 2019-04-24 CN CN201980028786.9A patent/CN112041872A/zh active Pending
- 2019-04-24 US US17/051,075 patent/US11973869B2/en active Active
- 2019-04-24 EP EP19724938.6A patent/EP3785207A1/en active Pending
- 2019-04-24 EP EP19724254.8A patent/EP3785205A1/en active Pending
- 2019-04-24 SG SG11202008896QA patent/SG11202008896QA/en unknown
- 2019-04-24 WO PCT/IB2019/053378 patent/WO2019207500A1/en active Application Filing
- 2019-04-24 CN CN201980028769.5A patent/CN112041870B/zh active Active
- 2019-04-24 WO PCT/IB2019/053380 patent/WO2019207501A1/en active Application Filing
- 2019-04-24 CN CN201980028770.8A patent/CN112041871A/zh active Pending
- 2019-04-24 JP JP2020557947A patent/JP2021522706A/ja active Pending
- 2019-04-24 WO PCT/IB2019/053383 patent/WO2019207504A1/en active Application Filing
- 2019-04-24 JP JP2020557925A patent/JP2021522704A/ja active Pending
- 2019-04-24 JP JP2020557911A patent/JP7379371B2/ja active Active
- 2019-04-24 KR KR1020207033856A patent/KR20210003212A/ko unknown
- 2019-04-24 SG SG11202008861TA patent/SG11202008861TA/en unknown
- 2019-04-24 WO PCT/IB2019/053382 patent/WO2019207503A1/en active Application Filing
- 2019-04-24 KR KR1020207034209A patent/KR20210003234A/ko unknown
- 2019-04-24 SG SG11202008987RA patent/SG11202008987RA/en unknown
- 2019-04-24 SG SG11202009189XA patent/SG11202009189XA/en unknown
- 2019-04-24 JP JP2020558029A patent/JP2021522709A/ja active Pending
- 2019-04-24 EP EP19721856.3A patent/EP3785204A1/en active Pending
- 2019-04-24 WO PCT/IB2019/053381 patent/WO2019207502A1/en active Application Filing
- 2019-04-24 KR KR1020207031800A patent/KR20210003132A/ko not_active Application Discontinuation
- 2019-04-24 CN CN202410394956.8A patent/CN118396627A/zh active Pending
- 2019-04-24 SG SG11202008894XA patent/SG11202008894XA/en unknown
- 2019-04-24 KR KR1020207033857A patent/KR20210003213A/ko unknown
- 2019-04-25 TW TW108114530A patent/TWI816781B/zh active
- 2019-04-25 TW TW108114531A patent/TWI848945B/zh active
- 2019-04-25 TW TW108114532A patent/TW201946017A/zh unknown
- 2019-04-25 TW TW112117670A patent/TWI836988B/zh active
- 2019-04-25 TW TW108114533A patent/TWI820124B/zh active
- 2019-04-25 TW TW108114535A patent/TWI809096B/zh active
-
2020
- 2020-09-28 ZA ZA2020/05969A patent/ZA202005969B/en unknown
- 2020-10-14 ZA ZA2020/06380A patent/ZA202006380B/en unknown
-
2023
- 2023-07-12 US US18/221,325 patent/US20240048378A1/en active Pending
- 2023-10-04 JP JP2023172657A patent/JP2023168539A/ja active Pending
- 2023-11-09 US US18/388,498 patent/US20240154807A1/en active Pending
-
2024
- 2024-02-02 JP JP2024014529A patent/JP2024032950A/ja active Pending
- 2024-02-02 JP JP2024014543A patent/JP2024032953A/ja active Pending
- 2024-02-02 JP JP2024014531A patent/JP2024032951A/ja active Pending
- 2024-03-19 US US18/610,073 patent/US20240348442A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170344580A1 (en) * | 2016-05-27 | 2017-11-30 | Mastercard International Incorporated | Method and system for transferring trust across block chain segments |
US20180019867A1 (en) * | 2016-07-15 | 2018-01-18 | Mastercard International Incorporated | Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains |
CN107528886A (zh) * | 2017-07-25 | 2017-12-29 | 中国科学院计算技术研究所 | 区块链全网拆分方法与系统 |
CN107766540A (zh) * | 2017-10-31 | 2018-03-06 | 上海分布信息科技有限公司 | 一种分区的区块链网络及其实现分区存储的方法 |
Non-Patent Citations (4)
Title |
---|
LOI LUU 等: "A Secure Sharding Protocol For Open Blockchains", CCS \'16: PROCEEDINGS OF THE 2016 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 24 October 2016 (2016-10-24), pages 17 - 30, XP058299041, DOI: 10.1145/2976749.2978389 * |
SATOSHI NAKAMOTO: "Bitcoin: A Peer-to-Peer Electronic Cash System", Retrieved from the Internet <URL:https://nakamotoinstitute.org/static/docs/bitcoin.pdf> * |
于雷;金岩;: "区块链全局账本数据的拆分技术研究", 高技术通讯, no. 2, 15 December 2017 (2017-12-15) * |
邵奇峰;金澈清;张召;钱卫宁;周傲英;: "区块链技术:架构及进展", 计算机学报, no. 05, 15 November 2017 (2017-11-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839086A (zh) * | 2021-01-06 | 2021-05-25 | 中山大学 | 基于区块链分片技术的网络资源分配方法和装置 |
WO2024011707A1 (en) * | 2022-07-11 | 2024-01-18 | Hsbc Software Development (Guangdong) Limited | Blockchain transaction sharding for improved transaction throughput |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112041872A (zh) | 在分区区块链网络中维护区块链的区块 | |
CN110869967B (zh) | 用于并行处理区块链交易的系统和方法 | |
CN114944932B (zh) | 将区块添加到被许可的区块链的方法和系统 | |
CN109493050B (zh) | 基于区块链主链加并行多子链的转账方法 | |
JP7477576B2 (ja) | ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
CN110915166A (zh) | 区块链 | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN109743182B (zh) | 基于区块链的智能合约核准方法及系统 | |
US20230344658A1 (en) | Methods and devices for secure symbiotic mining | |
CN113626875B (zh) | 一种区块链分片赋能的知识图谱文件存储方法 | |
CN112970227A (zh) | 包括公钥组合验证的计算机实现的系统和方法 | |
EP3970048A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
CN115426125A (zh) | 一种用于区块链分片系统的区块有效性验证方法 | |
US12126741B2 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
Liang et al. | Distributed Ledger Technologies | |
Ramsay | IoT. money: Proposing Triangle Sharded Blockchain, for Realtime Global Scalability |
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 |