一种将交易信息和账户信息分别存储的区块链制造技术

技术编号:14825760 阅读:88 留言:0更新日期:2017-03-16 13:22
本发明专利技术公开了一种将交易信息和账户信息分别存储的区块链,每个节点由两个区块链组成,其中一条区块链TBC用作处理交易信息,另一条区块链ABC用于维护账户信息;用于存储交易的区块链TBC向维护账户的区块链ABC读写账户信息。本发明专利技术实现了区块链系统的可扩展性。对于账户信息大幅上涨的情况下,ABC的维护可以在另一个物理机上,交易的处理TBC节点的压力可以大幅下降。每个TBC节点和ABC节点配合使用,组成了一个完成的区块链节点。同时,TBC和ABC的建块流程是一样的,底层的区块链维护与原有的区块链维护是一样的。不需要更新原有的建块算法。

【技术实现步骤摘要】

本专利技术涉及区块链
,特别地,涉及一种将交易信息和账户信息分别存储的区块链
技术介绍
目前的区块链系统,包括比特币以及以太坊等,交易信息以及用户的账户信息都会被存储在同一个区块链中。对于比特币,利用UTXO存储每个账户的未使用交易,每个账户的信息量极少,直接利用账户的公钥作为账户地址。要查询每个账户的信息时,需要遍历查询block的所有涉及到该账户的交易。以太坊利用MerklePatriciatree进行索引,加快信息的查找速度。上述区块链都不能在账户量账户信息大增的情况下轻易的实现扩展。本专利技术结合了当前的一些银行、股票等金融业务,对传统的区块链进行了改进,将账户信息从区块链中剥离,用一条新的区块链存储并维护。在区块链系统中,多个节点各自维护一个区块链,要保证数据在所有节点的一致性,保证每个节点维护的区块链是一样的。每个区块链节点与其它区块链节点合作实现数据的一致性和安全性。账户信息对于当前的一些金融业务也是一种重要信息,同时,复杂的金融业务导致账户的信息量巨大。例如在银行系统中,每个用户各种基金购买情况、信用等级、收入等个人信息。如果还是将账户信息存入到区块链中,当账户量大增的时候,单个节点既要存储维护数量庞大的个人信息还要进行账户间交易的处理以及建块,节点的存储和计算压力大幅增加。
技术实现思路
本专利技术所要解决的技术问题是提供一种将交易信息和账户信息分别存储的区块链,实现了区块链系统的可扩展性。一方面,本专利技术提供了一种将交易信息和账户信息分别存储的区块链,每个节点由两个区块链组成,其中一条区块链TBC用作处理交易信息,另一条区块链ABC用于维护账户信息;用于存储交易的区块链TBC向维护账户的区块链ABC读写账户信息。进一步地,两个区块链TBC、ABC的建块是相互独立的,各自接受交易并建块;ABC接收TBC发送的账户信息;TBC接收账户之间的交易信息并处理。进一步地,TBC接收到交易信息之后,根据交易双方的账户ID,向ABC请求账户数据;利用账户数据对交易进行验证和处理;将处理结果,涉及到的账户变更,以交易的形式发给ABC;进一步地,ABC接收TBC发送的账户交易并处理;ABC接收到TBC的信息交易之后,对账户进行处理,更新相应账户的信息。进一步地,TBC和ABC各自根据自己收到交易建块。本专利技术实现了区块链系统的可扩展性。对于账户信息大幅上涨的情况下,ABC的运营维护可以在另一个物理机上,交易的处理TBC节点的压力可以大幅下降。每个TBC节点和ABC节点配合使用,组成了一个完成的区块链节点。同时,TBC和ABC的建块流程是一样的,底层的区块链维护与原有的区块链维护是一样的。不需要更新原有的建块算法。具体实施方式为了更好的理解本专利技术实施例提供的技术方案,也更好的与本专利技术实施例的技术方案进行对比,下面首先通过举例的方式对现有技术中的实现方案进行简单的介绍。本专利技术所述的TBC是用作处理交易信息的区块链。本专利技术所述的ABC是指用于维护账户信息的区块链。本专利技术提供了一种将账户信息和交易信息分开存储并处理的区块链系统。可以极大的实现区块链的可扩展性,方便将其应用到现有的区块链系统中。本专利技术包括以下四步:(1)每个节点维护两个区块链,分别是TBC和ABC。a)两个区块链的建块是相互独立的,各自接受交易并建块。b)ABC接收TBC发送的账户信息(2)TBC接收账户之间的交易信息并处理a)TBC接收到交易信息之后,根据交易双方的账户ID,向ABC请求账户数据。b)利用账户数据对交易进行验证和处理。c)将处理结果,涉及到的账户变更,以交易的形式发给ABC。(3)ABC接收TBC发送的账户交易并处理a)ABC接收到TBC的信息交易之后,对账户进行处理,更新相应账户的信息(4)TBC和ABC各自根据自己收到交易建块假如,区块链系统有4个节点8个物理机,4个节点可以容忍一个节点出现故障或者被攻击。TBC和ABC的建块过程是独立的,TBC和ABC都需要4个节点,所以我们的物理节点至少有8个。为了容忍f个节点的故障或者被攻击,系统需要有3f+1个节点。也就是说,如果系统要容忍最多2个节点出现故障或者被攻击。则需要有至少7个节点。节点在出现故障或者被攻击成功的情况下,如果节点总数超过被控制节点的三倍,系统的容错算法可以保证其余正常节点正常运作。TBC和ABC之间有频繁的通信。每一对TBC和ABC节点之间可以由内网连接。减少网络传输的时间消耗。四个TBC节点在配置区块链系统是在同一个区块链系统中的,共同完成区块链的维护。与之相对,4个ABC节点同处一个区块链系统,四个节点完成区块链的维护。两个区块链子系统是独立的完成建块过程的,因此,系统中共有两条区块链。假设区块链系统中有4个节点(即M=4),分别为节点A、节点B、节点C、节点D。每个节点包含一个TBC节点和一个ABC节点。每个节点需要两个物理机。其中一个部署TBC,另外一个作为ABC。假设4个TBC节点分别为AT、BT、CT、DT,四个ABC节点依次为AA、BA、CA、DA。整个系统的交易处理以及建块流程为:TBC节点收到交易之后,将向ABC节点获取对应的账户信息.节点AT:根据交易获取账户ID,向AA发出请求,获取账户信息;节点BT:根据交易获取账户ID,向BA发出请求,获取账户信息;节点CT:根据交易获取账户ID,向CA发出请求,获取账户信息;节点DT:根据交易获取账户ID,向DA发出请求,获取账户信息;TBC节点获取账户信息之后,在本地对交易进行处理,对应的账户信息也得到更新,将更新后的账户信息发送给与自己对应的ABC节点。节点AA:接收到AT发来的更新后的账户信息,作为一个交易存储并处理,更新账户信息;节点BA:接收到BT发来的更新后的账户信息,作为一个交易存储并处理,更新账户信息;节点CA:接收到CT发来的更新后的账户信息,作为一个交易存储并处理,更新账户信息;节点DA:接收到DT发来的更新后的账户信息,作为一个交易存储并处理,更新账户信息;TBC节点AT、BT、CT、DT利用一致性建块算法建块,存储交易信息。ABC节点AA、BA、CA、DA利用一致性建块算法建块,存储账户信息。本文中应用了具体个例对本专利技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本专利技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本专利技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本专利技术的限制。本文档来自技高网...

【技术保护点】
一种将交易信息和账户信息分别存储的区块链,其特征在于,每个节点由两个区块链组成,其中一条区块链TBC用作处理交易信息,另一条区块链ABC用于维护账户信息;用于存储交易的区块链TBC向维护账户的区块链ABC读写账户信息。

【技术特征摘要】
1.一种将交易信息和账户信息分别存储的区块链,其特征在于,每个节点由两个区块链组成,其中一条区块链TBC用作处理交易信息,另一条区块链ABC用于维护账户信息;用于存储交易的区块链TBC向维护账户的区块链ABC读写账户信息。2.根据权利要求1所述的将交易信息和账户信息分别存储的区块链,其特征在于,两个区块链TBC、ABC的建块是相互独立的,各自接受交易并建块;ABC接收TBC发送的账户信息;TBC接收账户之间的交易信息并处理。3.根据权利要求2所述的将交易信息和账户信息分别存...

【专利技术属性】
技术研发人员:邓恩艳
申请(专利权)人:北京天德科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1