基于区块链的账户交易信息生成、处理的方法和装置制造方法及图纸

技术编号:27618763 阅读:13 留言:0更新日期:2021-03-10 10:55
本发明专利技术公开了基于区块链的账户交易信息生成、处理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:在交易发起的情况下,确定账户信息,账户信息包括发送地址、接收地址以及参与地址群;其中,参与地址群中包括至少一个交易发起时确定的参与地址;确定交易额信息,交易额信息包括发送地址的输入额、接收地址的输出额、以及参与地址群中每个参与地址的输入额和输出额,发送地址的输入额与每个参与地址的输入额之和,等于接收地址的输出额与每个参与地址的输出额之和;根据交易时间戳和账户信息、交易额信息,生成初始的交易信息。该实施方式解决了账户模型下区块链上交易信息的隐私安全性问题。信息的隐私安全性问题。信息的隐私安全性问题。

【技术实现步骤摘要】
基于区块链的账户交易信息生成、处理的方法和装置


[0001]本专利技术涉及计算机
,尤其涉及基于区块链的账户交易信息生成、处理的方法和装置。

技术介绍

[0002]区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain)本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0003]区块链技术作为价值网络建设的基础设施,以分布式系统、密码学、博弈论为理论基础,通过巧妙的技术设计可以在多个领域为多方协作提供信任基础。它构建一种持续增长的、按序整理成区块的链式数据结构,通过网络中多个节点共同参与数据的计算和记录,并且互相验证其信息的有效性,从而保证数据的安全流动及存储。由于有效性证明的存在,任何人可验证交易数据的完整性,因此区块的内容难以被第三方篡改。
[0004]由于保障了数据的有序性与完整性,因此区块链适合作为账本记录交易流水。在区块链系统中,各节点间维持的是一致的公共账本,此账本记录了系统中每个节点的相关信息,节点间通过一定的共识机制对公共账本进行操作。在共享账本的情况下,网络中的所有用户都可以获取所有存储信息,包括区块和交易。通过交易数据,任何人都可以获取某个账户地址的金额以及追踪资金流向。
[0005]在实现本专利技术过程中,现有技术中至少存在如下问题:
[0006]针对数据安全性的问题,目前虽然区块链提供了假名特性,但并不是完全匿名,仍然存在暴露账户拥有者身份的可能,一旦真实的账户信息被泄露,交易将失去匿名效果,数据隐私安全将被破坏。

技术实现思路

[0007]有鉴于此,本专利技术实施例提供一种基于区块链的账户交易信息生成、处理的方法和装置,能够通过参与地址群对交易方以及交易金额的保密,使得在区块链的账户模型下同时实现隐私数据的保护和交易双方的隐藏,解决了账户模型下区块链上交易信息的隐私安全性问题。
[0008]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种基于区块链的账户交易信息生成的方法。
[0009]本专利技术实施例的基于区块链的账户交易信息生成的方法包括:在交易发起的情况下,确定账户信息,所述账户信息包括发送地址、接收地址以及参与地址群;其中,所述参与地址群中包括至少一个交易发起时确定的参与地址;确定交易额信息,所述交易额信息包括所述发送地址的输入额、所述接收地址的输出额、以及所述参与地址群中每个参与地址的输入额和输出额,所述发送地址的输入额与每个参与地址的输入额之和,等于所述接收
地址的输出额与每个参与地址的输出额之和;确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息,生成初始的交易信息。
[0010]可选地,确定所述交易额信息的步骤,包括:根据所述发送地址的实际输入额以及中间费用,确定所述发送地址的输入额;将所述实际输入额确定为所述接收地址的输出额;根据所述中间费用,确定所述参与地址群中每个参与地址的输入额和输出额,其中,所述发送地址的输入额与每个参与地址的输入额之和,等于所述接收地址的输出额与每个参与地址的输出额之和。
[0011]可选地,根据所述中间费用,确定所述参与地址群中每个参与地址的输入额和输出额,的步骤,包括:确定所述参与地址群中每个参与地址的个数N;产生N个第一随机数,以及确定所述N个第一随机数的总和;在所述参与地址群中每个参与地址的输入额为零的情况下,根据所述N个第一随机数中每个第一随机数与所述总和的比值,将所述中间费用分配给所述参与地址群中的N个参与地址,以确定所述参与地址群中每个参与地址的输出额。
[0012]可选地,在确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息,生成初始的交易信息之前,还包括:确定加密公钥群,所述加密公钥群由区块链中记账节点的公钥群、所述发送地址的公钥、所述输出地址的公钥构成;根据所述加密公钥群,对所述交易额信息进行加密,得到加密后的交易额信息,使得根据所述账户信息以及加密后的交易额信息,生成加密的交易信息。
[0013]可选地,根据所述加密公钥群,对所述交易额信息进行加密,得到加密后的交易额信息的步骤,包括:针对所述发送地址的输入额、所述接收地址的输出额、以及所述参与地址群中每个参与地址的输入额和输出额,分别产生第二随机数;根据所述加密公钥群以及所述第二随机数,对所述发送地址的输入额、所述接收地址的输出额、以及所述参与地址群中每个参与地址的输入额和输出额进行加密。
[0014]可选地,在确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息,生成初始的交易信息的步骤包括:根据所述发送地址的私钥以及所述参与地址群的公钥,构建环签名;确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息、环签名,生成环签名的交易信息。
[0015]可选地,所述中间费用根据所述实际输入额以及预设系数确定。
[0016]为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种基于区块链的账户交易信息处理的方法。
[0017]本专利技术实施例的基于区块链的账户交易信息处理的方法包括:在接收到交易信息后,验证所述交易信息中发送地址、接收地址是否正确以及交易时间戳是否正常;
[0018]在验证通过的情况下,将所述交易信息广播至其他普通节点,以进行共识验证投票;
[0019]将共识验证通过的交易打包至准区块中,并且基于区块高度记录表,更新在途交易账户状态表;其中,所述区块高度记录表中记录有每个地址最新一笔作为发送方参与交易的区块高度;所述在途交易账户状态表中记录有地址参与交易时的账户状态,所述账户状态包括区块高度和交易时间;
[0020]针对所述准区块中的每笔交易,验证其在所述在途交易账户状态表中记录的区块高度与其在所述区块高度记录表中记录的区块高度一致的情况下,将所准区块内的交易进
行入账操作,以及更新所述区块高度记录表以及所述在途交易账户状态表。
[0021]可选地,在将所准区块内的交易进行入账操作之前,还包括:记账节点在接收准区块后,用私钥解密各交易的发送地址的输入额和所述接收地址的输出额,以及验证所述输入额与输出额是否相等;若不相等则返回验证失败,删除该交易在所述在途交易账户状态信息表中的账户信息,并且反馈该交易处理结束。
[0022]可选地,将所准区块内的交易进行入账操作的步骤包括:针对区块高度验证一致的交易,根据其在准区块中的发送地址分组,组内按照交易在所述在途交易状态信息中的账户状态进行排序;根据所述分组以及排序的结果,对组内的交易依次进行入账。
[0023]为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种基于区块链的账户交易信息生成的装置。
[0024]本专利技术实施例的基于区块链的账户交易信息生成的装置包括:
[0025]第一确定模块,用于在交易发起的情况下,确定账户信息,所述账户信息包括发送地址、接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的账户交易信息生成的方法,其特征在于,包括:在交易发起的情况下,确定账户信息,所述账户信息包括发送地址、接收地址以及参与地址群;其中,所述参与地址群中包括至少一个交易发起时确定的参与地址;确定交易额信息,所述交易额信息包括所述发送地址的输入额、所述接收地址的输出额、以及所述参与地址群中每个参与地址的输入额和输出额,所述发送地址的输入额与每个参与地址的输入额之和,等于所述接收地址的输出额与每个参与地址的输出额之和;确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息,生成初始的交易信息。2.根据权利要求1所述的方法,其特征在于,确定所述交易额信息的步骤,包括:根据所述发送地址的实际输入额以及中间费用,确定所述发送地址的输入额;将所述实际输入额确定为所述接收地址的输出额;根据所述中间费用,确定所述参与地址群中每个参与地址的输入额和输出额,其中,所述发送地址的输入额与每个参与地址的输入额之和,等于所述接收地址的输出额与每个参与地址的输出额之和。3.根据权利要求2所述的方法,其特征在于,根据所述中间费用,确定所述参与地址群中每个参与地址的输入额和输出额,的步骤,包括:确定所述参与地址群中每个参与地址的个数N;产生N个第一随机数,以及确定所述N个第一随机数的总和;在所述参与地址群中每个参与地址的输入额为零的情况下,根据所述N个第一随机数中每个第一随机数与所述总和的比值,将所述中间费用分配给所述参与地址群中的N个参与地址,以确定所述参与地址群中每个参与地址的输出额。4.根据权利要求1所述的方法,其特征在于,在确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息,生成初始的交易信息之前,还包括:确定加密公钥群,所述加密公钥群由区块链中记账节点的公钥群、所述发送地址的公钥、所述输出地址的公钥构成;根据所述加密公钥群,对所述交易额信息进行加密,得到加密后的交易额信息,使得根据所述账户信息以及加密后的交易额信息,生成加密的交易信息。5.根据权利要求4所述的方法,其特征在于,所述根据所述加密公钥群,对所述交易额信息进行加密,得到加密后的交易额信息,包括:针对所述发送地址的输入额、所述接收地址的输出额、以及所述参与地址群中每个参与地址的输入额和输出额,分别产生第二随机数;根据所述加密公钥群以及所述第二随机数,对所述发送地址的输入额、所述接收地址的输出额、以及所述参与地址群中每个参与地址的输入额和输出额进行加密。6.根据权利要求1-5任一项所述的方法,其特征在于,在确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息,生成初始的交易信息的步骤包括:根据所述发送地址的私钥以及所述参与地址群的公钥,构建环签名;确定交易时间戳,以及根据所述交易时间戳和账户信息、交易额信息、环签名,生成环签名的交易信息。7.根据权利要求2或3所述的方法,其特征在于,所述中间费用根据所述实际输入额以
及预设系数确定。8.一种基于区块链的账户交易信息处理的方法,其特征在于,包括:在接收到交易信息后,验证所述交易信息中发送地址、接收地址是否正确以及交易时间戳是否正常;在验证通过的情况下,将所述交易信息广播至其他普通节点,以进行共识验证投票;将共识验证通过的交易打包至准区块中,并且基于区块高度记录表,更新在途交易账户状态表;其中,所述区块高度记录表中记录有每个地址最新一笔作为发送方参与交易的区块高度;所述在途交易账户状态表中记录有地址参与交易时的账户状态,所述账户状态包括区块高度和交易时间;针对所述准区块中的每笔交易,验证其在所述在途交易账户状态表中记录的区块高度与其在所述区块高度记录表中记录的区块高度一致的情况下,将所准区块内的交易进行入账操作,以及更新所述区块高度记录表以及所述在途交易账户状态表。9.根据权利要求8所述的方法,其特征在于,在将所准区块内的交易进行入账操作之前,还包括:记账节点在接收准区块后,用私钥解密各...

【专利技术属性】
技术研发人员:王楠
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1