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

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

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

编辑:xy工作室、NPC

ECDSA签名回顾??

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

Coinbase首席法务官:SEC的回应印证了Coinbase长期以来的担忧:金色财经报道,Coinbase首席法务官Paulgrewal发推特陈诉美国SEC对Coinbase的诉讼,Paulgrewal称,美国SEC声明表示,美国SEC Gensler主席的公开声明不是SEC的正式指导或政策声明,公众不能依赖于此。总的来说,SEC的回应印证了Coinbase长期以来的担忧,加密行业在任何时候都不清楚SEC可能认为什么是在其管辖范围之内或之外,而且SEC可能会继续变动想法。[2023/5/16 15:05:59]

?特币签名算法——

基于SECP256k1曲线的ECDSA

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

Polygon Q4报告:基于Polygon的活跃钱包数Q4创历史新高:金色财经报道,Polygon发布Q4运营报告,报告称,基于Polygon的活跃钱包数呈上升趋势,Q4 创历史新高 1100 万+,较去年 Q4 增长 115%,活跃钱包总数达到 2.06 亿(较 2021 年增长 58%)。

尽管2022下半年主要的交易量大幅下降,但 Polygon 网络保持了月交易量超过 8000 万美元的健康水平。另一方面,Binance 的交易量从年初下降到 6800 万美元左右,不到其一半,Avalanche 一直稳定到 4 月,但到 12 月下降到 280 万美元。

此外,尽管市场放缓,但 Polygon 上的游戏和 DeFi dApp 并未出现大幅下滑。9 月份游戏钱包的激增可归因于 Animoca Brands 推出的免费游戏Benji Bananas,该游戏去年增加了 140 万+ 活跃钱包并处理了 400 万+ 交易。[2023/2/25 12:28:50]

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

美联储博斯蒂克:会在9月份加息时倾向于75个基点:8月26日消息,美联储博斯蒂克表示:数据将决定下一步加息的规模,如果数据很强劲,我会在9月份加息时倾向于75个基点。希望再加息100-125个基点,而且越快越好。希望看到我们的政策利率略高于限制性水平,我认为我们应该(保持高利率)“很长一段时间”。[2022/8/26 12:51:04]

Schnorr签名的平凡?案

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

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

迈阿密国际控股公司与卢卡合作推出加密衍生品:金色财经报道,迈阿密国际控股有限公司(MIH)和Lukka公司(Lukka?)今天宣布,他们已达成战略联盟,在MIH交易所平台上基于Lukka提供的加密数据共同开发和推出一系列专有的加密衍生品。该协议为MIH提供了多年的全球许可,可以使用Lukka数据支持其在交易所上市的加密衍生产品特许经营权,可在MIH所有或关联的任何交易所平台上交易。MIH和Lukka预计将推出的首批产品将包括现金结算的比特币和以太坊期货和期权,将通过CME Globex?交易平台在MGEX上市,但需获得监管部门的批准。(prnewswire)[2022/6/9 4:12:14]

可以看出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-1:827ms