http://www.7klian.com

深度Schnorr签名给NetFlowCoin带来的意义

近期的BTC协议开始了一次具有里程碑意义的技能进级。其协议中的技能进级 Schnorr Signature (施诺尔签名)和 Taproot (树的主根)已集成到Bitcoin Core 0.21.0 版本中。

之前BTC一直回收的是 ECDSA 椭圆曲线签名算法,这让多重签名生意业务验证进程很是繁琐,大大影响了BTC区块确认的效率。

其实在此之前,中本聪在设计BTC协议时,需要思量到签名算法的签名长度、是否开源、是否有专利、是否颠末足够长时间的安详验证、机能等多种条件。其时能满意上述这些条件的数字签名算法不止有 ECDSA,尚有 Schnorr Signature 这个从各个方面都不亚于 ECDSA 的数字签名算法。可是由于在 2008 年之前处于专利掩护的状态,所以大概是这个原因使得中本聪在设计BTC协议时,不得不选择效率低下的椭圆曲线数字签名算法(ECDSA),还在其他专家的发起下选择了一条非凡的椭圆曲线 secp256k1。

深度Schnorr签名给NetFlowCoin带来的意义

时隔10年,2018 年 7 月,BTC开拓者 Pieter Wuille 撰写了 bip-schnorr提出了将 bitcoin 的签名算法变动为 schnorr 方案。Schnorr 与 ECDSA 固然同为利用 secp236k1 曲线的椭圆曲线加密算法,但由于Schnorr Signature 在暗码学特性上的优势,可以在险些同等安详的基本上,更利便的构建多签名生意业务。

Schnorr 利用在BTC上,对比ECDSA会有一些特另外显著优势:

更安详:在随机预言模子中很容易证明 Schnorr 签名的安详性,而 ECDSA 不存在这样的证明。

无延展性困扰:ECDSA签名是可延展性的,第三方无需知道私钥,可以直接修改既有签名,依然可以或许保持该签名对付此生意业务是有效的。BTC一直存在延展性进攻,直到SegWit激活后才修复,前提是利用segwit生意业务,而不是传统生意业务。BIP62 和 BIP66 对此有具体描写。

线性:Schnorr签名算法是线性的!以这一特性作为基本,可以构建更高效和隐私性更强的区块链系统。利用 Schnorr 签名的各方可以生成对其各自密钥的签名聚合。譬喻,,N个公钥举办签名,回收ECDSA的话,则有N个签名,验证同样需要做N次。若利用Schnorr,由于线性特性,则可以举办签名叠加,仅保存最终的叠加签名。譬喻同一个生意业务无论输入数量几多,其均可叠加为一个签名,一次验证即可。

Schnorr签名算法险些在各个层面均优于BTC现有的签名算法ECDSA

机能,安详,体积,扩展性等方面等,而且Schnorr Sig可以与ECDSA利用同一个椭圆曲线:secp256k1 curve,进级起来的窜改很是小。

虽然在BTC协议中除了签名算法之外,还设计了Taproot 剧本语言界说如何利用BTC。BTC多签类地点可以不消袒暴露本身的「多签」身份,也可以支持数量浩瀚的多签场景(链上生意业务只需要一个聚合的公钥和一个签名),低落许多的生意业务字节数,出格是对付需要高频操纵的地点而言,低落链上的生意业务用度,可以节减不少的本钱。

下面来科普一下Schnorr 签名

Schnorr签名算法是由德国数学家、暗码学家Claus Schnorr提出。并于1990年申请了专利,U.S. Patent 4,995,082,该专利于2008年2月失效。今朝该算法可以自由利用。

Schnorr 签名的生成则略有差异,我们利用了一个点 R 和一个标量 s 来取代两个标量(r,s)。与 ECDSA 相似的是,R 是椭圆曲线(R=K×G)上的一个随机点。签名的第二部门计较略有差异 :

s = k + hash(P,R,m) ? pk. 这里的 pk 是你的私钥,而 P = pk×G 则是你的公钥,m 是动静。然后可通过查抄 s×G = R + hash(P,R,m)×P 来验证这个签名。

深度Schnorr签名给NetFlowCoin带来的意义

这个方程是线性的,所以方程可相互加减,而且仍然有效,这就给我们带来了几大关于 Schnorr 签名的长处。

BTC 的此次Schnorr 签名协议进级,在区块链规模里引起了遍及存眷,在给自身生态带来努力意义的同时,也为区块链公链开拓带来了好的基本刚需。

今朝NetFlowCoin的技能团队打算将Schnorr签名进级变革应用在NetFlowCoin,假如可以或许实现这一技能进级,那么对付公链不变性及安详性将是极大的晋升。

引入 Schnorr 签名的对NetFlowCoin发生的影响有以下几个方面:

节减数据:签名聚合可在NetFlowCoin链上提供数据压缩

隐私:除生意业务结算外,关于无剧本智能合约的任何对象都不会记录在区块链上(签名聚合进程产生在链下)

多重性:可在单个生意业务结算中在两边之间转移多种资产(跨链原子互换)

可伸缩性:NetFlowCoin的可伸缩性是通过将多个生意业务压缩到单个结算事务中实现的。只有满意所有先决条件后,生意业务才会被广播

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读