CN112765683B - 区块链的区块数据结构、存储介质及电子设备 - Google Patents

区块链的区块数据结构、存储介质及电子设备 Download PDF

Info

Publication number
CN112765683B
CN112765683B CN202110370472.6A CN202110370472A CN112765683B CN 112765683 B CN112765683 B CN 112765683B CN 202110370472 A CN202110370472 A CN 202110370472A CN 112765683 B CN112765683 B CN 112765683B
Authority
CN
China
Prior art keywords
block
node
data
local
data structure
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
CN202110370472.6A
Other languages
English (en)
Other versions
CN112765683A (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.)
Dark Chain Technology Shenzhen Co ltd
Original Assignee
Dark Chain Technology Shenzhen 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 Dark Chain Technology Shenzhen Co ltd filed Critical Dark Chain Technology Shenzhen Co ltd
Priority to CN202110370472.6A priority Critical patent/CN112765683B/zh
Publication of CN112765683A publication Critical patent/CN112765683A/zh
Application granted granted Critical
Publication of CN112765683B publication Critical patent/CN112765683B/zh
Priority to PCT/CN2022/072938 priority patent/WO2022213706A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术领域,具体涉及一种区块链的区块数据结构、存储介质及电子设备。区块数据结构包括一致性数据与非一致性数据,处于相同区块高度下不同区块数据结构中的一致性数据互相一致,处于相同区块高度下不同区块数据结构中的非一致性数据可不一致,非一致性数据在区块数据结构上链前为可变的,在区块数据结构上链后为不可变的。因此,基于本实施例提供的区块数据结构,利用一致性数据可以将不同区块高度的区块数据结构形成互锁关系,从而使得区块数据结构能够保持去中心化、透明及不可篡改的特性。并且,利用非一致性数据可以多维度多方面地有效描述出区块数据结构的情况,诸如同步情况或起源情况等,实现对区块链本身的可信跟踪。

Description

区块链的区块数据结构、存储介质及电子设备
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链的区块数据结构、存储介质及电子设备。
背景技术
由于区块链技术具有去中心化和不可篡改特点,因此,区块链技术受到广泛追捧并能够应用于各类业务场景。通常,现有区块链的区块包括区块头与区块体,区块头的数据通常用于辅助校验区块的合法性以及增加篡改难度,区块体的数据通常为业务数据,基于此种区块结构,各个区块依次串接,从而得到区块账本,亦即形成区块链。
一般,某个区块链节点需要同步相关区块数据时,其可以请求任意区块链节点返回对应区块数据,例如,假设区块链节点R1和区块链节点R2都需要同步区块高度为63的区块Q66,区块链节点R1可以请求区块链节点R3返回区块Q66,区块链节点R2可以请求区块链节点R4返回区块Q66,可以理解的是,在现有区块链中,区块链节点R1和区块链节点R2同步完后得到的本地区块中数据都是一致的,其无法多维度有效地描述或展示出本地区块的起源情况、生成情况等各方面情况,并且,在一些业务场景中,不仅仅是需要保证区块中的业务数据不可被简单篡改,而且还需要防止利用共识漏洞的“合法”篡改。
可以理解的是,不可篡改的本质是保持数据的原始性。目前的区块链技术中的共识机制并不完全契合这个要求,在符合机制的共识下是可以重写数据,即抹去原始性数据。其中一个重要原因是由于现有区块链的区块结构的一致性程度高,其无法多维度有效地提供共识信息以加强对原始性数据的保护。
发明内容
本发明实施例的一个目的旨在提供一种区块链的区块数据结构、存储介质及电子设备,有利于区块链系统多维度地跟踪区块链信息,为更灵活的区块链运作机制打下基础。
在第一方面,本发明实施例提供一种区块链的区块数据结构,包括一致性数据与非一致性数据,处于相同区块高度下不同区块数据结构中的所述一致性数据互相一致,处于相同区块高度下不同区块数据结构中的所述非一致性数据可不一致,所述非一致性数据在所述区块数据结构上链前为可变的,在所述区块数据结构上链后为不可变的。
在第二方面,本发明实施例提供一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备生成所述区块链的区块数据结构。
在第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够生成所述区块链的区块数据结构。
本发明与现有技术相比至少具有以下有益效果:在本发明实施例提供的区块链的区块数据结构中,区块数据结构包括一致性数据与非一致性数据,处于相同区块高度下不同区块数据结构中的一致性数据互相一致,处于相同区块高度下不同区块数据结构中的非一致性数据可不一致,非一致性数据在所述区块数据结构上链前为可变的,在区块数据结构上链后为不可变的。因此,基于本实施例提供的区块数据结构,利用一致性数据可以将不同区块高度的区块数据结构形成互锁关系,从而使得区块数据结构能够保持去中心化、透明及不可篡改的特性。并且,利用非一致性数据可以多维度多方面地有效描述出区块数据结构的情况,诸如同步情况或起源情况等,实现对区块链本身的可信跟踪,有利于融合到一些业务场景,从而能够增强安全、提高运营效率和可扩展性,优化整体功能。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的一种区块分布式区块链系统的应用场景示意图;
图2a至图2e分别为本发明实施例提供的一种区块分布式区块链的结构示意图;
图3为本发明实施例提供的一种电子设备的电路原理框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本发明实施例提供的区块数据结构可以适用于任意合适结构形态的区块链,诸如集中式存储区块的传统区块链,或者本文提供的区块分布式区块链,尤其的,本发明实施例提供的区块数据结构在区块分布式区块链的场景模式下,能够帮助用户高效地运营区块分布式区块链和维护区块分布式区块链的数据安全。
图1为本发明实施例提供的一种区块分布式区块链系统的应用场景示意图,如图1所示,区块分布式区块链系统100包括客户端11与区块链网络12,客户端11与区块链网络12通信连接,其中,通信方式包括支持任意合适通信协议的无线通信方式或有线通信方式。
客户端11用于与区块链网络12通信,以完成相关业务逻辑,诸如交易、同步数据、检索查询数据、上传数据等。在一些实施例中,客户端11包括智能手机、平板电脑、膝上型计算机或台式计算机等。
区块链网络12包括在区块链系统中充当各类业务角色的各类节点,如图1所示,各类节点包括出块节点121、权威节点122及普通节点123,出块节点121、权威节点122及普通节点123互相通信连接。
出块节点121用于共识超级区块,当共识通过超级区块,便将超级区块写入权威节点122,其中,出块节点121的数量可以为多个,出块节点121可以采用任意合适共识算法完成超级区块的共识,诸如长老团共识机制、工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,POS)、股份授权证明(Delegate proof of Stake,DPoS)、实用拜占庭容错(practical Byzantine Fault Tolerance,PBFT)、授权拜占庭容错(DelegatedByzantine Fault Tolerance,DBFT)等。
本文所阐述的超级区块可以为任意合适数据类型、任意合适数据大小的区块,在此不对超级区块的数据类型和/或数据大小作出任何不当限定。
权威节点122用于存储出块节点121共识通过的超级区块,通常,由于权威节点122最早被写入超级区块,并且是由各个出块节点121根据共识算法共识确定的节点,因此,权威节点122本地存储的超级区块具有最高真实性,其中,权威节点122的数量可以为多个。
普通节点123为具有记账功能的节点,可以发起账本交易及记录区块,并且还可以从其它节点同步记录超级区块,更新本地账本。
可以理解的是,在一些实施例中,区块链网络12中一些节点可以同时兼任多种业务角色,比如,出块节点121不仅可以共识超级区块,而且还可以具有记账功能或交易功能,因此,在本文中,不对区块链节点能够执行的业务逻辑作出任何不当限定。在一些实施例中,区块链节点可以包括智能电话、平板电脑、膝上型计算机、台式计算机或服务器等。
作为本发明实施例一方面,本发明实施例提供一种区块分布式区块链的区块数据结构,可以理解的是,本文阐述的“区块数据结构”可以理解为“超级区块”,其中,超级区块可以为任意合适数据类型、任意合适数据大小的区块。
在本实施例中,区块数据结构包括一致性数据与非一致性数据,处于相同区块高度下不同区块数据结构中的一致性数据互相一致,处于相同区块高度下不同区块数据结构中的非一致性数据可不一致,非一致性数据在区块数据结构上链前为可变的,在区块数据结构上链后为不可变的。
举例而言,超级区块B1写入权威节点C1,其包括非一致性数据D1。超级区块B2写入权威节点C2,其包括非一致性数据D2。
超级区块B3写入权威节点C3,其包括非一致性数据D3。超级区块B1、B2及B3的区块高度都为150,非一致性数据D1的数据与非一致性数据D2的数据一致,非一致性数据D1的数据与非一致性数据D3的数据不一致。
在超级区块B1写入权威节点C1之前,亦即超级区块B1在上链到区块分布式区块链之前,非一致性数据D1的数据可以修改、更新或删除,在写入权威节点C1之后,亦即超级区块B1上链到区块分布式区块链,此时,非一致性数据D1的数据是不可变的,例如,将超级区块B1配置进入只读模式。对于超级区块B2及B3,其非一致性数据的数据变化可以按照上文所阐述的推理,在此不赘述。
可以理解的是,本领域技术人员可以根据本文公开的内容,通过合乎逻辑地推导和自行确定每个超级区块中非一致性数据的内容表达。
因此,基于本实施例提供的区块数据结构,利用一致性数据可以将不同区块高度的区块数据结构形成互锁关系,从而使得区块数据结构能够保持去中心化、透明及不可篡改的特性。并且,利用非一致性数据可以多维度多方面地有效描述出区块数据结构的情况,诸如同步情况或起源情况等,实现对区块链本身的可信跟踪,有利于融合到一些业务场景,并且,其还能够更加灵活和全面地描述超级区块在区块分布式区块链中的形成关系,有助于提高区块分布式区块链的使用效率、运营效率和安全性,优化整体功能。
在一些实施例中,区块数据结构包括区块头与区块体,一致性数据包括区块头的全部数据及区块体的部分数据,非一致性数据封装在区块体中。在一些实施例中,请参阅表1:
表1
Figure 753911DEST_PATH_IMAGE001
如表1所示,区块体的部分数据包括业务数据及父节点列表,父节点列表包括处于相同区块高度下多个父权威节点的节点信息,区块头的全部数据包括区块高度、父区块哈希及区块体哈希。
在本实施例中,业务数据可以为任意合适业务场景下的数据,数据内容可以为任意形式内容,例如,在交易场景下,业务数据为双方的交易数据,数据内容为付款方、收款方、支付数额等内容,或者,为了防止某类技术数据丢失而无法有效地还原某项技术,在重要数据保存场景,业务数据为行业重要技术性数据,数据内容为能够还原该行业或某个细分技术领域的技术内容。
在本实施例中,父节点列表为包含处于相同区块高度下每个父权威节点的节点信息的列表,区块高度为当前超级区块在区块分布式区块链的排列高度,父区块哈希为在区块分布式区块链中,排列在当前超级区块前面一个区块的哈希,亦即,当前超级区块的父超级区块的哈希,区块体哈希用于锚定区块体中的各个数据,在一些实施例中,区块体哈希为业务数据哈希、父节点列表哈希或由业务数据和父节点列表共同计算得到的哈希。
业务数据哈希为区块体中的业务数据的哈希,父节点列表哈希为区块体中的父节点列表的哈希。由于区块体哈希分为业务数据哈希和父节点列表哈希,后续验证超级区块时,其能够有利于其它节点可靠安全地多维度验证超级区块的合法性。
父权威节点为当前超级区块的父超级区块所在的权威节点,例如,请结合图2b,区块高度为1的第二超级区块为区块高度为2的第一超级区块的父区块,亦即,第二超级区块与第一超级区块互为父子关系,因此,权威节点1-1为权威节点2-1的父权威节点。
在一些实施例中,由于父节点列表包括处于相同区块高度下每个父权威节点的节点信息,后期验证当前超级区块的合法性时,区块链节点可以从当前超级区块中提取出父节点列表中各个父权威节点的节点信息,再根据父权威节点的节点信息获取父超级区块,再计算父超级区块的父区块哈希,将此时的父区块哈希与当前超级区块的父区块哈希作比对,若一致,则当前超级区块在此点是合法的,若不一致,则当前超级区块是非法的。因此,采用本方法,其能够更加安全可靠地塑造区块分布式区块链。
在一些实施例中,每个权威节点的节点信息包括节点哈希和/或节点公钥,权威节点的节点哈希用于标识权威节点,节点哈希可以为权威节点的设备系列号的哈希,亦可以由表示权威节点的设备信息的字符或字符串根据哈希算法计算得到,更可以为表示权威节点的地址的哈希,后期,其它区块链节点可以根据权威节点的节点信息,访问权威节点。节点公钥用于辅助验证权威节点参与的相关业务的合法性,其中,权威节点的节点公钥可以播报在区块链网络,相关区块链节点都可以获取权威节点的节点公钥。
在一些实施例中,超级区块的区块头包括出块节点的节点签名,后续相关节点可以根据出块节点的节点签名验证超级区块的合法性。
总体而言,基于本实施例提供的区块数据结构,利用父节点列表将不同区块高度的区块数据结构形成互锁关系,其能够在保持去中心化、透明及不可篡改的特性下,可以分散保存在不同权威节点,不同区块高度的超级区块能够形成区块分布式区块链,因此,本实施例能够提高区块链的使用效率和提高存储区块的灵活度。
在一些实施例中,非一致性数据包括与本地节点关联的本地特征数据,本地特征数据用于表示本地超级区块和/或本地节点的特征,其中,本地节点不仅可以为本地权威节点,亦可以为保存超级区块的任何角色节点,例如,在普通节点保存超级区块中,其非一致性数据包括本地特征数据。
本地特征数据包括本地节点字段和/或本地区块来源字段,本地节点字段用于表示存储超级区块的本地节点信息,本地区块来源字段用于表示超级区块的来源节点信息。
举例而言,超级区块E1存储在普通节点F1,则其本地节点字段用于表示普通节点F1的节点信息。超级区块E2存储在权威节点F2,则其本地节点字段用于表示权威节点F2的节点信息。
假设普通节点F1从权威节点F2同步超级区块E2,从而得到本地超级区块E1,由于超级区块E1是来源于超级区块E2的,则权威节点F2是普通节点F1的来源节点,因此,本地区块来源字段用于表示权威节点F2的节点信息。
再假设超级区块E3存储在普通节点F3,其中,普通节点F3从普通节点F1同步超级区块E1,从而得到本地超级区块E3,由于超级区块E3是来源于超级区块E1的,则普通节点F1是普通节点F3的来源节点,因此,本地区块来源字段用于表示普通节点F1的节点信息。可以理解的是,当本地节点为权威节点时,本地区块来源字段为空字段。
因此,采用本方法,当某个超级区块的同步次数比较多,各个超级区块也会基于本地特征数据形成一定程度的互锁关系,若某个区块链节点恶意修改本地超级区块的数据,同步此超级区块的下一个区块链节点除了根据上文提供方法验证之外,还可以通过本地特征数据验证此超级区块,若验证此超级区块非法,通过本地特征数据,也比较容易锁定与此超级区块存在继承关系的相关区块链节点,并从中进行排查,并将排查结果在区块链网络中播报,以便相应区块链节点执行相应的安全操作,从而能够有效和高安全地维护和运营区块分布式区块链。
在一些实施例中,本地节点字段包括本地节点的本地节点哈希和/或本地区块优先权和/或本地节点公钥和/或本地签名字段。
本地节点哈希包括本地节点的设备信息和/或节点地址的哈希。
本地区块优先权用于表示相同区块高度的各个超级区块被相应节点保存的优先级,其中,对于相同区块高度的不同超级区块在不同节点的本地区块优先权可以相同,亦可以不同。
举例而言,超级区块G1存储在权威节点H1,超级区块G2存储在普通节点H2,超级区块G3存储在普通节点H3,超级区块G4存储在普通节点H4,其中,超级区块G2与超级区块G3是普通节点H2和普通节点H3分别同步权威节点H1的超级区块G1得到的,超级区块G4是普通节点H4同步普通节点H3的超级区块G3得到的,因此,虽然超级区块G1、超级区块G2、超级区块G3及超级区块G4的区块高度相同,但是,超级区块G1的本地区块优先权高于超级区块G2和超级区块G3,超级区块G2的本地区块优先权与超级区块G3的本地区块优先权相同,超级区块G4的本地区块优先权低于超级区块G3的,后续普通节点H5需要同步超级区块时,可以优先同步权威节点H1的超级区块G1。
本地节点公钥用于辅助验证本地节点参与的相关业务的合法性,其中,本地节点的节点公钥可以播报在区块链网络,相关区块链节点都可以获取本地节点的节点公钥。
本地签名字段为本地节点对非一致性数据中除本地签名字段之外的数据的签名,后续其它区块链节点可以通过本地签名字段验证非一致性数据中的数据是否被篡改等非法处理,因此,此种作法有利于在超级区块增加非一致性数据的前提下,能够高效率安全地校验非一致性数据的数据。
在一些实施例中,本地区块来源字段包括继承字段和/或根源字段,继承字段用于表示被继承的超级区块对应的继承节点的节点信息,根源字段用于表示本地超级区块对应的根源节点的节点信息,根源节点为可追溯地最早存储本地超级区块的节点。
举例而言,如前所述,对于超级区块G2或超级区块G3而言,超级区块G1为被继承的超级区块,因此,权威节点H1为普通节点H2和普通节点H3的继承节点。同理,对于超级区块G4而言,超级区块G3为被继承的超级区块,因此,普通节点H3为普通节点H4的继承节点,因此,在普通节点H4的超级区块G4中,其继承字段写入的节点信息为普通节点H3的节点信息。
再举例而言,假设普通节点H5同步权威节点H1的超级区块G1,得到超级区块G5。普通节点H6同步普通节点H4的超级区块G4,得到超级区块G6,普通节点H7同步普通节点H6的超级区块G6,得到超级区块G7,普通节点H8同步普通节点H7的超级区块G7,得到超级区块G8。对于普通节点H8,超级区块G8为本地超级区块,超级区块G8的同步路径为G8—G7—G6—G4—G3—G1,超级区块G1存储在权威节点H1,因此,可追溯地最早存储超级区块G8的节点为权威节点H1,亦即,权威节点H1为根源节点,因此,在普通节点H8的超级区块G8中,其根源字段写入的节点信息为权威节点H1的节点信息。
假设存储超级区块G4的普通节点H4消失在区块链网络中,例如,普通节点H4被恶意攻击而崩溃离线,或者被物理破坏而丢失,因此,超级区块G4也会跟随普通节点H4的消失而消失,对于超级区块G8而言,普通节点H8追溯到普通节点H6的超级区块G6时,便无法继续追溯超级区块G8的起源,因此,普通节点H8能够追溯到最早存储超级区块G8的节点为普通节点H6,亦即,普通节点H6为根源节点,因此,在普通节点H8的超级区块G8中,其根源字段写入的节点信息为普通节点H6的节点信息。
因此,通过增加继承字段和/或根源字段,其能够在区块分布式地存储形态下,简单可靠全面安全地还原相应超级区块的同步路径,能够更加有效安全地维护区块分布式区块链。
在一些实施例中,继承节点的节点信息包括继承节点哈希和/或继承节点优先权和/或继承节点公钥和/或继承节点的本地签名字段,继承节点的本地签名字段为本地节点对非一致性数据中除继承节点的本地签名字段之外的数据的签名。和/或,根源节点的节点信息包括根源节点哈希和/或根源节点优先权和/或根源节点公钥和/或根源节点的本地签名字段,根源节点的本地签名字段为本地节点对非一致性数据中除根源节点的本地签名字段之外的数据的签名。
在一些实施例中,业务数据可被打包成候选区块,在一些实施例中,将业务数据打包成候选区块之前,可以判断业务数据是否满足预设打包条件,若是,将业务数据打包成候选区块,若否,继续获取另一组业务数据或者等待业务数据满足预设打包条件,举例而言,在重要数据保存场景下,需要先判断当前业务数据是否足够还原某项技术,若否,则继续搜索业务数据,等待业务数据满足预设打包条件。再举例而言,当前业务数据的数据量小于预设数据阈值,则需要等待业务数据等于或大于预设数据阈值,方可将业务数据打包成候选区块。
在本实施例中,可以采用任意合适共识算法共识候选区块,从而得到超级区块,得到超级区块后,出块节点可以将指定数量的超级区块写入至少一个新权威节点,不同区块高度的超级区块可形成区块分布式区块链。
在本实施例中,区块链网络约定出块节点写入新权威节点的超级区块的数量为指定数量,出块节点根据约定规则,在相同新权威节点写入指定数量的超级区块,其中,指定数量可以为一个或两个以上,写入同一个新权威节点的各个超级区块的区块高度可以不同。
在本实施例中,在区块链网络中,权威节点的数量可以为多个,不同区块高度的超级区块可以存储在不同权威节点,也可以存储在相同权威节点。当被写入当前指定数量的超级区块时,当前权威节点为新权威节点。
可以理解的是,写入指定数量超级区块的新权威节点的数量可以为一个或两个以上,当写入两个以上的新权威节点时,其能够更加安全地存储超级区块,降低因某个新权威节点被恶意攻击而无法正常提供超级区块时的风险,并且也会提高同步超级区块的效率。
在本实施例中,不同权威节点所存储的超级区块或相同权威节点的各个超级区块互锁,从而形成区块分布式区块链。
举例而言,请参阅图2a,权威节点1-1写入区块高度为1的超级区块,权威节点2-1写入区块高度为2的超级区块,权威节点3-1写入区块高度为3的超级区块,以此类推,因此,在图2a中,每个权威节点写入一个超级区块,并且,各个权威节点的超级区块互相形成互锁关系,从而构成区块分布式区块链。
再举例而言,请参阅图2b,权威节点1-1、权威节点1-2及权威节点1-3都写入区块高度为1的超级区块,权威节点2-1、权威节点2-2及权威节点2-3都写入区块高度为2的超级区块,权威节点3-1、权威节点3-2及权威节点3-3都写入区块高度为3的超级区块,以此类推,因此,在图2b中,相同区块高度的超级区块分别写入多个权威节点,每个权威节点写入一个超级区块,并且,各个权威节点的超级区块互相形成互锁关系,从而构成区块分布式区块链。
举例而言,请参阅图2c,权威节点1-1写入区块高度分别为1和2的超级区块,权威节点2-1写入区块高度分别为3和4的超级区块,权威节点3-1写入区块高度分别为5和6的超级区块,以此类推,因此,在图2c中,每个权威节点写入区块高度连续的两个超级区块,并且,各个权威节点的超级区块以及相同权威节点的超级区块互相形成互锁关系,从而构成区块分布式区块链。
举例而言,请参阅图2d,多个权威节点1-1都写入区块高度分别为1和2的超级区块,多个权威节点2-1都写入区块高度分别为3和4的超级区块,多个权威节点3-1都写入区块高度分别为5和6的超级区块,以此类推,因此,在图2d中,多个权威节点写入区块高度连续的两个超级区块,并且,各个权威节点的超级区块以及相同权威节点的超级区块互相形成互锁关系,从而构成区块分布式区块链。
可以理解的是,写入权威节点的超级区块可以为多个,多个权威节点1-1写入区块高度分别为1、2及3的超级区块。
还可以理解的是,写入相同权威节点的多个超级区块的区块高度可以是连续的,亦可以是断续的,区块链网络可以自行约定区块写入规则,各个出块节点可以根据区块写入规则完成超级区块的写入。如图2e所示,多个权威节点1-1写入区块高度分别为1、3的超级区块,多个权威节点2-1写入区块高度分别为2、4的超级区块,多个权威节点3-1写入区块高度分别为5、7的超级区块,以此类推,因此,在图2e中,多个权威节点写入区块高度断续的两个超级区块,并且,各个权威节点的超级区块以及相同权威节点的超级区块互相形成互锁关系,从而构成区块分布式区块链。
由上述各个实施例得知,相对现有区块链,本方法能够将现有区块链打碎,分散保存超级区块,分散后的超级区块能够形成区块分布式区块链,后续相关记账节点同步区块分布式区块链时,无需如现有技术般需要同步整条区块链,只需要根据自身需求,对相应超级区块进行记账,从而提高了区块链的使用效率。并且在提高存储区块的灵活度的前提下,还能够保证本实施例提供的区块分布式区块链具备去中心化、透明及不可篡改的特性。即使随着区块链使用时间的增长,本实施例能够均衡协调记账节点的存储能力,避免记账节点存储过多区块数据而出现崩溃或退出记账的情况出现。
并且,现有区块链依赖于记账内容的定时出块,从而导致区块时而空转时而满负荷,运营效益差,在本实施例提供的区块分布式区块链中,其并不受限出块时间,只要满足指定数量,便可以将指定数量的超级区块写入至少一个新权威节点,从而避免区块链空转的情形出现。
在一些实施例中,每个新权威节点存储指定数量的超级区块后,被配置于禁止接收其它区块的封闭模式,超级区块处于只读模式。
封闭模式为权威节点在写入指定数量的超级区块后,进入禁止接收其它区块写入的模式,只读模式为超级区块的数据仅能被读取但禁止修改、删除或更新的模式。
在一些实施例中,每个权威节点进入封闭模式后,虽然其禁止写入其它区块,但是还可以接收非区块的辅助数据的写入,例如,辅助数据包括其它权威节点的地址信息以及存储超级区块的区块高度。
因此,由于权威节点进入封闭模式,其能够避免权威节点遭受恶意攻击而被增加或删减超级区块,从而有利于维护区块分布式区块链的秩序、安全及稳定。并且,由于超级区块写入权威节点后进入只读模式,避免恶意节点篡改或删除超级区块,从而有利于维护超级区块的数据稳定性和安全性。
在一些实施例中,指定数量为1,不同区块高度的超级区块分布于不同权威节点,以形成区块分布式区块链,亦即,此时区块链结构如图2a所示,采用此种区块链结构,其能够提高区块上链的实时性,有利于增强区块链的安全性和透明性。
请参阅图3,图3为本发明实施例提供的一种电子设备的电路原理框图。如图3所示,电子设备300包括一个或多个处理器31以及存储器32。其中,图3中以一个处理器31为例。
处理器31和存储器32可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器32作为一种存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于区块链的数据传输方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,实现生成区块分布式区块链的区块数据结构的功能。
存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,生成区块分布式区块链的区块数据结构。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图3中的一个处理器31,可使得上述一个或多个处理器可生成区块分布式区块链的区块数据结构。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备生成区块分布式区块链的区块数据结构。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备生成区块链的区块数据结构,其中,所述区块链的区块数据结构包括一致性数据与非一致性数据,处于相同区块高度下不同区块数据结构中的所述一致性数据互相一致,处于相同区块高度下不同区块数据结构中的所述非一致性数据可不一致,所述非一致性数据在所述区块数据结构上链前为可变的,在所述区块数据结构上链后为不可变的;
所述区块数据结构包括区块头与区块体,所述一致性数据包括所述区块头的全部数据及所述区块体的部分数据,所述区块体的部分数据包括业务数据,所述非一致性数据封装在所述区块体中。
2.根据权利要求1所述的存储介质,其特征在于,所述非一致性数据包括与本地节点关联的本地特征数据。
3.根据权利要求2所述的存储介质,其特征在于,所述本地特征数据包括本地节点字段,所述本地节点字段用于表示存储所述区块数据结构的本地节点信息。
4.根据权利要求3所述的存储介质,其特征在于,所述本地节点字段包括本地节点的本地节点哈希和/或本地区块优先权和/或本地节点公钥和/或本地签名字段,所述本地签名字段为所述本地节点对所述非一致性数据中除所述本地签名字段之外的数据的签名。
5.根据权利要求2所述的存储介质,其特征在于,所述本地特征数据包括本地区块来源字段,所述本地区块来源字段用于表示所述区块数据结构的来源节点信息。
6.根据权利要求5所述的存储介质,其特征在于,所述本地区块来源字段包括继承字段和/或起源字段,所述继承字段用于表示被继承的区块数据结构对应的继承节点的节点信息,所述起源字段用于表示本地区块数据结构对应的起源节点的节点信息,所述起源节点为可追溯地最早存储本地区块数据结构的节点。
7.根据权利要求6所述的存储介质,其特征在于,
所述继承节点的节点信息包括继承节点哈希和/或继承节点优先权和/或继承节点公钥和/或继承节点的本地签名字段。
8.根据权利要求6所述的存储介质,其特征在于,所述起源节点的节点信息包括起源节点哈希和/或起源节点优先权和/或起源节点公钥和/或起源节点的本地签名字段。
9.根据权利要求1所述的存储介质,其特征在于,
所述区块体的部分数据还包括父节点列表,所述父节点列表包括处于相同区块高度下多个父权威节点的节点信息;
所述区块头的全部数据包括区块高度、父区块哈希及区块体哈希,其中,所述区块体哈希为业务数据哈希、父节点列表哈希或由所述业务数据和所述父节点列表共同计算得到的哈希。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够生成如权利要求1至9任一项所述区块链的区块数据结构。
CN202110370472.6A 2021-04-07 2021-04-07 区块链的区块数据结构、存储介质及电子设备 Active CN112765683B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110370472.6A CN112765683B (zh) 2021-04-07 2021-04-07 区块链的区块数据结构、存储介质及电子设备
PCT/CN2022/072938 WO2022213706A1 (zh) 2021-04-07 2022-01-20 区块链的区块数据结构、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110370472.6A CN112765683B (zh) 2021-04-07 2021-04-07 区块链的区块数据结构、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112765683A CN112765683A (zh) 2021-05-07
CN112765683B true CN112765683B (zh) 2021-06-18

Family

ID=75691246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110370472.6A Active CN112765683B (zh) 2021-04-07 2021-04-07 区块链的区块数据结构、存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN112765683B (zh)
WO (1) WO2022213706A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765683B (zh) * 2021-04-07 2021-06-18 暗链科技(深圳)有限公司 区块链的区块数据结构、存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612973B (zh) * 2017-08-18 2020-12-11 暨南大学 用于智能移动端的区块链结构、生成方法及交易验证方法
CN110730074A (zh) * 2019-09-09 2020-01-24 谈建 一种嵌套式可溯源数字孪生体的实现方法及数据结构
CN111539005A (zh) * 2020-04-23 2020-08-14 中国电子技术标准化研究院 一种面向数据安全策略的区块链数据识别方法和相关装置
CN111597168A (zh) * 2020-05-20 2020-08-28 北京邮电大学 一种基于诚信值的区块链容量回收方案
CN112765683B (zh) * 2021-04-07 2021-06-18 暗链科技(深圳)有限公司 区块链的区块数据结构、存储介质及电子设备

Also Published As

Publication number Publication date
WO2022213706A1 (zh) 2022-10-13
CN112765683A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
Sheth et al. Overview of blockchain technology
AU2019203849C1 (en) Updating blockchain world state merkle patricia trie subtree
AU2019203850A1 (en) Constructing blockchain world state merkle patricia trie subtree
CN111737654B (zh) 基于区块链的侵权检测方法及装置、电子设备
KR20210003234A (ko) 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것
WO2018112949A1 (zh) 区块链的挖矿方法、装置和节点设备
AU2019378667C1 (en) Performing map iterations in blockchain-based system
CN110915164A (zh) 基于可信执行环境中执行的智能合约操作处理区块链数据
US10592873B2 (en) Edit transactions for blockchains
US20230074102A1 (en) Method and apparatus for processing data based on block chain, device and readable storage medium
EP4332870A1 (en) Transaction data processing method and apparatus, computer device and storage medium
CN111898360A (zh) 基于区块链的文本相似性检测方法及装置、电子设备
CN111108734B (zh) 基于存储空间互换的改进的防重放设备
CN111630830A (zh) 账户模型下的分布式区块链数据存储
EP3709568A1 (en) Deleting user data from a blockchain
AU2019379711B2 (en) Performing map iterations in a blockchain-based system
CN115769206A (zh) 密码化数据录入区块链数据结构
CN112765137B (zh) 基于区块分布式区块链的区块同步方法及电子设备
CN111033491A (zh) 基于纠错编码存储共享的区块链数据
CN109492049A (zh) 用于区块链网络的数据处理、区块生成及同步方法
CN112765683B (zh) 区块链的区块数据结构、存储介质及电子设备
CN112765682B (zh) 区块分布式区块链的区块数据结构、存储介质及电子设备
CN113254424B (zh) 数据服务迁移方法、装置及设备
CN112765222B (zh) 基于区块链的数据传输方法、存储介质及电子设备
CN112765681B (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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210507

Assignee: Shenzhen suoxinda Data Technology Co.,Ltd.

Assignor: Dark chain technology (Shenzhen) Co.,Ltd.

Contract record no.: X2023980033390

Denomination of invention: Blockchain's block data structure, storage media, and electronic devices

Granted publication date: 20210618

License type: Common License

Record date: 20230310