当前位置: 首页 > 专利查询>山东大学专利>正文

基于区块链的数字资产交易一致性的维护方法技术

技术编号:18449241 阅读:24 留言:0更新日期:2018-07-14 12:07
本发明专利技术公开了基于区块链的数字资产交易一致性的维护方法,包括:步骤(1):首先由交易发起节点创建一笔新的交易;步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;步骤(5):按照时间的先后顺序将涉及同一账户的交易记录链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新。解决了面向数字资产领域的账户状态一致性的问题。

【技术实现步骤摘要】
基于区块链的数字资产交易一致性的维护方法
本专利技术涉及区块链
,特别是涉及基于区块链的数字资产交易一致性的维护方法。
技术介绍
区块链技术在数字资产领域的应用,为数字资产提供了安全、可信任的流转机制,保障了数字资产的价值传递体系。区块链在没有中心控制的分布式对等网络下,使用分布式集体运作的方式,构建了一个P2P的自组织网络。在P2P网络下的节点都维护了各自的账本信息,但由于网络延迟、网络故障等原因,导致各个账本间的信息可能并不完全相同,对于同一账户的状态认知也不相同。比特币、以太坊等采用工作量证明机制,概率性地保证了数字资产的最终一致性。随着数字资产的多样化以及数字资产状态的多样性,交易不仅仅局限于余额的最终一致性,内容多样、形式多变的数字资产交易对区块链账户的状态一致性提出了状态、内容、时序等更高的一致性要求。因此,需要一套完整的交易链构建机制和账户状态校验机制来保障区块链账户在全网的状态一致性。
技术实现思路
为了解决现有技术的不足,本专利技术提供了基于区块链的数字资产交易一致性的维护方法,解决了面向数字资产领域的账户状态一致性的问题。基于区块链的数字资产交易一致性的维护方法,包括:步骤(1):首先由交易发起节点创建一笔新的交易;步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;步骤(5):按照时间的先后顺序将涉及同一账户的交易记录链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新。所述步骤(1)到步骤(5)将涉及同一区块链账户的交易链接起来,最终获取到交易的发起账户和接收账户的历史完整交易链。所述步骤(1)中,交易的信息中包含pre-from和pre-to,pre-from是交易发起账户最近一笔交易的哈希值,pre-to是交易接收账户最近一笔交易的哈希值。所述步骤(2)中,将交易信息的pre-from和pre-to信息与本节点同步到的账户交易信息进行对比,验证信息是否一致;若一致,则交易符合数字资产状态一致性原则,判定交易正确,将正确的交易放入新的区块中;若不一致,则表明交易信息错误,返回交易错误结果,则交易不符合数字资产状态一致性原则,不被验证通过,将错误交易丢弃。所述步骤(3)中,当账户上发生新的交易时,在MPTC账户状态树上更新账户的最新交易Tx-hash,计算已更新的账户状态树根节点的哈希值merkleroot;并将哈希值merkleroot存储于区块头中,所述哈希值merkleroot用来验证交易是否被记录在区块中;所述步骤(4)中,由于账户的最新交易中包含交易发起账户最近一笔交易的哈希值pre-from和交易接收账户最近一笔交易的哈希值pre-to,因此通过哈希值将最新交易与交易发起账户的最近一笔交易联系起来;同理,将最新交易与交易接收账户的最近一笔交易联系起来。所述步骤(5)中,账户的最新交易通过最新交易中包含的pre-from和pre-to分别回溯到最新交易发起账户和接收账户的最近一笔交易。步骤(1)和步骤(2)是数字资产在交易构建及检验过程中的一致性保证方法。在完成交易的校验之后,校验通过的交易会被放入区块中。所述步骤(3)计算已更新的账户状态树根节点的哈希值merkleroot的计算方法为:对目标节点的所有子节点进行组合,然后对组合结果进行哈希计算得出哈希值merkleroot。所述步骤(3)的MPTC账户状态树,包括:账户状态树和账户交易链;所述账户状态树,包括:根节点,所述根节点与若干个分支节点连接,每个分支节点与叶子节点或扩展节点连接;每个扩展节点也通过分支节点与叶子节点连接;账户状态树的每一个分支节点记录每一个区块链账户及其当前的最新交易哈希值。所述账户交易链,包括:每一个区块链账户的交易记录,也即在区块链中,为账户状态树中的每一个账户维护一个交易链。账户交易链是按照时间先后顺序将涉及同一账户的交易记录链接起来的交易链。账户交易链是该账户的交易记录,记录账户状态树的每一次更新。将账户状态树中账户交易的更新按照时间先后顺序链接成账户的交易链。每同步一个区块时,账户状态树和账户交易链都相应地完成一次更新。所述根节点,对根节点的所有子节点进行组合,然后对组合结果进行哈希计算得出哈希值,该哈希值称为merkleroot。所述分支节点,由十六进制前缀编码的key值和以当前分支节点为根节点而计算得出的merkleroot组成;所述扩展节点,用于存储叶子节点分裂之前的Tx-hash和指向下一个分支节点的hash;叶子节点,用于存储账户的最新交易的指针Tx-hash,利用指针账户的最新交易的指针Tx-hash定位到账户的最新交易的区块链地址。与现有技术相比,本专利技术的有益效果是:1、基于账户模型,将账户之间的关联关系、账户相关交易数据链接起来,方便数据资产的管理;2、采用账户模型交易链的链接方法,以区块链账户的角度对交易记录的高效检索提供合法性依据。3、把交易的pre-from和pre-to引入交易的创建过程,可以将关于该交易相关区块链账户的交易记录链接起来,可以获取最新交易下的相关账户的两条完整交易链。4、交易pre-from和pre-to的加入,在交易创建过程中保障了账户数字资产状态的强一致性,同时对于交易的合法性进行比对校验。5、保证数字资产账户状态一致性的方法为因网络故障等原因造成的交易失败提供了校验标准,极大地提高了交易效率。附图说明构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。图1是账户状态树以及账户交易链;图2数字资产一致性及交易链维护流程。具体实施方式应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。图1是账户状态树以及账户交易链。账户状态树与账户交易链的结合称为MPTC(MerklePatriciaTreeChain),账户状态树的节点包括根节点、分支节点、扩展节点、叶子节点四种类型。根节点存储由子节点计算得出的hash值,称为merkleroot;分支节点是由十六进制前缀编码的key值和以该节点为根节点而计算得出的merkleroot组成;扩展节点存储叶子节点分裂之前的Tx-hash和指向下一个分支节点的hash;叶子节点存储账户的最新交易的指针Tx-hash,利用Tx-hash指针可快速定位到账户的最新交易的区块链地址.以Tx-hash为Tx1的hash为例,Tx1交易存储在区块2345中,Tx1包含该交易的pre-from和pre-to,解析pre-from获取到该交易发起账户以及最新状态,根据账户编码沿着区块链向前链接,在区块2343中定位到Tx3,继续通过该方法向前链接,定位到Tx5,依次类推,获取到交易Tx1的发起账户的交易链。使用同样的方法解析Tx1交易的pre-本文档来自技高网
...

【技术保护点】
1.基于区块链的数字资产交易一致性的维护方法,其特征是,包括:步骤(1):首先由交易发起节点创建一笔新的交易;步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;步骤(5):按照时间的先后顺序将涉及同一账户的交易记录链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新。

【技术特征摘要】
1.基于区块链的数字资产交易一致性的维护方法,其特征是,包括:步骤(1):首先由交易发起节点创建一笔新的交易;步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;步骤(5):按照时间的先后顺序将涉及同一账户的交易记录链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新。2.如权利要求1所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(1)到步骤(5)将涉及同一区块链账户的交易链接起来,最终获取到交易的发起账户和接收账户的历史完整交易链。3.如权利要求1所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(1)中,交易的信息中包含pre-from和pre-to,pre-from是交易发起账户最近一笔交易的哈希值,pre-to是交易接收账户最近一笔交易的哈希值。4.如权利要求3所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(2)中,将交易信息的pre-from和pre-to信息与本节点同步到的账户交易信息进行对比,验证信息是否一致;若一致,则交易符合数字资产状态一致性原则,判定交易正确,将正确的交易放入新的区块中;若不一致,则表明交易信息错误,返回交易错误结果,则交易不符合数字资产状态一致性原则,不被验证通过,将错误交易丢弃。5.如权利要求4所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(3)中,当账户上发生新的交易时,在MPTC账户状态树上更新账户的最新交易Tx-hash,计算已更新的账户状态树根节点的哈希值merkleroot;并将哈希值merkleroot存储于区块头中,所述哈希值merkleroot用来验证交易是否被记录在区块中。6.如权利要求5所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(4)中,由于账户的最新交易中包含交易发起账户最近一笔交易的哈希值...

【专利技术属性】
技术研发人员:孔兰菊李庆忠闫中敏尤瑶闵新平
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

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

1