数字货币最常见的一种签名方式是多重签名,等同于现实生活中,公司内部的决定需要每个部门进行确认签名,这样理解起来更直观。多重签名也会涉及到一些问题,比如这个签名过程中有人故意对其数据造假。
环签名也是数字签名的一种方案之一,是简化的群签名,与多重签名不同的是,环签名中只有环成员没有管理者,也不需要环成员间的合作。简单来友们这个问题,就是环签名所形成的群组里面,每个人都没有数字身份,仅仅只能知道参与环签名的人是这个组里面的人,却不知道到底是组里的谁,这种签名方式让数字货币具有高度的匿名性,结合了去中心化和非信任的结合。
在匿名币中所使用的正是环签名的方法,我们用生活中的例子来友们这个工作原理,环签名总共分为三个步骤,第一步是生成密钥,在这个群组中,虽然每个人的身份是模糊的,但是都有公钥和私钥,举个例子来说,在一所学校里面,每个学生都有一把大门的钥匙(公钥),除此之外,她们还有自己宿舍的钥匙(私钥)。
第二步是签字确认的过程,宿管阿姨每周会对宿舍进行一个抽查,每次抽查的过程中,就会去找校领导领钥匙或者找学生打开门,这个过程中,每名宿管阿姨是没有私钥的。抽查过程中,拥有公钥和私钥的学生并不知道是哪个宿管阿姨进行抽查的,更不知道她们是找的哪个领导要的钥匙,换言之,宿管阿姨们不知道她们所使用的是谁的私钥,是领导找学生要的,还是领导们自备的一把钥匙。
第三步是签名验证。校领导根据宿管阿姨的抽查结果,可以知道她们已经完成了任务,但不知道她们的钥匙具体是找谁去领的。除非这个过程中,有具体的负责人,否则就要逐个个的问清楚,才知道每名宿管阿姨的钥匙是找的哪个学生或者哪个领导。
通过这个验证过程,我们可以得出一个结论,那就是环签名过程中,没有真正的管理者,责任不是具体到个人。这与其他的签名方式不同,比如公司裁员,先需要部门审批,部门审批后又要给人事部门审批,最后到公司顶层最终决定,这种所采用的签名方式,有具体的负责人,就有可以追踪的具体人,并没有实现去中心化。
环签名整个流程是自发组成、还具有匿名的特征,所以被称之为环签名。
假定有 n 个用户,每一个用户 拥有一个公钥 和与之对应的私钥 。环签名是一个能够实现签名者无条件匿名的签名方案,它主要由下述算法组成:
1)生成Gen。一个概率多项式时间(PPT)算法,输入为安全参数k,输出为公钥和私钥。这里假定 Gen 为每一个用户 ,产生一个公钥 和私钥
,并且不同用户的公私钥可能来自不同的公钥体制,如有的来自RSA,有的来自DL。
2)签名Sign。一个PPT 算法,在输入消息m和 n 个环成员的公钥 L={ y1 , y2 ,?, yn }以及其中一个成员的私钥xs 后,对消息
m产生一个签名 R,其中R 中的某个参数根据一定的规则呈环状。
3)验证Verify。一个确定性算法,在输入(m,R)后,若R 为m 的环签名则输出“True”,否则为“False”。
环签名因为其签名隐含的某个参数按照一定的规则组成环状而得名。而在之后提出的许多方案中不要求签名的构成结构成环形,只要签名的形成满足自发性、匿名性和群特性,也称之为环签名。
免责声明: 文章源于会员发布,不作为任何投资建议
如有侵权请联系我们删除,本文链接:https://www.sws100.com/btc/253239.html