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