区块链技术:深入了解Schnorr签名

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

在上一章中,咱们讨论了WisdomChain中运用的聚合签名,它是由运用Schnorr签名的各方生成的对各自密钥的签名的聚合。今日咱们来了解一下Schnorr签名算法的来源和原理。

Schnorr签名算法最初是由德国暗码学家Claus Schnorr于2008年提出的。在暗码学中,它是一种数字签名计划,以其简略高效而出名,其安全性基于某些离散对数问题的难处理性。Schnorr的原理如下所述:

经过小写字母表明数字,比方:a=42。一起,咱们运用一些椭圆曲线上的点。这些点是满足椭圆曲线方程的大数对。

用大写字母表明这些点,比方:A=(4,68)。椭圆曲线上的点能够进行代数运算。两个点能够相加得到第三个点,表明为:C=A+B。一个点能够与本身相加屡次:D=C+C+C。

当咱们将一个点与本身相加屡次时,咱们称其为“乘以一个数”:D=3×C。清楚明了的是,假如将一个点A与本身相加很屡次(或者说将其乘以一个很大的数),然后得到一个点B,假如咱们只知道原始点A和结果点B,计算出与A相乘的这个大数是适当困难的。这里的“困难”意味着,要计算出这个“大数”,咱们不能简略地用B除以A,只能不断猜想一个值x,计算是否x×A等于B。

所以,假如这个x的值十分大,乃至大于宇宙中一切原子数意图和,猜想这个x的值将花费极长的时间。一起,假如或人知道正确的x,计算x×A是十分敏捷的。这种非对称性是咱们讨论的前提。

Alice持有私钥x,然后挑选一个随机数r和椭圆曲线上的原点G,计算R=r×G,公钥X=x×G,运用哈希函数获取一个用于验证的随机数字e=Hash(R,X,message),然后计算s=e×x+r。

Alice将点R、X、message以及点数值s发送给Bob,Bob验证s×G等于R+e×X。实际上,不只Bob,任何人都能够独立验证这个证明。一旦s×G=R+e×X经过验证,就能够证明Alice持有私钥x,并生成了一个合法的签名:(s,e)。

最终,假如要从这个证明中生成签名,Alice需要定制一个哈希函数来对她签名的音讯进行哈希计算。这样能够保证计算出的签名针对某个音讯,不能被复用给另一个音讯。

这个定制的过程能够简略地经过对R、X和签名信息进行哈希来完成。

一个良好的哈希函数,即使只要一个字符有所改变,也会返回完全不同的哈希值,使得计算出s的值是不可能的使命。

Schnorr签名协议的简练描绘如下:

基于此,开发者能够在未来添加更杂乱的概念,比方WisdomChain的聚合签名。聚合签名的优势在于,一个交易中触及的一切输入只需要一个合并签名就能够完成,大大减少了数据处理量,使网络速度更快、更高效。

此时快讯

【SDX与DLT Finance合作为机构客户提供端到端的加密交易和托管服务】金色财经报道,SIX集团旗下的SIX Digital Exchange(SDX)宣布与获得BaFin许可的交易和经纪公司DLT Finance合作,提供端到端加密交易和托管服务。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明:区块链技术:深入了解Schnorr签名 | 币百度

相关文章