掌桥专利:专业的专利平台
掌桥专利
首页

一种区块链分片系统中降低存储开销的方法、装置及介质

文献发布时间:2024-04-18 19:58:26


一种区块链分片系统中降低存储开销的方法、装置及介质

技术领域

本发明属于计算机存储领域,更具体地,涉及一种区块链分片系统中降低存储开销的方法、装置及介质。

背景技术

区块链是一种极具前景与潜在应用价值的基础设施,有望革新各行各业传统的生产关系。然而区块链却存在极其严重的可扩展性问题,即长区块同步时间、高昂的存储开销以及低吞吐量,阻碍了区块链的应用落地。

在以太坊中,区块链中的每个全节点都需要复制整个网络的状态时,共识系统无法横向扩展。即使实现了高吞吐量,需要快速通信、足够存储和计算能力的工作负载就会为全节点的参与设置高门槛,这又极大地阻碍了实际系统中的去中心化。

以太坊社区已经研究了区块链系统中的分片,分片方案可以将单链的吞吐量横向扩展至多链的吞吐量,每条链都能独立处理交易并贡献其吞吐量至总的吞吐量。与传统分布式系统中的分片策略类似,区块链可以分为多个分片来并行处理交易,横向扩展系统,但由于区块链是去中心化的点对点网络,且涉及复杂状态的更迭,因此区块链分片策略面临着诸多挑战。

Luu等人提出的Elastico是最早的区块链分片协议,其基于拜占庭协议完成每个分片内的共识与总的共识。然而为了保证安全性,在全局委员会中的节点仍需要处理来自整个区块链系统的数据,引入了高昂的存储开销与通信开销,且其仅支持片内的交易而无法支持跨分片的交易。

Kokoris-Kogias等人提出的OmniLedger与Mahdi等人提出的RapidChain为了保证分片的安全引入随机分片策略;为了使节点能够处理跨片交易引入两阶段原子提交协议,保证跨片交易的原子性;全节点只需要处理其所在分片的交易,对其他分片只存区块头部信息用于验证两阶段的前置交易是否上链。存储开销与通信开销的降低使这两个方案更具可行性。

Wang等人提出的Monoxide进一步针对跨片交易的锁开销与分片的安全性,提出最终原子性与连弩共识策略。最终原子性保证了跨片交易的一阶段原子性操作一旦完成,二阶段的原子性操作最终也将被执行,消除了两阶段提交的互锁通信开销来提升性能。连弩共识使有能力同步与存储更多分片的节点只需要做一次工作量证明即可完成多个分片的出块,越多节点选择连弩共识,区块链算力被稀释到各个分片的程度就越低,每个分片内都有足够的算力保证其安全性。然而只有全节点聚集的矿池能够承担连弩共识的存储开销,由此可知Monoxide为了保证区块链的安全性而牺牲了去中心化的特性。

Wang提出的RepShard是一种基于信誉的区块链分片方案,采用了两层链结构,由独立的交易链和信誉链组成,前者在其分片内记录交易,后者由所有分片共同维护以更新每个参与节点的声誉分数。

总体而言,现有的解决方案并没有达到理想分片效果,尽管都能通过分片提高吞吐量,但也有各自缺陷,主要的问题是,过大的存储开销与跨片通信等额外开销,或者较低的安全性。

发明内容

针对现有技术的缺陷和改进需求,本发明提供了一种区块链分片系统中降低存储开销的方法、装置及介质,旨在解决现有的分片方案过大的存储开销与跨片通信等额外开销的问题,并保证系统较高的安全性。

为实现上述目的,按照本发明的第一方面,提供了一种区块链分片系统中降低存储开销的方法,所述区块链分片系统包括若干分片链及一条主链,其中,所述分片链存储片内交易及各节点的余额信息,所述主链存储片间聚合交易及各分片的总余额信息;

所述方法包括:

将所有节点划分至各分片,每个节点向各自的分片链和主链中质押代币以获得竞争出块的权利;

对每个分片,选定出块者收集与该分片相关的片内交易和跨片交易,其中,目的为该分片的跨片交易,通过读取主链上对应源分片的总余额信息验证该组交易的正确性,当余额满足要求后,该组交易被接受;所述出块者将收集的所有交易打包成新区块,并将所述新区块广播到所述出块者所在分片的其他节点;

对每个分片,每经过一个主链时间周期,将该分片所有出块者收集的源为该分片的跨片交易根据目的分片的不同进行聚合,得到多个片间聚合交易;其中,每个片间聚合交易包括源分片和目的分片的索引号、被聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额;

将所有片间聚合交易在全网进行广播,并从全网选定出块者将所有片间聚合交易打包后追加到主链上。

进一步地,从全网选定出块者将所有片间聚合交易打包后追加到主链上后,所述方法还包括:

当分片S

智能合约从主链中读取分片S

智能合约将根据挑战结果,通过质押的代币进行惩罚与奖励;

其中,所述状态根为一组状态组成的默克尔根,所述交易根为一组交易组成的默克尔根。

进一步地,所述智能合约根据所述证据判定挑战是否成功,包括:

智能合约对诚实节点提供的所有交易进行遍历,对每笔交易进行验证,同时通过该交易,对诚实节点提供的状态进行状态变迁;遍历过程中,当出现交易验证失败或出现负数余额的状态则证明挑战成功;

遍历所有交易后,智能合约读取当前主链时间周期内分片S

进一步地,在出块者收集跨片交易时,对于源分片和目的分片相同的一组跨片交易,出块者通过BLS聚合签名算法将一组带签名的跨片交易转化为一组不带签名的跨片交易与一个聚合签名。

进一步地,所述将所有节点划分至各分片,包括:

计算每个节点的地址的哈希值,取后k位确定节点所处的分片索引号,其中,k为分片规模,分片总数为2

为实现上述目的,按照本发明的第二方面,提供了一种区块链分片系统中降低存储开销的装置,所述区块链分片系统包括若干分片链及一条主链,其中,所述分片链存储片内交易及各节点的余额信息,所述主链存储片间聚合交易及各分片的总余额信息;

所述装置包括:

第一处理单元,用于将所有节点划分至各分片,每个节点向各自的分片链和主链中质押代币以获得竞争出块的权利;

第二处理单元,用于对每个分片,选定出块者收集与该分片相关的片内交易和跨片交易,其中,目的为该分片的跨片交易,通过读取主链上对应源分片的总余额信息验证该组交易的正确性,当余额满足要求后,该组交易被接受;所述出块者将收集的所有交易打包成新区块,并将所述新区块广播到所述出块者所在分片的其他节点;

第三处理单元,用于对每个分片,每经过一个主链时间周期,将该分片所有出块者收集的源为该分片的跨片交易根据目的分片的不同进行聚合,得到多个片间聚合交易;其中,每个片间聚合交易包括源分片和目的分片的索引号、被聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额;

第四处理单元,用于将所有片间聚合交易在全网进行广播,并从全网选定出块者将所有片间聚合交易打包后追加到主链上。

进一步地,所述装置还包括:

第五处理单元,用于执行:当分片S

进一步地,所述第五处理单元,还用于执行:智能合约对诚实节点提供的所有交易进行遍历,对每笔交易进行验证,同时通过该交易,对诚实节点提供的状态进行状态变迁;遍历过程中,当出现交易验证失败或出现负数余额的状态则证明挑战成功;遍历所有交易后,智能合约读取当前主链时间周期内分片S

为实现上述目的,按照本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的区块链分片系统中降低存储开销的方法。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明在一个区块链分片系统,使用双层分片方案,并引入随机算法进行节点划分;引入一条主链,存储整个分片之间经过聚合的跨片交易等信息,通过主链冗余存储的安全信息保障分片系统的安全;提出跨片交易的简化验证流程,缩减存储相关状态数据的开销,步骤包括:将一组跨片交易发送至目的分片,以主链冗余安全数据进行快速验证,此时目的分片不需要持有发送分片的相关状态信息。如此,提升区块链系统的整体TPS,并降低存储开销。

(2)本发明提出基于智能合约实现挑战机制,保证分片的安全性。

(3)本发明通过BLS聚合签名算法将一组带签名的跨片交易转化为一组不带签名的跨片交易与一个聚合签名,缩减跨片交易的存储开销和通信开销。

附图说明

图1为本发明实施例提供的一种区块链分片系统中降低存储开销的方法的示意图;

图2为本发明实施例提供的节点划分相关过程的示意图;

图3为本发明实施例提供的交易发生与相关存储开销降低的示意图;

图4为本发明实施例提供的安全性证明的状态根变迁示意图;

图5为本发明实施例提供的智能合约挑战机制流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在详细解释本发明的技术方案之前,先对区块链领域中的相关技术简要解释如下:

区块链:一种在网络中具有高数据一致性与完整性的分布式状态机。

交易:在区块链中驱动状态更迭的基本单元,能被进一步划分为两种类型:转账交易与智能合约调用交易。发出一笔有效的交易,需要为交易生成一个签名。

聚合签名:当多个交易需要被打包到同一个区块中时,可以将这些交易的签名使用聚合算法进行聚合,然后将聚合后的一个签名与区块一起传递。接收方不需要对每个交易进行单独的验证,只需验证聚合签名即可。

节点与全节点:区块链中备份全部交易数据与维护区块链状态的节点,本发明中,节点默认为全节点。

区块:用于在全节点之间同步状态和持久化存储区块链历史数据的基本单元,一个区块通常包含数百到数千笔交易。

默克尔树:默克尔树(Merkle Tree)是一种哈希树,每个非叶子节点都由其孩子节点哈希值计算得出的新哈希值组成,根节点的哈希值可以用于快速验证内容的完整性。每个区块的区块头都会包含一个状态的Merkle根。

转账交易:在区块链中用于将代币从一个账户转移到另一个账户的交易。

智能合约调用交易:在区块链中用于调用部署在链上的智能合约的交易。

安全数据:用于验证交易合法性的数据,如交易签名。

相关数据:用于驱动状态更迭的数据,如账户地址、转账值及智能合约的实参等。

状态:是指在某个特定时间点上,账户的余额以及其他相关信息。

内容局部性:相关数据在不同的交易中有相同或者相似的值。

一笔交易包含以下基础字段:

(1)源(From):交易的发送方,在以太坊为代表的账户模型区块链中用账户地址表示。

(2)目的(To):交易的接收方,在账户模型中也是用账户地址表示,既可以是智能合约的地址也可以是用户的地址。

(3)值(Value):转账值,即转移给用户或智能合约账户的代币数量,或者转账值为零而仅仅作为合约调用的交易。

(4)实参(Argument):额外数据。创建或调用一个智能合约会用到这个字段。

(5)签名(Signature):用于验证交易是否是伪造的长字节字段。

为了解决现有的分片方案要么存在过大的存储开销与跨片通信等额外开销,要么存在较低的安全性问题,本发明提供了一种区块链分片系统中降低存储开销的方法,其整体思路在于:利用引入一条主链对跨片交易等信息进行快速验证,采用BLS签名算法降低跨片交易的存储和通信开销,并提供基于智能合约的挑战策略,为快速验证提供安全性保挑战机制。在实现双层分片的基础上,降低存储开销,并且保证不削弱安全性。

为了更清楚地解释本发明在区块链分片系统中降低存储开销的方法,下面对双链结构中分片链与主链中存储的相关内容做如下简要介绍:

双链结构中,各分片单独存储了相互隔离的分片链,分片链中每个块存储了一段时间内的普通交易。在分片S

双链结构中,网络中的所有节点都需要维护主链以保证安全性,主链中每个块存储了片间聚合交易,对于一个片间聚合交易TX′

set={TX={from,to,v}|(from=p∩to=p′)}

那么片间聚合交易中的值v为set交易集合中所有值的和。

为便于更为清楚地解释本发明中所述的签名验证,以下对聚合签名中的一种名为“BLS聚合签名”的算法定义及相关性质做如下简要介绍:

BLS聚合签名基于双线性映射函数,其性质在于能够将一条曲线(或两条不同曲线上)的两个点P和Q映射为一个数:即e(P,Q)→n,同时具有双线性,P和Q进行相同的线性变化时,结果相同,即:e(x×P,Q)=e(P,x×Q),进一步地,有如下性质:e(a×P,b×Q)=e(P,ab×Q)=e(ab×P,Q)=e(P,Q)

进行BLS签名时,使用pk代表私钥,G代表曲线生成元,P=pk*G代表公钥,m表示要签名的信息,e(P,Q)表示配对函数。计算签名时,先对消息m求曲线哈希H(m)(与SHA256哈希不同,曲线哈希将消息映射到曲线的一个点上),将运算获取的结果(曲线坐标点)乘以私钥即可:S=pk*H(m)。签名结果是一个曲线上的点,用压缩的序列化格式保存,只占33个字节。可以使用公钥P来验证签名,使得以下等式成立:e(P,H(m))=e(G,S),等式可由配对函数特性推导出。

为获取聚合签名,只需将所有签名加起来,即:S=S1+S2+...+Sn,n个签名最终聚合成一个只占33个字节大小的签名,对于有n个不同消息以及签名的情况,验证时,需要计算n+1次配对函数,使得该等式成立e(G,S)=e(P

上述对同一消息使用所有密钥完成聚合签名也称为n-n多重签名,BLS也有的m-n多重签名方案,即使用m个签名就能完成验签过程(m<n),同时,BLS的m-n多重签名方案的实现比其他聚合算法的实现(如Schnorr签名算法)更简单。另外,BLS签名需要杜绝伪造密钥攻击,签名实际构造方法和上述有略微区别,在此都不再赘述。

BLS聚合签名的签名长度极短,使得节点的通信开销减少,极大压缩链上存储内容,降低节点的存储开始。同时BLS签名也有避免使用随机数生成器等优点,但相较于其他聚合签名算法,BLS的计算开销较大。

为便于更为清楚地解释本发明中所述的合法性验证,以下对通过主链安全信息的快速验证做如下简要介绍:

合法性验证中还包括涉及主链安全信息的快速验证,这是本发明中特有的验证。跨片交易接收者通过主链上存储的安全信息快速验证跨片交易是降低存储开销的一个有效方法,也是提升系统吞吐量关键。这属于本发明独有的优势。分片之间存储的分片链信息互相隔离,节点没有其他分片的数据,就无法直接验证来自其他分片的信息。本发明中节点只需依据主链的分片余额状态验证交易传输的总值是否足够,即可快速确认这一批跨片交易是否有效,而不需要分别对每个交易进行有效性验证,这同时也使得节点完全不需要存储其他分片内的信息。

上述方案需要提供安全保障机制。以下对安全保障机制进行简要介绍:

具体而言,本发明通过BLS聚合签名对一组跨片交易进行快速验证,此时,若生成片间聚合交易的出块者作恶,向全网发出伪造的交易,该组交易可以超额花费自身余额,基于分片总余额的快速验证将接受该组交易,此时会使损害片内诚实节点的权益。诚实节点进行合法转账时,其自身余额足够,但可能因为分片总余额不够,其他分片中的验证节点会将此次转账视为无效。

本发明提供智能合约进行安全保障。在本发明中,主链上记录的分片账户状态根和交易根足以使得诚实的节点进行挑战。挑战节点可以质押保证金,并提供欺诈证明,即实际的交易集合和分片用户状态进行举报。交易集合可以从分片链上获取,即使有作恶情况,挑战节点也能获取到作恶节点发出的跨片交易集合,因为恶意节点作恶时,必须将跨片交易发送到目的分片,然后才能从其他分片将收益取出,节点可向目的分片请求交易数据。作恶节点提供的交易根是由其发出的跨片交易生成的。伪造错误的交易根将会被目的分片发现,目的分片可以拒绝该组跨片交易,此时作恶将会失败。作恶节点提供的状态根是错误的。智能合约可以通过提供的证明对作恶行为进行判定,并对恶意节点进行惩罚。对恶意节点的质押代币的惩罚将转换为诚实节点的收益。此时诚实节点在获取收益的同时还会自然地维护分片安全,这也进一步激励了诚实节点对链状态进行监控和举报。

整体而言,本发明为了解决存储开销过大的问题,将交易进行聚合,通过BLS签名机制,缩减跨片交易的存储开销和通信开销。并引入智能合约安全保障机制,保障分片的安全。

以下为实施例。

实施例1:

参阅图1,结合图2至图5,本实施例提供了一种区块链分片系统中降低存储开销的方法,包括步骤S1至步骤S4。

步骤S1,将所有节点划分至各分片,每个节点向各自的分片链和主链中质押代币以获得竞争出块的权利。

在本实施例中,步骤S1包括子步骤S11至S14。

在子步骤S11中,选择分片规模k,在M=2

在子步骤S12中,对于每个节点,其由一个唯一的地址标识,借助哈希函数的随机性和不可预测性,计算节点N

在子步骤S13中,对地址进行哈希运算以后,取后k位来确定节点所处的分片索引号,得到

示例性的,所选的分片规模为8,则分片总数为2

在子步骤S14中,质押代币成为验证者,即每个节点需要向各自的分片链和主链中质押代币成为验证者以获得竞争出块的权利。

步骤S2,对每个分片,选定出块者收集与该分片相关的片内交易和跨片交易,其中,目的为该分片的跨片交易,通过读取主链上对应源分片的总余额信息验证该组交易的正确性,当余额满足要求后,该组交易被接受;所述出块者将收集的所有交易打包成新区块,并将所述新区块广播到所述出块者所在分片的其他节点。

需要说明的是,在双层分片方案中,分片的状态存储模型包含了两部分:存储分片聚合的安全信息的主链和存储分片内节点相关普通交易的分片链。两者分别处理不同类型的交易,有各自的共识处理过程。主链和分片链分别对应一个时间周期,一个主链时间周期包含多个分片链时间周期。

在本实施例中,步骤S2包括子步骤S21和S22。

在子步骤S21中,在共识过程中,基于在分片链上所质押代币的数量、时间长度和上一个区块的哈希值等因素,验证者会被随机选中来验证和打包普通交易,生成一个新的区块,其身份称为出块者。如图3所示,出块者N

在子步骤S22中,出块者N

进一步地,在子步骤S21中,本发明使用BLS聚合签名算法,将跨片交易的存储开销和通信开销等降低,相关步骤包括:

对于源分片和目的分片相同的一组跨片交易,n个不同交易消息,在使用BLS聚合签名后,可生成一个聚合签名,在进行跨片传输时,只需一个聚合签名S和若干个不含签名的交易数据;接收者计算n+1次配对函数,依据聚合的公钥和签名对交易集合进行验证。

步骤S3,对每个分片,每经过一个主链时间周期,将该分片所有出块者收集的源为该分片的跨片交易根据目的分片的不同进行聚合,得到多个片间聚合交易;其中,每个片间聚合交易包括源分片和目的分片的索引号、被聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额。

本实施例中,每隔一个主链时间周期,此时分片链中的最后一个出块者,这个出块者叫终末出块者,将打包整个分片之间经过聚合的跨片交易等信息,以“片间聚合交易”的形式全网广播,用于主链共识。片间聚合交易的源和目的分别是发送分片和接收分片的索引号,交易中只包含聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额。

步骤S4,将所有片间聚合交易在全网进行广播,并从全网选定出块者将所有片间聚合交易打包后追加到主链上。

本实施例中,全局所有全节点收到广播的“片间聚合交易”后,对其相关的签名进行验证,若验证成功,则打包成区块链追加到主链上,否则丢弃。

基于上述步骤S1至S4,本发明可以减少跨片交易相应的传输开销和存储开销。

进一步地,本发明提供基于智能合约的挑战策略,为快速验证提供安全性保挑战机制。具体而言,分片的区块链系统在每个单独的分片中安全性会降低。为了提高效率引入BLS签名机制,同时通过主链安全信息进行快速验证,此时若生成片间聚合交易的终末出块者作恶,向全网发出伪造的交易,会使损害片内诚实节点的权益。

诚实的节点生成的片间聚合交易具有可信性,而作恶的节点在生成超额花费的交易后,生成的片间聚合交易不可信。本发明认为发生该作恶行为前的信息均可信。此时诚实的节点可以通过前一个状态向全网节点证明作恶的发生。具体步骤如下:

步骤S51,在S

步骤S52,作恶节点提供的片间聚合交易中,状态根是错误的。该状态根不能由相关交易进行驱动,如图4所示。

步骤S53,诚实节点向智能合约提供收集的证据,并发起挑战。智能合约的挑战流程如图5所示,智能合约将自动计算相关证据。

当诚实节点举报主链时间周期t的片间聚合交易有误,此时智能合约从主链中读取分片S

将诚实节点提供的状态计算出的状态根与stateRoot进行比较,相同则认为其提供的状态正确;将诚实节点提供的交易计算出的所有交易根与set(txRoot)比较,相同则认为其提供的交易集正确。两者不相同证明诚实节点提供的信息有误,挑战失败。

智能合约对提供的交易集中的交易进行验证,并驱动诚实节点提供的状态进行变迁。验证失败或变迁过程中出现负数余额的状态则证明挑战成功。

当所有交易验证并驱动状态变迁后,将新状态计算出的状态根与stateRoot′进行比较,不同则证明作恶行为的发生,挑战成功,否则,挑战失败。

步骤S54,根据挑战结果,当挑战成功,智能合约将对作恶者进行惩罚,反之,当挑战失败,证明诚实节点提供的证据有误,智能合约将对诚实节点进行惩罚,同时挑战结束。

总体而言,通过上述步骤,本发明对区块链分片系统的存储开销进行有效的降低,并保证降低开销的过程中安全性能得到保障。

实施例2:

本公开的实施例还示出了一种区块链分片系统中降低存储开销的装置,所述区块链分片系统包括若干分片链及一条主链,其中,所述分片链存储片内交易及各节点的余额信息,所述主链存储片间聚合交易及各分片的总余额信息;

所述装置包括:

第一处理单元,用于将所有节点划分至各分片,每个节点向各自的分片链和主链中质押代币以获得竞争出块的权利;

第二处理单元,用于对每个分片,选定出块者收集与该分片相关的片内交易和跨片交易,其中,目的为该分片的跨片交易,通过读取主链上对应源分片的总余额信息验证该组交易的正确性,当余额满足要求后,该组交易被接受;所述出块者将收集的所有交易打包成新区块,并将所述新区块广播到所述出块者所在分片的其他节点;

第三处理单元,用于对每个分片,每经过一个主链时间周期,将该分片所有出块者收集的源为该分片的跨片交易根据目的分片的不同进行聚合,得到多个片间聚合交易;其中,每个片间聚合交易包括源分片和目的分片的索引号、被聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额;

第四处理单元,用于将所有片间聚合交易在全网进行广播,并从全网选定出块者将所有片间聚合交易打包后追加到主链上。

上述装置用于执行实施例1中的区块链分片系统中降低存储开销的方法。本实施例未尽之细节,请参阅实施例1中的区块链分片系统中降低存储开销的方法,此处不再赘述。

实施例3:

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1中的区块链分片系统中降低存储开销的方法。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种区块链交易方法、装置、管理系统、设备及存储介质
  • 区块链的数据存储方法、装置、区块链节点及存储介质
  • 一种区块链ID生成及使用方法、装置、电子设备以及存储介质
  • 一种基于区块链的会计账本管理方法、电子装置及可读存储介质
  • 一种基于区块链的离线支付方法、装置、设备和存储介质
  • 一种可降低区块链存储开销的阶梯式数据存储方法及系统
  • 一种可降低区块链存储开销的阶梯式数据存储方法及系统
技术分类

06120116493039