群签名和环签名的区别_Monero技术详解(三):核心技术—环签名(1)

在前文介绍了Monero的一次性地址方案。从方案看来,Monero中的UTXO只有一次性地址,用户地址是产生一次性地址的基础,用户对UTXO的所有权并不能显现地看出来。发送人在每次交易时创建一次性地址来接收UTXO,并将一次性地址的相关私密信息(一次性私钥)秘密地传递给接收人,用以保护接收人隐私。这样,每个UTXO都具有不同的一次性地址,同一用户的不同笔UTXO“收入”都看上去没有联系。但是如果仅仅使用一次性地址,那么只要UTXO被花费出去,那么同一交易连接的输入输出的UTXO之间也可以产生联系,也就是说资金的链路还是没有被打断或者混淆,资金的走向还是清晰可见。

从观察者角度来看,每个UTXO可以看成与不同的用户对应。如果发送人在发送交易的时候引入多个UTXO,并且将真正的UTXO混淆与引入的UTXO集合之中,这样观察者追踪资金链路的难度将会加大。多次交易之后资金的追踪将会是实际上不可行。那么问题出现了,如何将多个UTXO涉及的一次性地址“捆绑”在一起呢?这里需要使用到环(群)签名方案。

1. 环签名概念介绍

将真正签名人隐藏于多个“助攻”签名人集合之中这一想法最早起源于群签名,在群签名之中存在分发中心,分发中心不仅负责分发产生与分发密钥,并且有机制可以恢复出真正的签名人。但是在环签名中,分发中心被彻底取消。用户密钥不需要分发,只要用户自己生成,也无法恢复出真正的签名人身份。

具体来说,环签名具有如下几个性质:

  1. 签名人混淆性质:旁观者只能确定签名出自于群体中的某一成员,仅此而已,具体何人,无从得知,

  2. 可链接性:如果同一私钥对不同的消息进行签名,那么有算法可以判定这两个签名出自于同一私钥只手。这种可链接性可与群体有关系,也可与群体无关系。与群体有关系是指,两个环签名所选的混淆群体不同,那么可能无法获知两个环签名是否出自于同一私钥。与群体无关系,就是说无论两个环签名算选的混淆群体是否相同,那么只要这两个环签名出自于同一私钥,就可以链接起来。

  3. 不可伪造性:没有私钥不能伪造一个合法的环签名。

虽然环签名概念本身与Monero并无关系,但是这里依然用Monero的场景来举例说明某几个环签名方案。

2. Version-1: 绑定群体的可链接性

2.1 方案

以3个UTXO作为混淆输入为例。假设发送人Alice拥有某一UTXO,其一次性地址为73c6e35cd3954954844e6cb42a304c6d.png,其对应的一次性私钥是73c6e35cd3954954844e6cb42a304c6d.png。并且假设交易发送给Bob且是单输出(此处多输出并无不同)。Alice同时选择3个一次性地址b5c92f3616bf3505302eb29458c69725.png(不需要拥有其对应的私钥),组成环33745a9707e2f490c01a60ce2b087659.png,接下来Alice如下步骤操作来签名交易信息8f1e1023832f7f7b593a32596dfae112.png:

  1. 利用自己掌握的私钥054dd6dd2e2cf28cd9c975a0edfe2fba.png作:61560af29cb59ad9f44ebd4f9727306f.png;// de19eff4f6afd1db4a322da4f26eb07c.png是椭圆曲线上的点

  2. 产生随机数与69f84c39b22f001236361b8a4f496137.png;// 不产生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值