区块链的数据分段存储与共识的方法
区块链系统采用分布式数据存储模式,每个节点都有一个账本数据。随着时间的不断流逝,区块链上的交易会越来越多,随之也就造成了区块链的数据容量不断增大,由于区块链的冗余备份,同步大量的数据是一件很耗时的事情,并且十分浪费相关的硬盘资源。
根据有关数据的分析,在过去几年,比特币区块链链上的数据呈线性增长。而比特币的供应量有限,BTC的挖矿奖励每四年减半,2140年后不会再生产新的比特币。若根据该增长率估算,比特币区块链的数据(不包括数据索引)将达到大约6TB。据估算,到2140年,以太坊区块链存储的数据将达到10TB。这只是“快速”同步模式,以太坊的“完全”同步数据会更大。
随着数据量的增加,每个见证节点的负担也会增加,同步整个节点数据的成本也越来越高。这意味着将来可能会有更少的人拥有成为见证节点的能力。这可能会阻碍新节点的增加,并将导致大部分网络集中在少数矿业集团手中。
就实际情况而言,数据存储这个问题也是区块链的技术壁垒。区块链数据库记录了从创建开始发生的每一笔交易,因此每一个想参与进来的节点都必须下载存储,并实时更新一份从创世块开始延续至今的数据包。如果每一个节点的数据都完全同步,区块链数据的存储空间容量有关的硬件要求就可能成为一个制约其发展的关键问题。
随着区块链大小的增加,网络里全节点所需的储存、带宽,计算能力也会增加。当达到某个时刻,就只有少数节点才能提供资源来处理区块——这会带来中心化风险。
因此,有必要提供一种新的基于区块链的分段存储与共识的方法及装置,以解决上述技术问题。
问题拆分
方法包括如下步骤:S10,初始时在区块链系统中创建两个分段网络;S20,将一个所述分段网络设置为存储分段网络,将另一个所述分段网络设置为备用分段网络;S30,当所述存储分段网络进行存储时,进行全网共识,并进行提案,依据筹备算法将所述备用分段网络划分为两个所述分段网络;S40,当所述存储分段网络的区块高度达到分段范围时,再次进入所述步骤S20,以重置所述存储分段网络。本发明的技术方案解决相关技术中链上数据飞速增长带来的节点存储压力和存储资源的巨大消耗的技术问题。
问题解决
为实现上述目的,本发明提供的基于区块链的分段存储与共识的方法,包括如下步骤:
S10,初始时在区块链系统中创建两个分段网络;
S20,将一个所述分段网络设置为存储分段网络,将另一个所述分段网络设置为备用分段网络;
S30,当所述存储分段网络进行存储时,进行全网共识,并进行提案,依据筹备算法将所述备用分段网络划分为两个所述分段网络;其中,当区块数据存储到所述存储分段网络的一个节点上以后,该节点通过在所述存储放分段网络中进行广播和共识,以实现所述存储放分段网络中各所述节点之间的数据同步;
S40,当所述存储分段网络的区块高度达到分段范围时,再次进入所述步骤S20,以重置所述存储分段网络。
优选地,所述步骤S30具体包括:
S31,当所述存储分段网络进行存储时,进行全网共识;
S32,进行提案,依据筹备算法将所述备用分段网络划分为两个所述分段网络。
优选地,所述步骤S32具体包括:
S321,根据预设的公式设定各所述分段网络中所述节点的数量;
S322,依据性能平衡算法将各所述节点划分到不同的所述分段网络中;
S323,获取所述分段网络中存储量最小的所述节点的存储量,并根据该存储量设定对应的所述分段网络的数据量。
优选地,所述步骤S32,具体还包括:
S324,根据每个所述分段网络的区块高度确定其对应的区块数。
为解决上述技术问题,本发明还提供一种基于区块链的分段存储与共识的装置,包括:
初始模块,所述初始模块用于,初始时在区块链系统中创建两个分段网络;
设置模块,所述设置模块用于将一个所述分段网络设置为存储分段网络,将另一个所述分段网络设置为备用分段网络;
筹备模块,所述筹备模块用于,当所述存储分段网络进行存储时,进行全网共识,并进行提案,依据筹备算法将所述备用分段网络划分为两个所述分段网络;其中,当区块数据存储到所述存储分段网络的一个节点上以后,该节点通过在所述存储放分段网络中进行广播和共识,以实现所述存储放分段网络中各所述节点之间的数据同步;
重置模块,所述重置模块用于,当所述存储分段网络的区块高度达到分段范围时,再次启动所述筹备模块,以重置所述存储分段网络。
优选地,所述筹备模块具体包括:
存储模块,所述存储模块用于当所述存储分段网络进行存储时,进行全网共识;
划分模块,划分模块用于进行提案,依据筹备算法将所述备用分段网络划分为两个所述分段网络。
优选地,所述划分模块具体用于:
根据预设的公式设定各所述分段网络中所述节点的数量;
依据性能平衡算法将各所述节点划分到不同的所述分段网络中;
获取所述分段网络中存储量最小的所述节点的存储量,并根据该存储量设定对应的所述分段网络的数据量。
优选地,所述划分模块具体还用于:
根据每个所述分段网络的区块高度确定其对应的区块数。
本发明提供本发明提供基于区块链的分段存储与共识的方法及装置,初始时在区块链系统中创建两个分段网络;将一个所述分段网络设置为存储分段网络,将另一个所述分段网络设置为备用分段网络;当所述存储分段网络进行存储时,进行全网共识,并进行提案,依据筹备算法将所述备用分段网络划分为两个所述分段网络;其中,当区块数据存储到所述存储分段网络的一个节点上以后,该节点通过在所述存储放分段网络中进行广播和共识,以实现所述存储放分段网络中各所述节点之间的数据同步;当所述存储分段网络的区块高度达到分段范围时,再次将一个所述分段网络设置为存储分段网络,将另一个所述分段网络设置为备用分段网络,以重置所述存储分段网络。
将链上数据进行分段存储,同一分段网络中进行共识保证数据一致性,不同分段网络间数据相对独立。通过分段存储、分段共识和整体共识的方式,保证了区块链数据的完整性和去中心化分布式存储的特点,避免了因链上数据飞速增长带来的节点存储压力和存储资源的巨大消耗。
本发明通过采用一定算法将区块链上的数据存储到不同分段上的技术手段,达到将链上数据进行分段存储,并配合分段共识来保证链上数据的完整性技术效果,从而解决区块链系统运行过程中数据量巨大的存储压力、存储资源消耗的技术问题。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。