首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块头 / 基于区块链的数字资产交易一致性的维护方法

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

阅读:120发布:2020-05-08

专利汇可以提供基于链的数字资产交易一致性的维护方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了基于 区 块 链 的数字资产交易一致性的维护方法,包括:步骤(1):首先由交易发起 节点 创建一笔新的交易;步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;步骤(5):按照时间的先后顺序将涉及同一账户的 交易记录 链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新。解决了面向数字资产领域的账户状态一致性的问题。,下面是基于链的数字资产交易一致性的维护方法专利的具体信息内容。

1.基于链的数字资产交易一致性的维护方法,其特征是,包括:
步骤(1):首先由交易发起节点创建一笔新的交易;
步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;
步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;
步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;
步骤(5):按照时间的先后顺序将涉及同一账户的交易记录链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新;
所述步骤(1)中,交易的信息中包含pre-from和pre-to,pre-from是交易发起账户最近一笔交易的哈希值,pre-to是交易接收账户最近一笔交易的哈希值;
通过解析交易的pre-from内容获取发起交易的区块链账户的最新状态,比对交易中发起账户的状态和节点维护的该区块链账户的最新状态是否一致;
同理,通过解析交易的pre-to内容获取接收交易的区块链账户的最新状态,比对交易中接收账户的状态和节点维护的该区块链账户的最新状态是否一致;然后判断校验结果信息是否正确,
若不正确,则表明交易信息错误,返回交易错误结果,则交易不符合数字资产状态一致性原则,不被验证通过,丢弃错误交易;
若校验结果正确,该交易的pre-from和pre-to信息判定校验结果正确,符合数字资产状态一致性原则,可结合交易其他校验结果,判定交易正确,正确的交易可以进入区块中;
所述MPTC账户状态树为账户状态树与账户交易链的结合,账户状态树的节点包括根节点、分支节点、扩展节点、叶子节点四种类型;根节点存储由子节点计算得出的hash值,称为merkle root;分支节点是由十六进制前缀编码的key值和以该节点为根节点而计算得出的merkle root组成;扩展节点存储叶子节点分裂之前的Tx-hash和指向下一个分支节点的hash;叶子节点存储账户的最新交易的指针Tx-hash,利用Tx-hash指针可快速定位到账户的最新交易的区块链地址。
2.如权利要求1所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(1)到步骤(5)将涉及同一区块链账户的交易链接起来,最终获取到交易的发起账户和接收账户的历史完整交易链。
3.如权利要求1所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(3)中,当账户上发生新的交易时,在MPTC账户状态树上更新账户的最新交易Tx-hash,计算已更新的账户状态树根节点的哈希值merkle root;并将哈希值merkle root存储于区块头中,所述哈希值merkle root用来验证交易是否被记录在区块中。
4.如权利要求3所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(4)中,由于账户的最新交易中包含交易发起账户最近一笔交易的哈希值pre-from和交易接收账户最近一笔交易的哈希值pre-to,因此通过哈希值将最新交易与交易发起账户的最近一笔交易联系起来;同理,将最新交易与交易接收账户的最近一笔交易联系起来。
5.如权利要求4所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(5)中,账户的最新交易通过最新交易中包含的pre-from和pre-to分别回溯到最新交易发起账户和接收账户的最近一笔交易。
6.如权利要求3所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(3)计算已更新的账户状态树根节点的哈希值merkle root的计算方法为:对目标节点的所有子节点进行组合,然后对组合结果进行哈希计算得出哈希值merkle root。
7.如权利要求1所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述步骤(3)的MPTC账户状态树,包括:账户状态树和账户交易链;
所述账户状态树,包括:根节点,所述根节点与若干个分支节点连接,每个分支节点与叶子节点或扩展节点连接;每个扩展节点也通过分支节点与叶子节点连接;账户状态树的每一个分支节点记录每一个区块链账户及其当前的最新交易哈希值;
所述根节点,对根节点的所有子节点进行组合,然后对组合结果进行哈希计算得出哈希值,该哈希值称为merkle root;
所述分支节点,由十六进制前缀编码的key值和以当前分支节点为根节点而计算得出的merkle root组成;
所述扩展节点,用于存储叶子节点分裂之前的Tx-hash和指向下一个分支节点的hash;
叶子节点,用于存储账户的最新交易的指针Tx-hash,利用指针账户的最新交易的指针Tx-hash定位到账户的最新交易的区块链地址。
8.如权利要求7所述的基于区块链的数字资产交易一致性的维护方法,其特征是,所述账户交易链,包括:每一个区块链账户的交易记录,也即在区块链中,为账户状态树中的每一个账户维护一个交易链;账户交易链是按照时间先后顺序将涉及同一账户的交易记录链接起来的交易链;
账户交易链是该账户的交易记录,记录账户状态树的每一次更新;将账户状态树中账户交易的更新按照时间先后顺序链接成账户的交易链;每同步一个区块时,账户状态树和账户交易链都相应地完成一次更新。

说明书全文

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

技术领域

[0001] 本发明涉及区块链技术领域,特别是涉及基于区块链的数字资产交易一致性的维护方法。

背景技术

[0002] 区块链技术在数字资产领域的应用,为数字资产提供了安全、可信任的流转机制,保障了数字资产的价值传递体系。区块链在没有中心控制的分布式对等网络下,使用分布式集体运作的方式,构建了一个P2P的自组织网络。在P2P网络下的节点都维护了各自的账本信息,但由于网络延迟、网络故障等原因,导致各个账本间的信息可能并不完全相同,对于同一账户的状态认知也不相同。比特币、以太坊等采用工作量证明机制,概率性地保证了数字资产的最终一致性。
[0003] 随着数字资产的多样化以及数字资产状态的多样性,交易不仅仅局限于余额的最终一致性,内容多样、形式多变的数字资产交易对区块链账户的状态一致性提出了状态、内容、时序等更高的一致性要求。因此,需要一套完整的交易链构建机制和账户状态校验机制来保障区块链账户在全网的状态一致性。

发明内容

[0004] 为了解决现有技术的不足,本发明提供了基于区块链的数字资产交易一致性的维护方法,解决了面向数字资产领域的账户状态一致性的问题。
[0005] 基于区块链的数字资产交易一致性的维护方法,包括:
[0006] 步骤(1):首先由交易发起节点创建一笔新的交易;
[0007] 步骤(2):网络中的其他节点接收到交易信息,对交易信息进行合法性校验;将合法交易放入新的区块中;
[0008] 步骤(3):新的区块被广播到网络中,网络中的节点同步新的区块,节点在同步新的区块时,首先更新MPTC账户状态树;
[0009] 步骤(4):在步骤(3)中更新MPTC账户状态树,发生新交易的账户将新交易与账户的最近一笔交易关联起来;
[0010] 步骤(5):按照时间的先后顺序将涉及同一账户的交易记录链接起来,至此,新区块被加入到区块链中,同时完成账户状态树及账户交易链的更新。
[0011] 所述步骤(1)到步骤(5)将涉及同一区块链账户的交易链接起来,最终获取到交易的发起账户和接收账户的历史完整交易链。
[0012] 所述步骤(1)中,交易的信息中包含pre-from和pre-to,pre-from是交易发起账户最近一笔交易的哈希值,pre-to是交易接收账户最近一笔交易的哈希值。
[0013] 所述步骤(2)中,将交易信息的pre-from和pre-to信息与本节点同步到的账户交易信息进行对比,验证信息是否一致;若一致,则交易符合数字资产状态一致性原则,判定交易正确,将正确的交易放入新的区块中;若不一致,则表明交易信息错误,返回交易错误结果,则交易不符合数字资产状态一致性原则,不被验证通过,将错误交易丢弃。
[0014] 所述步骤(3)中,当账户上发生新的交易时,在MPTC账户状态树上更新账户的最新交易Tx-hash,计算已更新的账户状态树根节点的哈希值merkle root;并将哈希值merkle root存储于区块头中,所述哈希值merkle root用来验证交易是否被记录在区块中;
[0015] 所述步骤(4)中,由于账户的最新交易中包含交易发起账户最近一笔交易的哈希值pre-from和交易接收账户最近一笔交易的哈希值pre-to,因此通过哈希值将最新交易与交易发起账户的最近一笔交易联系起来;同理,将最新交易与交易接收账户的最近一笔交易联系起来。
[0016] 所述步骤(5)中,账户的最新交易通过最新交易中包含的pre-from和pre-to分别回溯到最新交易发起账户和接收账户的最近一笔交易。
[0017] 步骤(1)和步骤(2)是数字资产在交易构建及检验过程中的一致性保证方法。在完成交易的校验之后,校验通过的交易会被放入区块中。
[0018] 所述步骤(3)计算已更新的账户状态树根节点的哈希值merkle root的计算方法为:对目标节点的所有子节点进行组合,然后对组合结果进行哈希计算得出哈希值merkle root。
[0019] 所述步骤(3)的MPTC账户状态树,包括:账户状态树和账户交易链;
[0020] 所述账户状态树,包括:根节点,所述根节点与若干个分支节点连接,每个分支节点与叶子节点或扩展节点连接;每个扩展节点也通过分支节点与叶子节点连接;账户状态树的每一个分支节点记录每一个区块链账户及其当前的最新交易哈希值。
[0021] 所述账户交易链,包括:每一个区块链账户的交易记录,也即在区块链中,为账户状态树中的每一个账户维护一个交易链。账户交易链是按照时间先后顺序将涉及同一账户的交易记录链接起来的交易链。
[0022] 账户交易链是该账户的交易记录,记录账户状态树的每一次更新。将账户状态树中账户交易的更新按照时间先后顺序链接成账户的交易链。每同步一个区块时,账户状态树和账户交易链都相应地完成一次更新。
[0023] 所述根节点,对根节点的所有子节点进行组合,然后对组合结果进行哈希计算得出哈希值,该哈希值称为merkle root。
[0024] 所述分支节点,由十六进制前缀编码的key值和以当前分支节点为根节点而计算得出的merkle root组成;
[0025] 所述扩展节点,用于存储叶子节点分裂之前的Tx-hash和指向下一个分支节点的hash;
[0026] 叶子节点,用于存储账户的最新交易的指针Tx-hash,利用指针账户的最新交易的指针Tx-hash定位到账户的最新交易的区块链地址。
[0027] 与现有技术相比,本发明的有益效果是:
[0028] 1、基于账户模型,将账户之间的关联关系、账户相关交易数据链接起来,方便数据资产的管理;
[0029] 2、采用账户模型交易链的链接方法,以区块链账户的度对交易记录的高效检索提供合法性依据。
[0030] 3、把交易的pre-from和pre-to引入交易的创建过程,可以将关于该交易相关区块链账户的交易记录链接起来,可以获取最新交易下的相关账户的两条完整交易链。
[0031] 4、交易pre-from和pre-to的加入,在交易创建过程中保障了账户数字资产状态的强一致性,同时对于交易的合法性进行比对校验。
[0032] 5、保证数字资产账户状态一致性的方法为因网络故障等原因造成的交易失败提供了校验标准,极大地提高了交易效率。附图说明
[0033] 构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
[0034] 图1是账户状态树以及账户交易链;
[0035] 图2数字资产一致性及交易链维护流程。

具体实施方式

[0036] 应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
[0037] 图1是账户状态树以及账户交易链。账户状态树与账户交易链的结合称为MPTC(Merkle Patricia Tree Chain),账户状态树的节点包括根节点、分支节点、扩展节点、叶子节点四种类型。根节点存储由子节点计算得出的hash值,称为merkle root;分支节点是由十六进制前缀编码的key值和以该节点为根节点而计算得出的merkle root组成;扩展节点存储叶子节点分裂之前的Tx-hash和指向下一个分支节点的hash;叶子节点存储账户的最新交易的指针Tx-hash,利用Tx-hash指针可快速定位到账户的最新交易的区块链地址.[0038] 以Tx-hash为Tx1的hash为例,Tx1交易存储在区块2345中,Tx1包含该交易的pre-from和pre-to,解析pre-from获取到该交易发起账户以及最新状态,根据账户编码沿着区块链向前链接,在区块2343中定位到Tx3,继续通过该方法向前链接,定位到Tx5,依次类推,获取到交易Tx1的发起账户的交易链。使用同样的方法解析Tx1交易的pre-to,获取该交易接收账户以及最新状态,根据账户编码沿着区块链向前链接,在区块2344中定位到Tx2,继续通过该方法向下链接,定位到Tx4,依次类推,获取到交易Tx1的接收账户的交易链。至此,交易Tx1的发起账户和接收账户分别通过pre-from和pre-to构建出了两条账户交易链。
[0039] 图2是数字资产一致性及交易链维护流程,判断交易是否满足数字资产一致性的条件,首先由节点发送待校验交易的pre-from和pre-to信息,其他节点校验区块链账户的状态与交易中pre-from和pre-to描述的账户状态信息是否一致,具体做法是:
[0040] 通过解析交易的pre-from内容获取发起交易的区块链账户的最新状态,比对交易中发起账户的状态和节点维护的该区块链账户的最新状态是否一致;
[0041] 同理,通过解析交易的pre-to内容获取接收交易的区块链账户的最新状态,比对交易中接收账户的状态和节点维护的该区块链账户的最新状态是否一致。然后判断校验结果信息是否正确,
[0042] 若不正确,则表明交易信息错误,返回交易错误结果,则交易不符合数字资产状态一致性原则,不被验证通过,丢弃错误交易。
[0043] 若校验结果正确,该交易的pre-from和pre-to信息判定校验结果正确,符合数字资产状态一致性原则,可结合交易其他校验结果,判定交易正确,正确的交易可以进入区块中。
[0044] 当新构建一个区块时,将更新MPTC账户状态树,当账户上发生新的交易时,需要在MPTC上更新账户的最新交易指针Tx-hash,计算出merkle root,并将其存储于区块头中。
[0045] 然后获取账户最新交易指针Tx-hash,解析Tx-hash获取该交易的pre-from和pre-to信息。
[0046] 账户上发生的新交易中包含指针pre-from和pre-to,pre-from是该交易发起的区块链账户,pre-to是该交易接收的区块链账户,pre-from和pre-to包含相应区块链账户的最新状态。
[0047] 根据pre-from和pre-to沿区块链向前定位到当前交易的发起账户和接收账户之前的历史交易。继续按照这样的方法依次向前定位,最终获取到该交易相关的发起(from)账户和交易接收(to)账户的两条完整的交易链。
[0048] 如图2所示,数字资产一致性及交易链维护流程:
[0049] 1、节点发送待校验交易pre-from和pre-to信息;
[0050] 2、其他节点校验区块链账户的状态与交易中pre-from和pre-to账户状态信息;
[0051] 3、判断校验状态信息结果是否一致;
[0052] 4、交易校验结果返回不正确,交易不被验证通过,丢弃错误交易;
[0053] 5、交易校验结果返回正确,结合交易的pre-from、pre-to校验结果和交易其他校验情况返回交易正确的校验结果,交易正确可放入区块;
[0054] 6、构建新的MPTC,更新账户最新交易指针Tx-hash,计算merkle root存储于区块头;
[0055] 7、获取账户最新交易指针Tx-hash,解析Tx-hash获取该交易的pre-from和pre-to信息;
[0056] 8、根据pre-from和pre-to的信息沿区块链向前定位校验,分别获取到关于最新交易的两个账户的前一笔交易。依次类推。获得当前交易两个账户的两条完整的交易链。
[0057] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈