CN117157939A - 抗量子散列方案的方法和系统 - Google Patents
抗量子散列方案的方法和系统 Download PDFInfo
- Publication number
- CN117157939A CN117157939A CN202280028652.9A CN202280028652A CN117157939A CN 117157939 A CN117157939 A CN 117157939A CN 202280028652 A CN202280028652 A CN 202280028652A CN 117157939 A CN117157939 A CN 117157939A
- Authority
- CN
- China
- Prior art keywords
- value
- reference value
- processing server
- blockchain
- block
- 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 57
- 238000012545 processing Methods 0.000 claims description 158
- 230000015654 memory Effects 0.000 claims description 38
- 239000007788 liquid Substances 0.000 claims 1
- 238000012795 verification Methods 0.000 description 39
- 238000012790 confirmation Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 16
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000013479 data entry Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005286 illumination Methods 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
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种使用面向散列的方案在许可区块链中进行节制的方法包括:存储包括最近区块的区块链;接收交易数据值;接收第一引用值和第二引用值;通过对第一引用值进行散列处理来生成第一散列值;生成包括第一散列值、第二散列值、第三引用值和区块值的区块证明;使用该区块证明来验证最近区块的区块头;接收新的区块值;生成包括第一引用值、第二引用值、第四引用值和新区块值的新区块头;为区块链生成包括新区块头和交易数据值的新区块;以及将该新区块发送到与区块链相关联的一个或多个附加节点。
Description
相关申请的交叉引用
本申请要求于2021年5月11日提交的美国专利申请第17/317,456号的权益,该申请的全部内容实际上通过引用并入本文。
技术领域
本公开涉及能够通过使用抵抗通过使用包括量子计算在内的计算技术进行破坏或求解的散列方案来验证断言的证明,诸如呈现的身份或合同。
背景技术
许多加密技术围绕着复杂算法的使用,这些复杂算法包括标准计算机几乎不可能解决的数学问题。例如,依赖于使用数字签名的区块链和其他技术通常利用RSA(Rivest-Shamir-Adleman),其依赖于素因式分解,或利用ECDSA(椭圆曲线数字签名算法),其使用离散对数问题。在这两种情况下,标准计算机都太慢且效率低下,以至于无法解决这些数学问题,使得相关算法适当地加密安全。
然而,量子计算正在开发中,量子计算如果成功则有可能解决此类数学问题。因此,通过诸如RSA和ECDSA之类的算法的数字签名的使用在基础数学问题可以被解决时可能变得无效,从而产生许多漏洞和安全威胁。此外,传统的基于散列的签名具有对于使用来说太不切实际的数据大小。因此,需要一种技术系统,其中可以使用密码技术,该密码技术抵抗通过甚至量子计算的求解成果,同时仍然提供可从现有算法获得的身份和断言的证明。
发明内容
本公开提供了对使用面向散列的交易方案来证明值的断言的系统和方法的描述。使用散列而不是依赖于数学问题的标准算法提供了对量子计算的抵抗,特别是当使用诸如SHA-256之类的足够复杂的散列时,其结果值具有足够的大小以抵抗碰撞。区块链用于存储声明,其中区块链提供声明消息的不可变和加时间戳的记录。声明包括用户以后可能想要证明的值,诸如身份文件、合同、土地契约、投票记录等。声明还包括散列值,该散列值通过对值以及仅为用户所知的一个或多个其他项进行散列操作而生成。当用户想要证明该值的所有权或以其他方式证明其真实性时,用户可以在区块链上发出确认消息。确认消息包括用于创建在声明中存储的散列值的一个或多个其他项。通过揭示用户已知的那些值,任何希望审计用户的断言的实体都可以使用待证明的值和确认消息中的一个或多个其他项来计算散列值,并对照声明中的散列值对其进行检查。匹配证明用户的断言成功。结果是这样一种系统:其耐量子计算,同时仍然使用户能够通过使用散列和区块链来快速、容易和安全地证明值的断言。
一种使用面向散列的方案在许可区块链中进行节制(moderate)的方法,包括:在处理服务器的存储器中存储由包括最近区块的多个区块组成的区块链,所述最近区块包括区块头;由处理服务器的接收器接收一个或多个交易数据值;由处理服务器的接收器接收第一引用值和第二引用值;由所述处理服务器的处理设备通过对第一引用值进行散列处理来生成第一散列值;由所述处理服务器的处理设备生成至少包括第一散列值、第二散列值、第三引用值和区块值的区块证明;由所述处理服务器的处理设备使用所述区块证明来验证所述最近区块中包括的区块头;由所述处理服务器的接收器接收新的区块值;由所述处理服务器的处理设备生成至少包括第一引用值、第二引用值、第四引用值和所述新区块值的新区块头;由所述处理服务器的处理设备生成所述区块链的新区块,所述新区块包括所述新区块头和所述一个或多个交易数据值;以及由所述处理服务器的发送器将所述新区块发送到与所述区块链相关联的一个或多个附加节点。
一种使用面向散列的方案在许可区块链中进行节制的系统,包括:作为与区块链相关联的节点的处理服务器;以及与所述区块链相关联的一个或多个附加节点,其中所述处理服务器至少包括发送器,存储器,存储由包括最近区块的多个区块组成的区块链,所述最近区块包括区块头,接收器,接收一个或多个交易数据值、第一引用值、第二引用值,以及处理设备,通过对第一引用值进行散列处理来生成第一散列值,生成至少包括第一散列值、第二散列值、第三引用值和区块值的区块证明,以及使用所述区块证明来验证所述最近区块中包括的区块头,所述接收器还接收新的区块值,所述处理设备还生成至少包括第一引用值、第二引用值、第四引用值和所述新区块值的新区块头,以及生成所述区块链的新区块,所述新区块包括所述新区块头和所述一个或多个交易数据值,并且所述发送器将所述新区块发送到与所述区块链相关联的一个或多个附加节点。
附图说明
从结合附图阅读时的示例性实施例的以下详细描述,本公开的范围得到最好的理解。附图中包括以下各图:
图1是示出根据示例性实施例的用于使用面向散列的交易方案和区块链来证明值的断言的高级系统架构的框图。
图2是示出根据示例性实施例的用于使用面向散列的交易方案和区块链来验证值的断言的图1的系统的处理服务器的框图。
图3是示出根据示例性实施例的可存储在图1的区块链中的示例声明和确认消息的图。
图4是示出根据示例性实施例的可存储在图1的区块链中的用于通过区块头进行所有权转移的示例消息的图。
图5A和5B是示出根据示例性实施例的在图1的系统中使用面向散列的交易方案和区块链来验证断言值的过程的流程图。
图6是示出根据示例性实施例的用于使用面向散列的交易方案来验证值的断言的证明的示例性方法的流程图。
图7是示出根据示例性实施例的使用面向散列的方案在许可区块链中进行节制的示例性方法的流程图。
图8是示出根据示例性实施例的计算机系统架构的框图。
根据下文提供的详细描述,本公开的其他应用领域将变得清楚。应当理解的是,示例性实施例的详细描述仅旨在说明目的,因此不旨在必然限制本公开的范围。
具体实施方式
术语表
区块链—基于区块链的数字资产(诸如加密货币之类)的所有交易的共享分类账。一个或多个计算设备可构成区块链网络,该区块链网络可被配置为作为区块链中的区块的一部分来处理和记录交易。一旦区块完成,就将该区块添加到区块链并从而更新交易记录。在许多情况下,区块链可以是按时间顺序的交易的分类账,或者可以以适合供区块链网络使用的任何其他顺序呈现。在一些配置中,区块链中记录的交易可包括目的地址和数字资产金额,使得区块链记录什么资产可归属于特定地址。在一些情况下,交易是金融的而其他不是金融的,或者可能包括附加的或不同的信息,诸如源地址、时间戳等。在一些实施例中,区块链也可包括或者替代地包括几乎任何类型的数据作为被放置或需要被放置在分布式数据库中的交易的形式,并且可由区块链网络通过工作证明和/或与其相关联的任何其他合适的验证技术进行确认和核实,该分布式数据库保持防止(甚至被其操作者)篡改和修订的不断增长的数据记录列表。在一些情况下,关于给定交易的数据还可包括附加到交易数据的附加数据,该附加数据不直接是交易的一部分。在一些情况下,将此类数据纳入区块链可能构成交易。在这种情况下,区块链可能不与特定的数字货币、虚拟货币、法定货币或其他类型的货币直接相关联。
使用散列和区块链进行断言证明的系统
图1示出了用于通过使用面向散列的交易方案和区块链来验证值的断言的证明的系统100。
系统100可包括处理服务器102。下面更详细讨论的处理服务器102可被配置为验证由用户104提供的断言为特定值的证明。在系统100中,该特定值可由用户104提供给与区块链网络106相关联的区块链。该特定值可由用户104在下面更详细讨论的声明消息中提交到区块链网络106。
区块链网络106可以包括多个节点。每个节点可以是计算系统,其被配置为执行与区块链的处理和管理有关的功能,包括区块链数据值的生成、提议的区块链交易的验证、数字签名的验证、新区块的生成、新区块的验证以及区块链的副本的维护。区块链可以是由至少多个区块组成的分布式分类账。每个区块可以至少包括区块头和一个或多个数据值。每个区块头可以至少包括时间戳、区块引用值和数据引用值。时间戳可以是生成区块头的时间,并且可以使用任何合适的方法(例如,UNIX时间戳、DateTime等)来表示。区块引用值可以是引用区块链中的较早区块(例如,基于时间戳)的值。在一些实施例中,区块头中的区块引用值可以是对在相应块之前最近添加的区块的区块头的引用。在示例性实施例中,区块引用值可以是经由对最近添加的区块的区块头进行散列处理而生成的散列值。数据引用值可以类似地是对存储在包括区块头的区块中的一个或多个数据值的引用。在示例性实施例中,数据引用值可以是经由对一个或多个数据值进行散列处理而生成的散列值。例如,区块引用值可以是使用一个或多个数据值生成的默克尔(Merkle)树的根。
在每个区块头中使用区块引用值和数据引用值可能导致区块链不可变。对数据值的任何尝试修改将需要为该区块生成新的数据引用值,这从而将需要新生成后续区块的区块引用值,进一步需要在每个后续区块中生成新的区块引用值。这将必须在区块链网络106中的每个单个节点中被执行和更新,然后才能生成新区块并将其添加到区块链中,以便使要做出的改变永久。计算和通信限制可能使这样的修改变得极其困难,如果不是不可能的话,从而使区块链不可变。
每个区块链数据值可以对应于如下文所讨论的确认消息,或声明消息。声明消息可由用户104使用合适的计算设备108提交到区块链网络中的节点,计算设备108诸如是台式计算机、膝上型计算机、笔记本计算机、平板计算机、蜂窝电话、智能电话、智能手表、智能电视、可穿戴计算设备或者专门配置为执行本文讨论的功能的任何其他类型的计算设备。声明消息可包括用户104以后可能想要证明的特定值,或者作为该值本身为真实的证明、该值的所有权证明等。例如,特定值可以是身份文件,其中使用本文讨论的方法可以使用户104能够证明他们是该身份文件中详述的人。在另一示例中,特定值可以是土地契约,其中本文讨论的方法使用户104能够证明他们是该土地契约的所有者并且因此是其适用的土地。
声明消息还可包括散列值,其在本文中也称为“身份散列值”。可以通过对特定值和在本文中称为“链值”的一个或多个附加值进行散列处理来生成该散列值。这些链值在声明消息被提交时可以为用户104所知,但在其他方面可以不为任何其他实体特别是区块链网络106中的任何节点所知。用户104可以使用任何合适的散列算法(诸如SHA-256)经由对特定值和一个或多个链值进行散列处理来生成身份散列值。在一个示例性实施例中,可使用抗碰撞散列算法。在一个优选实施例中,在生成散列值时可使用至少两个链值。用户104可以向区块链网络106中的节点提交声明消息,该声明消息至少包括特定值和身份散列值。该声明消息然后可被包括在被验证并添加到区块链的新区块中。
在系统100中,请求系统110可以请求用户104提供特定值的断言的证明。例如,在特定值是身份文件的示例中,请求系统110可以请求用户104提供其身份的证明。在这样的示例中,用户104可以使用区块链和身份散列值来证明他们是在声明消息中存储的身份文件中指示的个体。请求系统110可以向处理服务器102提交确认请求。该确认请求可以指示请求系统110想要对其进行验证的声明消息。在一些情况下,每个声明消息可包括唯一标识符,其可包括在确认请求中以供处理服务器102在识别声明消息时使用。
处理服务器102然后可以尝试经由由用户104提供的断言的证明来验证在声明消息中包括的值。该验证可以通过使用在区块链中存储的确认消息来执行。该确认消息可由用户104(例如,经由计算设备108)在验证被请求时提交到区块链网络106中的节点。在一些情况下,处理服务器102可以请求用户104提交确认消息(例如,在从请求系统110接收到确认请求之后,其中用户104的联系信息可包括在该确认请求中)。在一些情况下,请求系统110可以请求用户104发布确认消息。例如,在上述示例中,当请求系统110请求用户104提供其身份证明时,用户104可以通过向区块链提交确认消息并向请求系统110提供包括其身份文件的声明消息的标识符来回应。
为了验证用户对特定值的断言的证明,处理服务器102可以首先识别在区块链中存储的确认消息。在一些情况下,每个确认消息可包括在其对应的声明消息中找到的标识符。在其他情况下,每个确认消息可包括其自己的标识符,其中标识符由此对区块链中的所有消息来说是独特的,其中用户104或请求系统110可将该标识符提供给处理服务器102以供在识别确认消息时使用。
确认消息可以至少包括用户104在生成在声明消息中存储的身份散列值时使用的一个或多个校验(check)值。处理服务器102可以识别确认消息中的一个或多个校验值,然后使用这一个或多个校验值和在识别出的声明消息中包括的特定值来生成校验散列值。处理服务器102然后可以对照在声明消息中发现的身份散列值检查该校验散列值,以看是否存在匹配。如果存在匹配,则这意味着用户104在特定值被添加到区块链时(例如,在包括声明消息的区块的区块头中找到的时间戳处)必须拥有该特定值,因为他们具有用来生成身份散列值的一个或多个校验值。这可以作为特定值的断言的证明,其中处理服务器102然后可以相应地通知请求系统110。如果在校验散列值和身份散列值之间不存在匹配,那么处理服务器102可以相应地通知请求系统110用户的尝试证明失败。
因此,本文讨论的方法和系统使用户104能够通过使用区块链在特定时间断言值的所有权或存在,其中该断言的证明可以通过使用面向散列的交易方案经由使用稍后提交给区块链的确认消息来验证。该验证可以由如本文公开专门配置的处理服务器102容易地执行,使请求系统110能够容易地验证证明并且自身不必执行任何复杂的动作。此外,通过使用散列而不是数字签名,本文讨论的方法抵抗通过量子计算的尝试求解,而足够复杂的散列算法确保缺乏碰撞,从而导致安全但容易实现的系统。
在一些实施例中,确认和声明消息可被链接在一起以提供关于断言和所有权的证明的附加安全性,以及将特定值的所有权转移给另一用户。可以通过使用附加的链值来执行链化。例如,确认消息可包括在计算在声明消息中找到的身份散列值时使用的两个链值。声明消息可包括两个新的链值。这些新的链值可以是在新的声明和确认消息组合中使用的散列链的一部分。
例如,声明消息可包括值X和通过对X、A和B的组合进行散列处理而生成的身份散列值。因此,A和B可以是在用于验证值X的确认消息中找到的链值。声明消息还可包括两个新的链值,C2和D2。后续的声明消息可由用户104提交以用于值X的稍后证明轮次,其中声明消息可包括通过对X、C1和D1的组合进行散列处理而生成的身份散列值。C2和D2的值可与C1和D1的值相关,诸如是C1和D1的值的散列,其中C2=H(C1)并且D2=H(D1),其中H指散列操作。
在一个示例中,投票者可能需要在公共选举中投票之前向投票管理员证明其身份,其中他们的身份文件是值X。投票者可能拥有C1,并且可以根据需要经由散列生成C2。为了建立身份的证明,投票管理员可以向投票者提供D1。投票者可以经由对D1进行散列处理而生成D2,然后发布包括C2、D2、身份文件和C1+D1+身份文件的散列的声明消息。此时,投票管理员可以看到声明并基于其提供的值识别D2。投票管理员然后可以等待投票者用提供的D1发布其自己的C1的确认消息,并使用这些值来确认声明消息中的散列。一旦得到确认,它就证明投票者拥有身份文件,并且投票者的身份因此可以得到验证。
在一些情况下,声明消息中使用的新链值之一可以是新散列链的一部分。例如,用户104可提交针对值X的第一声明消息,其包括H(X+A1+B1)的身份散列值(其中相应的确认消息包括链值A1和B1)。第一声明消息还可包括A2和B2的新链值。对于第二声明消息,可利用新的散列链,使得第二声明消息包括值X和H(X+B3+C1)的身份散列值。针对第二声明消息的确认消息因此可包括B3和C1的链值。因此,因为新的散列链C1被使用,邪恶的参与者不能简单地继续对声明消息中的链值进行散列处理以尝试猜测稍后的声明—确认组合。类似地,如果用户104想要转移值X的所有权,则他们可以从新用户被赋予身份散列值H(X+B3+C1),其中新用户知道C1的值,同时其不为用户104所知。因此,只有新用户可以提供值X的断言的可验证证明。因此,在声明消息中对散列链或其他新引入的链值的使用可以用来在系统100中容易地转移值的所有权或其他断言。
在一些情况下,区块链可以是许可或以其它方式节制的区块链,其中一个或多个节制实体112可以参与区块链网络106以对计算设备108、处理服务器102和/或区块链所涉及的其他系统的参与进行节制。在这种情况下,节制实体112可能被要求为添加到区块链的新区块提供其自己的数字签名。结果,三个实体可能参与正在区块链中表示的任何新动作,因此,对于节制实体112的包括,声明和确认消息的使用是可能不足够的。在这种情况下,区块头可与如上面讨论的散列链结合使用,其中每个区块头可包括散列链值。
在这样的实施例中,区块头可用于存储值X、通过对X和链值的组合进行散列处理而生成的散列值H、以及链值本身。在这些实施例中,链值可包括与转移所涉及的实体相关联的值(例如,链值A1和B2)并且还可包括与节制实体相关联的另一链值(例如,链值C2)。在下面更详细讨论的图4中找到了节制区块链中的区块头的说明性示例。在这样的区块链中,所有权的转移可以在链的“所有者”有权确认下一个区块的意义上执行。在一些情况下,通过对添加的每个新区块将所有权转移回自己,一个实体可重复作为所有者。例如,节制实体112可以保持对所有区块的确认的完全所有权,其中其他实体可以参与其中,如上面讨论的。
在这样的实施例中,在每个区块的头中包括的值X可包括以下各项:版本数据(诸如区块版本之类),网络标识符和槽号,先前区块的区块头的散列(例如,区块引用值),以及正被添加的新区块中包括的所有交易的Merkle树的根(例如,数据引用值)。该值X可被包括在每个区块中添加的散列值中,其中值X可以与链值组合,如在上面讨论并在图4中示出的过程中。
处理服务器
图2示出了系统100中的处理服务器102的实施例。对于相关领域的技术人员而言将清楚的是,图2所示的处理服务器102的实施例仅作为说明而被提供,并且对于适合于执行如本文讨论的功能的处理服务器102的所有可能配置而言可能不是详尽无遗的。例如,在图8中示出并且在下面更详细地讨论的计算机系统800可以是处理服务器102的合适配置。
处理服务器102可包括接收设备202。接收设备202可被配置为经由一个或多个网络协议通过一个或多个网络接收数据。在一些情况下,接收设备202可被配置为经由一个或多个通信方法(诸如射频、局域网、无线区域网络、蜂窝通信网络、蓝牙、因特网等)从区块链网络106、计算设备108、请求系统110以及其他系统和实体接收数据。在一些实施例中,接收设备202可包括多个设备,诸如用于通过不同网络接收数据的不同接收设备,诸如用于通过局域网接收数据的第一接收设备和用于经由因特网接收数据的第二接收设备。接收设备202可以接收以电子方式发送的数据信号,其中数据可被叠加在数据信号上或以其他方式编码在数据信号上并且经由接收设备202接收数据信号而被解码、解析、读取或以其他方式获得。在一些情况下,接收设备202可包括解析模块,该解析模块用于解析接收到的数据信号以获得叠加在其上的数据。例如,接收设备202可包括解析器程序,该解析器程序被配置为接收数据信号并将接收到的数据信号变换成由处理设备执行的功能的可用输入以执行本文描述的方法和系统。
接收设备202可被配置为接收由区块链网络106中的节点以电子方式发送的数据信号,这些数据信号可与包括区块链数据值的区块链数据叠加或可按其他方式编码有该区块链数据,这些区块链数据值可包括确认消息和声明消息。在一些实施例中,接收设备202可以接收包括所有新区块的区块链的完整副本。在其他实施例中,接收设备202可以根据请求接收区块。在其他实施例中,接收设备202可以接收区块链数据值。在一些实施例中,处理服务器102可以是区块链网络106中的节点并且可以从区块链网络106中的其他节点接收用于验证和添加到区块链的区块。接收设备202还可被配置为接收由计算设备108和/或请求系统110以电子方式发送的数据信号,这些数据信号与确认请求叠加或以其他方式编码有确认请求,这些确认请求可包括声明和/或确认消息的标识符。
处理服务器102还可包括通信模块204。通信模块204可被配置为在处理服务器102的模块、引擎、数据库、存储器和其他组件之间传输数据以用于执行本文讨论的功能。通信模块204可包括一个或多个通信类型并且将各种通信方法用于计算设备内的通信。例如,通信模块204可包括总线、接触引脚连接器、导线等。在一些实施例中,通信模块204也可被配置为在处理服务器102的内部组件和处理服务器102的外部组件(诸如外部连接的数据库、显示设备、输入设备等)之间进行通信。处理服务器102也可包括处理设备。如对于相关领域的技术人员而言将是显而易见的,处理设备可被配置为执行本文讨论的处理服务器102的功能。在一些实施例中,处理设备可包括专门配置为执行处理设备的一个或多个功能的多个引擎和/或模块(诸如查询模块218、生成模块220、验证模块222等)和/或由专门配置为执行处理设备的一个或多个功能的多个引擎和/或模块组成。如本文所使用的,术语“模块”可以是特别编程为接收输入、使用该输入执行一个或多个处理以及提供输出的软件或硬件。基于本公开内容,由各种模块执行的输入、输出和处理对于本领域技术人员而言将是清楚的。
处理服务器102可包括查询模块218。查询模块218可被配置为对数据库执行查询以识别信息。查询模块218可以接收一个或多个数据值或查询串,并且可以在所指示的数据库(诸如存储器226)上基于其执行查询串以识别存储在其中的信息。查询模块218然后可以根据需要将识别出的信息输出到处理服务器102的适当引擎或模块。例如,查询模块218可以诸如使用标识符对存储器226执行查询,以识别在区块链中的区块中存储的声明消息或确认消息。
处理服务器102还可包括生成模块220。生成模块220可被配置为生成供处理服务器102在执行本文讨论的功能时使用的数据。生成模块220可以接收指令作为输入,可以基于这些指令生成数据,并且可以将所生成的数据输出到处理服务器102的一个或多个模块。例如,生成模块220可被配置为生成通知和其他数据消息,用于传输到计算设备108或请求系统110,诸如确认消息的提示和/或标识符或尝试验证的结果,以及用于传输到区块链网络106中的节点,诸如请求新区块或区块链数据值之类。生成模块220还可被配置为通过对数据进行散列处理来生成校验散列值。在处理服务器102是区块链网络106中的节点的实施例中,生成模块220还可被配置为生成区块头和新区块以用于验证和添加到区块链。
处理服务器102还可包括验证模块222。验证模块222可被配置为作为如本文讨论的处理服务器102的功能的一部分来验证数据。验证模块222可以接收待验证的数据作为输入,可以尝试验证数据,并且可以将验证的结果输出到处理服务器102的另一模块或引擎。在一些情况下,输入可包括要在验证中使用的数据。在一些情况下,验证模块222可被配置为识别要在验证中使用的数据,诸如通过指示生成模块220使用声明消息中的链值来生成校验散列值以由验证模块222使用该校验散列值。验证模块222可被配置为例如使用利用在相应的确认消息中找到的链值生成的校验散列值来验证在声明消息中找到的身份散列值。
计算设备102还可包括发送设备224。发送设备224可被配置为经由一个或多个网络协议在一个或多个网络上发送数据。在一些情况下,发送设备224可被配置为经由一个或多个通信方法、局域网、无线局域网、蜂窝通信、蓝牙、射频、因特网等向区块链网络106、计算设备108、请求系统110和其他实体发送数据。在一些实施例中,发送设备224可包括多个设备,诸如用于通过不同网络发送数据的不同发送设备,诸如用于通过局域网发送数据的第一发送设备和用于经由因特网发送数据的第二发送设备。发送设备224可以以电子方式发送叠加有可由接收计算设备解析的数据的数据信号。在一些情况下,发送设备224可包括一个或多个用于将数据叠加、编码或以其他方式格式化为适合发送的数据信号的模块。
发送设备224可被配置为向区块链网络106中的节点以电子方式发送与对区块链数据值或区块的请求(其可包括声明或确认消息的标识符)叠加或以其他方式编码有对区块链数据值或区块的请求的数据信号。发送设备224还可被配置为向计算设备108以电子方式发送可以与对提交确认消息的请求、对确认消息的标识符的请求等叠加或以其他方式编码有对提交确认消息的请求、对确认消息的标识符的请求等的数据信号。发送设备224还可被配置为向请求系统110以电子方式发送可以与验证结果叠加或以其他方式编码有验证结果的数据信号。
处理服务器102还可包括存储器226。存储器226可被配置为存储供处理服务器102在执行本文讨论的功能时使用的数据,诸如公钥和私钥、对称密钥等。存储器226可被配置为使用合适的数据格式化方法和模式来存储数据,并且可以是任何合适类型的存储器,诸如只读存储器、随机存取存储器等。如对于相关领域的技术人员而言将是清楚的,存储器226可以例如包括加密密钥和算法、通信协议和标准、数据格式化标准和协议、处理设备的模块和应用程序的程序代码、以及可能适合供处理服务器102用于执行本文讨论的功能的其他数据。在一些实施例中,存储器226可以由关系数据库组成或者可以以其他方式包括关系数据库,该关系数据库将结构化查询语言用于对存储在其中的结构化数据集的存储、识别、修改、更新、访问等。例如,存储器226可被配置为存储:包括确认消息和声明消息的区块链数据,用于生成区块的散列算法,用于生成校验散列值的散列算法,用于验证的凭据,使用规则模板,区块链节点的通信数据,计算设备108和请求系统110的通信数据,等等。
声明和确认消息
图3示出了在图1的系统100中在验证值的断言的证明时使用的示例声明和确认消息。
如在上面讨论的,用户104可以向区块链网络106提交声明消息302以包含在被验证并添加到区块链的新区块中。该声明消息可包括特定值304,其中用户104可能想要断言该特定值304的证明(例如,诸如上面讨论的示例中的身份文件)。声明消息还可包括身份散列值308,其中该身份散列值是经由对特定值304以及两个链值312进行散列处理而生成的散列值。在提交声明消息302时,链值312可以为用户104所知,但不为其他任何人所知。声明消息302还可包括两个新的链值306(在图3中示出为新的链值306a和306b),其可以是用于以后的声明和确认消息对的散列链的一部分。
当用户104想要证明特定值304的断言时,用户104可以向区块链提交确认消息310。该确认消息可包括链值312,其在图3中示出为用于生成身份散列值308的链值312a和312b。在一些实施例中,链值312可以是具有新链值306的散列链的一部分。在图3中所示的示例中,新链值306a可以是链值312a的散列,并且新链值306b可以是链值312b的散列。在图示的示例中,链值312a可以是新散列链的开始,而链值312b可以是诸如在较早的声明和确认消息集合中使用的现有散列链的一部分。
节制区块链中的区块头
图4示出了在图1的系统100中在确认利用散列链的节制区块链的区块头时使用的示例区块头。
在系统100中,请求系统110可能有兴趣获得区块链的所有权,其意义在于它们将能够构造该区块链的新区块。请求系统110在图示示例中可以由用“B”标记的链值来表示,其中请求系统110不具有当前所有权但想要获得它以便能够构造以后的区块404。为了获得所有权,请求系统110将向当前所有者即处理服务器102寻求所有权,在图示示例中由用“A”标记的链值表示。在获得所有权之前,请求系统110将必须意识到将发生的下一转移,其中这样的后续实体由用“C”标记的链值来示出。
为了接收所有权,请求系统110将向处理服务器102发送链值406b和406c,其中链值406b是B2,其是B1(仅为请求系统110所知的值)的散列。链值406c是C3,其是C2(其被后续实体已知为请求系统110并且其基础值对于请求系统110是未知的)的散列。处理服务器102然后将具有特定值410a以及链值406b和406c。为了能够添加新的区块402,请求系统110必须供应区块值412a,其是请求系统110已知而非处理服务器102已知的链值的散列。处理服务器102然后生成由链值406a、406b和406c、特定值410a以及散列值412a组成的新区块402。在添加新区块402的情况下,区块构造的所有权转移到请求系统110,因为请求系统110是知道至少链值408a的唯一实体。请求系统110然后可以能够以上面描述的相同方式使用关于请求系统的值2(410b)、408c和412b将所有权转移到具有链值408b的基础值的随后实体,并且对于此后的新区块是类似的。
使用散列和区块链来验证断言证明的过程
图5A和5B示出了图1的系统100中的使用区块链网络106和面向散列的交易方案来验证由用户104呈现的特定值的断言的证明的示例过程。
在步骤502中,用户104可以使用计算设备108向区块链网络106提交声明消息。该声明消息可以至少包括标识符(在本文中称为数据条目标识符)、特定值和身份散列值。在步骤504中,区块链网络106可接收声明消息。在步骤506中,声明消息可被包括在被验证并添加到区块链的新区块中。在一些实施例中,声明消息的数据条目标识符可由区块链网络106在步骤504或506中识别,声明消息的数据条目标识符可被返回给计算设备108。
在步骤508中,计算设备108和请求系统110可以输入安排。例如,在上述示例中,请求系统110可以请求用户104提供其身份的证明,用户104可以尝试使用身份文件作为在提交给区块链网络106的声明消息中包括的特定值来完成这一点。在步骤510中,作为安排的一部分,用户104可以经由计算设备108向请求系统110提供声明消息的数据条目标识符。在步骤512中,请求系统110可以使用合适的通信网络和方法向处理服务器102提交确认请求。该确认请求可以至少包括数据条目标识符。
在步骤514中,处理服务器102的接收设备202可以从请求系统110接收确认请求。在步骤516中,处理服务器102可以以电子方式向计算设备108发送请求消息,请求用户104向区块链网络106提交确认消息,以断言特定值的证明(例如,上述示例中的身份文件)。在步骤518中,计算设备108可以从处理服务器102接收请求消息。
在步骤520中,计算设备108可以向区块链网络106提交确认消息。该确认消息可以至少包括数据条目标识符和一个或多个链值。在步骤522中,区块链网络106可以接收确认消息。在步骤524中,确认消息可被包括在被生成、验证并发布到区块链的新区块中。在步骤526中,处理服务器102的接收设备202可以经由区块链网络的更新来接收确认消息。在步骤528中,处理服务器102的生成模块220可以通过对在确认消息中找到的链值以及在声明消息中找到的特定值进行散列处理来生成校验散列值。
在步骤530中,处理服务器102的验证模块222可以通过将校验散列值与在声明消息中找到的身份散列值进行比较来尝试验证校验散列值,作为对用户104的断言证明的验证。在步骤532中,处理服务器102的发送设备224可以以电子方式向请求系统110发送确认通知。该确认通知可包括验证的结果,其如果成功则可以确认用户的断言(例如,他们是在上述示例中的身份文件中识别的人)。在步骤534中,请求系统110可以从处理服务器102接收确认通知。
用于验证值的断言的证明的示例性方法
图6示出了通过使用与面向散列的交易方案相结合的区块链来验证值的断言的证明的方法600。
在步骤602中,可以由处理服务器(例如,处理服务器102)的接收器(例如,接收设备202)接收确认请求。在步骤604中,可以由处理服务器的处理设备(例如,查询模块218)识别确认消息,其中该确认消息至少包括一个或多个链值并且是以下各项之一:包括在确认请求中,或存储在区块链中包括的区块中并且使用确认请求中包括的引用标识符来识别。在步骤606中,可以由处理服务器的处理设备识别声明消息,其中该声明消息至少包括断言的值和身份散列值。
在步骤608中,可以由处理服务器的处理设备(例如,生成模块220)通过至少对断言的值和一个或多个链值进行散列处理来生成校验散列值。在步骤610中,可以由处理服务器的处理设备(例如,验证模块222)使用身份散列值来验证校验散列值。在步骤612中,可以由处理服务器的发送器(例如,发送设备224)响应于接收到的确认请求而发送校验散列值的验证结果。
在许可区块链中进行节制的示例性方法
图7示出了用于使用面向散列的交易方案在许可区块链中进行节制的方法700。
在步骤702中,区块链可以存储在处理服务器(例如,处理服务器102)的存储器(例如,存储器226)中,其中区块链由包括最近区块的多个区块组成,该最近区块包括区块头。在步骤704中,一个或多个交易数据值可由处理服务器的接收器(例如,接收设备202)接收。在步骤706中,第一引用值和第二引用值可以由处理服务器的接收器接收。在步骤708中,可以由处理服务器的处理设备(例如,生成模块220)通过对第一引用值进行散列处理来生成第一散列值。在步骤710中,可以由处理服务器的处理设备生成至少包括第一散列值、第二散列值、第三引用值和区块值的区块证明。
在步骤712中,可以由处理设备(例如,验证模块222)使用区块证明来验证最近区块中包括的区块头。在步骤714中,可以由处理服务器的接收器接收新的区块值。在步骤716中,可以由处理服务器的处理设备生成新的区块头,该新区块头至少包括第一引用值、第二引用值、第四引用值以及新的区块值。在步骤718中,可以由处理服务器的处理设备为区块链生成新区块,该新区块包括新区块头和一个或多个交易数据值。在步骤720中,新区块可以由处理服务器的发送器(例如,发送设备224)发送到与区块链相关联的一个或多个附加节点。
在一个实施例中,方法700还可包括:由处理服务器的处理设备使用一个或多个交易数据值生成Merkle树,其中新区块头还包括该Merkle树的根。在进一步的实施例中,新区块头还可包括版本数据和区块头引用值。在更进一步的实施例中,方法700还可包括:由处理服务器的处理设备通过对经验证的区块头进行散列处理来生成区块头引用值。在一些实施例中,方法700还可包括由处理服务器的处理设备通过对第一引用值、第二引用值、第四引用值和一个或多个数据点的组合进行散列处理来生成区块值。在进一步的实施例中,一个或多个数据点可以至少包括版本数据、区块头引用值以及Merkle树的根。
在一个实施例中,方法700还可包括由处理服务器的处理设备通过对第四引用值进行散列处理来生成第二散列值。在进一步的实施例中,第四引用值可以存储在处理服务器的存储器中。在一些实施例中,第一引用值和第二引用值可以是从外部计算系统(例如,节制实体112)接收的,并且新区块值可以是从外部计算系统接收的。在进一步的实施例中,外部计算系统可以是与区块链相关联的一个或多个附加节点之一。
计算机系统架构
图8示出了计算机系统800,其中本公开的实施例或其部分可被实现为计算机可读代码。例如,可以在计算机系统800中使用硬件、软件、固件、其上存储有指令的非暂时性计算机可读介质或其组合来实现图1中的处理服务器102,并且可以在一个或多个计算机系统或其他处理系统中实现图1中的处理服务器102。硬件、软件或其任意组合可以体现用来实现图3、图4、图5A、图5B、图6和图7的方法的模块和组件。
如果可编程逻辑被使用,则这种逻辑可以在由可执行软件代码配置的商业可用处理平台上执行,以成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)。本领域的普通技术人员可以认识到,可以利用各种计算机系统配置来实践所公开的主题的实施例,这些计算机系统配置包括多核多处理器系统、小型计算机、大型计算机、用分布式功能链接或集群的计算机,以及普遍或可嵌入到实际上任何设备中的微型计算机。例如,可以使用至少一个处理器设备和存储器来实现上述实施例。
本文中所讨论的处理器单元或处理器设备可以是单个处理器、多个处理器或其组合。处理器设备可具有一个或多个处理器“核心”。本文中所讨论的术语“计算机程序介质”、“非暂时性计算机可读介质”和“计算机可用介质”通常用来指代有形介质,诸如可移动存储单元818、可移动存储单元822以及安装在硬盘驱动器812中的硬盘。
根据该示例计算机系统800描述本公开的各种实施例。在阅读本说明书之后,如何使用其他计算机系统和/或计算机架构来实现本公开对于相关领域的技术人员将变得清楚。尽管操作可被描述为顺序过程,但是一些操作实际上可被并行地执行、并发地执行和/或在分布式环境中执行,并且程序代码被本地存储或远程存储以供单个或多个处理器机器访问。此外,在一些实施例中,可以重新排列操作的顺序而不脱离所公开的主题的精神。
处理器设备804可以是专门配置成执行本文讨论的功能的专用处理器设备或通用处理器设备。处理器设备804可以连接到通信基础设施806,诸如总线、消息队列、网络、多核心消息传递方案等。网络可以是适合于执行本文公开的功能的任何网络,并且可包括局域网(LAN)、广域网(WAN)、无线网络(例如,WiFi)、移动通信网络、卫星网络、因特网、光纤、同轴电缆、红外线、射频(RF),或其任何组合。其他合适的网络类型和配置对于相关领域的技术人员将是清楚的。计算机系统800也可以包括主存储器808(例如,随机存取存储器、只读存储器等),并且也可以包括辅助存储器810。辅助存储器810可以包括硬盘驱动器812和可移动存储驱动器814,诸如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。
可移动存储驱动器814可以以众所周知的方式从可移动存储单元818读取和/或向可移动存储单元818写入。可移动存储单元818可包括可被可移动存储驱动器814读取和写入的可移动存储介质。例如,如果可移动存储驱动器814是软盘驱动器或通用串行总线端口,则可移动存储单元818可以分别是软盘或便携式闪存驱动器。在一个实施例中,可移动存储单元818可以是非暂时性计算机可读记录介质。
在一些实施例中,辅助存储器810可包括用于允许计算机程序或其他指令被加载到计算机系统800中的可选装置,例如可移动存储单元822和接口820。如对于相关领域的技术人员将是清楚的,这种装置的示例可包括程序盒和盒接口(例如,如在视频游戏系统中找到的)、可移动存储器芯片(例如,EEPROM、PROM等)和关联的插座,以及其他可移动存储单元822和接口820。
存储在计算机系统800中(例如,在主存储器808和/或辅助存储器810中)的数据可以存储在诸如光学存储(例如,紧凑盘、数字多功能盘、蓝光盘等)或磁带存储(例如,硬盘驱动器)之类的任何类型的合适的计算机可读介质上。可以以任何类型的合适的数据库配置(诸如关系数据库、结构化查询语言(SQL)数据库、分布式数据库、对象数据库等)来配置数据。合适的配置和存储类型对于相关领域的技术人员将是清楚的。
计算机系统800还可包括通信接口824。通信接口824可被配置为允许在计算机系统800与外部设备之间传送软件和数据。示例性通信接口824可包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口824传送的软件和数据可以是信号的形式,其可以是电子、电磁、光学或对于相关领域技术人员将是清楚的其他信号。信号可以经由通信路径826行进,通信路径826可被配置为承载信号并且可以使用导线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。
计算机系统800还可包括显示接口802。显示接口802可被配置为允许在计算机系统800与外部显示器830之间传送数据。示例性显示接口802可包括高清晰度多媒体接口(HDMI)、数字视频接口(DVI)、视频图形阵列(VGA)等。显示器830可以是用于显示经由计算机系统800的显示接口802传输的数据的任何合适类型的显示器,包括阴极射线管(CRT)显示器、液晶显示器(LCD)、发光二极管(LED)显示器、电容式触摸显示器、薄膜晶体管(TFT)显示器等。
计算机程序介质和计算机可用介质可以指存储器,诸如主存储器808和辅助存储器810,其可以是存储器半导体(例如,DRAM等)。这些计算机程序产品可以是用于向计算机系统800提供软件的手段。计算机程序(例如,计算机控制逻辑)可以存储在主存储器808和/或辅助存储器810中。也可以经由通信接口824接收计算机程序。这样的计算机程序当被执行时可以使计算机系统800能够实现本文所讨论的当前方法。特别地,计算机程序当被执行时可以使处理器设备804能够实现本文所讨论的由图3、图4、图5A、图5B、图6和图7示出的方法。因此,这样的计算机程序可以表示计算机系统800的控制器。在使用软件实现本公开的情况下,软件可被存储在计算机程序产品中,并且使用可移动存储驱动器814、接口820和硬盘驱动器812或通信接口824而被加载到计算机系统800中。
处理器设备804可包括被配置为执行计算机系统800的功能的一个或多个模块或引擎。每个模块或引擎可以使用硬件来实现,并且在一些情况下也可以利用诸如对应于在主存储器808或辅助存储器810中存储的程序代码和/或程序的软件。在这样的情况下,程序代码在由计算机系统800的硬件执行之前可以由处理器设备804编译(例如,通过编译模块或引擎)。例如,程序代码可以是以编程语言编写的源代码,其被转换成诸如汇编语言或机器代码之类的低级语言以供处理器设备804和/或计算机系统800的任何附加硬件组件执行。编译过程可包括使用词法分析、预处理、解析、语义分析、语法指导的转换、代码生成、代码优化以及可能适合于将程序代码转换成适合于控制计算机系统800执行本文公开的功能的低级语言的任何其他技术。对相关领域技术人员将清楚的是,这样的过程导致计算机系统800是独特编程为执行上面讨论的功能的专门配置的计算机系统800。
除了其他特征之外,与本公开一致的技术还提供了使用面向散列的方案在许可区块链中进行节制的系统和方法。虽然上面已经描述了所公开的系统和方法的各种示例性实施例,但应当理解,它们仅仅是为了示例而非限制的目的而提出的。其不是详尽无遗的,并且不会将公开内容限制于所公开的确切形式。鉴于上述教导,修改和变化是可能的,或者在不背离广度或范围的情况下可以从本公开的实践中获得修改和变化。
Claims (20)
1.一种使用面向散列的方案在许可区块链中进行节制的方法,包括:
在处理服务器的存储器中存储由包括最近区块的多个区块组成的区块链,所述最近区块包括区块头;
由处理服务器的接收器接收一个或多个交易数据值;
由处理服务器的接收器接收第一引用值和第二引用值;
由所述处理服务器的处理设备通过对第一引用值进行散列处理来生成第一散列值;
由所述处理服务器的处理设备生成至少包括第一散列值、第二散列值、第三引用值和区块值的区块证明;
由所述处理服务器的处理设备使用所述区块证明来验证所述最近区块中包括的区块头;
由所述处理服务器的接收器接收新的区块值;
由所述处理服务器的处理设备生成至少包括第一引用值、第二引用值、第四引用值和所述新区块值的新区块头;
由所述处理服务器的处理设备生成所述区块链的新区块,所述新区块包括所述新区块头和所述一个或多个交易数据值;以及
由所述处理服务器的发送器将所述新区块发送到与所述区块链相关联的一个或多个附加节点。
2.如权利要求1所述的方法,还包括:
由所述处理服务器的处理设备使用所述一个或多个交易数据值生成Merkle树,其中
所述新区块头还包括所述Merkle树的根。
3.如权利要求2所述的方法,其中,所述新区块头还包括版本数据和区块头引用值。
4.如权利要求3所述的方法,还包括:
由所述处理服务器的处理设备通过对经验证的区块头进行散列处理来生成所述区块头引用值。
5.如权利要求1所述的方法,还包括:
由所述处理服务器的处理设备通过对第一引用值、第二引用值、第四引用值和一个或多个数据点的组合进行散列处理来生成所述区块值。
6.如权利要求5所述的方法,其中,所述一个或多个数据点至少包括版本数据、区块头引用值和Merkle树的根。
7.如权利要求1所述的方法,还包括:
由所述处理服务器的处理设备通过对第四引用值进行散列处理来生成第二散列值。
8.如权利要求7所述的方法,其中,第四引用值存储在所述处理服务器的存储器中。
9.如权利要求1所述的方法,其中
第一引用值和第二引用值是从外部计算系统接收的,并且
所述新区块值是从所述外部计算系统接收的。
10.如权利要求9所述的方法,其中,所述外部计算系统是与所述区块链相关联的一个或多个附加节点之一。
11.一种使用面向散列的方案在许可区块链中进行节制的系统,包括:
作为与区块链相关联的节点的处理服务器;以及
与所述区块链相关联的一个或多个附加节点,其中
所述处理服务器至少包括
发送器,
存储器,存储由包括最近区块的多个区块组成的区块链,所述最近区块包括区块头,
接收器,接收一个或多个交易数据值、第一引用值、第二引用值,以及
处理设备,
通过对第一引用值进行散列处理来生成第一散列值,
生成至少包括第一散列值、第二散列值、第三引用值和区块值的区块证明,以及
使用所述区块证明来验证所述最近区块中包括的区块头,
所述接收器还接收新的区块值,
所述处理设备还
生成至少包括第一引用值、第二引用值、第四引用值和所述新区块值的新区块头,以及
生成所述区块链的新区块,所述新区块包括所述新区块头和所述一个或多个交易数据值,并且
所述发送器将所述新区块发送到与所述区块链相关联的一个或多个附加节点。
12.如权利要求11所述的系统,其中
所述处理服务器的处理设备还使用所述一个或多个交易数据值生成Merkle树,并且
所述新区块头还包括Merkle树的根。
13.如权利要求12所述的系统,其中,所述新区块头还包括版本数据和区块头引用值。
14.如权利要求13所述的系统,其中,所述处理服务器的处理设备还通过对经验证的区块头进行散列处理来生成所述区块头引用值。
15.如权利要求11所述的系统,其中,所述处理服务器的处理设备还通过对第一引用值、第二引用值、第四引用值和一个或多个数据点的组合进行散列处理来生成所述区块值。
16.如权利要求15所述的系统,其中,所述一个或多个数据点至少包括版本数据、区块头引用值、以及Merkle树的根。
17.如权利要求11所述的系统,其中,所述处理服务器的处理设备还通过对第四引用值进行散列处理来生成第二散列值。
18.如权利要求17所述的系统,其中,第四引用值存储在所述处理服务器的存储器中。
19.如权利要求11所述的系统,其中
第一引用值和第二引用值是从外部计算系统接收的,并且
所述新区块值是从所述外部计算系统接收的。
20.如权利要求19所述的系统,其中,所述外部计算系统是与所述区块链相关联的一个或多个附加节点之一。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/317,456 US11626999B2 (en) | 2018-11-09 | 2021-05-11 | Method and system for quantum-resistant hashing scheme |
US17/317,456 | 2021-05-11 | ||
PCT/US2022/023795 WO2022240500A1 (en) | 2021-05-11 | 2022-04-07 | Method and system for quantum-resistant hashing scheme |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117157939A true CN117157939A (zh) | 2023-12-01 |
Family
ID=84029793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280028652.9A Pending CN117157939A (zh) | 2021-05-11 | 2022-04-07 | 抗量子散列方案的方法和系统 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP4338370A1 (zh) |
JP (1) | JP2024518487A (zh) |
KR (1) | KR20240005957A (zh) |
CN (1) | CN117157939A (zh) |
WO (1) | WO2022240500A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101680540B1 (ko) * | 2015-06-18 | 2016-11-30 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
US9992022B1 (en) * | 2017-02-06 | 2018-06-05 | Northern Trust Corporation | Systems and methods for digital identity management and permission controls within distributed network nodes |
EP3396608A1 (en) * | 2017-04-24 | 2018-10-31 | BlockSettle AB | Method and system for settling a blockchain transaction |
US11063764B2 (en) * | 2018-11-09 | 2021-07-13 | Mastercard International Incorporated | Method and system for quantum-resistant hashing scheme |
US11070379B2 (en) * | 2019-04-18 | 2021-07-20 | Advanced New Technologies Co., Ltd. | Signature verification for a blockchain ledger |
-
2022
- 2022-04-07 WO PCT/US2022/023795 patent/WO2022240500A1/en active Application Filing
- 2022-04-07 CN CN202280028652.9A patent/CN117157939A/zh active Pending
- 2022-04-07 JP JP2023569697A patent/JP2024518487A/ja active Pending
- 2022-04-07 KR KR1020237042852A patent/KR20240005957A/ko active Search and Examination
- 2022-04-07 EP EP22807999.2A patent/EP4338370A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024518487A (ja) | 2024-05-01 |
EP4338370A1 (en) | 2024-03-20 |
WO2022240500A1 (en) | 2022-11-17 |
KR20240005957A (ko) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491390B2 (en) | Proof chaining and decomposition | |
CN111953496B (zh) | 用于使用数字签名的区块链变型的方法和系统 | |
CN109791591B (zh) | 经由区块链进行身份和凭证保护及核实的方法和系统 | |
CN110445612B (zh) | 用于经由区块链增强登录凭证安全性的方法和系统 | |
CN109428886B (zh) | 用于经由区块链进行评论验证和可信度评分的方法和系统 | |
US11373179B2 (en) | Method and system for secure and verifiable offline blockchain transactions | |
CN117278224A (zh) | 用于验证身份属性信息的方法和系统 | |
EP3900257B1 (en) | Method and system for consent to time-bound queries in a blockchain | |
US20230351342A1 (en) | Method and system for a failsafe mechanism for blockchain wallets | |
US20210117938A1 (en) | Method and system for control of pii through limiting transfers on blockchain | |
US11032078B2 (en) | Method and system for blockchain wallet dynamic private key | |
US11063764B2 (en) | Method and system for quantum-resistant hashing scheme | |
US11917077B2 (en) | Method and system for quantum-resistant hashing scheme | |
CN117157939A (zh) | 抗量子散列方案的方法和系统 | |
CN115298679A (zh) | 使用散列链表示标量数字资产的方法和系统 | |
US20230140623A1 (en) | Method and system for tamper-resistant event sourcing using a distributed ledger | |
US20230385822A1 (en) | Method and system for processing an asset swap across two blockchains | |
US20230196346A1 (en) | Method and system of providing for offline transactions in digital currencies | |
WO2023080971A1 (en) | Method and system for private transaction processing |
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 |