CN112905692A - 一种基于有向无环图的区块链系统的叶子区块选择方法 - Google Patents
一种基于有向无环图的区块链系统的叶子区块选择方法 Download PDFInfo
- Publication number
- CN112905692A CN112905692A CN202110134846.4A CN202110134846A CN112905692A CN 112905692 A CN112905692 A CN 112905692A CN 202110134846 A CN202110134846 A CN 202110134846A CN 112905692 A CN112905692 A CN 112905692A
- Authority
- CN
- China
- Prior art keywords
- block
- blocks
- tip
- leaf
- linked
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Abstract
本发明公开了一种基于有向无环图的区块链系统的叶子区块选择方法,具体步骤如下:步骤1:新型区块链系统由参与节点构成;步骤2:参与节点在构造新区块时,通过基于不一致性指标的可信叶子区块选择方法;步骤3:当需要寻求共识时,各节点确定共识结果:步骤4:基于discord的可信tip区块选择方法;步骤5:可信tip区块标准为该tip区块及其所有直接或者间接引用的区块构成的集合。该方法在保证区块链去中心化和安全性的同时,提高区块链的性能和节点可扩展性。
Description
技术领域
本发明涉及区块链领域,特别是涉及一种基于有向无环图(DAG)的新型区块链系统,能够同时拥有很高的性能、节点可扩展性和安全性。
背景技术
区块链本质上是一种分布式账本数据库,具有去中心化、追踪溯源、公开透明、防篡改伪造等特性,在金融、农业、医药、能源互联网等多个领域有着广泛的应用前景。根据采用的共识机制和应用场景的不同,区块链可以分为许可链(联盟链和私有链)和非许可链(公有链)。目前区块链技术面临的一个主要挑战是性能问题。许可链具有很高的性能,但是节点可扩展性很差(即性能随着节点规模的增大急剧下降),而非许可链通常具有很好的节点可扩展性,但是性能很低。
基于有向无环图的区块链技术,通过充分利用传统区块链技术中抛弃的无效区块信息,可以解决随着区块生成速率增加所带来的分叉问题及其导致的区块链性能瓶颈。但是现有的基于有向无环图的区块链技术,安全性并没有得到很好的解决,抗攻击能力较弱。
发明内容
本发明提出了一种基于有向无环图的新型区块链系统,系统由参与建块的节点构成,节点之间通过互相传递区块等信息来交流,所有节点完成了整个区块链网络的构建,即节点所生成的区块链接成了区块链。在构造新区块时,通过引入的可信叶子区块(tip区块)选择方法,构造新区块的节点选择出要链接的叶子区块,可以更有效地解决可信区块识别问题,提升系统的安全性。这样不但可以提高区块链系统的性能,还提高了系统的节点可扩展性。具体技术方案如下:
1.新型区块链系统(如图1所示)由参与节点构成,节点之间通过传递区块等信息来交流,这些节点完成了整个区块链网络的构建,如图1中的每个笔记本都是一个节点。新型区块链系统的参与节点通过工作量证明(即通过穷举的方式,求解一个随机值使得新区块的哈希值满足特定要求),才能生成区块,通过选择要链接的叶子区块(即还没有被其他区块链接的区块,也称为tip区块),将这些叶子区块的哈希值记录在新生成的区块中,这样一个新的区块会链接一个或多个叶子区块,所有区块会构成一个有向无环图(DAG)结构。
2.参与节点在构造新区块时,通过基于不一致性指标(discord)的可信叶子区块选择算法,选出不超过k个可信tip区块,将这些可信tip区块的哈希值(区块中的一个信息,通过哈希函数得到的),记录在新区块中。其中区块之间discord的计算公式如(1)所示。通过这种方式,一个新区块可以链接到一个或多个已有区块,所有区块形成一个DAG结构。如附图2中的基于有向无圈图的区块链示意图所示,区块G用多条边链接了区块C,D,E。
其中dAB,dBA表示区块A和区块B之间的最短距离,表示区块A和区块B与离他们最近的公共后代区块的距离之和,表示区块A和区块B与距离他们最近的公共祖先区块的距离之和。表示区块A,B离其最近的叶子区块之间的距离。
3.当需要寻求共识时,各节点通过以下方法确定共识结果:
a)当对区块进行排序时,按照该区块被所有其他区块直接或者间接引用的数量作为该区块的排序指标,按照引用的数量这个排序指标从高到低,对所有区块进行排序;
b)如果两个区块的数据有冲突的内容,比如在两个区块中包括两笔交易用的是同一笔数字货币支付的,根据排序结果,接受排序在前的区块数据,拒绝排序在后的区块数据,即认为排序在后面的那笔区块数据是无效的。
4.基于discord的可信tip区块选择算法满足的基本原则是:
a)选出的每个tip区块都符合可信tip区块标准;
b)将节点新生成的区块(这些区块还没有链接在区块链上)链接到选出的所有tip区块后,新区块也符合可信tip区块标准;
c)选出的所有tip区块及其直接或者间接引用的区块(选出的这些tip区块及从这些区块可以到达的所有区块)数量最多。
5.可信tip区块标准为,该tip区块及其所有直接或者间接引用的区块构成的集合,满足以下条件:
a)集合中每个区块都符合区块生成规则,即生成之后立即公布将其链接在选择出的tip区块上;
b)集合中任意两个区块之间的discord都不超过给定的阈值d,这个阈值可以根据区块生成速率等因素来进行设置。以现在的比特币为例,d的取值应为8。
本发明的有益效果是:本发明实现了一种基于有向无环图的新型区块链系统,在保证区块链去中心化和安全性的同时,提高区块链的性能和节点可扩展性。
附图说明
图1是区块链系统图示。
图2是基于有向无环图的区块链结构。
图3是实施例中,央行和商业银行所形成的区块链系统。
图4是实施例中,银行所造的有向无环图区块链图示,其中实边区块为可信区块,虚边区块为造假区块,在此基础上,新的区块根据本申请中的方法会选择区块8和9。
具体实施方式
下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
该技术在基于DAG的区块链系统中引入了一种基于discord的可信tip区块选择算法,该算法能够保证可信区块能够获得更多的直接或者间接引用,从而在寻求共识时排序位于可疑区块之前,提高区块链系统的安全性。
该技术中基于discord的可信tip区块选择算法主要包括两步。
第一步,基于参与节点收到的所有区块构成的DAG,计算所有区块之间的discord,将区块i和区块j之间的discord记为D(i,j)。
第二步,求解如下的最优化问题:
以上模型中,V为所有区块的集合,V'为tip区块的集合,D(i,j)为区块i和j的discord值。第一个约束保证了选出的tip区块所覆盖的任意两个区块之间的discord都不超过给定的阈值d,第二个约束保证了某个tip区块被选中时,它所直接或者间接引用的区块成为被覆盖的区块,第三个约束保证了选出的tip区块数量不超过k。k和d为算法的参数。其中每个xi代表每个区块,若取值为1,对应的表示该区块要么为选出的tip区块,要么是选出的tip区块的可达区块。若取值为0,对应的区块不属于上面两种情况。每个yi表示所选出的tip区块,若其取1则对应的区块即为所选出要链接的tip区块,0即没有被选为要链接的tip区块。
该优化模型可以直接使用整数规划求解软件,如cplex等进行求解,或者用贪婪算法进行求解。
本申请所提出的基于有向无圈图的区块链系统,可以应用到金融领域,解决现在区块链技术应用到金融领域,无法有效地处理高频交易场景的问题,现在在金融领域应用区块链技术时的吞吐量为7笔/秒左右,而Visa、支付宝等每秒都可以处理成万笔交易。而金融中高频交易的场景又很常见,比如股票市场每秒的成交量就不止几十笔。这一点就会极大限制区块链在金融领域中的应用,比如很难用区块链来记录金融市场中的交易信息。该申请中的区块链利用了分叉区块的信息,将这些区块中包含的信息也作为区块链处理的有效信息来提升区块链的吞吐量,使其能够适应处理金融领域中高频交易的场景,在此基础之上提出了基于discord的tip区块选择算法,让新生成的区块选择要链接的叶子区块满足一定的条件约束来保证系统的安全性,防止被恶意节点攻击。
具体来说,有央行和商业银行作为所有参与节点形成一个区块链系统,如图3所示,其中带人民币符号的为央行,不带人民币符号的为商业银行,这些银行之间可以进行信息传递和资金的转移,如图3中的实边所示,银行会竞争将交易信息记录在区块中,并将新建的区块链接在已有的多个区块上(叶子区块),形成有向无圈图结构,如图4所示,其中实边区块为可信区块,虚边区块为造假区块。这里每个区块中都记录了交易信息,之所以银行会竞争建块是因为银行建块可以获得一定的来自所记录交易的交易费。有向无圈图结构利用了分叉区块的信息,可以提高单位时间内可以处理的交易量,提升了区块链处理交易的效率。银行在每次建立了一个新区块之后,一个很重要的一步是基于现有的区块链网络对新的区块选择要链接的叶子区块,银行需要对现有的有向无圈图区块链网络利用求解模型(2),得到的yi为1所对应的区块即为所选出的要链接的叶子区块。对图4示例中,V’为区块8、9、10,V为所有区块。银行新生成的区块选择要链接的叶子区块时,会选择区块8和区块9,而不会选择造假区块10,这样在保证系统安全的前提下,提升了区块链的效率。那些链接造假区块的叶子区块就不会被新区块所链接,造假区块就会被孤立出来。
总结一下,该实施例子中央行和商业银行构成了区块链系统,他们之间建立了一个基于有向无环图的区块链来记录他们之间的交易信息,每个区块在选择要链接的叶子区块的时候根据现有的区块链网络求解模型(2),即利用本申请中的基于discord的叶子区块选择方法来找出要链接的叶子区块,形成了本申请所设计的基于有向无圈图的区块链。这样在保证系统安全的前提下提升了效率。
最后需要说明的是,以上所述仅为本发明的具体实例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。本发明中的可信区块识别基础方法并不局限于MaxCord,其他可信区块识别方法也可以应用到该框架中。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应属于本发明的保护范围。
Claims (10)
1.一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:具体步骤如下:
步骤1:新型区块链系统由参与节点构成;
步骤2:参与节点在构造新区块时,通过基于不一致性指标的可信叶子区块选择方法;
步骤3:当需要寻求共识时,各节点确定共识结果:
步骤4:基于discord的可信tip区块选择方法;
步骤5:可信tip区块标准为该tip区块及其所有直接或者间接引用的区块构成的集合。
2.根据权利要求1所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:在步骤1中,节点之间通过传递区块信息来交流,这些节点完成了整个区块链网络的构建;新型区块链系统的参与节点通过工作量证明,才能生成区块,通过选择要链接的叶子区块,即还没有被其他区块链接的区块,也称为tip区块,将这些叶子区块的哈希值记录在新生成的区块中,这样一个新的区块会链接一个或多个叶子区块,所有区块会构成一个有向无环图DAG结构。
3.根据权利要求2所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:工作量证明是通过穷举的方式,求解一个随机值使得新区块的哈希值满足要求。
5.根据权利要求1所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:在步骤3中,当对区块进行排序时,按照该区块被所有其他区块直接或者间接引用的数量作为该区块的排序指标,按照引用的数量这个排序指标从高到低,对所有区块进行排序。
6.根据权利要求1所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:在步骤3中,当两个区块的数据有冲突的内容,根据排序结果,接受排序在前的区块数据,拒绝排序在后的区块数据,即认为排序在后面的那笔区块数据是无效的。
7.根据权利要求1所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:在步骤4中,选出的每个tip区块都符合可信tip区块标准;将节点新生成的区块链接到选出的所有tip区块后,新区块也符合可信tip区块标准;这里,节点新生成的区块还没有链接在区块链上;选出的所有tip区块及其直接或者间接引用的区块数量最多。
8.根据权利要求1所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:在步骤5中,集合中每个区块都符合区块生成规则,即生成之后立即公布将其链接在选择出的tip区块上。
9.根据权利要求1所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:在步骤5中,集合中任意两个区块之间的discord都不超过给定的阈值d,这个阈值根据区块生成速率来进行设置。
10.根据权利要求9所述的一种基于有向无环图的区块链系统的叶子区块选择方法,其特征在于:d的取值应为8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134846.4A CN112905692B (zh) | 2021-02-01 | 2021-02-01 | 一种基于有向无环图的区块链系统的叶子区块选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134846.4A CN112905692B (zh) | 2021-02-01 | 2021-02-01 | 一种基于有向无环图的区块链系统的叶子区块选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905692A true CN112905692A (zh) | 2021-06-04 |
CN112905692B CN112905692B (zh) | 2023-09-29 |
Family
ID=76122313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110134846.4A Active CN112905692B (zh) | 2021-02-01 | 2021-02-01 | 一种基于有向无环图的区块链系统的叶子区块选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905692B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
CN108985732A (zh) * | 2018-06-08 | 2018-12-11 | 中国地质大学(武汉) | 基于无区块的dag技术的共识和账本数据组织方法及系统 |
CN109964242A (zh) * | 2018-05-25 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于信任关系的区块链共识方法 |
GB202016186D0 (en) * | 2020-10-12 | 2020-11-25 | Cambridge Cryptographic Ltd | Blockchain |
CN112202775A (zh) * | 2020-09-29 | 2021-01-08 | 北京理工大学 | 一种有向无环图结构区块链的共识机制架构及其方法 |
-
2021
- 2021-02-01 CN CN202110134846.4A patent/CN112905692B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
CN109964242A (zh) * | 2018-05-25 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于信任关系的区块链共识方法 |
CN108985732A (zh) * | 2018-06-08 | 2018-12-11 | 中国地质大学(武汉) | 基于无区块的dag技术的共识和账本数据组织方法及系统 |
CN112202775A (zh) * | 2020-09-29 | 2021-01-08 | 北京理工大学 | 一种有向无环图结构区块链的共识机制架构及其方法 |
GB202016186D0 (en) * | 2020-10-12 | 2020-11-25 | Cambridge Cryptographic Ltd | Blockchain |
Also Published As
Publication number | Publication date |
---|---|
CN112905692B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033422B (zh) | 一种生成区块链的方法、装置及区块链 | |
Leka et al. | Systematic literature review of blockchain applications: Smart contracts | |
JP7296596B2 (ja) | ブロックの迅速な生成用の分散コンセンサスのアルゴリズム、デバイス及びコンピュータ可読記憶媒体 | |
CN111652732B (zh) | 一种基于交易图匹配的比特币异常交易实体识别方法 | |
CN112041872A (zh) | 在分区区块链网络中维护区块链的区块 | |
CN110945548A (zh) | 用于管理区块链网络中大型分布式存储池的计算机实现的系统和方法 | |
CN110741373A (zh) | 用于管理区块链网络上的大区块的计算机实现的系统和方法 | |
CN109447602B (zh) | 一种保护隐私的多中心协同分布式数字货币混币方法 | |
CN111145027A (zh) | 一种疑似洗钱交易识别方法及装置 | |
CN107679848B (zh) | 一种基于时延控制Petri网的小额交易时延控制方法 | |
Singh et al. | Blockchain-based e-cheque clearing framework with trust based consensus mechanism | |
GB2559592A (en) | Blockchain (ML) Technology | |
Heimbach et al. | Ethereum's Proposer-Builder Separation: Promises and Realities | |
CN109743182A (zh) | 基于区块链的智能合约核准方法及系统 | |
CN113628049A (zh) | 一种基于群体智能的区块链智能合约的冲突裁决方法 | |
Singh et al. | Blockchain based e-cheque clearing framework | |
Zhao et al. | A secure storage strategy for blockchain based on mcmc algorithm | |
Lv et al. | Research on modeling of E-banking fraud account identification based on federated learning | |
CN113014577B (zh) | 一种混合型区块链系统及其可信区块识别方法 | |
CN112905692A (zh) | 一种基于有向无环图的区块链系统的叶子区块选择方法 | |
CN108632386A (zh) | 一种区块链节点集群搭建方法及装置 | |
CN112765222B (zh) | 基于区块链的数据传输方法、存储介质及电子设备 | |
Fu et al. | CT-GCN+: a high-performance cryptocurrency transaction graph convolutional model for phishing node classification | |
Ruan et al. | Ursa: Robust performance for Nakamoto consensus with self-adaptive throughput | |
Roșca et al. | Security of Ethereum Layer 2s |
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 |