CN111611315B - 面向金融大数据的多叉树结构区块链集成优化存储方法 - Google Patents
面向金融大数据的多叉树结构区块链集成优化存储方法 Download PDFInfo
- Publication number
- CN111611315B CN111611315B CN202010447659.7A CN202010447659A CN111611315B CN 111611315 B CN111611315 B CN 111611315B CN 202010447659 A CN202010447659 A CN 202010447659A CN 111611315 B CN111611315 B CN 111611315B
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- hash
- block
- nodes
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000005457 optimization Methods 0.000 title claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 24
- 230000000739 chaotic effect Effects 0.000 claims description 17
- 238000013461 design Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000010076 replication Effects 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004900 laundering Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
面向金融大数据的多叉树结构区块链集成优化存储方法,其步骤为:步骤1构建多叉树结构区块链集成优化模型;步骤2构建基于Merkle树的私有链区块;步骤3构建基于Merkle Patircia树的联盟链区块;步骤4建立区块链的通信共识机制。本发明通过上述方法,提供了一种面向金融大数据的多叉树结构区块链集成优化存储方法,在存储效率、开销等方面与现有的存储方法相比有明显的提高;在查询时,查询效率和准确性也有显著提升,适应目前大数据时代下的应用需求。
Description
技术领域
本发明属于区块链数据存储领域,特别涉及区块链存储系统设计,具体涉及一种面向金融大数据的多叉树结构区块链集成优化存储系统设计。
背景技术
区块链是一种在不可信的竞争环境中低成本建立信任的新型计算范式和协作模式,由于其具有存储密度大、防篡改、可追溯等特性,基于区块链技术的应用越来越广泛。区块链通过增加区块的方式进行数据存储,且数据都是存储在单链上,但随着时间和交易数据的扩大极易引发数据膨胀,可能会导致存储和查询效率的降低。同时,单链存储模式也不能实现复杂或分类场景下的关联存储或规律存储。如在金融活动区块链系统中,各金融企业(实体)如果都采用平等的方式用单链模式进行数据存储,会导致金融企业(实体)的交易数据混乱且具有随机性,没有按照规律或者关联进行存储导致查询效率低,也会对后期维护造成不便。
现有区块链集成优化存储方法主要存在两方面的问题。一是区块链通过增加区块的方式进行数据存储和集成,且数据都是存储在单链上,但随着时间和交易数据的扩大会引发数据膨胀,可能会导致存储和查询效率的降低。同时,单链存储模式也不能实现复杂或分类场景下的关联存储或规律存储。二是如果都采用平等的方式用单链模式进行数据存储,会导致实体的交易数据混乱且具有随机性,没有按照规律或者关联进行存储导致查询效率低,也会对后期维护造成不便。因此,构建一种高效存储与集成的区块链结构是很有必要的。
因此,设计一种实时有效的金融领域区块链集成优化存储系统,对金融大数据安全存储及溯源查询具有重要意义。
发明内容
为了解决现有金融领域区块链存储系统的不足,本发明提供一种面向金融大数据的多叉树结构区块链集成优化存储系统,能够有效地进行金融实体及金融活动的数据存储。
为实现上述目的,本发明创造采用的技术方案为:
面向金融大数据的多叉树结构区块链集成优化存储方法,其步骤为:
步骤1构建多叉树结构区块链集成优化模型;
步骤2构建基于Merkle树的私有链区块;
步骤3构建基于Merkle Patircia树的联盟链区块;
步骤4建立区块链的通信共识机制。
所述的步骤1中,具体方法为:
步骤1-1:构建私有链集成存储模型:
构建实体的内部私有链:在实体的内部私有链网络上,根据实体的交易频率设定的周期,每个周期内该实体发生的交易为一个独立节点,把从实体采集、认证及更新的交易信息按日期对其进行分类,通过哈希算法将所有的交易数据进行哈希运算生成相应的唯一的Hash值和密钥对及时间戳,存储在每一个交易节点的本地账本中,通过网络广播和共识机制验证,单个实体内部私有链网络的每个节点将记录所有交易类型及其对应的交易信息;
步骤1-2构建联盟链集成存储模型:
构建实体间的联盟链,所有实体通过协议达成统一的区块链技术标准和统一的行业准则;基于其达成的协议,在不同的实体间构建联盟链;联盟链上的每一家实体都作为一个独立的区块链大节点,其内部私有链网络互相连接共同组成联盟链网络;实体采集认证的交易信息,在内部私有区块链认证通过后,再通过联盟区块链分布存储在每一个实体节点的本地账本中,基于此整个区块链联盟的所有实体节点中将存储每个实体采集的交易信息,实现实体间交易数据信息的互联共享。
所述的步骤2中,具体方法为:
步骤2-1区块头设计:
区块头由上个区块哈希值、时间戳、随机数和交易的根哈希、“交易类型”索引表、
“可疑交易”索引表组成,通过将上个区块哈希、根哈希和随机数信息进行哈希算法生成当前区块的哈希值,每个区块的前块哈希指针按照时间顺序链接构成整个区块的链接关系;
步骤2-2区块体设计:
基于步骤2-1,设计区块体存储全部的交易信息,每一笔交易信息是通过哈希函数把交易数据转换成一串唯一的哈希值存储在Merkle树的叶子结点上;通过哈希函数逐层生成上层节点的哈希值,每个数据集对应一个唯一的哈希根,如果底层交易记录发生篡改,Merkle树根的值也随之变化;
在交易数据存入区块前,首先,统计实体开展的全部交易类型并统一编号,在交易数据存入区块的同时在“交易类型”索引表中添加交易的交易类型信息,在数据追溯查询时,
“交易类型”索引表用于查询需要追溯的交易数据的交易类型;
其次,制定可疑交易规则,在数据存入区块时,根据可疑交易规则对交易进行判断是否属于可疑交易;若属于可疑交易,计算该交易的Hash值后,把Hash值存入Merkle树上的同时也把Hash值存入区块头的“可疑交易”索引表中,在进行数据追溯查询时,从“可疑交易”索引表开始检索;若不属于可疑交易,计算该交易的Hash值后,直接把Hash值存入Merkle树上。
所述的步骤3中,具体方法为:
在联盟链中建立三个levelDB数据库,分别为BlockDB、StateDB和ExtrasDB;其中,BlockDB存储区块头和交易记录,StateDB存储实体的状态数据,ExtrasDB存储实体间往来签订的合同信息,基于此构建联盟链的底层数据库;每个区块都包含整个状态树的根哈希,其中状态树以周期T进行更新。
所述的步骤4中,具体方法为:
步骤4-1数据层混沌加密机制:
确定性混沌离散时间动力系统,f表示从S—>S的混沌映射状态,用Xn表示经过n次代入后的系统状态结果;整个系统内部不生成新的信息;公式如下:
Xn+1=f(Xn)
其中,Xn+1、X∈S∈Rn,结果由系统的最初值决定:
H(Xn|X0)=0
把S分成m个相互不相交的状态,其中β表示划分的区间:
β={β1,β2,β3,…,βm}
因为在β划分的每个区间的X n都不相等,这样就生成一组m进制的随机序列,产生函数f的最大变化的区间定义为生成划分,则
且/>
结合实际需求,采用分段线性混沌映射函数生成非记忆离散信息源的生成划分,分段函数如下:
其中Xn表示反复带入分段函数n次得到的结果,再次带入函数后得到Xn+1;表达式中的参数B的取值决定整个X的随机质量,其中A是一个标量值;在该分段函数中,可以在混沌状态中确定一个生成非记忆离散信息源的生成划分为β={[-A,0),[0,A]},系统由此生成一个随机序列;
步骤4-2网络层区块通信模式:
在网络层需要进行网络的组网方式和区块链节点之间的通信,通过可容忍单点故障的P2P协议作为网络传输协议;为每个私有链上的节点分配一个属于自己的散列块,每个节点管理自己的散列块,所有的散列块组合成一个散列表,私有链上的所有节点共同维护这个散列表,形成基于全分布式结构化拓扑的网络通信结构;
对每个私有链上节点的IP地址进行Hash后得到该节点的节点值,将节点按照节点值从小到大构成一个Chord环,根据节点值获取每个节点与下一个邻近节点之间的距离,依此获得每个节点需要负责的值区间,提取每个节点上的关键字,通过对关键字进行Hash,得到的Hash值按照上述每个节点负责的区间进行分配,使每一项资源的存储信息都存储在一个节点上;当搜索一项资源时,先对其关键字进行Hash,得到的值与当前节点的值区间表进行比较后获得资源的索引信息最有可能存在的节点,然后查询该节点获取资源的索引,根据索引即可找到资源所在的节点,并建立通信;
联盟链以主实体作为超级结点,子实体作为普通结点;超级结点之间先构成一个高速转发层,这些超级结点和所负责的普通结点再构成若干层次;系统中其他部分结点的信息存储在各个超级结点上,发现算法在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点,形成基于半分布式拓扑结构的网络通信结构;
步骤4-3共识层区块共识算法
去中心化的多叉树区块链由多方共同管理维护,在建立区块间的通信后,在共识层建立区块间的共识算法;
私有链共识:每个节点设置三种状态Follower、Candidate、Leader,通过领导人选举、日志复制,在保证安全性的基础上形成基于RAFT共识的节点间的共识机制;开始时将所有节点设为follower状态,如果它们收不到leader发送的消息,其中的1个节点将变成candidate状态,candidate节点给其他节点发送请求投票消息,其他follower节点将会返回给candidate节点消息,表示同意,如果收到一半以上节点同意,这个节点成为leader状态;客户端发一个消息给leader节点,leader节点会加一个实体到日志中,leader把这个实体广播到其他follower节点,当leader节点收到大多数节点回复同意的时候,leader需要提交这个实体,然后广播给其他follower节点,follower节点收到提交消息,本地提交,该过程结束;
联盟链共识:从预准备、准备和确认三个阶段进行,预准备阶段和准备阶段把在同一个视图里发送的请求排好序,让各个副本节点都认可这个序列,然后照序执行,准备阶段和确认阶段确保已经达到确认状态的请求即使在发生视图变化后在新的视图里依然保持原有的序列不变,形成基于PBFT共识的节点间的共识机制;取一个副本作为主节点,其他的副本作为备份,用户端向主节点发送使用服务操作的请求,主节点通过广播将请求发送给其他副本,所有副本执行请求并将结果发回用户端,用户端等待F+1个不同副本节点发回相同的结果,将其作为整个操作的最终结果。
所述步骤2-1中,私有链区块头数据信息如表1所示:
表1私有链区块头存储信息
所述的步骤3中,联盟链Merkle Patircia树具体信息如表2所示:
表2联盟链Merkle Patircia树
本发明创造的有益效果为:
本发明采用上述方案,设计并实现了一种有效的多叉树结构区块链集成优化存储系统。首先,构建多叉树结构链式区块链模型,多叉树结构模型由私有链和联盟链组成,私有链构建于实体内部,用于表示实体的交易信息,在私有链的基础上,进行实体间的联盟链构建,形成多叉树结构结构区块链模型。其次,提出基于Merkle树的私有链区块构建方法,私有链引入ECDSA算法生成两个不同的密钥,私钥将数据加密,在需要验证该交易数据时用公钥解密。再次,将每一个实体私有链将作为联盟链中的一个账户,实体之间通过签订合同的形式建立交易往来的联系,建立基于Merkle Patircia树的联盟链区块结构进行数据存储。最后,提出多叉树结构区块链的通信共识机制,在数据层优化区块中交易数据的加密机制,并在网络层和共识层设计区块间的通信及共识。本发明通过上述方法,提供了一种面向金融大数据的多叉树结构区块链集成优化存储方法,在存储效率、开销等方面与现有的存储方法相比有明显的提高;在查询时,查询效率和准确性也有显著提升,适应目前大数据时代下的应用需求。
附图说明:
图1本发明多叉树结构区块链模型总体框架示意图;
图2本发明私有链与联盟链关系结构图;
图3本发明私有链区块结构示意图;
图4本发明联盟链区块结构示意图;
图5本发明区块链基础架构模型示意图;
图6本发明联盟链通信结构示意图。
具体实施方式
Merkle树:默克尔树,是一种哈希二叉树。
Merkle Patircia树:是一种经过改良的、融合了默克尔树和前缀树两种树结构优点的数据结构。
Hash值:经过哈希函数后得到的哈希值。
levelDB:以key/value形式存储数据的数据库。
BlockDB:存储交易的数据库。
StateDB:存储状态的数据库。
ExtrasDB:存储合同信息的数据库。
P2P协议:对等计算机或对等网络协议。
IP地址:网际互连协议地址。
Chord环:用于联盟链中资源分配(给某一个节点)和节点分布,以及资源定位。
Follower:跟随者。
Candidate:候选者。
Leader:领导者。
RAFT共识:一个实用的、安全可用、有效易懂的共识算法。
PBFT共识:实用拜占庭容错协议共识。
ECDSA算法:椭圆曲线数字签名算法。
Entity:实体。
Log:日志。
pre-prepare:预准备。
Prepare:准备。
Commit:确认。
View:视图。
Replicas:副本。
本发明的步骤如下:
步骤1构建多叉树结构区块链模型,该模型由私有链和联盟链组成,私有链构建于实体内部,用于表示实体的交易信息,联盟链在私有链的基础上进行实体间的关系构建,形成多叉树结构结构区块链模型。
步骤1-1私有链集成存储模型
构建实体的内部私有链。在该私有链网络上,根据实体的交易频率设定一个合理的周期,每个周期内该实体发生的交易为一个独立节点,把从实体采集、认证及更新的交易信息按日期对其进行分类,通过哈希算法将所有的交易数据进行哈希运算生成相应的唯一的Hash值和密钥对(公钥和私钥)及时间戳,存储在每一个交易节点的本地账本中,通过网络广播和共识机制验证,单个实体构内部私有链网络的每个节点将记录所有交易类型及其对应的交易信息。
步骤1-2联盟链集成存储模型
构建实体间的联盟链,所有实体通过协议达成统一的区块链技术标准和统一的行业准则,以保证参与成员的行为及技术的规范性。基于其达成的协议,在不同的实体间构建联盟链。在该联盟链上,每一家实体都作为一个独立的区块链大节点,其内部私有链网络互相连接共同组成联盟链网络。实体采集认证的交易信息,在内部私有区块链认证通过后,再通过联盟区块链分布存储在每一个实体节点的本地账本中,基于此整个区块链联盟的所有机构节点中将存储每个实体采集的交易信息,最后实现实体间交易数据信息的互联共享。
步骤2构建基于Merkle树的私有链区块。每个私有链区块由区块头和区块体两部分构成。
步骤2-1区块头设计
区块头由上个区块哈希值(Prev Hash)、时间戳、随机数(Nonce)和交易的根哈希(Root Hash)、“交易类型”索引表、“可疑交易”索引表组成,通过将上个区块哈希、根哈希和随机数等信息进行哈希算法生成当前区块的哈希值,每个区块的前块哈希指针按照时间顺序链接构成整个区块的链接关系。私有链区块头数据信息如表1所示。
表1私有链区块头存储信息
步骤2-2区块体设计
基于步骤2-1,设计区块体存储全部的交易信息,每一笔交易信息是通过哈希函数把交易数据转换成一串唯一的哈希值存储在Merkle树的叶子结点上。通过哈希函数逐层生成上层节点的哈希值,每个数据集对应一个唯一的哈希根,如果底层交易记录发生篡改,Merkle树根的值也会变化。
在交易数据存入区块前,首先,需要统计实体开展的全部交易类型并统一编号,在交易数据存入区块的同时在“交易类型”索引表中添加交易的交易类型信息,在数据追溯查询时,“交易类型”索引表用于查询需要追溯的交易数据的交易类型。
其次,制定可疑交易规则,在数据存入区块时,根据可疑交易规则对交易进行判断是否属于可疑交易,若属于可疑交易,计算该交易的Hash值后,把Hash值存入Merkle树上的同时也把Hash值存入区块头的“可疑交易”索引表中,在进行数据追溯查询时,从“可疑交易”索引表开始检索。
步骤3构建基于Merkle Patircia树的联盟链区块。采用ECDSA算法对数据进行加密。
联盟链区块头由上个区块哈希值(Prev Hash)、时间戳、随机数(Nonce)和三个Merkle Patircia树的根哈希组成,三个根哈希分别对应状态树、交易树和收据树,交易信息存储在区块体中。
在联盟链中建立三个levelDB数据库,分别为BlockDB、StateDB和ExtrasDB。其中,BlockDB存储区块头和交易记录,StateDB存储实体的状态数据,ExtrasDB存储实体间往来签订的合同信息,基于此构建联盟链的底层数据库。每个Merkle Patircia树的存储内容和功能如表2所示,每个区块都包含整个状态树的根哈希,其中状态树以周期T进行更新。
表2联盟链Merkle Patircia树
步骤4建立多叉树区块链的通信共识机制。在数据层优化区块中交易数据的加密机制,并在网络层和共识层设计区块间的通信及共识,将所有交易信息盖上时间戳后在网络内实时广播并发送到网络内的每一个节点,然后由所有节点共同验证形成“共识”,从而实现“无须信任”的区块链系统。
步骤4-1数据层混沌加密机制
确定性混沌离散时间动力系统,f表示从S—>S的混沌映射状态,Xn表示经过n次代入后的系统状态。整个系统内部不生成新的信息。公式如下:
Xn+1=f(Xn)
其中,Xn+1、X∈S∈Rn,结果由系统的最初值决定:
H(Xn|X0)=0
把S分成m个相互不相交的状态:
β={β1,β2,β3,…,βm}
因为在β划分的每个区间的X n都不相等,这样就生成一组m进制的随机序列。产生函数f的最大变化的区间定义为生成划分。则
且/>
采用分段线性混沌映射函数,X n表示反复带入分段函数n次得到的结果,再次带入函数后得到Xn+1。表达式中的参数B的取值决定整个X的随机质量,A是一个标量值。分段函数如下:
在该分段函数中,在混沌状态中确定一个生成非记忆离散信息源的生成划分为β={[-A,0),[0,A]},由此可知,系统可以生成一个随机序列。
步骤4-2网络层区块通信模式
在网络层需要进行网络的组网方式和区块链节点之间的通信,多叉树区块链结构是基于对等网络的,在网络中没有中心节点,通过可容忍单点故障的P2P协议作为网络传输协议。且由于私有链随时动态的增加新区块,联盟链需要支持复杂的查询,因此为每个私有链上的节点分配一个属于自己的散列块,每个节点管理自己的散列块,所有的散列块组合成一个散列表,私有链上的所有节点共同维护该散列表,形成基于全分布式结构化拓扑(DHT)的网络通信结构。
对每个私有链上节点的IP地址进行Hash后得到该节点的节点值,将节点按照节点值从小到大构成一个Chord环,根据节点值获取每个节点与下一个邻近节点之间的距离,依此获得每个节点需要负责的值区间,提取每个节点上的关键字,通过对关键字进行Hash,得到的Hash值按照上述每个节点负责的区间进行分配,使每一项资源的存储信息都存储在一个节点上。当搜索一项资源时,先对其关键字进行Hash,得到的值与当前节点的值区间表进行比较后获得资源的索引信息最有可能存在的节点,然后查询该节点获取资源的索引,根据索引即可找到资源所在的节点,并建立通信。
联盟链以主实体作为超级结点,子实体作为普通结点。超级结点之间先构成一个高速转发层,这些超级结点和所负责的普通结点再构成若干层次。系统中其他部分结点的信息存储在各个超级结点上,发现算法在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点,形成基于半分布式拓扑结构的网络通信结构。
步骤4-3共识层区块共识算法
去中心化的多叉树区块链由多方共同管理维护,其网络节点可由任何一方提供,部分节点可能并不可信,为保证多叉树区块链结点存储的数据高可用且一致及整个系统的安全可信,在建立区块间的通信后,在共识层建立区块间的共识算法。
对私有链共识:每个节点设置三种状态Follower、Candidate、Leader,通过领导人选举(Leader Election)、日志复制(Log Replication),在保证安全性的基础上形成基于RAFT共识的节点间的共识机制。开始时将所有节点设为follwer状态,如果它们收不到leader发送的消息,其中的1个节点将变成candidate状态,candidate节点给其他节点发送请求投票消息,其他follwer节点将会返回给candidate节点消息,表示同意,如果收到一半以上节点同意,这个节点就会成为leader状态。客户端发一个消息给leader节点,leader节点会加一个entity到日志log中,leader把这个entity广播到其他follower节点,当leader节点收到大多数节点回复同意的时候,leader需要commit这个entity,然后广播给其他follower节点,follower节点收到commit消息,本地提交,该过程结束。
联盟链共识:从预准备(pre-prepare)、准备(prepare)和确认(commit)三个阶段进行,pre-prepare阶段和prepare阶段把在同一个view里发送的请求排好序,让各个replicas节点都认可这个序列,照序执行,prepare阶段和commit阶段确保已经达到commit状态的请求即使在发生view change后在新的view里依然保持原有的序列不变,形成基于实用拜占庭容错协议(practical Byzantine fault tolerance,PBFT)共识的节点间的共识机制,该机制将原始拜占庭容错算法的复杂度从指数级降低到多项式级。取一个副本作为主节点,其他的副本作为备份,用户端向主节点发送使用服务操作的请求,主节点通过广播将请求发送给其他副本,所有副本执行请求并将结果发回用户端,用户端等待F+1个不同副本节点发回相同的结果,将其作为整个操作的最终结果。
下面结合附图给出本发明的一个实例:
在金融领域活动的区块链建立中,设现有实例银行和证券两种金融机构,银行的交易类型有存款业务、借款业务、贷款业务、证券投资业务、银行卡业务、担保业务、电子银行业务、理财业务等,证券的交易类型有股票交易、债券交易、基金交易以及其他金融所衍生工具的交易等。银行A是总行,银行B和银行C是分行,证券A是总公司,证券B和证券C是分公司。在构建复合链式结构区块链时,分别统计银行和证券将要进行的交易类型并编号,建立两个交易类型索引表。根据银行和证券客户的身份、行为、交易的资金来源、金额、频率、流向、性质等符合中国人民银行及其分支机构发布的反洗钱、反恐怖融资规定及指引、风险提示、洗钱类型分析报告和风险评估报告,或者符合公安机关、司法机关发布的犯罪形势分析、风险提示、犯罪类型报告和工作报告等的列为可疑交易,基于此制定可疑交易规则。
首先,构建每个机构的内部私有链,分别将银行A、B、C和证券A、B、C通过采集和认证及更新的交易信息统计整理为各自的交易信息表,根据每个机构的交易频率设定一个合理的周期,每个周期内该机构发生的交易为一个独立节点,交易数据存入区块时,通过哈希算法将每个机构每个周期内的每一笔交易数据进行哈希运算生成对应且唯一的Hash值,通过密码学算法对交易数据进行加密生成密钥对(公钥和私钥),确定交易所属类型同时在区块头交易类型索引表中做标记,并根据可疑交易规则判断是否属于可疑交易,若是则将交易的Hash值存入区块头的可疑交易索引表和区块体中,若不是直接将交易存储在区块体上,根据每个区块的前块哈希指针按照时间顺序链接而成一条私有链,通过网络广播和共识机制验证,每个机构构内部私有链网络的每个节点将记录所有交易类型及其对应的交易信息。
然后,构建机构间的联盟链,银行和证券机构通过协议达成统一的区块链技术标准和统一的行业准则以保证参与成员的行为及技术的规范性,基于其达成的协议构建联盟链。统计整理机构间往来签订的交易合同信息,建立交易合同表。每一个机构作为一个独立的区块链大节点和联盟链中的一个账户,其内部私有链网络互相连接共同组成联盟链网络。账户信息存储在联盟链中的StateDB中,区块头和交易信息存储在联盟链中的BlockDB中,交易合同表中的合同信息存储在联盟链中的ExtrasDB中。银行A和证券A作为通信网络中的超级结点,银行B和C及证券B和C作为普通结点,每个银行和证券机构采集认证的交易信息在内部私有区块链认证通过后,通过网络广播和共识机制验证,再通过联盟区块链分布存储在每一个实体节点的本地账本中,基于此整个区块链联盟的所有机构节点中将存储所有机构全部的交易信息。
Claims (4)
1.面向金融大数据的多叉树结构区块链集成优化存储方法,其特征在于,其步骤为:
步骤1构建多叉树结构区块链集成优化模型;
步骤2构建基于Merkle树的私有链区块;
步骤3构建基于Merkle Patircia树的联盟链区块;
步骤4建立区块链的通信共识机制;
其中所述建立区块链的通信共识机制包括:
步骤4-1数据层混沌加密机制:
确定性混沌离散时间动力系统,设置混沌映射函数f:Sxn—>Sxn+1是一个混沌映射,表示将当前状态Xn映射到下一个状态Xn+1;公式如下:
Xn+1=f(Xn)
Xn∈S,n=0,1,2,……,为系统状态,X0为系统的初始状态:
H(Xn|X0)=0
把S分成m个相互不相交的状态,其中β表示划分的区间:
β={β1,β2,β3,…,βm}
因为在β划分的每个区间的Xn都不相等,这样就生成一组m进制的随机序列,产生函数f的最大变化的区间定义为生成划分,则
且/>
βi表示β划分的第i个区间,βj表示β划分的第j个区间;
采用分段线性混沌映射函数生成非记忆离散信息源的生成划分,分段线性混沌映射函数如下:
其中,表达式中的参数B的取值决定整个系统状态的随机质量,其中A是一个标量值;在该分段函数中,在混沌状态中确定一个生成非记忆离散信息源的生成划分为β={[-A,0),[0,A]},系统由此生成一个随机序列;
步骤4-2网络层区块通信模式:
在网络层需要进行网络的组网方式和区块链节点之间的通信,通过可容忍单点故障的P2P协议作为网络传输协议;为每个私有链上的节点分配一个属于自己的散列块,每个节点管理自己的散列块,所有的散列块组合成一个散列表,私有链上的所有节点共同维护这个散列表,形成基于全分布式结构化拓扑的网络通信结构;
对每个私有链上节点的IP地址进行Hash后得到该节点的节点值,将节点按照节点值从小到大构成一个Chord环,根据节点值获取每个节点与下一个邻近节点之间的距离,依此获得每个节点需要负责的值区间,提取每个节点上的关键字,通过对关键字进行Hash,得到的Hash值按照上述每个节点负责的区间进行分配,使每一项资源的存储信息都存储在一个节点上;当搜索一项资源时,先对其关键字进行Hash,得到的值与当前节点的值区间表进行比较后获得资源的索引信息最大概率存在的节点,然后查询该节点获取资源的索引,根据索引找到资源所在的节点,并建立通信;
联盟链以主实体作为超级结点,子实体作为普通结点;超级结点之间先构成一个高速转发层,这些超级结点和所负责的普通结点再构成若干层次;系统中其他部分结点的信息存储在各个超级结点上,发现算法在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点,形成基于半分布式拓扑结构的网络通信结构;
步骤4-3共识层区块共识算法
去中心化的多叉树区块链由多方共同管理维护,在建立区块间的通信后,在共识层建立区块间的共识算法;
私有链共识:每个节点设置三种状态Follower、Candidate、Leader,通过领导人选举、日志复制,在保证安全性的基础上形成基于RAFT共识的节点间的共识机制;开始时将所有节点设为follower状态,如果它们收不到leader发送的消息,其中的1个节点将变成candidate状态,candidate节点给其他节点发送请求投票消息,其他follower节点将会返回给candidate节点消息,表示同意,如果收到一半以上节点同意,这个节点成为leader状态;客户端发一个消息给leader节点,leader节点会加一个实体到日志中,leader把这个实体广播到其他follower节点,当leader节点收到大于预定阈值数目节点回复同意的时候,leader提交这个实体,然后广播给其他follower节点,follower节点收到提交消息,本地提交,该过程结束;
联盟链共识:从预准备、准备和确认三个阶段进行,预准备阶段和准备阶段把在同一个视图里发送的请求排好序,让各个副本节点都认可这个序列,然后照序执行,准备阶段和确认阶段确保已经达到确认状态的请求即使在发生视图变化后在新的视图里依然保持原有的序列不变,形成基于PBFT共识的节点间的共识机制;取一个副本作为主节点,其他的副本作为备份,用户端向主节点发送使用服务操作的请求,主节点通过广播将请求发送给其他副本,所有副本执行请求并将结果发回用户端,用户端等待F+1个不同副本节点发回相同的结果,将其作为整个操作的最终结果。
2.根据权利要求1所述面向金融大数据的多叉树结构区块链集成优化存储方法,其特征在于:
所述的步骤1中,具体方法为:
步骤1-1:构建私有链集成存储模型:
构建实体的内部私有链:在实体的内部私有链网络上,根据实体的交易频率设定的周期,每个周期内该实体发生的交易为一个独立节点,把从实体采集、认证及更新的交易信息按日期对其进行分类,通过哈希算法将所有的交易数据进行哈希运算生成相应的唯一的Hash值和密钥对及时间戳,存储在每一个交易节点的本地账本中,通过网络广播和共识机制验证,单个实体内部私有链网络的每个节点将记录所有交易类型及其对应的交易信息;
步骤1-2构建联盟链集成存储模型:
构建实体间的联盟链,所有实体通过协议达成统一的区块链技术标准和统一的行业准则;基于其达成的协议,在不同的实体间构建联盟链;联盟链上的每一家实体都作为一个独立的区块链大节点,其内部私有链网络互相连接共同组成联盟链网络;实体采集认证的交易信息,在内部私有区块链认证通过后,再通过联盟区块链分布存储在每一个实体节点的本地账本中,基于此整个区块链联盟的所有实体节点中将存储每个实体采集的交易信息,实现实体间交易数据信息的互联共享。
3.根据权利要求1所述面向金融大数据的多叉树结构区块链集成优化存储方法,其特征在于:
所述的步骤2中,具体方法为:
步骤2-1区块头设计:
区块头由上个区块哈希值、时间戳、随机数和交易的根哈希、“交易类型”索引表、
“可疑交易”索引表组成,通过将上个区块哈希、根哈希和随机数信息进行哈希算法生成当前区块的哈希值,每个区块的前块哈希指针按照时间顺序链接构成整个区块的链接关系;
步骤2-2区块体设计:
基于步骤2-1,设计区块体存储全部的交易信息,每一笔交易信息是通过哈希函数把交易数据转换成一串唯一的哈希值存储在Merkle树的叶子结点上;通过哈希函数逐层生成上层节点的哈希值,每个数据集对应一个唯一的哈希根,如果底层交易记录发生篡改,Merkle树根的值也随之变化;
在交易数据存入区块前,首先,统计实体开展的全部交易类型并统一编号,在交易数据存入区块的同时在“交易类型”索引表中添加交易的交易类型信息,在数据追溯查询时,
“交易类型”索引表用于查询需要追溯的交易数据的交易类型;
其次,制定可疑交易规则,在数据存入区块时,根据可疑交易规则对交易进行判断是否属于可疑交易;若属于可疑交易,计算该交易的Hash值后,把Hash值存入Merkle树上的同时也把Hash值存入区块头的“可疑交易”索引表中,在进行数据追溯查询时,从“可疑交易”索引表开始检索;若不属于可疑交易,计算该交易的Hash值后,直接把Hash值存入Merkle树上。
4.根据权利要求1所述面向金融大数据的多叉树结构区块链集成优化存储方法,其特征在于:
所述的步骤3中,具体方法为:
在联盟链中建立三个levelDB数据库,分别为BlockDB、StateDB和ExtrasDB;其中,BlockDB存储区块头和交易记录,StateDB存储实体的状态数据,ExtrasDB存储实体间往来签订的合同信息,基于此构建联盟链的底层数据库;每个区块都包含整个状态树的根哈希,其中状态树以周期T进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010447659.7A CN111611315B (zh) | 2020-05-25 | 2020-05-25 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010447659.7A CN111611315B (zh) | 2020-05-25 | 2020-05-25 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611315A CN111611315A (zh) | 2020-09-01 |
CN111611315B true CN111611315B (zh) | 2023-11-10 |
Family
ID=72205362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010447659.7A Active CN111611315B (zh) | 2020-05-25 | 2020-05-25 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611315B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100665A (zh) * | 2020-09-23 | 2020-12-18 | 江苏四象软件有限公司 | 一种基于区块链的数据共享系统 |
CN112333247A (zh) * | 2020-10-26 | 2021-02-05 | 成都商通时代数字科技有限公司 | 一种区块链系统私有数据共享的方法和共享系统 |
CN112333269A (zh) * | 2020-11-03 | 2021-02-05 | 平安科技(深圳)有限公司 | 一种区块链网络存储结构、工作方法、装置、介质及设备 |
CN112398934B (zh) * | 2020-11-05 | 2022-08-12 | 嘉兴天培智能检测科技有限公司 | 基于区块链的信赖广播方法 |
CN112100690B (zh) * | 2020-11-23 | 2021-02-23 | 长沙树根互联技术有限公司 | 基于区块链的出块方法、装置和可读存储介质 |
CN112307127B (zh) * | 2020-11-24 | 2024-04-02 | 圆通速递有限公司 | 一种物流区块链数据存储方法和系统 |
CN112511350B (zh) * | 2020-12-01 | 2023-04-07 | 浙商银行股份有限公司 | 联盟链多级共识方法、设备及存储介质 |
CN112579291A (zh) * | 2020-12-22 | 2021-03-30 | 北京航空航天大学 | 一种基于StateDB的智能合约并行运行系统及并行运行方法 |
CN114726567A (zh) * | 2021-01-05 | 2022-07-08 | 中国移动通信有限公司研究院 | 节点交互方法、证书验证方法、装置及相关设备 |
CN112947868B (zh) * | 2021-04-08 | 2024-05-03 | 辽宁大学 | 四分支链式结构金融区块链存储方法 |
CN113239078B (zh) * | 2021-05-17 | 2022-09-20 | 国网河南省电力公司信息通信公司 | 一种基于联盟链的数据快速查询方法 |
CN113393326A (zh) * | 2021-06-04 | 2021-09-14 | 昆明理工大学 | 一种基于公有链的区块图及其多币种融合交易系统/方法 |
CN113609229B (zh) * | 2021-08-18 | 2023-10-20 | 东北大学 | Fabric区块链中的快速日志复制方法及装置 |
CN113934374A (zh) * | 2021-09-28 | 2022-01-14 | 北京理工大学 | 一种基于遗传算法的区块链多副本分配和存储方法 |
CN114049213A (zh) * | 2021-11-15 | 2022-02-15 | 深圳前海鸿泰源兴科技发展有限公司 | 一种信息化金融数据分析系统与分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656509A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市检验检疫科学研究院 | 一种用于输港食品监控的rfid联盟链协同认证方法 |
CN109739827A (zh) * | 2018-12-19 | 2019-05-10 | 北京第一视频科学技术研究院有限公司 | 一种基于双链架构的区块链存储系统 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110032891A (zh) * | 2019-04-16 | 2019-07-19 | 中国电力科学研究院有限公司 | 一种基于联盟区块链的智能电网分布式密文检索方法和系统模型 |
CN110310119A (zh) * | 2019-07-06 | 2019-10-08 | 辽宁大学 | 面向跨区块链交易的可扩容存储方法 |
CN110995749A (zh) * | 2019-12-17 | 2020-04-10 | 北京海益同展信息科技有限公司 | 区块链加密方法及装置、电子设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170193464A1 (en) * | 2015-12-18 | 2017-07-06 | Justin SHER | Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents |
-
2020
- 2020-05-25 CN CN202010447659.7A patent/CN111611315B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656509A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市检验检疫科学研究院 | 一种用于输港食品监控的rfid联盟链协同认证方法 |
CN109739827A (zh) * | 2018-12-19 | 2019-05-10 | 北京第一视频科学技术研究院有限公司 | 一种基于双链架构的区块链存储系统 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110032891A (zh) * | 2019-04-16 | 2019-07-19 | 中国电力科学研究院有限公司 | 一种基于联盟区块链的智能电网分布式密文检索方法和系统模型 |
CN110310119A (zh) * | 2019-07-06 | 2019-10-08 | 辽宁大学 | 面向跨区块链交易的可扩容存储方法 |
CN110995749A (zh) * | 2019-12-17 | 2020-04-10 | 北京海益同展信息科技有限公司 | 区块链加密方法及装置、电子设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
一种适用于联盟链的共识机制;曹兆磊;;网络空间安全(第01期);全文 * |
区块链技术及其在银行业中的应用与展望;徐尧东;;金融科技时代(第02期);全文 * |
区块链模式下金融业创新与监管研究;李淼;;华北金融(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111611315A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111611315B (zh) | 面向金融大数据的多叉树结构区块链集成优化存储方法 | |
CN107070644B (zh) | 一种基于信任网络的去中心化公钥管理方法和管理系统 | |
CN110945853B (zh) | 基于联盟链投票共识算法产生及管理多模标识网络的方法 | |
WO2021203797A1 (zh) | 基于联盟链的汽车维修数据存储方法 | |
CN106503574B (zh) | 区块链安全存储方法 | |
Xu et al. | ECBC: A high performance educational certificate blockchain with efficient query | |
CN113438084B (zh) | 一种基于r-pbft共识算法和时间戳的绿电溯源方法及系统 | |
Maniatis et al. | Secure history preservation through timeline entanglement | |
CN110046894B (zh) | 一种基于纠删码的分组可重构区块链建立方法 | |
CN112418860A (zh) | 一种基于跨链技术的区块链高效管理架构及工作方法 | |
CN107231299A (zh) | 一种链路由及实现区块链跨链通信的系统 | |
CN110570308B (zh) | 一种具有激励机制的基于区块链的电子仓单交易系统 | |
CN113824563B (zh) | 一种基于区块链证书的跨域身份认证方法 | |
CN114391241A (zh) | 具有可调整法定数量的区块链分片 | |
CN110580605B (zh) | 一种基于区块链的电子仓单信息存储系统 | |
CN111737352B (zh) | 一种基于区块链的供应链信息协同管理方法 | |
Doku et al. | Iflbc: On the edge intelligence using federated learning blockchain network | |
CN112529508A (zh) | 一种基于pbft联盟链的电力物资管理系统 | |
Härer et al. | Decentralized attestation of conceptual models using the ethereum blockchain | |
CN113886501A (zh) | 一种基于多链架构下的区块链业务模块扩展方法 | |
CN112019349A (zh) | 一种基于跨链技术的电力物联网跨域认证方法 | |
Song et al. | Reliable reputation review and secure energy transaction of microgrid community based on hybrid blockchain | |
CN114329528A (zh) | 一种基于区块链的档案数据管理方法及系统 | |
CN109064173A (zh) | 一种节点信息管理系统和方法 | |
US20220078006A1 (en) | Verifiable object state data tracking |
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 |