CN118120180A - 用于被修剪的区块链中的数据保留的方法和系统 - Google Patents
用于被修剪的区块链中的数据保留的方法和系统 Download PDFInfo
- Publication number
- CN118120180A CN118120180A CN202280068306.3A CN202280068306A CN118120180A CN 118120180 A CN118120180 A CN 118120180A CN 202280068306 A CN202280068306 A CN 202280068306A CN 118120180 A CN118120180 A CN 118120180A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- blocks
- data
- pruned
- transaction value
- 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 title claims abstract description 51
- 230000014759 maintenance of location Effects 0.000 title description 2
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 description 60
- 238000004891 communication Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013479 data entry Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- 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
-
- 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/3242—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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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
-
- 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/34—Encoding or coding, e.g. Huffman coding or error correction
-
- 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)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种用于对被修剪的区块链交易进行核实的方法,包括:由计算设备的接收器接收包括在构成区块链的多个区块中的区块的子集,其中每个区块包括一个或多个区块链数据值;由计算设备的接收器接收认证码;由计算设备的处理器使用认证码识别区块的子集中的多个数据块,其中所述多个数据块中的每个数据块被包括在区块的子集中的区块中的所述一个或多个区块链数据值之一中;由计算设备的处理器至少使用识别出的多个数据块和喷泉代码算法对交易值进行解码;以及由计算设备的处理器核实解码的交易值。
Description
相关申请的交叉引用
本申请要求于2021年10月19日提交的美国非临时申请No.17/451,329的权益和优先权。上述申请的全部公开内容通过引用并入本文。
技术领域
本公开涉及对被修剪的区块链中的过去交易的核实,具体而言涉及使用喷泉代码算法来使被修剪的区块链交易能够被解码以进行核实,而无需在区块链上重复发布交易。
背景技术
区块链最初是作为一种用于使用密码货币进行支付交易的存储机制创建的。使用区块链提供了许多好处,诸如去中心化、分布式计算、关于交易的透明度,并且还为交易中涉及的个人或实体提供匿名性。区块链更受欢迎的方面之一是它是不可变的记录:作为链的一部分的每笔交易都存储在其中,并且由于计算要求和带宽限制而无法改变,特别是当链变得越来越长且区块链网络增加更多节点时。
但是,随着进行越来越多的交易或其它数据存储在区块链上,区块链的文件尺寸大大增加。在许多情况下,旧的区块链交易可能几乎没有保留的价值,因为如果那些交易中转移的货币已经被再次使用,它们可能不会用于任何未来的交易核实。在一些区块链网络中,一些节点可以被允许通过从其存储装置中移除此类交易数据来修剪其区块链。在此类情况下,区块链本身不被修改,但节点中会缺失用于被修剪的交易的数据,这会导致用于节点的数据尺寸显著减小。一些节点不会修剪其区块链的副本以确保完整的链被保留并在必要时可用。
不过,一些实体可能希望核实已从该实体可访问的节点中修剪掉的过去的区块链交易。在此类情况下,用于被修剪的交易的交易值可能对区块链节点完全不可用,因此对希望核实交易的实体来说也是完全不可用的。这种实体的唯一资源是从具有可用完整区块链的节点识别区块链的完整副本,然后识别交易以进行核实。在这种情况下,完整的区块链必须可供实体使用,从而抵消了修剪的好处,并且要求用于实体的大量数据存储和用于传输区块链数据的可用带宽。
因此,需要一种系统,该系统可以使实体能够核实已从区块链中修剪的过去的区块链交易,而不需要实体获得区块链的完整副本或与尚未修剪区块链的节点进行通信。
发明内容
本公开提供了用于在被修剪的区块链上发布用于交易的可核实数据块以及使用可核实数据块来核实被修剪的区块链交易的系统和方法的描述。对于要从区块链中修剪的任何交易,用于该交易的交易值使用喷泉代码算法被解码为一系列数据块。那些数据块使用为交易设置的认证码可识别,然后定期发布到区块链,其中只有一些数据块可以发布在任何给定区块中,并且数据块可以被发布多于一次。希望核实交易的实体可以使用认证码识别与交易相关的数据块,并且一旦识别出足够的数据块,就使用喷泉代码算法对交易进行解码。然后该实体可以核实交易值。使用喷泉代码算法和数据块,不必识别或使用区块链节点的完整副本。此外,区块链可以保持被修剪,仅发布小数据块来代替被修剪的交易值,其中数据块本身也可以在一段时间之后进行修剪。因此,交易仍然是可核实的,而节点则享受到区块链文件尺寸减小的好处。
一种用于对被修剪的区块链交易进行核实的方法,包括:由计算设备的接收器接收包括在构成区块链的多个区块中的区块的子集,其中每个区块包括一个或多个区块链数据值;由计算设备的接收器接收认证码;由计算设备的处理器使用认证码识别区块的子集中的多个数据块,其中多个数据块中的每个数据块被包括在区块的子集中的区块中的一个或多个区块链数据值之一中;由计算设备的处理器至少使用识别出的多个数据块和喷泉代码算法对交易值进行解码;以及由计算设备的处理器核实解码的交易值。
一种用于在被修剪的区块链上发布用于交易的可核实数据块的方法,包括:由计算设备的接收器接收交易值;由计算设备的处理器使用喷泉代码算法将交易值编码成多个数据块;由计算设备的处理器识别与多个数据块对应的认证码,其中多个数据块中的每个数据块包括认证码的一部分;由计算设备的处理器生成用于被修剪的区块链的至少两个新区块,其中至少两个新区块中的每个新区块包括区块头和一个或多个区块链数据值,并且其中多个数据块和认证码的对应部分跨至少两个新区块中的每个新区块的一个或多个区块链数据值被存储;以及由计算设备的传输器将生成的至少两个新区块传输到与被修剪的区块链相关联的区块链网络中的多个区块链节点。
一种用于对被修剪的区块链交易进行核实的系统,包括:计算设备,包括接收器,接收包括在构成区块链的多个区块中的区块的子集,其中每个区块包括一个或多个区块链数据值以及认证码;以及处理器,使用认证码识别区块的子集中的多个数据块,其中多个数据块中的每个数据块被包括在区块的子集中的区块中的一个或多个区块链数据值之一中,至少使用识别出的多个数据块和喷泉代码算法对交易值进行解码,并核实解码的交易值。
一种用于在被修剪的区块链上发布用于交易的可核实数据块的系统,包括:计算设备;与被修剪的区块链相关联的区块链网络;以及包括在区块链网络中的多个区块链节点,其中计算设备包括:接收器,接收交易值;处理器,使用喷泉代码算法将交易值编码成多个数据块,识别与多个数据块对应的认证码,其中多个数据块中的每个数据块包括认证码的一部分,并且为被修剪的区块链生成至少两个新区块,其中至少两个新区块中的每个新区块包括区块头和一个或多个区块链数据值,并且其中多个数据块和认证码的对应部分跨至少两个新区块中的每个新区块的一个或多个区块链数据值被存储;以及传输器,向多个区块链传输所生成的至少两个新区块。
附图说明
当结合附图阅读时,从以下示例性实施例的详细描述中可以最好地理解本公开的范围。附图中包括以下各图:
图1是图示根据示例性实施例的用于核实区块链中被修剪的交易的高级系统体系架构的框图。
图2是图示根据示例性实施例的图1的系统的计算系统的框图,该计算系统用于发布用于被修剪的区块链交易的可核实数据块并对其进行核实。
图3是图示根据示例性实施例的用于核实区块链中被修剪的交易的过程的流程图。
图4是图示根据示例性实施例的用于核实被修剪的区块链交易的示例性方法的流程图。
图5是图示根据示例性实施例的用于在被修剪的区块链上发布交易的可核实数据块的示例性方法的流程图。
图6是示出根据示例性实施例的计算机系统体系架构的框图。
根据下文提供的详细描述,本公开的其它应用领域将变得显而易见。应该理解的是,示例性实施例的详细描述仅旨在用于说明目的,因此并不旨在必然限制本公开的范围。
具体实施方式
术语表
区块链-基于区块链的货币的所有交易的公共分类账。一个或多个计算设备可以构成区块链网络,区块链网络可被配置为处理和记录交易作为区块链中的区块的一部分。一旦完成一个区块,该区块就被添加到区块链中,并随之更新交易记录。在许多情况下,区块链可以是按时间顺序的交易的分类账,或者可以按适合于由区块链网络使用的任何其他顺序呈现。在一些构成中,记录在区块链中的交易可包括目的地地址和货币金额,使得区块链记录多少货币可归于特定地址。在一些情况下,交易是金融交易,而其他的不是金融交易,或者可能包括另外或者不同的信息,比如源地址、时间戳等。在一些实施例中,区块链还可以或者可替选地以交易的形式,包括要被或者需要被放入分布式数据库中的几乎任意类型的数据,所述分布式数据库保持不断增长的数据记录的列表,这些数据记录被增强,以防范篡改和修正(即使是其操作人员的篡改和修正),并且可以由区块链网络通过工作量证明和/或与之关联的任何其他适当核实技术确认和验证。在一些情况下,关于给定交易的数据还可包括附加到交易数据的并不直接是交易的一部分的附加数据。在一些情况下,在区块链中包含此类数据可以构成交易。在这样的情况下,区块链可能不直接与特定的数字货币、虚拟货币、法定货币或其他类型的货币关联。
用于被修剪的区块链交易的核实的系统
图1图示了用于核实已经使用喷泉代码算法从区块链修剪掉的交易的系统100。
系统100可以包括一个或多个区块链节点102。每个区块链节点102可以是区块链网络104的一部分。每个区块链节点102可以是计算系统,如图2和图6中所示,下面将更详细地讨论的,该计算系统被配置为执行与区块链的处理和管理相关的功能,包括区块链数据值的生成、提出的区块链交易的核实、数字签名的核实、新区块的生成、新区块的验证以及区块链的副本的维护。
区块链可以是至少由多个区块组成的分布式分类帐。每个区块可以至少包括区块头和一个或多个数据值。每个区块头可以至少包括时间戳、区块参考值和数据参考值。时间戳可以是生成区块头的时间,并且可以使用任何合适的方法(例如,UNIX时间戳、DateTime等)来表示。区块参考值可以是参考区块链中较早区块(例如,基于时间戳)的值。在一些实施例中,区块头中的区块参考值可以是对在相应区块之前的最近添加的区块的区块头的参考。在示例性实施例中,区块参考值可以是经由对最近添加的区块的区块头进行散列而生成的散列值。类似地,数据参考值可以是对存储在包括区块头的区块中的一个或多个数据值的参考。在示例性实施例中,数据参考值可以是经由一个或多个数据值的散列生成的散列值。例如,区块参考值可以是使用一个或多个数据值生成的Merkle树的根。
每个区块头中使用区块参考值和数据参考值会导致区块链不可变。对数据值的任何尝试的修改将要求为该块生成新的数据参考值,从而这将要求新生成后续区块的区块参考值,进一步要求在每个后续区块中生成新的区块参考值。在生成新区块并将其添加到区块链之前,这必须在区块链网络104中的每个单个区块链节点102中执行和更新,以便使改变永久化。计算和通信限制会使这种修改变得极其困难(如果不是不可能的话),从而使区块链变得不可变。
在一些实施例中,区块链可以用于存储关于在两个不同的区块链钱包之间进行的区块链交易的信息。区块链钱包可以包括用于生成数字签名的密码密钥对中的私钥,所述数字签名充当支付方对区块链交易的授权,其中数字签名可以由区块链网络104使用密码密钥对中的公钥来核实。在一些情况下,术语“区块链钱包”可能特指私钥。在其他情况下,术语“区块链钱包”可以指存储私钥以供在区块链交易中使用的计算设备(例如,参与者系统106)。例如,每个计算设备可以各自具有相应密码密钥对的它们自己的私钥,并且可以各自是用于与和区块链网络关联的区块链的交易的区块链钱包。计算设备可以是适合存储和利用区块链钱包的任何类型的设备,比如台式计算机、膝上型计算机、笔记本电脑、平板电脑、蜂窝电话机、智能电话机、智能手表、智能电视、可穿戴式计算设备、可植入式计算设备等。
存储在区块链中的每个区块链数据值可以对应于区块链交易或其他数据存储(如适用的话),这里也可称为“交易值”。区块链交易可以至少包括:使用发送者的私钥生成的货币的发送者(例如,参与者系统108)的数字签名、使用接收者的公钥生成的货币的接收者(例如,另一参与者系统106)的区块链地址、以及转移的区块链货币金额或存储的其他数据。在区块链用于与货币分离的数据存储的情况下,货币金额可以被此类其他数据替换。在一些区块链交易中,交易还可以包括当前存储区块链货币的发送者的一个或多个区块链地址(例如,数字签名证明他们可以访问此类货币),以及使用发送者的公钥为发送者保留的任何更改生成的地址。加密货币已被发送到的可在未来交易中使用的地址被称为“输出”地址,因为每个地址以前用于捕获先前的区块链交易的输出,也称为“未用交易”,因为在先前的交易中有货币被发送到该地址,而该货币仍然未用。在一些情况下,区块链交易还可以包括发送者的公钥,供实体在验证交易时使用。对于区块链交易的传统处理,此类数据可以由发送者或接收者提供给区块链网络104中的区块链节点102。该节点可以使用发送者钱包的密码密钥对中的公钥来核实数字签名,并且还可以核实发送者对资金的访问(例如,未用交易尚未被消费,并且被发送到与发送者钱包关联的地址),称为交易的“确认”的过程,然后将区块链交易包括在新的区块中。在传统的区块链实现中,新的区块在被添加到区块链并分发到区块链网络104中的所有区块链节点102之前,可以由区块链网络104中的其他节点验证。在区块链数据值可能与区块链交易无关,而是与其他类型数据的存储相关的情况下,区块链数据值可能仍然包括或以其他方式涉及数字签名的验证。
在一些实施例中,区块链网络104可以操作并存储溯源(provenance)区块链。溯源区块链可以是存储关于供应链的数据的区块链,供应链中的事件存储在其中。此类事件可以包括例如产品制造、由分销实体拾取、从一个存储设施运输到另一个存储设施、交付给零售商、由零售商销售、由消费者转售、将产品添加到产品的分组、将产品与产品的分组分离、产品的退款等。在一些情况下,存储在用于此类事件的溯源区块链中的区块链数据值可以包括关于该事件的详细信息。在其它情况下,区块链数据值可以包括关于事件的详细信息的散列值,其中详细信息可以存储在分离的数据存储装置中。在一些情况下,文档和其它数据可以存储在区块链数据值中,例如直接或经由散列值存储,散列值可以被用于核实可以存储在其它地方(诸如被所执行的合同中所涉及的实体所拥有)的底层数据(例如,已执行的合同)。关于溯源区块链的使用和操作的附加信息可以在由Steven C.Davis等人于2020年5月15日提交的标题为“Method and System for Generalized Provenance Solutionfor Blockchain Supply Chain Applications”的美国专利申请No.16/875,154中找到,该专利申请的全部内容通过引用并入本文。
在系统100中,一个或多个区块链节点102可以修剪它们的区块链的本地副本。区块链的修剪可以包括从本地数据存储装置中删除一个或多个交易值,以努力减小由区块链节点102存储的区块链数据的总体数据尺寸。交易值的修剪可能不会以任何方式影响区块链本身,诸如通过要求修改任何区块头或散列值。在一些情况下,交易值可以在预定时间段之后被修剪,诸如当区块已经达到特定年龄(例如,三个月、六个月、一年等)时。在其它情况下,交易值可以在预定时间段内未被访问之后被修剪。例如,如果交易值被区块链节点102定期访问或被外部系统请求,那么交易值可以不被修剪。
但是,可以存在如下情况:一旦交易值已经被区块链节点102从区块链中修剪掉,第三方(诸如核实系统108)就可以有兴趣核实区块链交易。例如,如果区块链是溯源区块链,那么核实系统108可以是正在购买二手奢侈品并且想要核实该产品的真实性的消费者,该产品可以是在很早之前就已经最初购买的,从而导致关于该奢侈品的交易值已被区块链节点102从区块链中修剪掉了。在这种示例中,核实系统108可能需要核实被修剪的交易值。
为了使得能够核实被修剪的交易值,区块链节点102可以使用喷泉代码算法。当要从区块链中修剪交易值时,区块链节点102或者可以被配置为代表其它区块链节点102执行编码过程的单独的区块链节点102可以使用喷泉代码算法(诸如Raptor码或RaptorQ)将交易值编码成多个可核实数据块,Raptor码或RaptorQ是将由k个相同尺寸符号组成的数据的给定源区块编码为编码符号的序列的喷泉代码。任何k个或更多个编码符号的接收允许以某种非零概率恢复源区块。参见例如Amin Shokrollahi和Michael Luby(2011)。“RaptorCodes”.Foundations and Trends in Communications and Information Theory.NowPublishers.6(3-4):213-322.doi:10.1561/0100000060。区块链节点102可以生成大量可核实数据块,也称为区块。然后,这些数据块可以被发布到区块链,其中区块链数据值可以包括用于被修剪的交易值的一个或多个可核实数据块。在一些情况下,新的区块链数据值可以被周期性地发布,诸如每小时、每天或每周。在一些情况下,在区块链数据值中发布的可核实数据块的数量可以是预定的和/或可以在用于特定交易值的新区块链数据值之间是一致的。
核实系统108可以识别用于它希望核实的交易值的可核实数据块。一旦核实系统108在区块链中识别出足够的可核实数据块,核实系统108就可以使用喷泉代码算法对交易值进行解码。在示例性实施例中,可以要求核实系统108识别比构成原始交易值的源符号的集合稍大的多个可核实数据块。对可核实数据块进行解码以获得交易值可以取决于所使用的喷泉代码算法的类型。例如,如果使用RaptorQ,那么可以对数据块使用XOR运算以用于编码和解码两者。一旦核实系统108已经获得原始交易值,核实系统108就可以核实交易值本身。例如,在上面的示例中,消费者可以诸如通过确保到卖家的监管链来核实他们正在购买的奢侈品的真实性。
在一些实施例中,用于被修剪的区块链交易的数据块可以仅在请求时(诸如来自核实系统108的请求)发布。例如,核实系统108可以请求用于核实的交易值,区块链节点102可以识别该交易值已经从其区块链数据中被修剪掉了。区块链节点102然后可以继续跨多个新区块将用于被修剪的交易的可核实数据块发布到区块链。通过发布数据块而不是完整的交易值,可以避免区块链处理中的错误,诸如如果再次发布交易值可能会导致的错误(例如,交易值可能看起来正在花费已经被转移到其它区块链钱包的区块链货币),同时一旦识别出足够数量的数据块,就仍然使核实系统108能够核实交易值。此外,区块链节点102也可以在一段时间之后(诸如在预定时间段之后)和/或一旦核实系统108指示交易值已经被成功解码就可以对数据块进行修剪。
在一些实施例中,认证码可以被用于帮助识别用于特定交易值的数据块。在此类实施例中,可以针对被修剪的区块链交易识别认证码。在一些情况下,可以为每个区块链交易识别认证码。在一些情况下,为交易值识别出的认证码可以存储在用于那个区块链交易的区块链数据值中。在一些情况下,当从区块链数据中修剪交易值时,认证码可以保留在区块链数据中。认证码可以是对于交易值来说是唯一的并用于其识别的任何值,诸如足够尺寸的整数或字母数字值。在区块链是溯源区块链的情况下,唯一的产品标识符(诸如序列号)可以被用作认证码。在此类实施例中,核实系统108可以在请求交易值或数据块时使用认证码。在一些情况下,带有从交易值编码的数据块的发布到区块链的区块链数据条目可以附有用于那个交易值的认证码,诸如使得核实系统108能够更容易识别数据块。在一些情况下,核实系统108可以识别它想要在区块链本身中核实的交易值的认证码,或者可以从外部系统(诸如参与者系统106)接收认证码。例如,在上面的示例中,奢侈品的卖家可以向核实系统108提供认证码(例如,奢侈品的序列号),核实系统108然后可以请求交易值或使用该认证码识别用于该交易值的数据块。
在一些实施例中,当可核实数据块被发布到区块链以解码成底层交易值时,系统100还可以使用干扰(chaffing)和筛选(winnowing)。例如,区块链节点102可以将干扰数据块连同通过对交易值进行编码而获得的可核实数据块一起添加到区块链数据条目中,其中每个数据块包括代码部分。与可核实数据块一起包括的代码部分可以是用于交易值的认证码的一部分,而干扰数据块可以包括随机生成的或以其它方式不与认证码对应的代码部分。在此类实施例中,核实系统108可以能够使用认证码来识别区块链数据条目中的真实数据块,从而忽略干扰数据分组。核实系统108然后可以使用从多个不同的区块链数据值获得的真实数据块对交易值进行解码。
在一些情况下,用于识别交易值的认证码可以与用于使用干扰和筛选过程来识别真实数据块的认证码分开。例如,可以为交易识别标识号以用作用于识别与特定交易值对应的区块链数据条目的认证码,而产品的序列号可以被用于识别识别出的区块链数据条目中的真实数据块。
本文讨论的方法和系统使得区块链网络104中的区块链节点102能够从本地数据存储装置中修剪掉旧的交易值,同时仍然保留向发出请求的系统(例如,核实系统108)提供足够数据以恢复被修剪的交易值以对其进行核实的能力。喷泉代码算法的使用确保可以恢复交易值而无需再次发布实际交易值并且无需增加数据尺寸,其中数据块本身也可以被修剪以确保用于区块链节点102的本地数据存储始终少于区块链未修剪的情况。因此,本文讨论的方法和系统可以提供区块链交易的完全核实,同时仍然使得区块链能够被修剪以减少总体数据存储。
计算系统
图2图示了系统100中的计算系统200的实施例。对于相关领域的技术人员来说显而易见的是,图2中所示的计算系统200的实施例仅作为说明而提供,并且可能并未穷举适合于执行本文所讨论的功能的计算系统200的所有可能配置。例如,图5中示出并且在下面更详细讨论的计算机系统600可以是计算系统200的合适配置。图1的系统100中的区块链节点102、参与者系统106和核实系统108可以被实现为计算系统200(例如,或计算机系统600)并且包括如图2中所示或在下面讨论的组件中的一个或多个。
计算系统200可以包括接收设备202。接收设备202可以被配置为经由一种或多种网络协议通过一个或多个网络接收数据。在一些情况下,接收设备202可以被配置为经由一种或多种通信方法(诸如射频、局域网、无线区域网络、蜂窝通信网络、蓝牙、互联网等)从区块链节点102、参与者系统106、核实系统108以及其它系统和实体接收数据。在一些实施例中,接收设备202可以由多个设备组成,诸如用于通过不同网络接收数据的不同接收设备,诸如用于通过局域网接收数据的第一接收设备和用于经由互联网接收数据的第二接收设备。接收设备202可以接收以电子方式传输的数据信号,其中数据可以被叠加或以其它方式编码在数据信号上,并且经由接收设备202对数据信号的接收来解码、解析、读取或以其它方式获得。在一些情况下,接收设备202可以包括解析模块,用于解析接收到的数据信号以获得叠加在其上的数据。例如,接收设备202可以包括解析器程序,该解析器程序被配置为接收接收到的数据信号并将其变换成用于由处理设备执行的功能的可用输入,以执行本文描述的方法和系统。
接收设备202可以被配置为接收由区块链节点102以电子方式传输的数据信号,该数据信号可以与区块链数据值、交易值、区块、认证码、可核实数据块、确认消息等叠加或以其它方式用其进行编码。接收设备202还可以被配置为接收由参与者系统106或核实系统108以电子方式传输的数据信号,诸如可以与新交易值、对交易值的请求、对可核实数据块的请求、认证码、解码的交易值的通知等叠加或以其它方式用其进行编码。
计算系统200还可以包括通信模块204。通信模块204可以被配置为在计算系统200的模块、引擎、数据库、存储器和其它组件之间传输数据以用于执行本文讨论的功能。通信模块204可以由一种或多种通信类型组成并且利用各种通信方法用于计算设备内的通信。例如,通信模块204可以由总线、触针连接器、电线等组成。在一些实施例中,通信模块204还可以被配置为在计算系统200的内部组件与计算系统200的外部组件(诸如外部连接的数据库、显示设备、输入设备等)之间进行通信。计算系统200还可以包括处理设备。处理设备可以被配置为执行本文所讨论的计算系统200的功能,这对于相关领域的技术人员来说是显而易见的。在一些实施例中,处理设备可以包括和/或由专门被配置为执行处理设备的一个或多个功能的多个引擎和/或模块(诸如查询模块214、生成模块216、编码模块218、验证模块220等)组成。如本文所使用的,术语“模块”可以是被特别编程为接收输入、使用该输入执行一个或多个处理并且提供输出的在硬件上执行的软件或硬件。基于本公开,本领域技术人员将清楚由各种模块执行的输入、输出和处理。
计算系统200还可以包括区块链数据206,其可以存储在计算系统200的存储器212中或者存储在计算系统200内的单独区域中或者可由其访问。区块链数据206可以包括区块链,该区块链可以由多个区块组成并且与区块链网络104相关联。区块链数据206还可以或可替代地包括与可以由计算系统200使用的一个或多个区块链钱包相关联的任何数据,诸如密码密钥对、未花费的交易输出、数字资产量、用于区块链网络104的网络标识符、智能合约、签名生成算法、加密算法、交易账户数据、账户余额、用于第三方服务的通信信息等。区块链数据206还可以包括可核实数据块、认证码,以及如本文讨论的在核实被修剪的交易值中使用的其它数据。在一些情况下,区块链数据值和/或交易值可以以预定间隔或基于预定义准则(诸如自区块被添加或交易值被访问以来的预定时间段)从区块链数据206中修剪。
计算系统200还可以包括存储器212。存储器212可以被配置为存储供计算系统200在执行本文讨论的功能时使用的数据,诸如公钥和私钥、对称密钥等。存储器212可以被配置为使用合适的数据格式化方法和方案来存储数据,并且可以是任何合适类型的存储器,诸如只读存储器、随机存取存储器等。存储器212可以包括例如加密密钥和算法、通信协议和标准、数据格式化标准和协议、用于处理设备的模块和应用程序的代码,以及可以适合计算系统200在执行本文公开的功能时使用的其它数据,如对相关领域的技术人员来说将是显而易见的。在一些实施例中,存储器212可以由关系数据库组成或者可以以其它方式包括关系数据库,该关系数据库利用结构化查询语言来存储、识别、修改、更新、访问存储在其中的结构化数据集等。存储器212可以被配置为存储例如密码密钥、盐(salt)、随机数、用于区块链节点102和区块链网络104的通信信息、地址生成和验证算法、数字签名生成和验证算法、用于生成参考值的散列算法、用于智能合约的生成和执行的数据、配置数据、触发数据、格式化标准、交易处理规则、喷泉代码算法、干扰分组生成规则等。
计算系统200可以包括查询模块214。查询模块214可以被配置为对数据库执行查询以识别信息。查询模块214可以接收一个或多个数据值或查询字符串,并且可以基于所指示的数据库(诸如计算系统200的存储器)执行查询字符串以识别存储在其中的信息。然后,查询模块214可以根据需要将识别出的信息输出到计算系统200的适当引擎或模块。查询模块214可以例如对区块链数据206执行查询以识别用于编码以获得可核实数据块的交易值。
计算系统200还可以包括生成模块216。生成模块216可以被配置为生成供计算系统200在执行本文讨论的功能时使用的数据。生成模块216可以接收指令作为输入,可以基于指令生成数据,并且可以将生成的数据输出到计算系统200的一个或多个模块。例如,生成模块216可以被配置为生成区块链数据值、新区块、区块头、参考值、智能合约、交易消息、触发事件等。生成模块216或计算系统200的其它处理模块还可以被配置为执行动作,诸如经由执行智能合约或维持触发事件或发起电子支付交易可能必需的其它动作。
计算系统200还可以包括编码模块218。编码模块218可以被配置为执行编码或解码操作,作为本文讨论的方法和系统的一部分。编码模块218可以接收用于编码和解码的数据以及用于由编码模块218对接收到的数据执行的指令。编码模块218可以按照指示执行编码或解码操作,并将结果数据输出到计算系统200的另一个模块或引擎。编码模块218可以被配置为例如使用喷泉代码算法对交易值进行编码以获得可核实的数据块。编码模块218还可以被配置为使用喷泉代码算法对识别出的可核实数据块进行解码以识别交易值。
计算系统200还可以包括验证模块220。验证模块220可以被配置为执行计算系统200的验证作为本文讨论的功能的一部分。验证模块220可以接收指令作为输入,指令还可以包括要在执行验证时使用的数据,可以根据请求执行验证,并且可以将验证的结果输出到计算系统200的另一个模块或引擎。验证模块220可以例如被配置为使用合适的签名生成算法和密钥来验证数字签名、验证交易值、验证区块引用散列、验证数据引用散列等。
计算系统200还可以包括传输设备222。传输设备222可以被配置为经由一种或多种网络协议通过一个或多个网络传输数据。在一些情况下,传输设备222可以被配置为经由一种或多种通信方法、局域网、无线局域网、蜂窝通信、蓝牙、射频、互联网等向区块链节点102、参与者系统106、核实系统108以及其它实体传输数据。在一些实施例中,传输设备222可以由多个设备组成,诸如用于通过不同网络传输数据的不同传输设备,诸如用于通过局域网传输数据的第一传输设备和用于经由互联网传输数据的第二传输设备。传输设备222可以电子方式传输数据信号,该数据信号叠加有可以由接收计算设备解析的数据。在一些情况下,传输设备222可以包括用于将数据叠加、编码或以其它方式格式化为适合于传输的数据信号的一个或多个模块。
传输设备222可以被配置为以电子方式向区块链节点102传输数据信号,该数据信号可以与区块链数据值、交易值、区块、认证码、可核实数据块、确认消息、新交易值、对交易值的请求、对可核实数据块的请求、认证码、解码的交易值的通知等进行叠加或以其它方式用其进行编码。传输设备222还可以被配置为以电子方式将数据信号传输到核实系统108,该数据信号可以与区块链数据值、可核实的数据块、认证码等叠加或以其它方式用其进行编码。
用于核实被修剪的交易值的过程
图3图示了用于通过使用图1中所示并且在上面讨论的系统100中的可核实数据块核实已从区块链中被修剪的交易值的过程。
在步骤302中,区块链节点102可以通过从数据存储库中移除一个或多个交易值来修剪其区块链的本地副本(例如,存储在区块链数据206中)。区块链节点102可以被指示发布用于被修剪的区块链交易的数据块,诸如基于自从在步骤302中修剪交易值以来的预定时间段或者在从外部系统(诸如核实系统108)接收到对交易值(例如,经由认证码识别出的)的请求时。在步骤304中,区块链节点102可以(例如,经由编码模块218)使用喷泉代码算法对交易值进行编码,以识别用于交易值的多个可核实数据块。
在步骤306中,区块链节点102可以(例如,经由查询模块214或生成模块216)识别要在可识别数据块的识别中使用的认证码,以用于对交易值进行解码。认证码可以被分解成代码部分,其中每个数据块可以附有代码部分。在步骤308中,核实系统108可以诸如直接从区块链节点102接收认证码(例如,作为对交易值的请求的响应)或者在区块链数据值中接收其标识。
在步骤310中,区块链节点102可以(例如,经由生成模块216)使用传统方法和系统生成用于区块链的新区块,其中新区块可以包括一个或多个区块链数据值并且其中可识别数据块和对应的代码部分可以跨区块链数据值被存储。在步骤312中,可以使用传统方法和系统将新区块添加到区块链,诸如其中新区块被传输到多个其它区块链节点102,由此确认,并分发到区块链网络104中的区块链节点102。
为了核实交易值,在步骤314中,根据具体情况,核实系统108可以识别自从修剪交易值或者自从向区块链节点102提交对交易值的请求以来已经添加到区块链的新区块。核实系统108还可以使用认证码来识别用于新区块的区块链数据条目中的交易值的可核实数据块,诸如通过识别伴随有包括认证码的代码部分的可核实数据块。在步骤316中,核实系统108可以(例如,经由编码模块218)使用识别出的数据块和喷泉代码算法对交易值进行解码。在步骤318中,核实系统108然后可以(例如,经由验证模块220)核实交易值,诸如通过确保溯源区块链中的产品的真实性或验证从第一区块链钱包转移到第二区块链钱包的交易金额。
用于核实被修剪的区块链交易的示例性方法
图4图示了用于核实通过使用喷泉代码算法和可核实数据块从区块链修剪的区块链交易的方法400。
在步骤402中,包括在构成区块链的多个区块中的区块的子集可以由计算设备(例如,计算系统200、核实系统108等)的接收器(例如,接收设备202)接收,其中每个区块包括一个或多个区块链数据值。在步骤404中,认证码可以由计算设备的接收器接收。在步骤406中,多个数据块可以由计算设备的处理器(例如,查询模块214)使用认证码在区块的子集中识别,其中多个数据块中的每个数据块被包括在区块的子集的区块中的一个或多个区块链数据值之一中。
在步骤408中,交易值可以由计算设备的处理器(例如,编码模块218)使用至少识别出的多个数据块和喷泉代码算法来解码。在步骤410中,解码的交易值可以由计算设备的处理器(例如,验证模块220)核实。
在一个实施例中,方法400还可以包括由与计算设备接口的显示设备显示核实解码的交易值的结果。在一些实施例中,认证码可以存储在多个区块中的区块中的一个或多个区块链数据值之一中。在一些实施例中,核实解码的交易值可以包括使用密码密钥对的公钥来验证包括在解码的交易值中的数字签名。在一个实施例中,认证码可以是与产品相关联的产品标识符,并且解码的交易值可以包括指示产品所有权转移的数据。在一些实施例中,区块链可以是被修剪的区块链。
用于发布可核实数据块的示例性方法
图5图示了用于在被修剪的区块链上发布用于交易的可核实数据块的方法500,该方法可以被用于使用喷泉代码算法对底层交易值进行解码。
在步骤502中,交易值可以由计算设备(例如,计算系统200、区块链节点102等)的接收器(例如,接收设备202)接收。在步骤504中,交易值可以由计算设备的处理器(例如,编码模块218)使用喷泉代码算法编码成多个数据块。在步骤506中,与多个数据块对应的认证码可以由计算设备的处理器(例如,查询模块214、生成模块216等)识别,其中多个数据块中的每个数据块包括认证码的一部分。
在步骤508中,用于被修剪的区块链的至少两个新区块可以由计算设备的处理器(例如,生成模块216)生成,其中至少两个新区块中的每个新区块包括区块头和一个或多个区块链数据值,并且其中多个数据块和认证码的对应部分跨至少两个新区块中的每个新区块的一个或多个区块链数据值被存储。在步骤510中,所生成的至少两个新区块可以由计算设备的传输器(例如,传输设备222)传输到区块链网络(例如,区块链网络104)中与被修剪的区块链相关联的多个区块链节点(例如,区块链节点102)。在一个实施例中,两个新区块在被修剪的区块链中可以不连续。
计算机系统体系架构
图6图示了计算机系统600,其中本公开的实施例或其部分可以被实现为计算机可读代码。例如,图1的区块链节点102和核实系统108以及图2的计算系统200可以使用硬件、其上存储有指令的非暂态计算机可读介质或其组合来在计算机系统600中实现,并且可以在一个或多个计算机系统或其它处理系统中实现。硬件可以实施用于实现图3-5的方法的模块和组件。
如果使用可编程逻辑,那么这种逻辑可以在由可执行软件代码配置的商业上可用的处理平台上执行,以成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)。本领域普通技术人员可以认识到的是,所公开的主题的实施例可以用各种计算机系统配置来实践,包括多核多处理器系统、小型计算机、大型计算机、与分布式功能链接或集群的计算机,以及可以嵌入到几乎任何设备中的普及型或微型计算机。例如,可以使用至少一个处理器设备和存储器来实现上述实施例。
本文讨论的处理器单元或设备可以是单个处理器、多个处理器或其组合。处理器设备可以具有一个或多个处理器“核心”。如本文讨论的术语“计算机程序介质”、“非暂态计算机可读介质”和“计算机可用介质”通常用于指有形介质,诸如可移动存储单元618、可移动存储单元622和安装在硬盘驱动器612中的硬盘。
依据这个示例计算机系统600描述了本公开的各种实施例。在阅读本描述之后,相关领域的技术人员将认识到如何使用其它计算机系统和/或计算机体系架构来实现本公开。虽然操作可以被描述为顺序处理,但是一些操作实际上可以并行地、并发地和/或在分布式环境中执行,并且程序代码可以在本地或远程存储以供单个处理器或多个处理器机器访问。此外,在一些实施例中,可以重新布置操作的次序而不脱离所公开的主题的精神。
处理器设备604可以是被专门配置为执行本文讨论的功能的专用或通用处理器设备。处理器设备604可以连接到通信基础设施606,诸如总线、消息队列、网络、多核消息传递方案等。网络可以是适于执行如本文公开的功能的任何网络,并且可以包括局域网(LAN)、广域网(WAN)、无线网络(例如,WiFi)、移动通信网络、卫星网络、互联网、光纤、同轴电缆、红外线、射频(RF)或其任意组合。其它合适的网络类型和配置对于相关领域的技术人员将是显而易见的。计算机系统600还可以包括主存储器608(例如,随机存取存储器、只读存储器等)并且还可以包括辅助存储器610。辅助存储器610可以包括硬盘驱动器612和可移动存储驱动器614,诸如软盘驱动器、磁带驱动器、光盘驱动器、闪存存储器等。
可移动存储驱动器614可以以众所周知的方式从可移动存储单元618读取和/或写入可移动存储单元618。可移动存储单元618可以包括可以由可移动存储驱动器614读取和写入的可移动存储介质。例如,如果可移动存储驱动器614是软盘驱动器或通用串行总线端口,那么可移动存储单元618可以分别是软盘或便携式闪存驱动器。在一个实施例中,可移动存储单元618可以是非暂态计算机可读记录介质。
在一些实施例中,辅助存储器610可以包括用于允许计算机程序或其它指令被加载到计算机系统600中的替代部件,例如,可移动存储单元622和接口620。此类部件的示例可以包括程序盒和盒接口(例如,如在视频游戏系统中找到的)、可移动存储器芯片(例如,EEPROM、PROM等)和相关联的插座,以及其它可移动存储单元622和接口620,如对于相关领域的技术人员将显而易见的。
存储在计算机系统600中(例如,在主存储器608和/或辅助存储器610中)的数据可以存储在任何类型的合适的计算机可读介质上,诸如光学存储装置(例如,光盘、数字多功能光盘、蓝光光盘等)或磁带存储装置(例如,硬盘驱动器)。可以以任何类型的合适数据库配置来配置数据,诸如关系数据库、结构化查询语言(SQL)数据库、分布式数据库、对象数据库等。合适的配置和存储类型对于相关领域的技术人员将是显而易见的。
计算机系统600还可以包括通信接口624。通信接口624可以被配置为允许软件和数据在计算机系统600和外部设备之间传递。示例性通信接口624可以包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口624传送的软件和数据可以是信号的形式,其可以是电子的、电磁的、光学的或其它信号,如对于相关领域的技术人员来说将显而易见的。信号可以经由通信路径626行进,通信路径626可以被配置为承载信号并且可以使用电线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。
计算机系统600还可以包括显示器接口602。显示器接口602可以被配置为允许数据在计算机系统600和外部显示器630之间传递。示例性显示器接口602可以包括高清晰多媒体接口(HDMI)、数字视频接口(DVI)、视频图形阵列(VGA)等。显示器630可以是用于显示经由计算机系统600的显示器接口602传输的数据的任何合适类型的显示器,包括阴极射线管(CRT)显示器、液晶显示器(LCD)、发光二极管(LED)显示器、电容式触摸显示器、薄膜晶体管(TFT)显示器等。
计算机程序介质和计算机可用介质可以指存储器,诸如可以是存储器半导体(例如,DRAM等等)的主存储器508和辅助存储器510。这些计算机程序产品可以是用于向计算机系统500提供软件的部件。计算机程序(例如,计算机控制逻辑)可以存储在主存储器608和/或辅助存储器610中。计算机程序也可以经由通信接口624来接收。此类计算机程序在被执行时可以使得计算机系统600能够实现本文所讨论的本方法。特别地,计算机程序在被执行时可以使得处理器设备604能够实现由图3-5所示的方法,如本文所讨论的。因而,此类计算机程序可以表示计算机系统600的控制器。在使用软件实现本公开的情况下,软件可以存储在计算机程序产品中并使用可移动存储驱动器614、接口620以及硬盘驱动器612或通信接口624加载到计算机系统600中。
处理器设备604可以包括被配置为执行计算机系统600的功能的一个或多个模块或引擎。每个模块或引擎可以使用硬件实现,并且在一些情况下,也可以利用诸如与存储在主存储器608或辅助存储器610中的程序代码和/或程序对应的软件。在此类情况下,在由计算机系统600的硬件执行之前,程序代码可以由处理器设备604(例如,由编译模块或引擎)编译。例如,程序代码可以是用编程语言编写的源代码,其被翻译成更低级别的语言(诸如汇编语言或机器代码)以供处理器设备604和/或计算机系统600的任何附加硬件组件执行。编译的处理可以包括使用词法分析、预处理、解析、语义分析、语法导向转换、代码生成、代码优化,以及可以适于将程序代码转换成适于控制计算机系统600以执行本文公开的功能的较低级别语言的任何其它技术。对于相关领域的技术人员将显而易见的是,此类处理导致计算机系统600是被特别编程以执行上面讨论的功能的专门配置的计算机系统600。
除其它特征之外,符合本公开的技术提供了用于核实被修剪的区块链交易以及在被修剪的区块链上发布用于交易的可核实数据块的系统和方法。虽然上面已经描述了所公开的系统和方法的各种示例性实施例,但是应当理解的是,它们仅仅是为了示例而非限制的目的的呈现。它不是详尽的并且不将本公开限制到所公开的精确形式。根据上述教导,修改和变化是可能的,或者可以从本公开的实践中获得,而不脱离广度或范围。
Claims (16)
1.一种用于对被修剪的区块链交易进行核实的方法,包括:
由计算设备的接收器接收包括在构成区块链的多个区块中的区块的子集,其中每个区块包括一个或多个区块链数据值;
由计算设备的接收器接收认证码;
由计算设备的处理器使用认证码识别区块的子集中的多个数据块,其中所述多个数据块中的每个数据块被包括在区块的子集中的区块中的所述一个或多个区块链数据值之一中;
由计算设备的处理器至少使用识别出的多个数据块和喷泉代码算法对交易值进行解码;以及
由计算设备的处理器核实解码的交易值。
2.如权利要求1所述的方法,还包括:
由与计算设备接口的显示设备显示核实解码的交易值的结果。
3.如权利要求1所述的方法,其中认证码被存储在所述多个区块中的区块中的所述一个或多个区块链数据值之一中。
4.如权利要求1所述的方法,其中核实解码的交易值包括使用密码密钥对的公钥来验证包括在解码的交易值中的数字签名。
5.如权利要求1所述的方法,其中
认证码是与产品相关联的产品标识符,以及
解码的交易值包括指示产品的所有权转移的数据。
6.如权利要求1所述的方法,其中区块链是被修剪的区块链。
7.一种用于在被修剪的区块链上发布用于交易的可核实数据块的方法,包括:
由计算设备的接收器接收交易值;
由计算设备的处理器使用喷泉代码算法将交易值编码成多个数据块;
由计算设备的处理器识别与所述多个数据块对应的认证码,其中所述多个数据块中的每个数据块包括认证码的一部分;
由计算设备的处理器生成用于被修剪的区块链的至少两个新区块,其中所述至少两个新区块中的每个新区块包括区块头和一个或多个区块链数据值,并且其中所述多个数据块和认证码的对应部分跨所述至少两个新区块中的每个新区块的所述一个或多个区块链数据值被存储;以及
由计算设备的传输器将生成的所述至少两个新区块传输到与被修剪的区块链相关联的区块链网络中的多个区块链节点。
8.如权利要求7所述的方法,其中所述两个新区块不是被修剪的区块链中的连续块。
9.一种用于对被修剪的区块链交易进行核实的系统,包括:
计算设备,包括
接收器,接收
包括在构成区块链的多个区块中的区块的子集,其中每个区块包括一个或多个区块链数据值,以及
认证码,以及
处理器
使用认证码识别区块的子集中的多个数据块,其中所述多个数据块中的每个数据块被包括在区块的子集中的区块中的所述一个或多个区块链数据值之一中,
至少使用识别出的多个数据块和喷泉代码算法对交易值进行解码,以及
核实解码的交易值。
10.如权利要求9所述的系统,还包括:
显示设备,与计算设备接口,显示核实解码的交易值的结果。
11.如权利要求9所述的系统,其中认证码被存储在所述多个区块中的区块中的所述一个或多个区块链数据值之一中。
12.如权利要求9所述的系统,其中核实解码的交易值包括使用密码密钥对的公钥来验证包括在解码的交易值中的数字签名。
13.如权利要求9所述的系统,其中
认证码是与产品相关联的产品标识符,以及
解码的交易值包括指示产品的所有权转移的数据。
14.如权利要求9所述的系统,其中区块链是被修剪的区块链。
15.一种用于在被修剪的区块链上发布用于交易的可核实数据块的系统,包括:
计算设备;
区块链网络,与被修剪的区块链相关联;以及
多个区块链节点,包括在区块链网络中,其中
计算设备包括:
接收器,接收交易值,
处理器
使用喷泉代码算法将交易值编码成多个数据块,
识别与所述多个数据块对应的认证码,其中所述多个数据块中的每个数据块包括认证码的一部分,以及
为被修剪的区块链生成至少两个新区块,其中所述至少两个新区块中的每个新区块包括区块头和一个或多个区块链数据值,并且其中所述多个数据块和认证码的对应部分跨所述至少两个新区块中的每个新区块的所述一个或多个区块链数据值被存储,以及
传输器,向所述多个区块链传输所述生成的至少两个新区块。
16.如权利要求15所述的系统,其中所述两个新区块不是被修剪的区块链中的连续块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/451,329 US20230118754A1 (en) | 2021-10-19 | 2021-10-19 | Method and system for data retention in pruned blockchains |
US17/451,329 | 2021-10-19 | ||
PCT/US2022/043211 WO2023069202A1 (en) | 2021-10-19 | 2022-09-12 | Method and system for data retention in pruned blockchains |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118120180A true CN118120180A (zh) | 2024-05-31 |
Family
ID=83508897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280068306.3A Pending CN118120180A (zh) | 2021-10-19 | 2022-09-12 | 用于被修剪的区块链中的数据保留的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230118754A1 (zh) |
EP (1) | EP4420296A1 (zh) |
KR (1) | KR20240087781A (zh) |
CN (1) | CN118120180A (zh) |
WO (1) | WO2023069202A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11362834B2 (en) * | 2017-07-24 | 2022-06-14 | Comcast Cable Communications, Llc | Systems and methods for managing digital rights |
US20220103584A1 (en) * | 2017-11-27 | 2022-03-31 | Kevin Tobin | Information Security Using Blockchain Technology |
KR102218297B1 (ko) * | 2019-08-01 | 2021-02-24 | 주식회사 블룸테크놀로지 | 원장의 증명 가능 프루닝 시스템 |
US11379472B2 (en) * | 2020-11-03 | 2022-07-05 | International Business Machines Corporation | Schema-based pruning of blockchain data |
-
2021
- 2021-10-19 US US17/451,329 patent/US20230118754A1/en active Pending
-
2022
- 2022-09-12 KR KR1020247010891A patent/KR20240087781A/ko unknown
- 2022-09-12 CN CN202280068306.3A patent/CN118120180A/zh active Pending
- 2022-09-12 EP EP22783186.4A patent/EP4420296A1/en active Pending
- 2022-09-12 WO PCT/US2022/043211 patent/WO2023069202A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20230118754A1 (en) | 2023-04-20 |
EP4420296A1 (en) | 2024-08-28 |
KR20240087781A (ko) | 2024-06-19 |
WO2023069202A1 (en) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11444777B2 (en) | Method and system for providing validated, auditable, and immutable inputs to a smart contract | |
CN109711858B (zh) | 经由区块链防止欺诈性礼品卡的方法和系统 | |
US11200595B2 (en) | Method and system for spam prevention in blockchain advertising | |
CN114788222A (zh) | 用于安全和可验证的离线区块链交易的方法和系统 | |
US20220284008A1 (en) | Method and system of implementing partitioned blockchain | |
US11374962B2 (en) | Method and system for prevention of spam attacks on a blockchain network | |
US11689355B2 (en) | Method and system for the atomic exchange of blockchain assets using transient key pairs | |
US11829995B2 (en) | Method and system for optimizing blockchain parsing using a wallet's static characteristics | |
US11954673B2 (en) | Method and system for user-based distributed ledgers | |
US20240202185A1 (en) | Method and system for pruning blocks from a blockchain | |
CN115968483A (zh) | 用于区块链交易的监管的方法和系统 | |
CN117957528A (zh) | 用于许可的区块链中智能合约的并行处理的方法和系统 | |
WO2023027846A1 (en) | Method and system for privately managed digital assets on an enterprise blockchain | |
US20210374125A1 (en) | Method and system for improved consensus using bootstrap resampling | |
US20230118754A1 (en) | Method and system for data retention in pruned blockchains | |
EP4449329A1 (en) | Method and system for enabling traceable privacy-maintaining multi-hop offline transactions in digital currencies | |
WO2023014525A1 (en) | Method and system of blockchain disbursements |
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 |