首页 / 专利库 / 银行与财务事项 / 智能合约 / 一种基于环签名的区块链匿名交易方法

一种基于环签名的链匿名交易方法

阅读:459发布:2021-12-25

专利汇可以提供一种基于环签名的链匿名交易方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于环签名的 区 块 链 匿名交易方法。包括如下步骤:1)交易发送者给合约转账,合约存储转账金额并返回一个随机公钥环;2)发送者利用接收者的公钥生成目标地址和一个特定参数R;3)发送者对一组交易信息进行环签名;4)发送者将签名连同其签名内容发送给合约;5)合约将对接收到的环签名进行验证;6)合约将公钥环对应的存储金额从合约账户转账给目标地址;7)接收者获得转账金额,接收者获得对应的目标账户地址和其私钥。本发明解决了传统的 区块链交易 中交易双方的地址完全暴露的问题,实现了区块链上的匿名转账和匿名收账的功能。,下面是一种基于环签名的链匿名交易方法专利的具体信息内容。

1.一种基于环签名的链匿名交易方法,其特征在于,包括如下步骤:
1)交易准备过程,交易发送者调用一个特定的智能合约方法,给合约地址转账,合约存储转账金额,并随机返回一个公钥环,该公钥环包含发送者的公钥;
2)生成目标地址,发送者产生一个随机数,并利用接收者的公钥通过椭圆曲线算法生成目标地址P和参数R,目标地址P=H(r*B)*G+B,参数R=r*G;各个参数含义如下:
G:椭圆曲线算法特定参数,椭圆曲线上的一个基点;
H():一种hash算法;
r:发送者生成的随机数;
B:接收者的公钥,B=b*G,b为接收者的私钥,此算法不可逆,即只能通过b得到B;
3)生成环签名,发送者利用自己的私钥和步骤1)中的公钥环,对一组交易信息进行环签名,其中交易信息包括步骤2)中生成的目标地址和参数R;
4)发送环签名,发送者将签名连同其签名内容发送给合约;
5)验证环签名,合约将对接收到的环签名进行验证,验证成功则会执行操作6),验证失败则不执行操作;
6)执行合约转账,合约将公钥环对应的存储金额从合约账户转账给目标地址,并在交易信息中附带参数R,发送者完成匿名转账;
7)接收者获得转账金额:接收者通过查询最新产生的区块上的所有合约发起的交易信息,提取每笔交易信息中的参数R进行以下运算:
P’=H(b*R)*G+B,
判断得到的P’与交易信息中的目标地址是否一致,若一致,则该交易是发送给自己的,接收者可以进行以下运算得到目标地址P的私钥x;
x=H(b*R)+b,
接收者拥有了目标账户的公私钥,完成匿名收账;
否则,可以得知该段时间没有发送给自己的交易。
2.如权利要求1所述的一种基于环签名的区块链匿名交易方法,其特征在于,所述的步骤1)中合约收到转账后返回一个公钥环,其中合约首先会存储发送者的转账金额,并随机生成特定数量的公钥,公钥环由这些随机生成的公钥和发送者的公钥组成。
3.如权利要求1所述的一种基于环签名的区块链匿名交易方法,其特征在于,所述的步骤3)中,发送者发起交易时,用自己的私钥和步骤1)返回的公钥环对交易信息进行环签名,此处运用算法为环签名的签名算法,环签名算法的特性是环中任意成员生成的环签名都可以通过这个公钥环进行签名验证,不需要对应的公钥来验证签名。
4.如权利要求1所述的一种基于环签名的区块链匿名交易方法,其特征在于,所述的步骤5)中环签名的验证过程,合约接收到交易发送者发送的签名信息,利用合约中的存储的公钥环对签名进行环签名验证,环签名验证算法可以在合约内实现;智能合约作为区块链上的一种去中心化应用的形式存在,智能合约一经部署就无法更改,区块链上的所有用户都可以调用合约方法,合约方法由合约创建者构建,合约内容存储在区块链上,其内容完全公开。将发送者的转账金额和公钥环对应存储在合约上,这样区块链上的其他用户就无法得知这笔金额对应的哪个账户,即实现了区块链上交易的匿名转账。

说明书全文

一种基于环签名的链匿名交易方法

技术领域

[0001] 本发明涉及环签名技术、椭圆曲线算法及区块链技术,尤其涉及一种基于环签名的区块链匿名交易方法。

背景技术

[0002] 区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,用于存储区块链网络上所有用户的余额,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
[0003] 环签名是一种特殊的密码学签名,它能够证明签名者拥有一个对应特定集合公钥的私钥,而不会暴露出签名者的身份(该私钥对应哪个公钥)。该方法可以使签名者隐藏在一个集体中从而达到匿名效果,其技术特点要点是:当用户在转账时可以利用环签名来识别签名者身份,验证时只需要知道签名者所在的集合,不需暴露用户的实际公钥,因此用户的真实得到隐藏。针对传统的区块链交易的交易信息完全公开导致交易双方的身份暴露无遗的问题,环签名技术的应用可以使区块链上的用户实现匿名转账功能。
[0004] 椭圆曲线算法,椭圆曲线算法是一种非对称的加密算法,椭圆曲线的密钥生成算法执行时会生成一对公私钥。在区块链上用户的账户地址就是公钥,用户的私钥就是其对应的私钥。本发明使用椭圆曲线算法产生一个目标地址作为合约的转账地址,目标地址是由发送者产生的随机数结合接收者的公钥生成的,只有交易接收者才能获得目标地址的私钥,因此,区块链上除了交易发送者的其他用户无法得知接收者的真实身份。同样,针对传统的区块链交易的交易信息完全公开导致交易双方的身份暴露无遗的问题,该方法的应用可以使区块链上的用户实现匿名收账功能。

发明内容

[0005] 本发明的目的是针对现有技术的不足,提供一种基于环签名的区块链匿名交易方法。
[0006] 本发明的目的是通过以下技术方案来实现的:在一个区块链网络上,交易发起方通过一个中间合约账户实现匿名转账功能,交易接收方通过一个由发送者生成的目标地址实现匿名收账功能。交易双方的整个匿名交易过程,包括如下步骤:
[0007] 1)交易准备过程,交易发送者调用一个特定的智能合约方法,给合约地址转账,合约存储转账金额,并随机返回一个公钥环,该公钥环包含发送者的公钥;
[0008] 2)生成目标地址,发送者产生一个随机数,并利用接收者的公钥通过椭圆曲线算法生成目标地址P和参数R,目标地址P=H(r*B)*G+B,参数R=r*G;各个参数含义如下:
[0009] G:椭圆曲线算法特定参数,椭圆曲线上的一个基点;
[0010] H():一种hash算法;
[0011] r:发送者生成的随机数;
[0012] B:接收者的公钥,B=b*G,b为接收者的私钥,一般是一串十六进制数字,此算法不可逆,即只能通过b得到B;
[0013] 该步骤生成的目标地址P,除了接收者外,包括发送者在内的其他人无法获得目标地址的私钥;
[0014] 3)生成环签名,发送者利用自己的私钥和步骤1)中的公钥环,对一组交易信息进行环签名,其中交易信息包括步骤2)中生成的目标地址和参数R;
[0015] 4)发送环签名,发送者将签名连同其签名内容发送给合约;
[0016] 5)验证环签名,合约将对接收到的环签名进行验证,验证成功则会执行操作6),验证失败则不执行操作;
[0017] 6)执行合约转账,合约将公钥环对应的存储金额从合约账户转账给目标地址,并在交易信息中附带参数R,发送者完成匿名转账;
[0018] 7)接收者获得转账金额:接收者通过查询最新产生的区块上的所有合约发起的交易信息,提取每笔交易信息中的参数R进行以下运算:
[0019] P’=H(b*R)*G+B,
[0020] 判断得到的P’与交易信息中的目标地址是否一致,若一致,则该交易是发送给自己的,接收者可以进行以下运算得到目标地址P的私钥x;
[0021] x=H(b*R)+b,
[0022] 接收者拥有了目标账户的公私钥,完成匿名收账;到此,接收者可以对目标账户进行任意操作,即接收者接受到了转账金额,交易完成。这里,我们利用发送者产生的目标地址很好的隐藏了接收者的真实身份,即实现了区块链上交易的匿名收账。
[0023] 否则,可以得知该段时间没有发送给自己的交易。
[0024] 进一步地,所述的步骤1)中合约收到转账后返回一个公钥环,其中合约首先会存储发送者的转账金额,并随机生成特定数量的公钥,公钥环由这些随机生成的公钥和发送者的公钥组成。
[0025] 进一步地,所述的步骤3)中,发送者发起交易时,用自己的私钥和步骤1)返回的公钥环对交易信息进行环签名,此处运用算法为环签名的签名算法,环签名算法的特性是环中任意成员生成的环签名都可以通过这个公钥环进行签名验证,不需要对应的公钥来验证签名。
[0026] 进一步地,所述的步骤5)中环签名的验证过程,合约接收到交易发送者发送的签名信息,利用合约中的存储的公钥环对签名进行环签名验证,环签名验证算法可以在合约内实现;智能合约作为区块链上的一种去中心化应用的形式存在,智能合约一经部署就无法更改,区块链上的所有用户都可以调用合约方法,合约方法由合约创建者构建,合约内容存储在区块链上,其内容完全公开。将发送者的转账金额和公钥环对应存储在合约上,这样区块链上的其他用户就无法得知这笔金额对应的哪个账户,即实现了区块链上交易的匿名转账。
[0027] 本发明的有益效果是:本发明在区块链上对用户的转账过程使用环签名技术,以及在用户收账过程中产生一个本不存在的目标账户用于收账,这在满足区块链本身的技术特性的同事实现了交易的匿名转账和匿名收账功能。传统区块链上的交易过程,交易双方的身份信息随交易信息一起被记录在区块链上,交易双方的地址完全公开,这保证了区块链上信息的不可伪造和篡改,但同时暴露了用户交易记录信息。为保护用户的交易隐私,本发明在交易转账过程中用环签名对交易发起者进行身份认证,这样交易发起者隐藏在一组公钥环中,从而使发送者的身份隐藏;在交易收账过程中使用一个临时产生的目标地址作为转账目标账户,即使有人可以追踪交易记录,也无法得知收账人的真实身份。本发明有效地解决了传统区块链上的交易隐私问题。附图说明
[0028] 图1是交易准备过程;
[0029] 图2是发送者执行匿名交易的过程;
[0030] 图3是接收者的匿名收账过程。

具体实施方式

[0031] 下面根据附图和具体实施例详细描述本发明,本发明的目的和效果将变得更加明显。
[0032] 如图1-3所示,本发明基于环签名的区块链匿名交易方法,包括如下步骤:
[0033] 1)交易准备过程,如图1所示,交易发送者调用一个特定的智能合约方法,给合约地址转账,合约存储转账金额,并随机返回一个公钥环,该公钥环包含发送者的公钥;
[0034] 2)生成目标地址,发送者产生一个随机数,并利用接收者的公钥通过椭圆曲线算法生成目标地址P和参数R,目标地址P=H(r*B)*G+B,参数R=r*G;各个参数含义如下:
[0035] G:椭圆曲线算法特定参数,椭圆曲线上的一个基点;
[0036] H():一种hash算法;
[0037] r:发送者生成的随机数;
[0038] B:接收者的公钥,B=b*G,b为接收者的私钥,一般是一串十六进制数字,此算法不可逆,即只能通过b得到B;
[0039] 该步骤生成的目标地址P,除了接收者外,包括发送者在内的其他人无法获得目标地址的私钥;
[0040] 3)生成环签名,发送者利用自己的私钥和步骤1)中的公钥环,对一组交易信息进行环签名,其中交易信息包括步骤2)中生成的目标地址和参数R;
[0041] 4)发送环签名,发送者将签名连同其签名内容发送给合约;
[0042] 5)验证环签名,合约将对接收到的环签名进行验证,验证成功则会执行操作6),验证失败则不执行操作;
[0043] 6)执行合约转账,合约将公钥环对应的存储金额从合约账户转账给目标地址,并在交易信息中附带参数R,发送者完成匿名转账;
[0044] 7)接收者获得转账金额:接收者通过查询最新产生的区块上的所有合约发起的交易信息,提取每笔交易信息中的参数R进行以下运算:
[0045] P’=H(b*R)*G+B,
[0046] 判断得到的P’与交易信息中的目标地址是否一致,若一致,则该交易是发送给自己的,接收者可以进行以下运算得到目标地址P的私钥x;
[0047] x=H(b*R)+b,
[0048] 接收者拥有了目标账户的公私钥,完成匿名收账;到此,接收者可以对目标账户进行任意操作,即接收者接受到了转账金额,交易完成。这里,我们利用发送者产生的目标地址很好的隐藏了接收者的真实身份,即实现了区块链上交易的匿名收账。
[0049] 否则,可以得知该段时间没有发送给自己的交易。
[0050] 进一步地,所述的步骤1)中合约收到转账后返回一个公钥环,其中合约首先会存储发送者的转账金额,并随机生成特定数量的公钥,公钥环由这些随机生成的公钥和发送者的公钥组成。
[0051] 进一步地,所述的步骤3)中,发送者发起交易时,用自己的私钥和步骤1)返回的公钥环对交易信息进行环签名,此处运用算法为环签名的签名算法,环签名算法的特性是环中任意成员生成的环签名都可以通过这个公钥环进行签名验证,不需要对应的公钥来验证签名。
[0052] 进一步地,所述的步骤5)中环签名的验证过程,合约接收到交易发送者发送的签名信息,利用合约中的存储的公钥环对签名进行环签名验证,环签名验证算法可以在合约内实现;智能合约作为区块链上的一种去中心化应用的形式存在,智能合约一经部署就无法更改,区块链上的所有用户都可以调用合约方法,合约方法由合约创建者构建,合约内容存储在区块链上,其内容完全公开。将发送者的转账金额和公钥环对应存储在合约上,这样区块链上的其他用户就无法得知这笔金额对应的哪个账户,即实现了区块链上交易的匿名转账。
[0053] 下面用一个区块链交易实例来说明具体实施方式:
[0054] 模拟用户A向用户B转账的交易,交易发起人A,交易接受者B,A生成的目标地址P。A将交易金额转账给一个特定智能合约,然后合约向目标账户地址转账,最后B取得目标地址的私钥完成收账。具体描述如下:
[0055] 首先,A在正式发起交易之前应当将交易金额存储到特定的智能合约中,如图1所示,交易准备完成后,A将获得从合约方法返回的一个公钥环。发起交易时,A将生产一个新的目标地址并附带参数R,然后A将利用环签名算法对目标地址的相关信息进行签名操作,并将签名发送给合约,如图2所示。合约收到签名信息后,将会对环签名进行验证来判断签名者的身份是否正确。合约向目标账户转账完成后,此时B必须进过收账操作才能获取转账金额。如图3所示,B会查询最近区块链上已经完成的交易,当然只会查询由合约发起的交易。然后B可以通过交易信息中附带的参数R解出目标账户的地址及其私钥,从而拥有目标账户的控制权,即完成收账操作。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈