CN113542396B - 一种区块链存储及通讯方法、系统及其相关组件 - Google Patents

一种区块链存储及通讯方法、系统及其相关组件 Download PDF

Info

Publication number
CN113542396B
CN113542396B CN202110789133.1A CN202110789133A CN113542396B CN 113542396 B CN113542396 B CN 113542396B CN 202110789133 A CN202110789133 A CN 202110789133A CN 113542396 B CN113542396 B CN 113542396B
Authority
CN
China
Prior art keywords
block
transaction
node
signature
header
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.)
Active
Application number
CN202110789133.1A
Other languages
English (en)
Other versions
CN113542396A (zh
Inventor
踪训杰
张健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Resources Digital Technology Co Ltd
Original Assignee
China Resources Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Resources Digital Technology Co Ltd filed Critical China Resources Digital Technology Co Ltd
Priority to CN202110789133.1A priority Critical patent/CN113542396B/zh
Publication of CN113542396A publication Critical patent/CN113542396A/zh
Application granted granted Critical
Publication of CN113542396B publication Critical patent/CN113542396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种区块链存储及通讯方法、系统及其相关组件,该方法包括:利用出块节点将交易进行封装,得到交易块;利用出块节点对交易块进行区块标记,计算具有区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,将交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,将交易块和区块头分别广播至记账节点;记账节点验证交易块的交易信息与区块头中记录的交易信息是否一致;若一致,则将区块头和交易块重新组合为区块写入账本内。本发明通过将交易块和区块头分发给记账节点,并在记账节点内将区块头与对应的交易块组合成一个区块写入账本,减少了传输过程中的网络开销,提高了传输效率。

Description

一种区块链存储及通讯方法、系统及其相关组件
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链存储及通讯方法、系统及其相关组件。
背景技术
交易记录在区块链中,需经过拜占庭共识进行处理,由于拜占庭共识对网络通讯开销比较大,因此,目前对交易的处理方法是,将多个交易打包在一起形成区块从而进行发送,这样做的好处是一次共识可以处理多个交易,减少了网络通讯开销,但在出块节点将打好包的区块广播给记账节点的过程中,如果记账节点出现网络问题,从而导致没有接收到完整的区块报文,则必须丢掉接收到的全部报文,重新向出块节点索要区块,当区块中打包的交易较多时,如果将整个区块丢弃,重新获取也会带来一定的网络通讯开销。
发明内容
本发明实施例提供了一种区块链存储及通讯方法、系统及其相关组件,旨在解决现有技术中记账节点重新获取完整区块而增加网络通讯开销的问题。
第一方面,本发明实施例提供了一种区块链存储及通讯方法,包括:
利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;
利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;
所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;
若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。
第二方面,本发明实施例提供了一种区块链存储及通讯系统,其包括:
交易块获取单元,用于利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;
区块头获取单元,用于利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;
交易信息验证单元,用于所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;
账本写入单元,用于若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的区块链存储及通讯方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的区块链存储及通讯方法。
本发明实施例提供了一种区块链存储及通讯方法、系统及其相关组件,该方法包括:利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。本发明实施例通过将交易块和区块头分发给记账节点,并在记账节点内将区块头与对应的交易块组合成一个区块写入账本,这种将区块头和交易块分发的方式,使的需要重新获取完整区块时,仅需获取缺失的交易块或区块头,减少了传输过程中的网络开销,提高了传输效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的区块链存储及通讯方法的流程示意图;
图2为本发明实施例提供的区块链存储及通讯系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种区块链存储及通讯方法的流程示意图,该方法包括步骤S101~S104。
S101、利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;
S102、利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;
S103、所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;
S104、若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。
在本实施例中,利用出块节点封装交易,得到交易块,然后对交易块进行区块标记,并计算具有相同区块标记的所有交易块各自的交易哈希以及所有交易块的默克尔根哈希(即所有交易块总哈希),然后将交易哈希、默克尔根哈希和区块元数据一起封装为区块头,然后将交易块和区块头同步分发至记账节点内,所述记账节点验证接收到的交易块和区块头的交易信息的一致性,若一致则将所述交易块和区块头组合为区块写入账本内。
所述出块节点对交易进行封装,并标记所述交易的所属区块,以及所述交易在区块内的序列号,并对所述交易块进行签名。所述出块节点对区块元数据进行封装,封装内容包括:当前区块的上一个区块的哈希、本区块的默克尔根哈希、交易个数、交易总大小、区块生成时间以及区块高度,然后出块节点对封装好的区块头进行签名。
交易由区块链节点签名后,被保存至交易池中,然后经过一轮共识后选举得到出块节点,所述出块节点可以从所述交易池中选择相应的交易进行封装,也可以从全网中获取交易进行封装。每一个交易块内只包含一个交易,所述交易块的组成包括:交易的所属区块、交易的发生时间、交易在区块中的排序序号、交易内容、交易创建者对交易的签名信息以及出块节点签名信息。所述交易块可由所述出块节点广播至记账节点,所述记账节点接收到交易块后,在众多的交易块中选择与区块头对应的交易块进行重组,以得到区块。
所述区块头包括:前一个区块的哈希、当前区块所有交易排序后计算得出的默克尔根哈希、打包的交易个数、总交易大小、区块打包时间以及出块节点签名等信息。所述区块头可用于验证交易存在于区块内,非全量节点验证交易时,需要向全量节点索要交易的邻居哈希,并计算默克尔根哈希,将计算得到的默克尔根哈希与区块头记录的默克尔根哈希进行比较,如果一致,则认为交易存在于本区块内。
所述区块头可用于保证区块链数据的一致性和有效性。当前区块记录前一个区块的哈希,后一个区块又会包含本区块的哈希,形成链式结构,后一个链接的区块是对前一个区块有效性的承若和证明,如果认为区块非法,就不会在他后面继续形成区块。
在一实施例中,所述利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块,包括:
所述出块节点获取所述交易的交易签名,并验证所述交易的交易签名和所述交易对应的发起节点的签名是否一致;
若一致,则将所述交易进行封装,得到所述交易块。
在本实施例中,所述出块节点通过验证所述交易的交易签名是否与发起节点的签名一致,从而判定所述交易是否进行封装,若一致则进行封装,若不一致则重新从交易池中获取交易。所述出块节点进行封装时,每次封装一个交易,得到一个交易块。
在一实施例中,所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致,包括:
获取所述区块头中当前区块交易总数,并结合每一个所述交易块在所述区块头中的序号,计算当前默克尔根哈希,并将所述当前默克尔根哈希与所述记录在所述区块头中的交易默克尔根哈希进行比较。
在本实施例中,所述记账节点按照区块头中记录的当前区块交易总数以及每一个交易块在区块头内的序号,计算当前默克尔根哈希,然后将所述当前默克尔根哈希与记录在所述区块头中的交易默克尔根哈希进行比较,从而验证所述交易块中的交易信息与区块头中记录的交易信息的一致性。
在一实施例中,所述将所述交易块和区块头分别广播至记账节点,包括:
判断所述交易块和区块头是否存在报文缺失的情况,若存在,则获取报文缺失信息;
若所述报文缺失信息为区块头报文缺失信息,则向所述出块节点重新获取对应的新的区块头;
若所述报文缺失信息为交易块报文缺失信息,则向全网广播重新获取对应的新的交易块。
在本实施例中,在记账节点接收到交易块和区块头的同时,记账节点还将获得交易块和区块头的报文,并根据交易块和区块头的报文判断所述交易块和区块头是否存在报文缺失的情况,若存在则获取报文缺失信息,并判断所述报文缺失信息是区块头报文缺失信息还是交易块报文缺失信息,根据判断结果决定重新获取区块头或者交易块。获取区块头时,直接向出块节点进行获取;获取交易块时,则向全网获取,而不仅仅是向出块节点获取所需的交易块,从而达到减轻所述出块节点的工作负担的作用。
在一实施例中,所述若所述报文缺失信息为交易块报文缺失信息,则向全网广播重新获取对应的新的交易块,包括:
判断所述新的交易块的出块节点签名与所述区块头的出块节点签名是否为同一出块节点的签名;
若是同一出块节点的签名,则验证所述新的交易块的交易哈希与所述区块头中记录的交易哈希是否一致,若一致则将所述新的交易块作为缺失的交易块保存至所述区块内。
在本实施例中,在获取到新的交易块后,对所述新的交易块进行验证,判断所述新的交易块是否为所需交易块,若为所需交易块,则保存至所述新的区块内。由于获取交易块是向全网进行获取,而在全网中存在部分作恶节点,作恶节点会向所述记账节点发送虚假交易块,因此所述记账节点需要对接收到的所述新的交易块进行验证。首先是验证所述新的交易块中保存的出块节点签名与所述区块头中的出块节点签名是否一致,若一致则进一步验证所述新的交易块的交易哈希与所述区块头中记录的交易块的交易哈希是否一致。
具体的,当记账节点接收到全网发送的第一个交易块时,先验证第一个交易块的出块节点签名与所述区块头中保存的出块节点签名是否为同一出块节点,然后再进一步验证第一个交易块的交易哈希与区块头中记录的交易头的交易哈希是否一致,若以上验证均通过,则将第一个交易块作为需求交易块与所述区块头保存至新的区块内;若以上验证中存在未通过的情况,则获取下一个交易块,重新进行以上验证,直至得到两种验证均通过的交易块为止。
在一实施例中,所述判断所述新的交易块的出块节点签名与所述区块头的出块节点签名是否为同一出块节点的签名,包括:
若所述新的交易块的出块节点签名与所述区块头的出块节点签名不为同一出块节点的签名,则将所述新的交易块和所述新的交易块对应的发送节点通知至钓鱼人节点;
所述钓鱼人节点验证所述新的交易块和发送节点的区块链签名是否一致,若不一致,则对所述发送节点执行惩罚机制。
在本实施例中,当所述新的交易块的出块节点签名与所述区块头的出块节点签名不一致时,则说明所述新的交易块为不诚实的交易块,将所述新的交易块和向所述记账节点发送所述新的交易块的发送节点通知给钓鱼人节点,并由所述钓鱼人节点对所述新的交易块和发送节点进行验证,以判断是否对所述发送节点进行惩罚。
所述钓鱼人节点对所述新的交易块和发送节点进行验证,若确认所述交易块不诚实,则举证并发起对所述发送节点进行惩罚的投票,由所有的钓鱼人节点进行投票表决,当收集到进行惩罚的票数超过预设比例时,则执行惩罚。为了防止所述记账节点恶意召唤钓鱼人节点,为每个记账节点提供一定数量的令牌,每次举报将扣除记账节点的一个令牌,若被举报的交易块和发送节点被确定为不诚实交易块和不诚实发送节点,则在对所述不诚实发送节点进行惩罚后,向所述记账节点返回令牌;若所述记账节点为恶意举报,则令牌将按约定的延时策略进行返回,比如第一次恶意举报,延时100个区块后再将令牌返回,连续第二次恶意举报,延时200个区块后返回令牌,连续第三次恶意举报延时400个区块,连续第四次恶意举报延时800个,以此递增。当记账节点令牌不足时,可以继续记账,但无法进行举报操作,会减弱区块链网络不诚实节点恶意攻击被发现的概率。
在一实施例中,所述将所述区块头和交易块重新组合为区块写入账本内之后,包括:
所述记账节点记录所述区块头,得到轻量节点;
或者,所述记账节点记录所述区块头和所有交易块,得到全量节点;
或者,所述记账节点记录所述区块头和部分交易块,得到普通节点。
在本实施例中,所述记账节点可选择性存储交易块,所述记账节点可选择只记录区块头成为轻量节点,也可选择记录区块头和所有交易块成为全量节点,也可选择记录区块头和部分交易块成为普通节点。只要区块头信息和全网最新信息保持一致,并且历史区块头信息记录齐全即可。
请参阅图2,图2为本发明实施例提供的一种区块链存储及通讯系统的示意性框图,该区块链存储及通讯系统200包括:
交易块获取单元201,用于利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;
区块头获取单元202,用于利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;
交易信息验证单元203,用于所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;
账本写入单元204,用于若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。
在一实施例中,所述交易块获取单元201包括:
出块节点验证单元,用于所述出块节点获取所述交易的交易签名,并验证所述交易的交易签名和所述交易对应的发起节点的签名是否一致;
交易封装单元,用于若一致,则将所述交易进行封装,得到所述交易块。
在一实施例中,所述交易信息验证单元203包括:
默克尔根哈希比较单元,用于获取所述区块头中当前区块交易总数,并结合每一个所述交易块在所述区块头中的序号,计算当前默克尔根哈希,并将所述当前默克尔根哈希与所述记录在所述区块头中的交易默克尔根哈希进行比较。
在一实施例中,所述区块头获取单元202包括:
报文缺失信息获取单元,用于判断所述交易块和区块头是否存在报文缺失的情况,若存在,则获取报文缺失信息;
区块头重获单元,用于若所述报文缺失信息为区块头报文缺失信息,则向所述出块节点重新获取对应的新的区块头;
交易块重获单元,用于若所述报文缺失信息为交易块报文缺失信息,则向全网广播重新获取对应的新的交易块。
在一实施例中,交易块重获单元包括:
出块节点签名判断单元,用于判断所述新的交易块的出块节点签名与所述区块头的出块节点签名是否为同一出块节点的签名;
缺失交易块替换单元,用于若是同一出块节点的签名,则验证所述新的交易块的交易哈希与所述区块头中记录的交易哈希是否一致,若一致则将所述新的交易块作为缺失的交易块保存至所述区块内。
在一实施例中,所述出块节点签名判断单元包括:
钓鱼人节点通知单元,用于若所述新的交易块的出块节点签名与所述区块头的出块节点签名不为同一出块节点的签名,则将所述新的交易块和所述新的交易块对应的发送节点通知至钓鱼人节点;
节点惩罚单元,用于所述钓鱼人节点验证所述新的交易块和发送节点的区块链签名是否一致,若不一致,则对所述发送节点执行惩罚机制。
在一实施例中,账本写入单元204包括:
轻量节点获取单元,用于所述记账节点记录所述区块头,得到轻量节点;
全量节点获取单元,用于或者,所述记账节点记录所述区块头和所有交易块,得到全量节点;
普通节点获取单元,用于或者,所述记账节点记录所述区块头和部分交易块,得到普通节点。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的区块链存储及通讯方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的区块链存储及通讯方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种区块链存储及通讯方法,其特征在于,包括:
利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;
利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;
所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;
若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。
2.根据权利要求1所述的区块链存储及通讯方法,其特征在于,所述利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块,包括:
所述出块节点获取所述交易的交易签名,并验证所述交易的交易签名和所述交易对应的发起节点的签名是否一致;
若一致,则将所述交易进行封装,得到所述交易块。
3.根据权利要求1所述的区块链存储及通讯方法,其特征在于,所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致,包括:
获取所述区块头中当前区块交易总数,并结合每一个所述交易块在所述区块头中的序号,计算当前默克尔根哈希,并将所述当前默克尔根哈希与所述记录在所述区块头中的交易默克尔根哈希进行比较。
4.根据权利要求1所述的区块链存储及通讯方法,其特征在于,所述将所述交易块和区块头分别广播至记账节点,包括:
判断所述交易块和区块头是否存在报文缺失的情况,若存在,则获取报文缺失信息;
若所述报文缺失信息为区块头报文缺失信息,则向所述出块节点重新获取对应的新的区块头;
若所述报文缺失信息为交易块报文缺失信息,则向全网广播重新获取对应的新的交易块。
5.根据权利要求4所述的区块链存储及通讯方法,其特征在于,所述若所述报文缺失信息为交易块报文缺失信息,则向全网广播重新获取对应的新的交易块,包括:
判断所述新的交易块的出块节点签名与所述区块头的出块节点签名是否为同一出块节点的签名;
若是同一出块节点的签名,则验证所述新的交易块的交易哈希与所述区块头中记录的交易哈希是否一致,若一致则将所述新的交易块作为缺失的交易块保存至所述区块内。
6.根据权利要求5所述的区块链存储及通讯方法,其特征在于,所述判断所述新的交易块的出块节点签名与所述区块头的出块节点签名是否为同一出块节点的签名,包括:
若所述新的交易块的出块节点签名与所述区块头的出块节点签名不为同一出块节点的签名,则将所述新的交易块和所述新的交易块对应的发送节点通知至钓鱼人节点;
所述钓鱼人节点验证所述新的交易块和发送节点的区块链签名是否一致,若不一致,则对所述发送节点执行惩罚机制。
7.根据权利要求1所述的区块链存储及通讯方法,其特征在于,所述将所述区块头和交易块重新组合为区块写入账本内之后,包括:
所述记账节点记录所述区块头,得到轻量节点;
或者,所述记账节点记录所述区块头和所有交易块,得到全量节点;
或者,所述记账节点记录所述区块头和部分交易块,得到普通节点。
8.一种区块链存储及通讯系统,其特征在于,包括:
交易块获取单元,用于利用区块链的出块节点将交易进行封装,得到所述交易对应的交易块;
区块头获取单元,用于利用出块节点对所述交易块进行区块标记,并计算具有所述区块标记的每一交易块的交易哈希以及所有交易块的默克尔根哈希,并将所述交易哈希、交易默克尔根哈希以及区块元数据封装为区块头,并将所述交易块和区块头分别广播至记账节点;所述区块元数据包括:区块高度、区块生成时间、上一个区块哈希以及当前区块交易总数;
交易信息验证单元,用于所述记账节点验证所述交易块的交易信息与所述区块头中记录的交易信息是否一致;所述交易信息包括:数据格式、交易内容、交易签名以及交易哈希;
账本写入单元,用于若所述交易块的交易信息与所述区块头中记录的交易信息一致,则将所述区块头和交易块重新组合为区块写入账本内。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的区块链存储及通讯方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的区块链存储及通讯方法。
CN202110789133.1A 2021-07-13 2021-07-13 一种区块链存储及通讯方法、系统及其相关组件 Active CN113542396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110789133.1A CN113542396B (zh) 2021-07-13 2021-07-13 一种区块链存储及通讯方法、系统及其相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110789133.1A CN113542396B (zh) 2021-07-13 2021-07-13 一种区块链存储及通讯方法、系统及其相关组件

Publications (2)

Publication Number Publication Date
CN113542396A CN113542396A (zh) 2021-10-22
CN113542396B true CN113542396B (zh) 2024-03-08

Family

ID=78127607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110789133.1A Active CN113542396B (zh) 2021-07-13 2021-07-13 一种区块链存储及通讯方法、系统及其相关组件

Country Status (1)

Country Link
CN (1) CN113542396B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844654B (zh) * 2022-07-06 2022-09-06 湖南密码工程研究中心有限公司 车联网可信状态数据证明方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665359A (zh) * 2017-03-29 2018-10-16 中国移动通信有限公司研究院 区块链处理方法、记账节点及验证节点
CN108711052A (zh) * 2018-05-18 2018-10-26 电子科技大学 一种基于区块链的信息验证系统
CN110457942A (zh) * 2018-12-07 2019-11-15 深圳市智税链科技有限公司 对上链数据区块的签名验证方法、业务节点和介质
CN112232823A (zh) * 2020-12-10 2021-01-15 腾讯科技(深圳)有限公司 区块链系统的交易处理方法、装置、介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665359A (zh) * 2017-03-29 2018-10-16 中国移动通信有限公司研究院 区块链处理方法、记账节点及验证节点
CN108711052A (zh) * 2018-05-18 2018-10-26 电子科技大学 一种基于区块链的信息验证系统
CN110457942A (zh) * 2018-12-07 2019-11-15 深圳市智税链科技有限公司 对上链数据区块的签名验证方法、业务节点和介质
CN112232823A (zh) * 2020-12-10 2021-01-15 腾讯科技(深圳)有限公司 区块链系统的交易处理方法、装置、介质及电子设备

Also Published As

Publication number Publication date
CN113542396A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN113329031B (zh) 一种区块的状态树的生成方法及装置
CN108023896B (zh) 区块同步方法及系统
CN109587253B (zh) 一种基于区块链对文件实现分布式存储的方法
CN110245956A (zh) 一种基于异步多链的区块链交易确认方法及系统
CN109002725B (zh) 基于区块链的数据处理系统
CN108710681B (zh) 文件获取方法、装置、设备及存储介质
CN113542396B (zh) 一种区块链存储及通讯方法、系统及其相关组件
CN111935207A (zh) 基于改进型c4.5算法区块链系统共识方法
CN108512649B (zh) 区块链的反向哈希链接的处理方法及装置
CN109756566B (zh) 基于区块链的数据存储方法、相关设备及存储介质
CN112637330B (zh) 区块链大文件副本选址方法、系统、设备及存储介质
CN110650321A (zh) 基于区块链技术的视频内容防篡改、防丢失及恢复的方法
CN108470039A (zh) 区块链中的数据处理方法和装置
CN114726517A (zh) 一种区块链上产生随机数种子的方法、系统和共识节点
CN115189871A (zh) 一种基于可验证随机函数和门限签名的拜占庭容错共识算法
CN115841285A (zh) 基于区块链的商品物流追溯方法及系统
CN116383869A (zh) 基于pbft共识机制的农产品供应链可信追溯模型及实现方法
CN116932656B (zh) 基于区块链的数据血缘存储方法、系统、设备及介质
CN110933162B (zh) 一种区块链虚拟子网分段存储的方法
CN112258184B (zh) 冻结区块链网络的方法、装置、电子设备及可读存储介质
CN109327349B (zh) 区块链账户创建时的限制方法、介质、装置及系统
CN111597268B (zh) 一种区块链扩展方法、区块链节点及区块链系统
CN110471922B (zh) 记账节点的内容扩展方法、设备及计算机可读存储介质
CN114679466B (zh) 区块链网络的共识处理方法、装置、计算机设备和介质
CN113852873B (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
CB02 Change of applicant information

Country or region after: China

Address after: Room 801, building 2, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Applicant after: China Resources Digital Technology Co.,Ltd.

Address before: Room 801, building 2, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Applicant before: Runlian software system (Shenzhen) Co.,Ltd.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant