环签名指的是一种旨在保护签名者匿名性数字签名方案,因签名中某个参数根据首尾相接形成环状而得名。

比特币虽然具有匿名性,但我们仍然可以在区块浏览器中查询到每笔交易的金额、发送地址和接收地址。这些地址的公开,使得使用者身份被锁定的风险依然存在。为了解决这个问题,一些区块链开始使用群签名的方式,对交易双方进行身份保护。交易者与其他用户组成一个群,然后以群的身份进行签名,验证者只需要验证出这个签名来自这个群,就会视交易为有效,但验证者无法得知这笔交易由群里哪位成员发出,因此更能保护隐私。

但是群签名有一定的局限性,因为群内每个成员间权利不同。虽然群签名能够模糊交易发起者的身份,但是群管理员却可以知晓,因此实际上并不能起到完全匿名的作用。

于是在2001年,环签名在群签名的基础上由Rivest等三位密码学家提出。和群签名一样,环签名的主要原理是通过将交易发送者的私钥混入公钥堆里,从而掩盖交易发送者的真实身份。但不同的是,环签名里没有管理员的身份,每个成员都是平等的。除了交易发起人自己,不会有其他人知道交易是谁发起的。著名的匿名币门罗币,采用的就是环签名。

环签名主要依靠椭圆曲线算法哈希算法加密算法来运行,大致分为三个步骤:
1.首先抓取一定数量的用户与交易发起者(签名者)一起生成一个签名组,并为每个成员生成公钥私钥
2. 签名者使用自己的私钥,和包括自己公钥在内的整个组所有人的公钥对交易进行签名。
3.验证者对环签名进行验证,如果确认签名出自签名组,交易将被视为有效。
整个签名过程中,除了真正的签名者,其他成员无法得知签名者是何人。

环签名的特点

无条件匿名性
使用环形签名进行的交易,交易发起者的地址不会显示在区块链的交易记录中。即使黑客获取了所有人的私钥,也无法确认到底是具体哪个人发起的交易。因此极具私密性,能够极大的保护交易发起者的身份。

不可为造性
环内每个成员的公钥私钥采用的生成机制都是有差别的。环成员之外的人员不会知道内部成员私钥,因此不可能生成一个合法的签名,安全度高。

正确性
如果按照正确的签名步骤对交易进行签名,并且在传播过程中签名没被篡改,签名可以被其他所有人进行有效验证