CN116938523A - 区块链系统、运行方法、电子设备和存储介质 - Google Patents
区块链系统、运行方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116938523A CN116938523A CN202310694465.0A CN202310694465A CN116938523A CN 116938523 A CN116938523 A CN 116938523A CN 202310694465 A CN202310694465 A CN 202310694465A CN 116938523 A CN116938523 A CN 116938523A
- Authority
- CN
- China
- Prior art keywords
- block
- ledger
- layer
- knowledge proof
- zero knowledge
- 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
- 238000011017 operating method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 239000000523 sample Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- 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/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种区块链系统、运行方法、电子设备和存储介质,该系统包括:上层账本和下层账本,所述上层账本生成区块的区块头包括:包括:第一当前区块哈希、第一上层区块和第一下层区块.所述下层账本生成区块的区块头包括:第二当前区块哈希、第二上层区块和第二下层区块。其中,下一区块时刻所述上层账本的所述第一下层区块指向上一区块时刻所述下层账本的所述第二当前区块哈希,下一区块时刻所述下层账本的所述第二上层区块指向上一区块时刻所述上层账本的所述第一当前区块哈希。上述方式,通过在区块头中增加上层区块和下层区块,构建不同账本间生成的区块的连接结构,即:使上层账本和下层账本生成的区块具有上下层的连接关系。
Description
技术领域
本申请的所公开实施例涉及区块链技术领域,且更具体而言,涉及区块链系统、运行方法、电子设备和存储介质。
背景技术
现有的区块链技术中,区块的区块头中存储:当前区块哈希、父区块或默尔克根等信息,其中,利用哈希指针,通过当前区块哈希和父区块使同一账本的下一区块时刻的区块与上一区块时刻的区块连接,默尔克根由一个根节点、一组中间节点和一组叶节点组成。叶节点包含存储数据或其哈希值,中间节点是它的两个孩子节点内容的哈希值,根节点也是由它的两个子节点内容的哈希值组成,且默尔克根的特点是底层数据的任何变动,即叶节点的数据变化,都会使中间节点和根节点中存储的哈希值发生变化,因此,默尔克根可以用于验证区块中的交易是否完整。
因此,上述区块链技术中,只利用哈希指针建立同一账本的区块间的连接关系。
发明内容
根据本申请的实施例,本申请提出区块链系统、运行方法、电子设备和存储介质,以解决上述问题。
本申请提供一种区块链系统,该系统包括:上层账本和下层账本,所述上层账本生成区块的区块头包括:第一当前区块哈希、第一上层区块和第一下层区块,所述下层账本生成区块的区块头包括:第二当前区块哈希、第二上层区块和第二下层区块。
其中,下一区块时刻所述上层账本的所述第一下层区块指向上一区块时刻所述下层账本的所述第二当前区块哈希,下一区块时刻所述下层账本的所述第二上层区块指向上一区块时刻所述上层账本的所述第一当前区块哈希。
本申请提供一种区块链运行方法,该方法包括:获取上层账本中上一区块时刻的第一当前区块哈希中的第一哈希值,在下层账本的第二上层区块中存储所述第一哈希值,利用所述第二上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本;或获取所述下层账本中上一区块时刻的第二当前区块哈希中的第二哈希值,在所述上层账本的第一下层区块中存储所述第二哈希值,利用所述第一下层区块中的所述第二哈希值指向上一区块时刻的所述下层账本。
在本申请提供一种电子设备,包括存储器和处理器,所述存储器与所述处理器相互耦接,所述处理器用于执行所述存储器中存储的程序指令,以实现上述的区块链系统,或实现上述的区块链运行方法。
在本申请提供一种计算机存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述的区块链系统,或实现上述的区块链运行方法。
本申请的有益效果有:通过在区块头中增加上层区块和下层区块,利用哈希指针构建不同账本间生成的区块的连接结构,即:使上层账本和下层账本生成的区块具有上下层的连接关系。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
下面将结合附图及实施方式对本申请作进一步说明,附图中:
图1是本申请一实施例的区块链账本结构示意图;
图2是本申请一实施例的区块链系统结构示意图;
图3是本申请一实施例的区块链运行方法的流程示意图;
图4是本申请另一实施例的区块链运行方法的流程示意图;
图5是本申请另一实施例的区块链系统结构示意图;
图6是本申请另一实施例的区块链系统结构示意图;
图7是本申请另一实施例的区块链系统结构示意图;
图8是本申请实施例的电子设备的结构示意图;
图9是本申请实施例的非易失性计算机可读存储介质的结构示意图。
具体实施方式
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。另外,本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在介绍本申请之前,相对本申请的相关背景做出以下详细介绍:
零知识证明承诺可以用于区块链中,具体是指证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。账本用于管理账户或交易流水等数据,支持分类记账、对账、清算或结算等功能,其中,在区块链中,多个节点组成一个共识组,每个共识组都有对应的账本,且共识组会对账本进行维护,将该共识组上一区块时刻至当前时刻之间发生的交易进行打包,生成当前区块时刻的区块,进一步的,上一区块时刻生成的区块是下一区块时刻生成的区块的父区块,下一区块时刻生成的区块是上一区块时刻生成的区块的子区块,即:上一区块时刻生成的区块和下一区块时刻生成的区块之间存在继承关系,子区块继承父区块或对父区块进行延伸和扩展。例如:对属于某一村庄的所有居民进行记账,生成该村庄的账本,即该账本的共识组由该村庄的所有居民组成,查找该村庄在一月份期间发生的所有交易,并对所有交易进行记录,则可生成该村庄在一月份的账本。同理,生成该村庄二月份的账本,其中,二月份的账本是基于一月份的账本而存在的,是基于一月份账本的后续交易延伸而产出的,因此,一月份的账本可以看作父区块,二月份的账本可以看作子区块,一月份的账本和二月份的账本共同构成该村庄的账本。
进一步的,区块链生成的区块包括:区块头和区块体,其中,区块头是一个包含关键信息的数据结构,描述了一个区块的基本信息,存储了当前区块哈希、父区块或默尔克根(Merkle根)等,并作为一个区块的唯一标识,可以用于验证整个区块链的完整性,还可以作为根据区块链网络中节点之间传输信息的基础框架。区块体存储了共识组某一区块时刻发生的所有交易或其他的数据,例如:智能合约的源代码、链上状态的变更信息、节点数据等。
在本申请的区块链系统中,不同的账本间存在上下层关系,且上层账本是下层账本的母账本,下层账本是上层账本的子账本,并以上层账本为主。其中,母账本和子账本是指两个账本之间存在继承关系,子账本继承母账本或对母账本进行延伸和扩展。例如:将商场的纯利润账本定义为上层账本,纯利润账本中包括了商场支出账本和商场收入账本,因此将商场支出和商场收入定义为下层账本,此时纯利润账本与商场支出账本和商场收入账本之间存在母子关系,即纯利润账本是商场支出账本的母账本,纯利润账本也是商场收入账本的母账本,同时,商场支出账本和商场收入账本是纯利润账本的子账本。同时,母账本和子账本之间以母账本为主,子账本间的交互需通过母账本进行。例如:账本A下创建账本B和账本C,账本B和账本C是账本A的子账本,账本A是账本B和账本C的母账本,若账本B和账本C进行交互,则需通过账本A进行,即从账本B到账本A再到账本C。进一步的,账本B下创建账本D,账本D是账本B的子账本,账本B是账本D的母账本,账本C下创建账本E,账本E是账本C的子账本,账本C是账本E的母账本。账本D和账本E进行交互,则需通过账本B、账本A和账本C进行,即从账本D到账本B到账本A到账本C再到账本E。同理,账本D和账本C进行交互,则需通过账本B和账本A进行,即从账本D到账本B到账本A再到账本C。
其中,同一节点即可参加上层账本也可以参加下层账本,该节点称为复合节点,即:存在一节点即参与上层账本(母账本)的共识组,也参与下层账本(子账本)的共识组,其中,该节点的第一节点程序部署在上层账本上,第二节点程序部署在下层账本上。其中,本申请的方法的执行对象可以是复合节点。
请参阅图1,图1是本申请一实施例的区块链账本结构示意图。此区块链账本结构构建方法为:接收第一账本创建指令,创建第一账本。接收第二账本创建指令,在第一账本下创建至少一第二账本,其中,第一账本构成上层账本,第二账本构成第一账本的子账本或下层账本。其中,第一账本和第二账本能够相互进行零知识证明承诺。
在此实施例中,接收第一账本创建指令后,创建第一账本。再次接收第二账本创建指令,在第一账本下创建至少一第二账本,即创建第二账本数量大于或等于一,随后,再次接收第三账本创建指令,在第二账本下创建至少一第三账本,即创建第三账本数量大于或等于一,其中,第三账本创建数量等于第二账本创建数量,依次类推。其中,第一账本是第二账本的上层账本,第二账本是第一账本的下层账本,第二账本是第三账本的上层账本,第三账本是第二账本的下层账本,依次类推,构成年轮形态的区块链。且将第一账本所在层次定义为第一层L1,将第二账本所在层次定义为第二层L2,将第三账本所在层次定义为第三层L3,依次类推。其中,区块链系统判断需要新账本记账而产生创建指令,从而生成新账本。
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请的技术方案做进一步详细描述。
请参阅图2,图2是本申请一实施例的区块链系统结构示意图。(在图2每个区块的区块头中的名称前未出现第一和第二描述,但为避免歧义,在下述文字描述中将上层账本生成的区块的区块头中的名称前皆加上第一,及将下层账本生成的区块的区块头中的名称前皆加上第二。)在此图中,区块链系统包括:上层账本和下层账本,上层账本生成区块的区块头包括:第一当前区块哈希、第一上层区块和第一下层区块,下层账本生成区块的区块头包括:第二当前区块哈希、第二上层区块和第二下层区块。
其中,下一区块时刻上层账本的第一下层区块指向上一区块时刻下层账本的第二当前区块哈希,下一区块时刻下层账本的第二上层区块指向上一区块时刻上层账本的第一当前区块哈希。
因此,在此实施例中,当前区块哈希用于存储当前区块的哈希值,该哈希值由哈希函数生成,哈希函数是指所有的信息通过哈希函数都会被转化成一串哈希值,并通过哈希指针实现上下层账本生成的上下层区块的结构关系。区块的区块头中增加了上层区块和下层区块的连接信息,在上层账本生成的区块的区块头中的下层区块通过存储下层账本的上一区块时刻的下层区块的当前区块哈希中的哈希值指向下层区块,在下层账本生成的区块的区块头中的上层区块通过存储上层账本的上一区块时刻的上层区块的当前区块哈希指向上层区块,以此来构建不同账本生成的区块间的上下层关系,形成上下层账本铰链结构。
其中,由于在此实施例中,只存在一个上层账本和一个下层账本,因此,上层账本的第一上层区块值为空,下层账本的第二下层区块值也为空,若一实施例,存在四个账本,第一账本是第二账本和第三账本的上层账本,第三账本和第二账本是第一账本的下层账本,第四账本是第二账本的下层账本,第二账本是第四账本的上层账本,则第一账本的上层区块值为空,第四账本和第三账本的下层区块值为空,第二账本的上层区块和下层区块值不为空。
具体地,上层账本和下层账本间进行连接,请参阅图3,图3是本申请一实施例的区块链运行方法的流程示意图。
步骤S31:获取上层账本中上一区块时刻的第一当前区块哈希中的第一哈希值。
在此实施例中,先获取上一区块时刻的上层账本的内容,将内容输入哈希函数,根据该内容生成唯一的哈希值,再将此哈希值存入上层账本生成的区块的区块头中的第一当前区块哈希中。
步骤S32:在下层账本的第二上层区块中存储第一哈希值,利用第二上层区块中的第一哈希值指向上一区块时刻的上层账本。
在此实施例中,通过下层账本的第二上层区块中存储上层账本中上一区块时刻的第一当前区块哈希中的第一哈希值,利用哈希指针使下层账本与上一区块时刻的上层账本连接。
或请参阅图4,图4是本申请另一实施例的区块链运行方法的流程示意图。
步骤S41:获取下层账本中上一区块时刻的第二当前区块哈希中的第二哈希值。
在此实施例中,先获取上一区块时刻的下层账本的内容,将内容输入哈希函数,根据该内容生成唯一的哈希值,再将此哈希值存入下层账本生成的区块的区块头中的第二当前区块哈希中。
步骤S42:在上层账本的第一下层区块中存储第二哈希值,利用第一下层区块中的第二哈希值指向上一区块时刻的下层账本。
在此实施例中,通过上层账本的第一下层区块中存储下层账本中上一区块时刻的第二当前区块哈希中的第二哈希值,利用哈希指针使上层账本与上一区块时刻的下层账本连接。
因此,在上述实施例中,使用哈希指针构建上下层账本关系,即:每个区块根据自己的区块内容生成自己的哈希值,此外,除初始区块,每个区块的区块头中的上层区块或下层区块,都保存有上一区块时刻的上层区块或下层区块的哈希值。且由于本区块哈希生成依赖于本区块内容,而本区块内容中又包含有上一区块时刻的区块的哈希值,既构建了上下层区块结构关系的同时,又保证了区块内容不被篡改。
在本申请的另一些实施例中,上层账本和下层账本间进行追溯包括:获取下层账本生成的区块中第二上层区块中的第一哈希值,利用第一哈希值找到上层账本的上一区块时刻的上层区块,用于查询上一区块时刻的上层区块发生的交易;或获取上层账本生成的区块中第一下层区块中的第二哈希值,利用第二哈希值找到下层账本的上一区块时刻的下层区块,用于查询上一区块时刻的下层区块发生的交易。
在此实施例中,通过下层账本的下层区块中第二上层区块中存储的上一区块时刻的上层区块中的第一当前区块哈希的第一哈希值,使下一区块时刻的下层账本和上一区块时刻的上层账本存在指向或连接关系,即:通过下一区块时刻的下层账本可以追溯上一区块时刻的上层账本,且下一区块时刻的上层账本追溯上一区块时刻的下层账本与上述同理。
请参阅图5,图5是本申请另一实施例的区块链系统结构示意图(图中的zk为零知识证明缩写,且在图5每个区块的区块头中的名称前未出现第一和第二描述,但为避免歧义,在下述文字描述中将上层账本生成的区块的区块头中的名称前皆加上第一,及将下层账本生成的区块的区块头中的名称前皆加上第二。)。在此图中,上层账本生成区块的区块头包括:第一当前区块递归零知识证明哈希、第一当前区块递归零知识证明、第一父区块递归零知识证明、第一上层区块递归零知识证明和第一下层区块递归零知识证明,其中,第一当前区块递归零知识证明用于存储上层账本的零知识证明承诺,下层账本生成区块的区块头包括:第二当前区块递归零知识证明哈希、第二当前区块递归零知识证明、第二父区块递归零知识证明、第二上层区块递归零知识证明和第二下层区块递归零知识证明,其中,第二当前区块递归零知识证明用于存储下层账本的零知识证明承诺。
其中,下一区块时刻上层账本的第一下层区块递归零知识证明指向上一区块时刻下层账本的第二当前区块递归零知识证明哈希,下一区块时刻下层账本的第二上层区块递归零知识证明指向上一区块时刻上层账本的第一当前区块递归零知识证明哈希,下一区块时刻上层账本的第一父区块递归零知识证明指向上一区块时刻上层账本的第一当前区块递归零知识证明哈希,下一区块时刻下层账本的第二父区块递归零知识证明指向上一区块时刻下层账本的第二当前区块递归零知识证明哈希。
因此,在此实施例中,每个生成的区块头还包括:当前区块递归零知识证明哈希、当前区块递归零知识证明、父区块递归零知识证明、上层区块递归零知识证明和下层区块递归零知识证明。其中,当前区块递归零知识证明哈希中存储了基于当前区块递归零知识证明生成的哈希值,该哈希值由哈希函数生成。当前区块递归零知识证明中存储了当前区块生成的零知识证明承诺,该零知识证明承诺用于证明当前区块中的交易不存在非法交易,即证明当前区块的正确性。该账本生成的区块的父区块递归零知识证明中,存储了该区块上一时刻区块的当前区块递归零知识证明哈希中的哈希值,其中,同一账本上一区块时刻生成的区块是下一区块时刻生成的区块的父区块,下一区块时刻生成的区块是上一区块时刻生成的区块的子区块,因此,父区块递归零知识证明用于连接上一区块时刻父区块的当前区块递归零知识证明,若区块为区块链初始区块,则该区块的父区块递归零知识证明的值为空。
同时,通过哈希指针体现本申请中区块链系统的上层账本和下层账本的结构关系,在下层账本生成的区块的区块头的上层区块递归零知识证明中,存储上层账本的上一时刻的上层账本生成的区块的区块头的当前区块递归零知识证明哈希中的哈希值,用于连接上一时刻的上层账本生成的区块的递归零知识证明哈希。同理,在上层账本生成的区块的下层区块递归零知识证明中,存储下层账本的上一时刻的下层账本生成的区块的当前区块递归零知识证明哈希中的哈希值,用于连接上一时刻的下层账本生成的区块的递归零知识证明哈希。若区块为区块链初始区块,则该区块的上层区块递归零知识证明和下层区块递归零知识证明的值为空。
其中,由于在此实施例中,只存在一个上层账本和一个下层账本,因此,上层账本的第一上层区块递归零知识证明值为空,下层账本的第二下层区块递归零知识证明值也为空,若一实施例,存在四个账本,第一账本是第二账本和第三账本的上层账本,第三账本和第二账本是第一账本的下层账本,第四账本是第二账本的下层账本,第二账本是第四账本的上层账本,则第一账本的上层区块递归零知识证明值为空,第四账本和第三账本的下层区块值递归零知识证明为空,第二账本的上层区块递归零知识证明和下层区块递归零知识证明值不为空。
具体地,上层账本和下层账本间进行零知识证明的连接过程为:在下层账本的第二上层区块中存储第一哈希值之后包括:获取上层账本中上一区块时刻的第一当前区块递归零知识证明哈希中的第三哈希值,在下层账本的第二上层区块递归零知识证明中存储第三哈希值,利用第二上层区块递归零知识证明中的第三哈希值指向上一区块时刻的上层账本的第一当前递归零知识证明哈希,获取上层账本中上一区块时刻第一当前区块哈希中的第三哈希值,在上层账本的第一父区块递归零知识证明中存储第三哈希值,利用上层账本的第三父区块递归零知识证明中的第三哈希值指向上一区块时刻的上层账本。
在上层账本的第一下层区块中存储第二哈希值之后包括:获取下层账本中上一区块时刻的第二当前区块递归零知识证明哈希中的第四哈希值,在上层账本的第一下层区块递归零知识证明中存储第四哈希值,利用第一下层区块递归零知识证明中的第四哈希值指向上一区块时刻的下层账本的第二当前递归零知识证明哈希,获取下层账本中上一区块时刻第二当前区块哈希中的第四哈希值,在下层账本的第二父区块递归零知识证明中存储第四哈希值,利用下层账本的第二父区块递归零知识证明中的第四哈希值指向上一区块时刻的下层账本。
在上述实施例中,通过在区块头中增加当前区块哈希、上层区块和下层区块的基础上,再增加当前区块递归零知识证明哈希、当前区块递归零知识证明、父区块递归零知识证明、上层区块递归零知识证明和下层区块递归零知识证明,构建不同账本间生成的区块的连接结构,即:使上层账本和下层账本生成的区块具有上下层的连接关系,且在区块头中存储当前区块递归零知识证明,可以使其他区块在追溯该区块后,获取到该区块生成的零知识证明。且构建零知识证明的上下层账本生成的区块之间的链接结构,需在构建完上下层账本生成的区块之间的链接结构之后进行。
在本申请的另一些实施例中,获取上层账本中上一区块时刻的第一当前区块递归零知识证明哈希中的第三哈希值之前包括:获取上一区块时刻的上层账本的零知识证明承诺和当前区块时刻上层账本的交易信息,进行零知识证明计算,得到当前区块时刻的上层账本的零知识证明承诺,并将当前区块时刻的上层账本的零知识证明承诺存储在上层账本生成的区块的第一当前区块递归零知识证明中。对当前区块时刻的上层账本的零知识证明承诺进行哈希计算,得到第三哈希值,将第三哈希值存储至上层账本的第一当前区块递归零知识证明哈希中。
其中,利用哈希函数生成哈希值的具体过程可以为:将要计算的消息按照一定的格式进行编码,以便计算机能够识别和处理。再使用特定的哈希算法,对编码后的信息进行运算,得到一个固定长度的消息摘要,再将消息摘要转换成可读的字符串。因此,在上层账本生成零知识证明承诺后,根据该零知识证明承诺生成上层账本该区块时刻对应的上层区块的第一当前区块递归零知识证明哈希值。
同时,在此实施例中,上层账本生成零知识证明承诺具体过程可以为:获取上一区块时刻至当前区块时刻中发生的交易和上一区块时刻上层账本生成的上层区块的零知识证明,通过零知识证明计算,得到当前区块时刻上层账本生成的上层区块的零知识证明。还可以,获取上一区块时刻至当前区块时刻中发生的交易、上一区块时刻上层账本生成的上层区块的零知识证明和/或上一区块时刻下层账本生成的下层区块的零知识证明,通过零知识证明计算,得到当前区块时刻上层账本生成的上层区块的零知识证明。
在本申请的另一些实施例中,获取下层账本中上一区块时刻的第二当前区块递归零知识证明哈希中的第四哈希值之前包括:获取上一区块时刻的下层账本的零知识证明承诺和当前区块时刻下层账本的交易信息,进行零知识证明计算,得到当前区块时刻的下层账本的零知识证明承诺,并将当前区块时刻的下层账本的零知识证明承诺存储在下层账本生成的区块的第二当前区块递归零知识证明中。对当前区块时刻的下层账本的零知识证明承诺进行哈希计算,得到第四哈希值,将第四哈希值存储至下层账本的第二当前区块递归零知识证明哈希中。
此实施例的原理和过程与上述获取上层账本中上一区块时刻的第一当前区块递归零知识证明哈希中的哈希值之前一致,在此不作过多赘述。
在本申请的另一些实施例中,上层账本和下层账本间进行零知识证明追溯包括:获取下层账本中第二上层区块递归零知识证明中的第三哈希值,利用第三哈希值找到上层账本的上一区块时刻的上层区块中的第一当前区块递归零知识证明哈希,利用第一当前区块递归零知识证明哈希获取第一当前区块递归零知识证明中上一区块时刻的上层区块生成的零知识证明承诺;或获取上层账本中第一下层区块递归零知识证明中的第四哈希值,利用第四哈希值找到下层账本的上一区块时刻的下层区块中的第二当前区块递归零知识证明哈希,利用第二当前区块递归零知识证明哈希获取第二当前区块递归零知识证明中上一区块时刻的下层区块生成的零知识证明承诺。
在此实施例中,通过下层账本的下层区块中第二上层区块递归零知识证明中存储的上层账本的上一区块时刻的上层区块中的第一当前区块递归零知识证明哈希的第三哈希值,利用哈希指针使下一区块时刻的下层账本和上一区块时刻的上层账本存在指向或连接关系,即:通过下一区块时刻的下层账本可以追溯上一区块时刻的上层账本,随后,再找到上一区块时刻上层账本的区块头中存储的零知识证明承诺,下一区块时刻的上层账本追溯上一区块时刻的下层账本中的零知识证明承诺同理。
在本申请的另一些实施例中,利用第一当前区块递归零知识证明哈希获取第一当前区块递归零知识证明中上一区块时刻的上层区块生成的零知识证明承诺之后包括:下层账本对应共识组中的节点判断上层账本的上层区块的零知识证明承诺是否符合验证要求。响应于符合,节点确定上层账本为可靠,允许上层账本对下层账本进行跨链交易;响应于不符合,节点确定上层账本为不可靠,不允许上层账本对下层账本进行跨链交易。
在此实施例中,上层账本生成零知识证明承诺,用于向上层账本证明下层账本的可靠性可信性,下一区块时刻的下层账本通过与上一区块时刻的上层账本连接,获取上一区块时刻上层账本的区块头中存储的零知识证明承诺,通过下层账本对应的共识组中的节点对零知识证明承诺进行验证,且当共识组中大于或等于预设数量的节点确定上层账本的零知识证明承诺符合验证要求时,上层账本为可靠,当共识组中低于预设数量的节点确定上层账本的零知识证明承诺符合验证要求时,上层账本不可靠,其中,对零知识证明承诺进行验证的节点可以不为复合节点。若零知识证明承诺不符合验证要求,代表上层账本中存在非法交易,不允许上层账本对下层账本进行跨链交易,需将该非法交易回退后,上层账本再次生成零知识证明承诺,下层账本对零知识证明承诺进行验证,直至零知识证明承诺符合验证要求,才允许上层账本对下层账本进行跨链交易,且由上层账本对下层账本进行的跨链交易,将由下层账本进行此交易的记录。其中,此实施例中,零知识证明承诺的验证方式为非交互式零知识证明过程,即:使得用户可以发起一笔交易,证明自己拥有足够的余额支付这笔交易,并且不泄漏和自己账号、密码以及余额相关的任何信息。同时,零知识证明承诺的验证方式也可以为交互式零知识证明。
在本申请的另一些实施例中,利用第二当前区块递归零知识证明哈希获取第二当前区块递归零知识证明中上一区块时刻的下层区块生成的零知识证明承诺之后包括:上层账本对应共识组中的节点判断下层账本的下层区块的零知识证明承诺是否符合验证要求。响应于符合,节点确定下层账本为可靠,允许下层账本对上层账本进行跨链交易;响应于不符合,节点确定下层账本为不可靠,不允许下层账本对上层账本进行跨链交易。
在此实施例的原理和流程同上述利用第二上层区块递归零知识证明中的哈希值找到上层账本的上一区块时刻的上层区块中的第一当前区块递归零知识证明之后一致,不做过多赘述。
在本申请的另一些实施例中,下层账本可以有多个,即:可以有一个上层账本但有多个下层账本。具体的,下层账本包括:第一下层账本和第二下层账本。第一下层账本生成区块的区块头包括:第三当前区块哈希、第三上层区块、第三下层区块、第三当前区块递归零知识证明哈希、第三当前区块递归零知识证明、第三父区块递归零知识证明、第三上层区块递归零知识证明和第三下层区块递归零知识证明,其中,第三当前区块递归零知识证明用于存储第一下层账本的零知识证明承诺。第二下层账本生成区块的区块头包括:第四当前区块哈希、第四上层区块、第四下层区块、第四当前区块递归零知识证明哈希、第四当前区块递归零知识证明、第四父区块递归零知识证明、第四上层区块递归零知识证明和第四下层区块递归零知识证明,其中,第四当前区块递归零知识证明用于存储第二下层账本的零知识证明承诺。其中,下一区块时刻上层账本的第一下层区块指向上一区块时刻第一下层账本的第三当前区块哈希和第二下层账本的第四当前区块哈希,下一区块时刻第一下层账本的第三上层区块和第二下层账本的第四上层区块指向上一区块时刻上层账本的第一当前区块哈希,下一区块时刻上层账本的第一下层区块递归零知识证明指向上一区块时刻第一下层账本的第三当前区块递归零知识证明哈希和第二下层账本的第四当前区块递归零知识证明哈希,下一区块时刻第一下层账本的第三上层区块递归零知识证明和第二下层账本的第四上层区块递归零知识证明指向上一区块时刻上层账本的第一当前区块递归零知识证明哈希,下一区块时刻第一下层账本的第三父区块递归零知识证明指向上一区块时刻第一下层账本的第三当前区块递归零知识证明哈希,下一区块时刻第二下层账本的第四父区块递归零知识证明指向上一区块时刻第二下层账本的第四当前区块递归零知识证明哈希。
因此,在此实施例中,第一下层账本和第二下层账本的上层区块和上层区块递归零知识证明分别存储上层账本的当前区块哈希和当前区块递归零知识证明,而上层账本的下层区块中存储了第一下层账本和第二下层账本的当前区块哈希,及下层区块递归零知识证明中存储了第一下层账本和第二下层账本的当前区块递归零知识证明。
更具体的实现过程可以为:获取第一下层账本中上一区块时刻第三当前区块哈希中的第五哈希值和第二下层账本中上一区块时刻第四当前区块哈希中的第六哈希值,在上层账本的第一下层区块中存储第五哈希值和第六哈希值,利用上层账本的第一下层区块中的第五哈希值指向上一区块时刻的第一下层账本和第六哈希值指向上一区块时刻的第二下层账本。
获取上层账本中上一区块时刻第一当前区块哈希中的第一哈希值,在第一下层账本的第三上层区块和第二下层账本的第四上层区块中存储第一哈希值,利用第一下层账本的第三上层区块中的第一哈希值指向上一区块时刻的上层账本,和利用第二下层账本的第四上层区块中的第一哈希值指向上一区块时刻的上层账本。
获取第一下层账本中上一区块时刻第三当前区块递归零知识证明哈希中的第七哈希值和第二下层账本中上一区块时刻第四当前区块递归零知识证明哈希中的第八哈希值,在上层账本的第一下层区块递归零知识证明中存储第七哈希值和第八哈希值,利用上层账本的第一下层区块递归零知识证明中的第七哈希值指向上一区块时刻的第一下层账本的第三当前区块递归零知识证明哈希和第八哈希值指向上一区块时刻的第二下层账本的第四当前区块递归零知识证明哈希。
获取上层账本中上一区块时刻第一当前区块递归零知识证明哈希中的第三哈希值,在第一下层账本的第三上层区块递归零知识证明和第二下层账本的第四上层区块递归零知识证明中存储第三哈希值,利用第一下层账本的第三上层区块递归零知识证明中的第三哈希值指向上一区块时刻的上层账本的第一当前区块递归零知识证明哈希,和利用第二下层账本的第四上层区块递归零知识证明中的第三哈希值指向上一区块时刻的上层账本的第一当前区块递归零知识证明哈希。
获取第一下层账本中上一区块时刻第三当前区块哈希中的第五哈希值,在第一下层账本的第三父区块递归零知识证明中存储第五哈希值,利用第一下层账本的第三父区块递归零知识证明中的第五哈希值指向上一区块时刻的第一下层账本。
获取第二下层账本中上一区块时刻第四当前区块哈希中的第六哈希值,在第二下层账本的第四父区块递归零知识证明中存储第六哈希值,利用第二下层账本的第四父区块递归零知识证明中的第六哈希值指向上一区块时刻的第二下层账本。
其中,上述获取和存储第五哈希值、第六哈希值、第一哈希值、第七哈希值和第八哈希值的过程可以与撰写顺序不同,或者在具体实施例中可以同时发生。
具体的,请参阅图6和图7,图6是本申请一实施例的区块链系统结构示意图,图7是本申请另一实施例的区块链系统结构示意图。(在图6和图7中,账本A为上层账本,账本B为第一下层账本,账本C为第二下层账本,且每个区块的区块头中的名称前未出现第一、第三和第四描述,但为避免歧义,在下述文字描述中将上层账本生成的区块的区块头中的名称前皆加上第一,及将第一下层账本生成的区块的区块头中的名称前皆加上第三,将第二下层账本生成的区块的区块头中的名称前皆加上第四。)在图6中,存在一上层账本A、下层账本B和下层账本C,在上层账本A生成的区块的区块头中的下层区块通过存储下层账本B和下层账本C的上一区块时刻的下层区块的当前区块哈希中的哈希值指向下层账本B和下层账本C的下层区块的当前区块哈希,在下层账本B和下层账本C生成的区块的区块头中的上层区块通过存储上层账本A的上一区块时刻的上层区块的当前区块哈希指向上层账本A的上层区块的当前区块哈希。在图7中,存在一上层账本A、下层账本B和下层账本C,在上层账本A生成的区块的区块头中的下层区块递归零知识证明通过存储下层账本B和下层账本C的上一区块时刻的下层区块的当前区块递归零知识证明哈希中的哈希值指向下层账本B和下层账本C的当前区块递归零知识证明,在下层账本B和下层账本C生成的区块的区块头中的上层区块递归零知识证明通过存储上层账本A的上一区块时刻的上层区块的当前区块递归零知识证明哈希指向上层账本A的当前区块递归零知识证明。其中,下层账本B和下层账本C没有下层账本,因此,下层账本B和下层账本C的下层区块和下层区块递归零知识证明中的值为空。
结合上述所有实施例可以看出,除父区块的哈希指针外,本申请包括俩个个哈希指针:上层区块和下层区块,建立不同账本生成的区块的上下层结构;父区块递归零知识证明、上层区块递归零知识证明和下层区块递归零知识证明,在建立不同账本生成的区块的上下层结构的基础上,增加零知识证明结构。通过增加上述的两个指针可以加强上下层账本的铰链结构,并使树形层次的账本有联结,实现结构化,且上下层账本结构使得账本有唯一的拓扑结构,实现空间上定序和时间上定序。其次,这可以提高区块链的安全性,当上下层账本关联时,单单攻击某个共识组维护的账本是无用的,还需要攻击相邻的账本,因此,攻击者需要逆转相关所有账本才能逆转一个区块,提高了区块链攻击难度。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
请参阅图8,图8是本申请实施例的电子设备的结构示意图。电子设备60包括相互耦接的存储器61和处理器62,处理器62用于执行存储器61中存储的程序指令,以实现上述区块链运行方法的实施例的步骤,或以实现区块链系统。在一个具体的实施场景中,电子设备60可以包括但不限于:微型计算机或服务器,在此不做限定。
具体而言,处理器62用于控制其自身以及存储器61以实现上述区块链运行方法的实施例的步骤,或以实现区块链系统。处理器62还可以称为CPU(Central ProcessingUnit,中央处理单元),处理器62可能是一种集成电路芯片,具有信号的处理能力。处理器62还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件或分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器62可以由集成电路芯片共同实现。
请参阅图9,图9是本申请实施例的非易失性计算机可读存储介质的结构示意图。非易失性计算机可读存储介质70用于存储计算机程序71,计算机程序71在被处理器62执行时,用于实现上述区块链运行方法的实施例的步骤,或以实现区块链系统。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和相关设备,可以通过其它的方式实现。例如,以上所描述的相关设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信断开连接可以是通过一些接口,装置或单元的间接耦合或通信断开连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)或磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员易知,可在保持本申请的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。
Claims (17)
1.一种区块链系统,其特征在于,包括:上层账本和下层账本;
所述上层账本生成区块的区块头包括:第一当前区块哈希、第一上层区块和第一下层区块;
所述下层账本生成区块的区块头包括:第二当前区块哈希、第二上层区块和第二下层区块;
其中,下一区块时刻所述上层账本的所述第一下层区块指向上一区块时刻所述下层账本的所述第二当前区块哈希,下一区块时刻所述下层账本的所述第二上层区块指向上一区块时刻所述上层账本的所述第一当前区块哈希。
2.根据权利要求1所述的区块链系统,其特征在于,包括:
所述上层账本生成区块的区块头包括:第一当前区块递归零知识证明哈希、第一当前区块递归零知识证明、第一父区块递归零知识证明、第一上层区块递归零知识证明和第一下层区块递归零知识证明,其中,所述第一当前区块递归零知识证明用于存储所述上层账本的零知识证明承诺;
所述下层账本生成区块的区块头包括:第二当前区块递归零知识证明哈希、第二当前区块递归零知识证明、第二父区块递归零知识证明、第二上层区块递归零知识证明和第二下层区块递归零知识证明,其中,所述第二当前区块递归零知识证明用于存储所述下层账本的零知识证明承诺;
其中,下一区块时刻所述上层账本的所述第一下层区块递归零知识证明指向上一区块时刻所述下层账本的所述第二当前区块递归零知识证明哈希,下一区块时刻所述下层账本的所述第二上层区块递归零知识证明指向上一区块时刻所述上层账本的所述第一当前区块递归零知识证明哈希,下一区块时刻所述上层账本的所述第一父区块递归零知识证明指向上一区块时刻所述上层账本的所述第一当前区块递归零知识证明哈希,下一区块时刻所述下层账本的所述第二父区块递归零知识证明指向上一区块时刻所述下层账本的所述第二当前区块递归零知识证明哈希。
3.根据权利要求1所述的区块链系统,其特征在于,所述下层账本包括:第一下层账本和第二下层账本;
所述第一下层账本生成区块的区块头包括:第三当前区块哈希、第三上层区块和第三下层区块;
所述第二下层账本生成区块的区块头包括:第四当前区块哈希、第四上层区块和第四下层区块;
其中,下一区块时刻所述上层账本的所述第一下层区块指向上一区块时刻所述第一下层账本的所述第三当前区块哈希和所述第二下层账本的所述第四当前区块哈希,下一区块时刻所述第一下层账本的所述第三上层区块和所述第二下层账本的所述第四上层区块指向上一区块时刻所述上层账本的所述第一当前区块哈希。
4.根据权利要求1所述的区块链系统,其特征在于,所述下层账本包括:第一下层账本和第二下层账本;
所述第一下层账本生成区块的区块头包括:第三当前区块哈希、第三上层区块、第三下层区块、第三当前区块递归零知识证明哈希、第三当前区块递归零知识证明、第三父区块递归零知识证明、第三上层区块递归零知识证明和第三下层区块递归零知识证明,其中,所述第三当前区块递归零知识证明用于存储所述第一下层账本的零知识证明承诺;
所述第二下层账本生成区块的区块头包括:第四当前区块哈希、第四上层区块、第四下层区块、第四当前区块递归零知识证明哈希、第四当前区块递归零知识证明、第四父区块递归零知识证明、第四上层区块递归零知识证明和第四下层区块递归零知识证明,其中,所述第四当前区块递归零知识证明用于存储所述第二下层账本的零知识证明承诺;
其中,下一区块时刻所述上层账本的所述第一下层区块指向上一区块时刻所述第一下层账本的所述第三当前区块哈希和所述第二下层账本的所述第四当前区块哈希,下一区块时刻所述第一下层账本的所述第三上层区块和所述第二下层账本的所述第四上层区块指向上一区块时刻所述上层账本的所述第一当前区块哈希,下一区块时刻所述上层账本的所述第一下层区块递归零知识证明指向上一区块时刻所述第一下层账本的所述第三当前区块递归零知识证明哈希和所述第二下层账本的所述第四当前区块递归零知识证明哈希,下一区块时刻所述第一下层账本的所述第三上层区块递归零知识证明和所述第二下层账本的所述第四上层区块递归零知识证明指向上一区块时刻所述上层账本的所述第一当前区块递归零知识证明哈希,下一区块时刻所述第一下层账本的所述第三父区块递归零知识证明指向上一区块时刻所述第一下层账本的所述第三当前区块递归零知识证明哈希,下一区块时刻所述第二下层账本的所述第四父区块递归零知识证明指向上一区块时刻所述第二下层账本的所述第四当前区块递归零知识证明哈希。
5.一种区块链运行方法,其特征在于,包括:
获取上层账本中上一区块时刻的第一当前区块哈希中的第一哈希值,在下层账本的第二上层区块中存储所述第一哈希值,利用所述第二上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本;或
获取所述下层账本中上一区块时刻的第二当前区块哈希中的第二哈希值,在所述上层账本的第一下层区块中存储所述第二哈希值,利用所述第一下层区块中的所述第二哈希值指向上一区块时刻的所述下层账本。
6.根据权利要求5所述的方法,其特征在于,包括:
获取所述下层账本生成的区块中所述第二上层区块中的所述第一哈希值,利用所述第一哈希值找到所述上层账本的上一区块时刻的所述上层账本,用于查询上一区块时刻的所述上层账本发生的交易;或
获取所述上层账本生成的区块中所述第一下层区块中的所述第二哈希值,利用所述第二哈希值找到所述下层账本的上一区块时刻的所述下层账本,用于查询上一区块时刻的所述下层账本发生的交易。
7.根据权利要求5所述的方法,其特征在于,
所述在下层账本的第二上层区块中存储所述第一哈希值之后包括:
获取所述上层账本中上一区块时刻的第一当前区块递归零知识证明哈希中的第三哈希值,在所述下层账本的第二上层区块递归零知识证明中存储所述第三哈希值,利用所述第二上层区块递归零知识证明中的所述第三哈希值指向上一区块时刻的所述上层账本的第一当前递归零知识证明哈希,获取所述上层账本中上一区块时刻所述第一当前区块哈希中的所述第三哈希值,在所述上层账本的第一父区块递归零知识证明中存储所述第三哈希值,利用所述上层账本的所述第三父区块递归零知识证明中的所述第三哈希值指向上一区块时刻的所述上层账本;
所述在所述上层账本的第一下层区块中存储所述第二哈希值之后包括:
获取所述下层账本中上一区块时刻的第二当前区块递归零知识证明哈希中的第四哈希值,在所述上层账本的第一下层区块递归零知识证明中存储所述第四哈希值,利用所述第一下层区块递归零知识证明中的所述第四哈希值指向上一区块时刻的所述下层账本的第二当前递归零知识证明哈希,获取所述下层账本中上一区块时刻所述第二当前区块哈希中的所述第四哈希值,在所述下层账本的第二父区块递归零知识证明中存储所述第四哈希值,利用所述下层账本的所述第二父区块递归零知识证明中的所述第四哈希值指向上一区块时刻的所述下层账本。
8.根据权利要求7所述的方法,其特征在于,所述下层账本包括:第一下层账本和第二下层账本;
所述利用所述第一下层区块中的所述第二哈希值指向上一区块时刻的所述下层账本包括:获取所述第一下层账本中上一区块时刻第三当前区块哈希中的第五哈希值和所述第二下层账本中上一区块时刻第四当前区块哈希中的第六哈希值,在所述上层账本的所述第一下层区块中存储所述第五哈希值和所述第六哈希值,利用所述上层账本的所述第一下层区块中的所述第五哈希值指向上一区块时刻的所述第一下层账本和所述第六哈希值指向上一区块时刻的所述第二下层账本;
所述利用所述第二上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本包括:获取所述上层账本中上一区块时刻所述第一当前区块哈希中的所述第一哈希值,在所述第一下层账本的第三上层区块和所述第二下层账本的第四上层区块中存储所述第一哈希值,利用所述第一下层账本的所述第三上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本,和利用所述第二下层账本的所述第四上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本;
所述利用所述第一下层区块递归零知识证明中的所述第四哈希值指向上一区块时刻的所述下层账本的第二当前递归零知识证明哈希包括:获取所述第一下层账本中上一区块时刻第三当前区块递归零知识证明哈希中的第七哈希值和所述第二下层账本中上一区块时刻第四当前区块递归零知识证明哈希中的第八哈希值,在所述上层账本的所述第一下层区块递归零知识证明中存储所述第七哈希值和所述第八哈希值,利用所述上层账本的所述第一下层区块递归零知识证明中的所述第七哈希值指向上一区块时刻的所述第一下层账本的第三当前区块递归零知识证明哈希和所述第八哈希值指向上一区块时刻的所述第二下层账本的第四当前区块递归零知识证明哈希;
所述利用所述第二上层区块递归零知识证明中的所述第三哈希值指向上一区块时刻的所述上层账本的第一当前递归零知识证明哈希包括:获取所述上层账本中上一区块时刻所述第一当前区块递归零知识证明哈希中的所述第三哈希值,在所述第一下层账本的第三上层区块递归零知识证明和所述第二下层账本的第四上层区块递归零知识证明中存储所述第三哈希值,利用所述第一下层账本的所述第三上层区块递归零知识证明中的所述第三哈希值指向上一区块时刻的所述上层账本的所述第一当前区块递归零知识证明哈希,和利用所述第二下层账本的所述第四上层区块递归零知识证明中的所述第三哈希值指向上一区块时刻的所述上层账本的所述第一当前区块递归零知识证明哈希;
所述利用所述下层账本的所述第二父区块递归零知识证明中的所述第四哈希值指向上一区块时刻的所述下层账本包括:获取所述第一下层账本中上一区块时刻所述第三当前区块哈希中的所述第五哈希值,在所述第一下层账本的第三父区块递归零知识证明中存储所述第五哈希值,利用所述第一下层账本的所述第三父区块递归零知识证明中的所述第五哈希值指向上一区块时刻的所述第一下层账本;或获取所述第二下层账本中上一区块时刻所述第四当前区块哈希中的所述第六哈希值,在所述第二下层账本的第四父区块递归零知识证明中存储所述第六哈希值,利用所述第二下层账本的所述第四父区块递归零知识证明中的所述第六哈希值指向上一区块时刻的所述第二下层账本。
9.根据权利要求7所述的方法,其特征在于,所述获取所述上层账本中上一区块时刻的第一当前区块递归零知识证明哈希中的第三哈希值之前包括:
获取上一区块时刻的所述上层账本的零知识证明承诺和当前区块时刻上层账本的交易信息,进行零知识证明计算,得到当前区块时刻的所述上层账本的零知识证明承诺,并将当前区块时刻的所述上层账本的所述零知识证明承诺存储在所述上层账本的第一当前区块递归零知识证明中;
对当前区块时刻的所述上层账本的所述零知识证明承诺进行哈希计算,得到所述第三哈希值,将所述第三哈希值存储至所述上层账本的所述第一当前区块递归零知识证明哈希中。
10.根据权利要求9所述的方法,其特征在于,包括:
获取所述下层账本中所述第二上层区块递归零知识证明中的所述第三哈希值,利用所述第三哈希值找到所述上层账本的上一区块时刻的所述上层区块中的所述第一当前区块递归零知识证明哈希,利用所述第一当前区块递归零知识证明哈希获取所述第一当前区块递归零知识证明中上一区块时刻的所述上层区块生成的所述零知识证明承诺。
11.根据权利要求10所述的方法,其特征在于,所述利用所述第一当前区块递归零知识证明哈希获取所述第一当前区块递归零知识证明中上一区块时刻的所述上层区块生成的所述零知识证明承诺之后包括:
所述下层账本对应共识组中的节点判断所述上层账本的所述上层区块的所述零知识证明承诺是否符合验证要求;
响应于符合,所述节点定所述上层账本为可靠,允许所述上层账本对所述下层账本进行跨链交易;
响应于不符合,所述节点确定所述上层账本为不可靠,不允许所述上层账本对所述下层账本进行跨链交易。
12.根据权利要求7所述的方法,其特征在于,所述获取所述下层账本中上一区块时刻的第二当前区块递归零知识证明哈希中的第四哈希值之前包括:
获取上一区块时刻的所述下层账本的零知识证明承诺和当前区块时刻下层账本的交易信息,进行零知识证明计算,得到当前区块时刻的所述下层账本的零知识证明承诺,并将当前区块时刻的所述下层账本的所述零知识证明承诺存储在所述下层账本的第二当前区块递归零知识证明中;
对当前区块时刻的所述下层账本的所述零知识证明承诺进行哈希计算,得到第四哈希值,将所述第四哈希值存储至所述下层账本的所述第二当前区块递归零知识证明哈希中。
13.根据权利要求12所述的方法,其特征在于,包括:
获取所述上层账本中所述第一下层区块递归零知识证明中的所述第四哈希值,利用所述第四哈希值找到所述下层账本的上一区块时刻的所述下层区块中的所述第二当前区块递归零知识证明哈希,利用所述第二当前区块递归零知识证明哈希获取所述第二当前区块递归零知识证明中上一区块时刻的所述下层区块生成的所述零知识证明承诺。
14.根据权利要求13所述的方法,其特征在于,所述利用所述第二当前区块递归零知识证明哈希获取所述第二当前区块递归零知识证明中上一区块时刻的所述下层区块生成的所述零知识证明承诺之后包括:
所述上层账本对应共识组中的节点判断所述下层账本的所述下层区块的所述零知识证明承诺是否符合验证要求;
响应于符合,所述节点确定所述下层账本为可靠,允许所述下层账本对所述上层账本进行跨链交易;
响应于不符合,所述节点确定所述下层账本为不可靠,不允许所述下层账本对所述上层账本进行跨链交易。
15.根据权利要求5所述的方法,其特征在于,所述下层账本包括:第一下层账本和第二下层账本;
所述利用所述第一下层区块中的所述第二哈希值指向上一区块时刻的所述下层账本包括:获取所述第一下层账本中上一区块时刻第三当前区块哈希中的第五哈希值和所述第二下层账本中上一区块时刻第四当前区块哈希中的第六哈希值,在所述上层账本的所述第一下层区块中存储所述第五哈希值和所述第六哈希值,利用所述上层账本的所述第一下层区块中的所述第五哈希值指向上一区块时刻的所述第一下层账本和所述第六哈希值指向上一区块时刻的所述第二下层账本;
所述利用所述第二上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本包括:获取所述上层账本中上一区块时刻所述第一当前区块哈希中的所述第一哈希值,在所述第一下层账本的第三上层区块和所述第二下层账本的第四上层区块中存储所述第一哈希值,利用所述第一下层账本的所述第三上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本,和利用所述第二下层账本的所述第四上层区块中的所述第一哈希值指向上一区块时刻的所述上层账本。
16.一种电子设备,其特征在于,包括存储器和处理器,所述存储器与所述处理器相互耦接,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至4任一项所述的区块链系统,或实现权利要求5至15任一项所述的区块链运行方法。
17.一种计算机存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至4任一项所述的区块链系统,或实现权利要求5至15任一项所述的区块链运行方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310610433 | 2023-05-25 | ||
CN2023106104338 | 2023-05-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938523A true CN116938523A (zh) | 2023-10-24 |
Family
ID=88374618
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310694465.0A Pending CN116938523A (zh) | 2023-05-25 | 2023-06-12 | 区块链系统、运行方法、电子设备和存储介质 |
CN202310692272.1A Pending CN116938522A (zh) | 2023-05-25 | 2023-06-12 | 区块链系统、运行方法、电子设备和存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310692272.1A Pending CN116938522A (zh) | 2023-05-25 | 2023-06-12 | 区块链系统、运行方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116938523A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117132279A (zh) * | 2023-10-26 | 2023-11-28 | 山东大学 | 一种区块链双链记账方法、系统、设备及介质 |
-
2023
- 2023-06-12 CN CN202310694465.0A patent/CN116938523A/zh active Pending
- 2023-06-12 CN CN202310692272.1A patent/CN116938522A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117132279A (zh) * | 2023-10-26 | 2023-11-28 | 山东大学 | 一种区块链双链记账方法、系统、设备及介质 |
CN117132279B (zh) * | 2023-10-26 | 2024-01-23 | 山东大学 | 一种区块链双链记账方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116938522A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392608B (zh) | 基于区块链系统的数字资产交易方法及区块链系统 | |
CN110602148B (zh) | 一种区块的状态树的生成和链上数据验证的方法及装置 | |
CN110869967B (zh) | 用于并行处理区块链交易的系统和方法 | |
EP3678346B1 (en) | Blockchain smart contract verification method and apparatus, and storage medium | |
CN107147735B (zh) | 一种基于分层结构的分布式账本系统 | |
WO2018158936A1 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
CN109104413B (zh) | 用于安全多方计算的私有数据求交集的方法及验证方法 | |
US20210049715A1 (en) | Blockchain-based data procesing method, apparatus, and electronic device | |
KR20210128455A (ko) | 블록체인 네트워크를 통한 이전을 구현하는 컴퓨터 구현 시스템 및 방법 | |
CN112650978B (zh) | 基于区块链的侵权检测方法及装置、电子设备 | |
CN112235420B (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN112651724A (zh) | 跨链交互方法、装置和系统 | |
US20210073796A1 (en) | Method of selective authentication of a blockchain user with a smart contract | |
CN109447636A (zh) | 一种资产转移方法及装置 | |
CN111640018B (zh) | 一种区块链交易存在性验证方法及装置 | |
CN113988857A (zh) | Nft交易方法、交易系统、计算机可读存储介质及终端设备 | |
CN112070608B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN116938523A (zh) | 区块链系统、运行方法、电子设备和存储介质 | |
CN113362068B (zh) | 一种轻节点验证区块链状态转移的方法 | |
JP2020204898A (ja) | 分散台帳システムの運用管理方法、分散台帳システムの運用管理システム、および分散台帳システムの運用管理プログラム | |
US11831749B1 (en) | Method and system for utilizing the infrastructure of a blockchain to enhance the degree of reliability of another blockchain | |
CN110858211B (zh) | 数据存储方法、装置及系统、存储介质 | |
CN108710658B (zh) | 一种数据记录的存储方法及装置 | |
CN114358948A (zh) | Nft原子交换方法、系统、计算机可读存储介质及终端设备 | |
CN116132058A (zh) | 区块链共识方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |