本发明专利技术涉及一种用于电子货币的区块链可编辑方法、装置和交易方法,属于区块链技术领域,解决了现有技术中用于电子货币的区块链可编辑方法,难以进行细粒度编辑,并且编辑效率低、计算复杂度高的问题。方法包括:通过变色龙哈希函数生成各区块内Merkle树叶子节点的父节点,以此进行各区块内的Merkle树的构建,将各区块连接构成电子货币区块链;其中,基于杂凑函数和电子货币交易信息生成各区块内Merkle树的叶子节点;根据接收到电子货币交易修改指令,确定待修改原始交易信息在区块链中的区块,进而确定在该区块内Merkle树上的叶子节点,继而通过更新叶子节点完成Merkle树的编辑。辑。辑。
【技术实现步骤摘要】
一种用于电子货币的区块链可编辑方法、装置和交易方法
[0001]本专利技术涉及区块链
,尤其涉及一种用于电子货币的区块链可编辑方法、装置和交易方法。
技术介绍
[0002]随着计算机技术和互联网的不断发展,数据安全越来越重要。区块链作为一种分布式、不可篡改、不可修改的高安全性数据存储技术,已经运用到社会方方面面的领域。虽然区块链的不可篡改性和不可变更性对提供安全保障至关重要,但是同时也阻碍了区块链中内容的修改。目前,各大银行已经搭建了区块链交易平台,并且在实际生产交易中进行了运用。但是区块链的不可更改性,会使电子货币在发行、流通过程中,交易不可撤销,使得电子货币很难在传统支付中应用。
[0003]目前对于区块链可编辑的方法主要非密码学方法、去密码算法和采用密码学算法。非密码学方法采用硬分叉的方法,每修改一个交易需要重新构建整个区块链,影响重大,难以实现。去密码算法采用μ链和采用共识投票的方法,方法过于复杂,效率很低。采用密码学算法包括对整个区块进行编辑和对交易进行编辑,对整个区块进行编辑是将区块链上的区块杂凑值替换为变色龙哈希函数,该方式在每一次交易修改时需要改变一个区块,影响范围大,不能精准的进行编辑;对交易进行编辑是将可能修改的交易的杂凑值替换为变色龙哈希函数,该方式需要提前预判将来可能需要修改的交易,效率较低,计算难度大,难以实际应用。
[0004]因此,目前的用于电子货币的区块链可编辑方法,难以进行细粒度编辑,并且编辑效率低、计算复杂度高。
技术实现思路
[0005]鉴于上述的分析,本专利技术实施例旨在提供一种用于电子货币的区块链可编辑方法、装置和交易方法,用以解决目前的用于电子货币的区块链可编辑方法,难以进行细粒度编辑,并且编辑效率低、计算复杂度高的问题。
[0006]本专利技术实施例提供了一种用于电子货币的区块链可编辑方法,包括以下步骤:
[0007]通过变色龙哈希函数生成各区块内Merkle树叶子节点的父节点,以此进行各区块内的Merkle树的构建,将各区块连接构成电子货币区块链;其中,基于杂凑函数和电子货币交易信息生成各区块内Merkle树的叶子节点;
[0008]根据接收到电子货币交易修改指令,确定待修改原始交易信息在区块链中的区块,进而确定在该区块内Merkle树上的叶子节点,继而通过更新叶子节点完成Merkle树的编辑。
[0009]进一步地,在进行各区块内Merkle树的构建时,变色龙哈希函数的输入包括公钥、消息和随机数,其中,所述消息为Merkle树相应两个叶子节点中杂凑值前后连接后,再基于杂凑函数计算的杂凑值;所述随机数为相应两个叶子节点中杂凑值的异或值。
[0010]进一步地,通过以下方式进行各区块内的Merkle树的构建:
[0011]将区块内的电子货币交易信息分别基于杂凑函数计算杂凑值,将各杂凑值作为Merkle树第一层上的各叶子节点;
[0012]将叶子节点两两配对后,基于变色龙哈希函数计算变色龙哈希值,将各变色龙哈希值作为Merkle树第二层上的各父节点;
[0013]将第二层上相邻的父节点两两配对后,基于杂凑函数计算杂凑值,将各杂凑值作为Merkle树第三层上的各父节点,以此类推,直至只剩一个节点,作为Merkle树的根节点,以此完成Merkle树的构建;
[0014]其中,各区块内的电子货币信息根据交易时间进行划分。
[0015]进一步地,所述各区块内的Merkle树构建时还包括:Merkle树中叶子节点包括该叶子节点中杂凑值对应的电子货币交易信息,以及该叶子节点的父节点的变色龙哈希函数的消息和随机数。
[0016]进一步地,所述根据接收到电子货币交易修改指令,确定待修改原始交易信息在区块链中的区块,进而确定在该区块内Merkle树上的位置,具体为:
[0017]根据所述电子货币交易修改指令中的交易时间确定待修改的原始交易信息在区块链中的区块;
[0018]根据所述电子货币交易修改指令中的杂凑值确定待修改的原始交易信息在Merkle树中的叶子节点。
[0019]进一步地,当Merkle树第二层上的同一父节点下存在一个叶子节点中的交易信息需要修改,则通过以下方式更新父节点下的叶子节点,进行Merkle的编辑:
[0020]获取第二层上更新前父节点的变色龙哈希函数的消息和随机数,并获取私钥;其中,更新前父节点下的一个叶子节点为待修改的原始交易信息位于的叶子节点;
[0021]基于待修改的原始交易信息位于的叶子节点,确定更新后父节点的变色龙哈希函数的消息为更新前父节点下的另一叶子节点的杂凑值;
[0022]将私钥、更新前父节点变色龙哈希函数的消息和随机数、更新后父节点的变色龙哈希函数的消息作为变色龙哈希函数中Forge()算法的输入,计算得到第一随机数;
[0023]将待修改的原始交易信息位于的叶子节点的杂凑值更新为第一随机数,将该叶子节点中的待修改原始交易信息更新为电子货币交易修改指令中的修改后的交易信息,并将两个叶子节点中的消息更新为更新后父节点变色龙哈希函数的消息、随机数更新为第一随机数,完成Merkle树的编辑。
[0024]进一步地,当Merkle树第二层上的同一父节点下两个叶子节点中的交易信息均需要修改,则通过以下方式更新父节点下的叶子节点,进行 Merkle的编辑:
[0025]获取第二层上的更新前父节点的变色龙哈希函数的消息和随机数,并获取私钥;其中,更新前父节点下的两个叶子节点为待修改的原始交易信息位于的两个叶子节点;
[0026]基于待修改的原始交易信息位于的叶子节点,确定更新后父节点的变色龙哈希函数的消息为空;
[0027]将私钥、更新前父节点变色龙哈希函数的消息和随机数、更新后父节点的变色龙哈希函数的消息作为变色龙哈希函数中Forge()算法的输入,计算得到第二随机数;
[0028]基于第二随机数的比特数,将第二随机数划分为第三随机数和第四随机数;
[0029]将两个叶子节点的杂凑值分别更新为第三随机数和第四随机数,将两个叶子节点中的待修改原始交易信息分别更新为电子货币交易修改指令中相应的修改后的交易信息,并将两个叶子节点中的消息更新为更新后父节点变色龙哈希函数的消息、随机数更新为第二随机数,完成Merkle 树的编辑。
[0030]进一步地,所述基于第二随机数的比特数,将第二随机数划分为第三随机数和第四随机数,具体为:
[0031]根据第二随机数的比特总数N,将第二随机数中位于前N/2比特的数值划分为第三随机数,位于后N/2比特的数值划分为第四随机数。
[0032]本专利技术实施例还提供了一种用于电子货币的区块链可编辑装置,包括:
[0033]区块链构建模块,用于通过变色龙哈希函数生成各区块内Merkle树叶子节点的父节点,以此进行各区块内的Merkle树的构建,将各区块连接构成电子货币区块链;其中,基于杂凑函数和电子货币交易信息生成各区块内Me本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种用于电子货币的区块链可编辑方法,其特征在于,包括以下步骤:通过变色龙哈希函数生成各区块内Merkle树叶子节点的父节点,以此进行各区块内的Merkle树的构建,将各区块连接构成电子货币区块链;其中,基于杂凑函数和电子货币交易信息生成各区块内Merkle树的叶子节点;根据接收到电子货币交易修改指令,确定待修改原始交易信息在区块链中的区块,进而确定在该区块内Merkle树上的叶子节点,继而通过更新叶子节点完成Merkle树的编辑。2.根据权利要求1所述的用于电子货币的区块链可编辑方法,其特征在于,在进行各区块内Merkle树的构建时,变色龙哈希函数的输入包括公钥、消息和随机数,其中,所述消息为Merkle树相应两个叶子节点中杂凑值前后连接后,再基于杂凑函数计算的杂凑值;所述随机数为相应两个叶子节点中杂凑值的异或值。3.根据权利要求2所述的用于电子货币的区块链可编辑方法,其特征在于,通过以下方式进行各区块内的Merkle树的构建:将区块内的电子货币交易信息分别基于杂凑函数计算杂凑值,将各杂凑值作为Merkle树第一层上的各叶子节点;将叶子节点两两配对后,基于变色龙哈希函数计算变色龙哈希值,将各变色龙哈希值作为Merkle树第二层上的各父节点;将第二层上相邻的父节点两两配对后,基于杂凑函数计算杂凑值,将各杂凑值作为Merkle树第三层上的各父节点,以此类推,直至只剩一个节点,作为Merkle树的根节点,以此完成Merkle树的构建;其中,各区块内的电子货币信息根据交易时间进行划分。4.根据权利要求3所述的用于电子货币的区块链可编辑方法,其特征在于,所述各区块内的Merkle树构建时还包括:Merkle树中叶子节点包括该叶子节点中杂凑值对应的电子货币交易信息,以及该叶子节点的父节点的变色龙哈希函数的消息和随机数。5.根据权利要求1所述的用于电子货币的区块链可编辑方法,其特征在于,所述根据接收到电子货币交易修改指令,确定待修改原始交易信息在区块链中的区块,进而确定在该区块内Merkle树上的位置,具体为:根据所述电子货币交易修改指令中的交易时间确定待修改的原始交易信息在区块链中的区块;根据所述电子货币交易修改指令中的杂凑值确定待修改的原始交易信息在Merkle树中的叶子节点。6.根据权利要求1或4或5所述的用于电子货币的区块链可编辑方法,其特征在于,当Merkle树第二层上的同一父节点下存在一个叶子节点中的交易信息需要修改,则通过以下方式更新父节点下的叶子节点,进行Merkle的编辑:获取第二层上更新前父节点的变色龙哈希函数的消息和随机数,并获取私钥;其中,更新前父节点下的一个叶子节点为待修改的原始交易信息位于的叶子节点;基于待修改的原始交易信息位于的叶子节点,确定更新后父节...
【专利技术属性】
技术研发人员:林齐平,李鸿利,贾文义,
申请(专利权)人:兴唐通信科技有限公司北京通和实益电信科学技术研究所有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。