近期的BTC协议开始了一次具有里程碑意义的技术升级。其协议中的技术升级 Schnorr Signature (施诺尔签名)和 Taproot (树的主根)已集成到Bitcoin Core 0.21.0 版本中。 之前BTC一直采用的是 ECDSA 椭圆曲线签名算法,这让多重签名交易验证过程非常繁琐,大大影响了BTC区块确认的效率。 其实在此之前,中本聪在设计BTC协议时,需要考虑到签名算法的签名长度、是否开源、是否有专利、是否经过足够长时间的安全验证、性能等多种条件。当时能满足上述这些条件的数字签名算法不止有 ECDSA,还有 Schnorr Signature 这个从各个方面都不亚于 ECDSA 的数字签名算法。但是由于在 2008 年之前处于专利保护的状态,所以可能是这个原因使得中本聪在设计BTC协议时,不得不选择效率低下的椭圆曲线数字签名算法(ECDSA),还在其他专家的建议下选择了一条特殊的椭圆曲线 secp256k1。 时隔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 签名的好处。 BTC 的此次Schnorr 签名协议升级,在区块链领域里引起了广泛关注,在给自身生态带来积极意义的同时,也为区块链公链开发带来了好的基础刚需。 目前NetFlowCoin的技术团队计划将Schnorr签名升级变化应用在NetFlowCoin,如果能够实现这一技术升级,那么对于公链稳定性及安全性将是极大的提升。 引入 Schnorr 签名的对NetFlowCoin产生的影响有以下几个方面: 节省数据:签名聚合可在NetFlowCoin链上提供数据压缩 隐私:除交易结算外,关于无脚本智能合约的任何东西都不会记录在区块链上(签名聚合过程发生在链下) 多重性:可在单个交易结算中在双方之间转移多种资产(跨链原子交换) 可伸缩性:NetFlowCoin的可伸缩性是通过将多个交易压缩到单个结算事务中实现的。只有满足所有先决条件后,交易才会被广播 结合聚合签名的 Scriptless script 相比标准智能合约,NetFlowCoin公链具有更好的扩展性。因其合约执行是发生在链下的,通过将此执行结果推送给关心它的人,NetFlowCoin公链的公共计算资源可以减轻存储合约数据和执行条件的负担。NetFlowCoin公链非公开的合约也可以提供更好的隐私性。合约的详情只有参与者可以知晓,对于其他人来说,该笔交易与普通的交易并没有什么区别 对于NetFlowCoin团队来说,在未来采用 Schnorr 签名也是技术上的一次飞跃,通过实施协议优化和升级,我们可以使流量价值通证(NFC)的发展突破当前瓶颈。在未来的公链生态中,谁能掌握更加成熟的底层技术将是区块链应用落地的最重要的条件,NetFlowCoin面对竞争将不断改进。NetFlowCoin开发团队也很高兴致力于建设必要的基础设施,使NFC逐渐成为世界级的优秀通证。 —- 编译者/作者:链望角123 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
深度Schnorr签名给NetFlowCoin带来的意义
2021-03-05 链望角123 来源:区块链网络
LOADING...
相关阅读:
- MCDEX V3 版计划增加对股票、大宗商品等合约市场的支持2021-03-05
- NFTInsider#1:OpenSea2月交易额增长11倍Banksy作品被烧毁并将铸造为NFT2021-03-05
- 三元社区联合CUDOSAMA访谈2021-03-05
- 灰度资产管理总规模略降至385亿美元,MUSO迎头赶上2021-03-05
- 22%的受访者预计比特币价值将到达10万美元,MUSO公链代币价值能达到多少2021-03-05