硬核 | 一种基于 Schnoor 算法的多签方案以及钱包架构_SAM:DOT

硬核预警,建议有技术基础的同学使用~

近日比特币核心客户端发布了新的一个大版本,这次发布主要带来了Schnorr签名Taproot技术。Schnorr是一项优雅,简洁,可以提升交易隐私性,节省空间,同时还能实现聚合多签的一种的签名算法。同时它有别于传统的ESDSA签名技术,其在技术及实现方式上有着明显的特点,目前已经较广泛的应用在不同公链的不同环节上。本期非常有幸邀请到密码学专家汉升撰稿,介绍一种基于Schnoor算法的多签方案以及钱包架构。同时在文末为大家推荐了两篇相关科普文章,希望能够一起学习这一项新的技术,以及了解Schnorr签名对于比特币及区块链技术的发展有哪些意义。

编辑:xy工作室、NPC

国务院:推进科普与区块链技术深度融合:为贯彻落实党中央、国务院关于科普和科学素质建设的重要部署,依据《中华人民共和国科学技术进步法》、《中华人民共和国科学技术普及法》制定《全民科学素质行动规划纲要(2021-2035年)》,其中要求实施智慧科普建设工程。推进科普与区块链等技术深度融合,强化需求感知、用户分层、情景应用理念,推动传播方式、组织动员、运营服务等创新升级,加强“科普中国”建设,强化科普信息落地应用,与智慧教育、智慧城市、智慧社区等深度融合。(新华社)[2021/7/10 0:40:52]

ECDSA签名回顾??

数字签名是对签名的数字模拟。最早的数字签名算法是由Rivest、Shamir、Adleman三?于1978年提出的RSA签名算法,其安全性基于?整数分解的难解性,?泛地运?于数字认证与CA等领域。但是由于RSA算法的密钥尺?较?,存储效率不及后来的基于椭圆曲线的签名算法。所以?前?泛运?于密码货币的签名?乎都是ECDSA算法,只是所基于的底层椭圆曲线不同。ECDSA的安全性是基于椭圆曲线离散对数难解性。

声音 | 上海股交所总经理:区块链想要大规模发展要做好社会科普工作:金色财经报道,上海股交所总经理张云峰表示,区块链当前还处于一个“概念”的阶段,距离成熟应用,影响到百姓的日常生活还有很长的路要走。对于“区块链”和其会带来的社会和经济效果,沈阳应当持审慎的态度。区块链想要大规模发展,一方面要做好这项复杂技术的社会科普工作,加快社会大众对区块链的了解。另一方面,要充分发挥市场的作用,让企业用实实在在的技术创新,赋能实体经济的发展。[2019/11/17]

?特币签名算法——

基于SECP256k1曲线的ECDSA

?特币?前所使?的签名算法是基于SECP256k1曲线的ECDSA算法。将交易的详细信息作消息摘要,即z=SHA256(m),对摘要z作核?签名算法。

动态 | 央行官微旧文重发“再科普”:范一飞详解数字货币:据中国经济网消息,今日,央行官微公众号头条重新发布央行副行长范一飞在2018年1月25日题为《关于央行数字货币的几点考虑》的文章,对央行数字货币再次进行科普。同时,微信公众号第二条发布支付司副司长穆长春8月10日在第三届中国金融四十人伊春论坛上的演讲。近年来,各主要国家和地区央行及货币当局均在对发行央行数字货币开展研究,新加坡央行和瑞典央行等已经开始进行相关试验,人民银行也在组织进行积极探索和研究。[2019/8/21]

密码学意义上安全的数字签名需要通过添加随机数来实现签名的随机性。但是根据RFC6979标准,签名算法中的随机数是从消息摘要z中提取出,这不是密码学意义上的随机数。这个?案在众多密码学代码库中,并应?于?多数区块链项?中。

动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]

Schnorr签名的平凡?案

Schnorr签名可以解决上?所提出的多签消耗资源的问题。

Schnorr是由Claus-PeterSchnorr在1989年美密会上提出的数字签名算法,并申请了专利保护。就签名算法本身??,它相对于ECDSA算法具有,可证明安全性、可扩展性的特点。主要算法实现如下:

可以看出Schnorr签名也基于椭圆曲线算术,?前?泛部署于各?代码库、芯?指令中的底层算术模块依?然可以有效利?,但是需要将再重新从底层接?封装指令来实现Schnorr算法。这点对于软件钱包升级?较便利。但是对于硬件钱包,升级成本可能较?。?

Schnorr签名?案的线性性质

假设Alice和Bob分别对于消息m进?签名。具体地,假设Alice的公私钥对为(x1,X1=x1G),Bob的公私(x2,X2=x2G),

以上的?案只是为了展示Schnorr签名的线性性,并不能直接?于实际应?,因为这个?案可能会导致RougekeyAttack。?

基于Schnorr签名的多签?案

1.多签?案

以n-of-m多签?案为例。

2.钱包服务架构钱包分为服务器端(S端)和客户端(C端),C端将有多个逻辑点,对应多个?户。

这?的S端和C端只是逻辑上的,可以在?个物理设备上既有S端也有C端,也可能是多个物理设备上的。?

结论

对于Schnorr的线性性质以及签名可累积性质,使得在?特币多签交易的执?中,不需要过多的?户签名数据,只需要"签名和"与"公钥和"即可验证交易合法性。这会让?特币的多签交易???幅降低,从?区块能容纳的多签交易数量得到较?提?。以2-3多签为例,?前?特币多签的锁定脚本需要3个公钥地址,这部分会被压缩为脚本,所以升级之后???变化,但是解锁脚本需要2个公钥与2个签名,在升级为Schnorr之后,只需要?个"公钥和"与"签名和"。对于更通?的n-m多签,?前?特币多签的解锁脚本需要n个公钥与n个签名,Schnorr签名依然只需要?个"公钥和"与?个"签名和”。也就是说签名?越多,Schnorr签名的空间利?率越?。?

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

金智博客

[0:0ms0-7:373ms