CN111526194B - 基于分片技术的区块链系统并行共同挖矿方法 - Google Patents

基于分片技术的区块链系统并行共同挖矿方法 Download PDF

Info

Publication number
CN111526194B
CN111526194B CN202010306927.3A CN202010306927A CN111526194B CN 111526194 B CN111526194 B CN 111526194B CN 202010306927 A CN202010306927 A CN 202010306927A CN 111526194 B CN111526194 B CN 111526194B
Authority
CN
China
Prior art keywords
fragment
block
new
target value
hash
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
CN202010306927.3A
Other languages
English (en)
Other versions
CN111526194A (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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN202010306927.3A priority Critical patent/CN111526194B/zh
Publication of CN111526194A publication Critical patent/CN111526194A/zh
Application granted granted Critical
Publication of CN111526194B publication Critical patent/CN111526194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0222During e-commerce, i.e. online transactions
    • 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
    • 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]
    • 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

Abstract

本发明公开了一种基于分片技术的区块链系统并行共同挖矿方法,包括分片之间并行共同挖矿的挖矿模式和分片内部自适应出块模式。本发明通过分片技术来使区块链系统获得一定的可拓展能力,并采用所有分片共同挖矿的方式,由所有节点的哈希算力来保证各分片内部的安全性;在目标值中添加分片号并且在部分分片挖矿成功后重新生成新的h0继续挖矿的方式,能将各分片的出块时间独立于其他分片,实现各分片出块的自由;而且通过以在目标值的计算公式中加入交易频率值的方式,为交易频率高的分片提供更快速的响应,从而提高用户满意度;因此,本发明能够兼顾区块链系统的数据处理能力和安全性,而且可靠性高,实用性好。

Description

基于分片技术的区块链系统并行共同挖矿方法
技术领域
本发明属于区块链技术领域,具体涉及一种基于分片技术的区块链系统并行共同挖矿方法。
背景技术
区块链技术实质上是一种由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术共同协作而形成的分布式账本技术。
现阶段,虽然区块链行业的生态已经初步成型,但是区块链技术仍面临着诸多问题与技术瓶颈,如区块链系统安全性问题,不可拓展问题,隐私保护问题与区块链监管问题等。特别是目前区块链系统的安全性问题与不可拓展问题,极大的限制了区块链技术的发展与应用。
在已有的支付系统中,Visa支付网络的每秒处理事务数(Transactions PerSecond,TPS)平均在4k左右,支付宝在2017年的高峰流量甚至超过了256kTPS。而现有的区块链系统的吞吐量远远不足,例如比特币的吞吐量只有7TPS,以太网的吞吐量大约为15TPS,这与市场所需求的吞吐量性能差距过大。
这些区块链系统吞吐量低且无法横向拓展的主要原因是:为了保证去中心化,每个节点都需要处理所有交易并且复制整个网络的通信、存储和状态表示。在这样节点负载过高的系统中增加处理器的数目是无法增加系统的处理能力的,因此区块链系统就无法横向拓展。
针对于区块链系统不可拓展的现状,研究区块链技术的学者提出了多种解决方案。如链下通道,分片技术,有向无环图等等。但是这些方案都牺牲了区块链系统的安全性或去中心化特性。而作为分布式的记账系统,安全性和去中心化特性都是不可牺牲的。
因此,目前尚没有一种可靠的兼顾数据处理能力和区块链安全性或去中心化特性的拓展技术。
发明内容
本发明的目的在于提供一种可靠性高、实用性好且兼顾数据处理能力和安全性的基于分片技术的区块链系统并行共同挖矿方法。
本发明提供的这种基于分片技术的区块链系统并行共同挖矿方法,包括如下步骤:
分片之间并行共同挖矿的挖矿模式:
S1.区块链系统根据需要自行分成2i个分片,i为正整数;
S2.用户自由选择进入到最合适的分片;
S3.用户节点将所有分片的上一个区块的区块头数据通过Merkel树归纳总结生成h0,作为所有分片共同挖矿所使用的区块头数据;
S4.用户节点收集交易信息,并不断试探随机数η,直至哈希值hash(h0,η)小于特定分片的目标值,从而获取该分片的记账权,此时该分片出块;所述特定分片为分片号为哈希值hash(h0,η)前i位的分片;
S5.将步骤S4中出块的区块的新区块头与未出块的分片的旧区块头通过Merkel树归纳总结,从而生成新的h0,作为所有分片继续公共挖矿所使用的区块头数据;
S6.重复步骤S4~S5,继续挖矿;
分片内部自适应出块模式:
A.在目标值的计算公式中添加初始交易频率值,形成新的目标值计算公式;
B.当区块链系统中的某个分片出块,此时更新一次该出块的分片的交易频率值,从而保证交易频率与该分块中的交易数量正相关;
C.根据步骤B得到的交易频率值,采用步骤A得到的新的目标值计算公式,计算得到该出块的分片的新的目标值,从而保证新的目标值与交易频率正相关;
D.用户节点收集交易信息,不断计算直到获得哈希值hash(h0,η)<τi;第一个计算得出hash(h0,η)<τi的用户将获得i号分片的出块权;
E.当区块链系统中某个分片再次出块时,重复步骤B~步骤D。
步骤S4所述的用户节点收集交易信息,并不断试探随机数η,直至哈希值hash(h0,η)小于特定分片的目标值,从而获取该分片的记账权,此时该分片出块,具体为将哈希值与分片的目标值τi进行比较:若hash(h0,η)<τi,则用户获得该分片的记账权,同时该分片出块;否则,用户修改η的值,并再次计算哈希值,直至一个用户计算出hash(h0,η)<τi的结果。
步骤A所述的在目标值的计算公式中添加初始交易频率值,形成新的目标值计算公式,具体为采用如下算式作为新的目标值计算公式:
target=fnew*coefficient*28*(exponent-3)
其中,target为目标值,fnew为新交易频率,coefficient为区块头数据bits字段的后六位十六进制数,exponent系数为区块头数据bits字段的前二位十六进制数;coefficient系数和exponent系数用于控制区块链系统整体的出块速度,fnew系数用于使交易频率更高的分片得到更快的出块速度。
步骤B所述的更新一次该出块的分片的交易频率值,具体为采用如下规则进行更新:
设定每分钟交易数量为100的分片对出块时间的要求为十分钟,则采用如下公式更新交易频率:
Figure BDA0002456113430000041
其中fnew为更新后的交易频率,fold为更新前的交易频率,nnew为新区块内的交易数,t为新区块出块的时间。
本发明提供的这种基于分片技术的区块链系统并行共同挖矿方法,通过分片技术来使区块链系统获得一定的可拓展能力,并采用所有分片共同挖矿的方式,由所有节点的哈希算力来保证各分片内部的安全性;与此同时,在目标值中添加分片号并且在部分分片挖矿成功后重新生成新的h0继续挖矿的方式,能将各分片的出块时间独立于其他分片,实现各分片出块的自由;而且通过以在目标值的计算公式中加入交易频率值的方式,为交易频率高的分片提供更快速的响应,从而提高用户满意度;因此,本发明方法能够兼顾区块链系统的数据处理能力和安全性,而且可靠性高,实用性好。
附图说明
图1为本发明方法的方法流程示意图。
图2为本发明方法中的数据h0的生成流程示意图。
具体实施方式
如图1所示为本发明方法的方法流程示意图:本发明在保证区块链系统去中心化和高安全性的前提下为区块链系统提升拓展能力。根据优先保证区块链系统高安全性的目标,在决定区块链安全性的挖矿流程上,使用区块链系统中的所有用户共同挖矿来保证系统的高安全性。在其它不会对区块链安全性产生影响的方面,则采用分片的技术,减少每一个节点的事务负载,从而提高区块链的拓展能力。
因此,本发明提供的这种基于分片技术的区块链系统并行共同挖矿方法,包括如下步骤:
分片之间并行共同挖矿的挖矿模式:
S1.区块链系统根据需要自行分成2i个分片,i为正整数;
S2.用户自由选择进入到最合适的分片;
在所有分片共同挖矿的模式下,各分片内部的安全性由所有节点的哈希算力共同保证,即使用户自主选择分片也不会对区块链系统的安全性造成任何影响;许多用户通常只与联系密切的一部分其他用户交易,若随机分配用户进去各分配会产生过多的跨分片交易,影响系统总体性能;所以在将用户分配进入各分片时,可以让用户自主选择进入某个更适合的分片,从而减少跨分片交易的数量,进而提高系统的性能;
S3.用户节点将所有分片的上一个区块的区块头数据通过Merkel树归纳总结生成h0,作为所有分片共同挖矿所使用的区块头数据;
S4.用户节点收集交易信息,并不断试探随机数η,直至哈希值hash(h0,η)小于特定分片的目标值,从而获取该分片的记账权,此时该分片出块;特定分片即为分片号为哈希值hash(h0,η)前i位的分片;
在具体实施时,将哈希值与分片的目标值τi进行比较:若hash(h0,η)<τi,则用户获得该分片的记账权,同时该分片出块;否则,用户修改η的值,并再次计算哈希值,直至一个用户计算出hash(h0,η)<τi的结果;
S5.在S4出块后,将出块的区块的新区块头与未出块的分片的旧区块头通过Merkel树归纳总结,从而生成新的h0,作为所有分片继续公共挖矿所使用的区块头数据;
S6.重复步骤S4~S5,继续挖矿;
分片内部自适应出块模式:
A.在目标值的计算公式中添加初始交易频率值,形成新的目标值计算公式;具体为采用如下算式作为新的目标值计算公式:
target=fnew*coefficient*28*(exponent-3)
其中,target为目标值,fnew为新交易频率,coefficient为区块头数据bits字段的后六位十六进制数,exponent系数为区块头数据bits字段的前二位十六进制数;coefficient系数和exponent系数用于控制区块链系统整体的出块速度,fnew系数用于使交易频率更高的分片得到更快的出块速度;
B.当区块链系统中的某个分片出块,此时更新一次该出块的分片的交易频率值,从而保证交易频率与该分块中的交易数量正相关;具体为采用如下规则进行更新:
所有分片共同挖矿可以保证分片区块链单个分片内部的安全性与不分片时同样高,但也会导致所有分片只能同时出块,分片的出块时间被捆绑在一起;在所有分片共同挖矿的前提下,在目标值中加入各分片的分片号,可以使得每一个不同的分片有不同的目标值,并且矿工产生随机数并进行哈希计算后的结果同时只能符合某一个分片的目标值;这可以让所有分片不再捆绑出块,而是可以自由出块;由于部分分片挖矿成功后,整体挖矿效率下降并且出块成功的区块无法继续挖矿出块;所以可以通过图2所示的方式,将已出块的新区块头数据与尚未出块的区块链数据再次通过Merkel树归纳总结生成新的h0继续挖矿,最终实现各分片的出块自由;
不同的分片内部的交易频率是不一样的,通常人们都倾向于让交易频繁的区域尽快出块;在基于分片技术的区块链系统中,可以加快交易频繁区块的出块速度以提高用户的满意度;因此,设定交易频率修改公式为:
设定每分钟交易数量为100的分片对出块时间的要求为十分钟,则采用如下公式更新交易频率:
Figure BDA0002456113430000071
其中fnew为更新后的交易频率,fold为更新前的交易频率,nnew为新区块内的交易数,t为新区块出块的时间;
如此,交易频率作为目标值计算中的一个参数,从而使交易频率大的分片目标值较大,出块的速度较快;
C.根据步骤B得到的交易频率值,采用步骤A得到的新的目标值计算公式,计算得到该出块的分片的新的目标值,从而保证新的目标值与交易频率正相关;
D.用户节点收集交易信息,不断计算直到获得哈希值hash(h0,η)<τi,首个计算得出hash(h0,η)<τi的用户将获得i号分片的出块权;
E.当区块链系统中某个分片再次出块时,重复步骤B~步骤D。

Claims (4)

1.一种基于分片技术的区块链系统并行共同挖矿方法,包括如下步骤:
分片之间并行共同挖矿的挖矿模式:
S1. 区块链系统根据需要自行分成2 i 个分片,i为正整数;
S2. 用户自由选择进入到最合适的分片;
S3. 用户节点将所有分片的上一个区块的区块头数据通过Merkel树归纳总结生成h 0 ,作为所有分片共同挖矿所使用的区块头数据;
S4. 用户节点收集交易信息,并不断试探随机数η,直至哈希值hash(h 0 ,η)小于特定分片的目标值,从而获取该分片的记账权,此时该分片出块;所述特定分片是分片号为哈希值hash(h 0 ,η)i位的分片;
S5. 将步骤S4中出块的区块的新区块头与未出块的分片的旧区块头通过Merkel树归纳总结,从而生成新的h 0 ,作为所有分片继续公共挖矿所使用的区块头数据;
S6. 重复步骤S4~S5,继续挖矿;
分片内部自适应出块模式:
A. 在目标值的计算公式中添加初始交易频率值,形成新的目标值计算公式;
B. 当区块链系统中的某个分片出块,此时更新一次该出块的分片的交易频率值,从而保证交易频率与该分片中的交易数量正相关;
C. 根据步骤B得到的交易频率值,采用步骤A得到的新的目标值计算公式,计算得到该出块的分片的新的目标值,从而保证新的目标值与交易频率正相关;
D. 用户节点收集交易信息,不断计算直到获得哈希值hash(h 0 ,η)<τ i ,首个计算得出hash(h 0 ,η)<τ i 的用户将获得i号分片的出块权;τ i 为分片的目标值;
E. 当区块链系统中某个分片再次出块时,重复步骤B~步骤D。
2.根据权利要求1所述的基于分片技术的区块链系统并行共同挖矿方法,其特征在于步骤S4所述的用户节点收集交易信息,并不断试探随机数η,直至哈希值hash(h 0 ,η)小于特定分片的目标值,从而获取该分片的记账权,此时该分片出块,具体为将哈希值与分片的目标值τ i 进行比较:若hash(h 0 ,η)<τ i ,则用户获得该分片的记账权,同时该分片出块;否则,用户修改η的值,并再次计算哈希值,直至一个用户计算出hash(h 0 ,η)<τ i 的结果。
3. 根据权利要求2所述的基于分片技术的区块链系统并行共同挖矿方法,其特征在于步骤A所述的在目标值的计算公式中添加初始交易频率值,形成新的目标值计算公式,具体为采用如下算式作为新的目标值计算公式:
target=f new *coefficient*28*(exponent-3)
其中,target为目标值,f new 为新交易频率,coefficient为区块头数据bits字段的后六位十六进制数,exponent系数为区块头数据bits字段的前二位十六进制数;coefficient系数和exponent系数用于控制区块链系统整体的出块速度,f new 系数用于使交易频率更高的分片得到更快的出块速度。
4.根据权利要求3所述的基于分片技术的区块链系统并行共同挖矿方法,其特征在于步骤B所述的更新一次该出块的分片的交易频率值,具体为采用如下规则进行更新:
设定每分钟交易数量为100的分片对出块时间的要求为十分钟,则采用如下公式更新交易频率
Figure DEST_PATH_IMAGE002
,其中f new 为更新后的交易频率,f old 为更新前的交易频率,n new 为新区块内的交易数,t为新区块出块的时间。
CN202010306927.3A 2020-04-17 2020-04-17 基于分片技术的区块链系统并行共同挖矿方法 Active CN111526194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010306927.3A CN111526194B (zh) 2020-04-17 2020-04-17 基于分片技术的区块链系统并行共同挖矿方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010306927.3A CN111526194B (zh) 2020-04-17 2020-04-17 基于分片技术的区块链系统并行共同挖矿方法

Publications (2)

Publication Number Publication Date
CN111526194A CN111526194A (zh) 2020-08-11
CN111526194B true CN111526194B (zh) 2021-04-23

Family

ID=71903354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010306927.3A Active CN111526194B (zh) 2020-04-17 2020-04-17 基于分片技术的区块链系统并行共同挖矿方法

Country Status (1)

Country Link
CN (1) CN111526194B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108847925A (zh) * 2018-06-20 2018-11-20 深圳大学 一种基于树状结构的分片区块链生成方法
CN109961366A (zh) * 2019-03-25 2019-07-02 中国农业银行股份有限公司 一种基于分区共识的交易方法及系统
CN110570202A (zh) * 2019-09-02 2019-12-13 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
CN110851537A (zh) * 2019-11-28 2020-02-28 蒋勇 一种基于区块链分片技术的共识方法
CN110874351A (zh) * 2018-08-29 2020-03-10 深圳启元信息服务有限公司 工作量证明协同工作方法、区块链节点及区块链系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938567B2 (en) * 2017-09-12 2021-03-02 Kadena Llc Parallel-chain architecture for blockchain systems
US11030161B2 (en) * 2018-03-28 2021-06-08 Exosite LLC Blockchain scaling method and blockchain scaling apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108847925A (zh) * 2018-06-20 2018-11-20 深圳大学 一种基于树状结构的分片区块链生成方法
CN110874351A (zh) * 2018-08-29 2020-03-10 深圳启元信息服务有限公司 工作量证明协同工作方法、区块链节点及区块链系统
CN109961366A (zh) * 2019-03-25 2019-07-02 中国农业银行股份有限公司 一种基于分区共识的交易方法及系统
CN110570202A (zh) * 2019-09-02 2019-12-13 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
CN110851537A (zh) * 2019-11-28 2020-02-28 蒋勇 一种基于区块链分片技术的共识方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Hierarchical Sharding Protocol for Multi-Domain IoT Blockchains;Wei Tong等;《ICC 2019 - 2019 IEEE International Conference on Communications (ICC)》;20190715;全文 *
Privacy-Protected Blockchain System;Ping Zhong等;《2019 20th IEEE International Conference on Mobile Data Management (MDM)》;20190808;全文 *
Proof of Contribution: A Modification of Proof of Work to Increase Mining Efficiency;Tengfei Xue等;《2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC)》;20180622;全文 *

Also Published As

Publication number Publication date
CN111526194A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN109150972B (zh) 一种双层分片的高效区块链的共识机制的工作方法
CN109194482B (zh) 一种基于信誉证明的区块链共识方法
Liu et al. An evaluation of uncle block mechanism effect on ethereum selfish and stubborn mining combined with an eclipse attack
CN111460497A (zh) 一种可编辑区块链系统
CN109376544B (zh) 一种防止复杂网络中的社团结构被深度挖掘的方法
CN111130790A (zh) 基于区块链节点网络的共识出块方法
CN106998208A (zh) 一种可变长Polar码的码字构造方法
CN111526194B (zh) 基于分片技术的区块链系统并行共同挖矿方法
Yun et al. Analysis of mining performance based on mathmatical approach of PoW
CN110336668B (zh) 一种随机数生成方法、装置和应用、设备及存储介质
Schwarz-Schilling et al. Agent-based modelling of strategic behavior in pow protocols
Alexandrino et al. Incorporating intergenic regions into reversal and transposition distances with indels
CN113225395A (zh) 一种多数据中心环境下的数据分布策略及数据修复算法
CN111340496B (zh) 一种自动优化历史交易数据的区块链系统及方法
Azzolini et al. Modeling Bitcoin Protocols with Probabilistic Logic Programming.
CN111611311B (zh) 去中心化分布式数据库的形成方法及系统、电子设备及计算机可读存储介质
Gomez et al. Survival analysis for left censored data
CN115118737A (zh) 一种基于节点分组的联盟链区块存储方法
CN115733841A (zh) 一种基于图流分割的区块链动态分片扩展方法
Ashik et al. FPoW: An ASIC-resistant proof-of-work for blockchain applications
CN112906022A (zh) 区块链中的一种半自私挖矿策略
CN111698265A (zh) 一种智能的纯理性贿赂自私挖矿攻击算法
Nourmohammadi et al. Sharding and its impact on fork probability
Ruan et al. Ursa: Robust performance for Nakamoto consensus with self-adaptive throughput
CN109635234A (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