作者:潘致雄

一次比特币协议的晋级,或许会预示着未来 3 至 5 年的趋势,尽管我们并不关心比特币的技能迭代,更重视安全和主流人群承受度,但终究一切人都会获益于这次晋级。

那个被你们认定为技能上不思进取的比特币协议,终于引来了一次值得重视的技能晋级。比特币协议中具有里程碑含义的技能晋级 Schnorr Signature (施诺尔签名)Taproot (树的主根)已集成到刚刚发布的 Bitcoin Core 0.21.0 版别中——这绝对值得重视,由于该晋级有或许会影响未来 3 至 5 年的比特币生态,特别是针对组织级用户和多签的各种运用场景。

当然,关于比特币协议现在重要的关键词是「稳健」和「安全」,所以哪怕这些技能上线之后,社区和生态一般都会适当慎重,就算不集成支撑其实也没什么问题,否则还或许会引入不必要的危险和缝隙。

由于这次的晋级是需求经过分叉才干激活的,所以后续还需求看矿池和矿工关于该提案的支撑程度,至少现在来看,矿池和矿工适当活跃,大于 90% 的算力现已宣告会支撑该晋级。

Schnorr Signature 是以德国数学家和暗码学家 Claus-Peter Schnorr 命名的数字签名算法,由于在 2008 年之前处于专利维护的状况,所以中本聪在规划比特币协议时并未运用该签名算法,而是选用了其时更适合且开源的椭圆曲线数字签名算法(ECDSA)

可是比特币中心开发者在将近十多年后却认为,Schnorr Signature 才是比特币的未来,由于它在暗码学特性上的优势,能够在简直平等(乃至更好)安全的根底上,更便利和「低调」地构建多签名买卖,也能为寸土寸金的区块节约不少空间。

比特币协议中除了签名算法之外,还规划了一套脚本语言界说怎么运用比特币。Taproot 便是一套能够在 Schnorr Signature 的特性之下,让比特币更强大的全新脚本语言系统,并且,还规划了 Tapscript 脚本语言,对花费比特币的办法进行了微调——具体的技能细节,这里就不持续展开。

在这些技能的组合下,比特币多签类地址能够不用露出出自己的「多签」身份,也能够支撑数量许多的多签场景,一起在经济层面上也有少许优势,能够下降链上的买卖费用,特别是关于需求高频操作的地址而言,能够节约不少的本钱

比特币协议是怎么晋级的?

在介绍 Schnorr Signature 和 Taproot 之前,有必要先回忆一下比特币协议晋级的流程过程,毕竟这是一件比较其他区块链网络晋级低频许多的事件,乃至许多区块链从业人员也不甚了解。

大略来说,比特币协议的晋级分为六个阶段

  • 第一阶段:一切的一切都诞生于一个点子或一个创新的主意,然后比特币的中心开发者们会在邮件中进行初步的论述和评论。

  • 第二阶段:提交 BIP (比特币改善提案)的草案,这个阶段或许会经过 GitHub 进行归档。

  • 第三阶段:中心开发者们在邮件中针对提案进行详细的评论,涉及一切的技能细节或或许的问题、挑战。

  • 第四阶段:进入正式的开发阶段,以及后续的测验,并将功用加入比特币中心客户端。

  • 第五阶段:进行投票,然后等待网络逐渐激活,也便是终究的上线。

  • 第六阶段:第三方运用集成支撑。

假如我们回忆此前比特币比较重要的协议晋级,会发现其实新功用的选用率并不高,并且一般是 3 年之后也仅仅是极低的选用率。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

比方,约三年前的阻隔见证(SegWit)晋级,为区块供给了少许的扩容,运用阻隔见证的地址能够下降一些转账本钱。而依据 txstats.com 的数据,现在储存在阻隔见证地址中的比特币数量不到 8%。(数据来历:https://txstats.com/dashboard/db/bech32-statistics)

出现这样的状况,一方面的原因是许多 BTC 财物或许现已丢掉,或许关于大型组织而言改造这套系统需求付出太多本钱,一起也会引入一些不必要的危险,毕竟安全更重要。不过从活跃的方面来看,网络中接近一半的新买卖都选用了阻隔见证。(数据来历:https://txstats.com/dashboard/db/segwit-usage)

闪电网络协议也是比特币自 2018 年以来持续迭代更新的 Layer 2 扩容付出通道技能,现在这个网络的容量还处于一个十分小的规划(约 1000 个 BTC),仅占 BTC 总量不到万分之一。

所以关于 Schnorr Signature 和 Taproot 而言,尽管在最新客户端中现已植入了该功用,可是功用是否会激活启用,以及后续的生态怎么支撑,还需求看之后三至五年的发展了。钱包、保管商、买卖所、大型组织都会按照自己的用户需求、安全需求、功用需求归纳考虑,逐渐引入。

三年多的布局,由 Blockstream 主导

当我们整理比特币中心开发者针对 Schnorr Signature 和 Taproot 进行评论和研究的时刻线时,发现这个计划从提出到集成现已超过了 3 年的时刻。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

尽管 Schnorr Signature 是 Taproot 得以完成的根底,可是最早被提出的其实是 Taproot——这是一套能够丰富比特币脚本的计划,最初由 Blockstream 联合创始人 Gregory Maxwell 在比特币中心开发者邮件组中提出。

半年后,Blockstream 另一位联合创始人 Pieter Wuille 则提出 Schnorr Signature 替代比特币现有的椭圆曲线签名(ECDSA),经过其特有的「线性」特色,完成密钥的聚合、提高区块验证速度。

在此之后,这两个技能也就被组合起来作为一个大的计划,一起推进,终究在去年初形成了三个正式版 BIP,进入开发阶段:

  • BIP-340: 在 secp256k1 曲线上完成 Schnorr Signature (注:此前比特币运用的椭圆曲线签名也是选用的 secp256k1 这一条)

  • BIP-341: Taproot:阻隔见证 V1 版别的花费规矩 (注:此前在 2017 年底推出阻隔见证晋级中,运用的是 V0 版别规矩)

  • BIP-342: Taproot 脚本的验证办法(注:该文档描述了修改部分比特币操作码)

尽管 Gregory Maxwell 和 Pieter Wuille 先后离开了 Blockstream,可是 Schnorr Signature 和 Taproot 的大多数中心参与者都来自于 Blockstream,只有 Anthony Towns 一人在外——他之前是 Xapo 的工程师,后来加入了投资组织 Paradigm。

Schnorr Signature 有什么用?

在比特币协议中,判断用户是否有权限运用一笔财物时,除了需求经典的「数字签名」算法这个暗码学组件之外,还构建了一种依据「确定脚本」和「解锁脚本」的概念。

在此之前,中本聪在规划比特币协议时,需求考虑到签名算法的签名长度、是否开源、是否有专利、是否经过足够长时刻的安全验证、功能等多种条件,终究选择了椭圆曲线数字签名算法(ECDSA),还在其他专家的建议下选择了一条特别的椭圆曲线 secp256k1。

可是能满意上述这些条件的数字签名算法不止有 ECDSA,特别是有 Schnorr Signature 这个从各个方面都不亚于 ECDSA 的数字签名算法。而此前中本聪没有选用的理由或许是由于在比特币白皮书诞生的那一年,Schnorr Signature 的专利才失效。

没错,德国数学家和暗码学家 Claus-Peter Schnorr 在 1990 年提交了相关专利申请并获批,而关于开源社区来说,在专利失效前是无法选用这套技能的,否则中本聪还真有或许在初版比特币协议完成中选用这套签名算法机制。

比较较 ECDSA,Schnorr Signature 更像是比特币签名算法应该有的姿态。功能提高和签名长短的优势就不提了,更重要的是它的「线性」特色,能够很便利的进行密钥聚合,而不是经过其他特别技巧完成多签。

这个「线性」也很好理解,各个密钥的参与方能够经过简略的机制处理就能够聚合生成一个新的密钥。而这个聚合的机制能够经过许多种办法进行,比方 Blockstream 就提出了 MuSig 和后边的更新版 MuSig2。在 MuSig2 的计划中,多个签名能够从他们各自的私钥中创立一个聚合公钥,然后一起为该公钥创立一个有效签名,并且从本来的三轮交互(MuSig)优化为只需求两轮的交互即可。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

所以以一个 2-3 的多签买卖来看,本来的传统办法是需求三个公钥加上两个签名才能够建议买卖。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

在 Schnorr Signature 场景中,链上买卖只需求一个聚合的公钥和一个签名即可,一起也就能下降许多的买卖字节数,也便是下降了转账本钱

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

所以,这也就又能带来两个额外的优势:私密性超级多签

由于只需求露出一个签名和公钥,所以关于运用 Schnorr Signature 的地址,很难判断这是否是一个多签的地址,那也就无法得知多签的组成是什么样的,关于外部观察者而言,这便是一个普通的地址。

而关于之前的比特币脚本,在买卖时是需求露出出部分多签细节的,所以这也是为什么能够知道地址的多签构成。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

BitInfoCharts 的比特币富豪榜,后边这个小符号标注了多签地址以及多签规矩

此前,由于脚本的限制而无法支撑很大数量的多签,也因 Schnorr Signature 得以完成,这或许会翻开许多此前无法幻想的运用场景,比方开启一个几百个地址规划的多签地址,完成更去中心化或更多样化的财物保管等。但或许会提高链下交互的杂乱度,只能寄希望于 MuSig2 这些机制能够更快的研发和迭代。

Taproot 是什么?

Taproot 是一套全新的比特币脚本结构,界说了怎么运用和收取 Taproot 类买卖的地址。它最早的概念来自于比特币开发者提出的 MAST (默克尔笼统语法树),所以 Taproot 能够算是 MAST 的一种特别完成。

比较之前的比特币脚本逻辑,MAST 概念中最首要的优势是能够以更私密的办法,完成更多样化的逻辑。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

在构建一个 MAST 结构时,能够支撑数量许多的脚本,假如这里以两个为例,用户能够提前准备一个首要的付出脚本和一个备用的付出脚本,终究生成一个递归上去的 MAST 根的哈希值。在运用这笔财物时,用户能够解锁首要的付出脚本,且不露出备用的付出脚本细节,而是用它的哈希值。

这也就意味着,关于一个无论多杂乱包含多少解锁计划的的 MAST 根,用户在解锁这笔财物时,只需求露出其中的一个脚本即可,其他更多的逻辑都能够用哈希值表现,而不露出任何其他细节。

说回到 Taproot,其本质也是相似的。并且这其中需求签名算法的「线性」特性,所以 Taproot 才需求和 Schnorr Signature 绑定在一起。

Taproot 也是阻隔见证的延续

在比特币协议中,「确定脚本(输出脚本)界说了怎么收取比特币(UTXO)的规矩,「解锁脚本(输入脚本)界说了怎么运用比特币(UTXO)的规矩,假如说前者是发明一个锁,那后者便是一把钥匙。

在三年前的阻隔见证(Segwit)晋级时,比特币的脚本规矩进行了一次大规划的晋级,提出了两种全新的脚本规矩 P2WPKH (Pay to Witness Public Key Hash)P2WSH (Pay to Witness Script Hash),也便是现在那些以 bc1 开头的地址,都是选用了上述的脚本规矩之一。P2WPKH 一般用在普通的地址上,P2WSH 一般用在多签地址中。

别的在阻隔见证的晋级中,脚本中还预留了一个版别号的概念,一切之前的 Segwit 脚本规矩都选用了 V0 作为版别号,所以也能够称为 Segwit V0。而 Taproot 则是在 Segwit 的结构上进行了晋级,版别号晋级为 V1,这也便是 BIP 341 标题中 Segwit V1 的由来,或许这套脚本规矩也能够称为 P2TR (Pay to Taproot),以对应 P2WPKH 和 P2WSH 的姓名。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

比方在某一笔买卖中,输出脚本中 Segwit 版别号是 V0

乃至能够构建多样化的多签系统

在 Schnorr Signature 和 Taproot 的组合下,构建多签的办法也是多种多样的,比方比特币布道者 Steve Lee 就介绍 (https://www.youtube.com/watch?v=fDJRy6K_3yo) 过两种办法,分别是门限签名和 Musig 树(Musig Keytree)

比方关于一个买卖所的热钱包而言,或许是经过三个私钥进行 2-3 的多签,分别是「买卖所私钥」、「可信第三方私钥」、「冷钱包备份私钥」。

在门限签名中,多个签名者需求使用 MuSig 机制预先构建收款地址;运用时将两个签名进行聚合,即可完成买卖。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

而在树状结构(Musig Keytree)中构建多签,就能够充分使用 Taproot 和 MAST 的优势了。同样是三种能够花费 BTC 的状况,将一种花费办法放在 MAST 的外部,而别的两种办法储存在 MAST 的两个节点中,以此构建收款地址。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

假如拥有买卖所密钥和第三方密钥的签名,就能够绕过 MAST 树状结构,直接生成一个聚合的 Taproot 签名,以花费这笔买卖。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

或许用户能够经过解锁「第三方密钥+冷钱包密钥」的脚本,加上 MAST 树另一边脚本的哈希,就能够构建出 Taproot 签名,以花费这笔买卖。当然,用户还有第三种办法花费,也是相同的逻辑。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

兼容性:问题不大

Schnorr Signature 和 Taproot 需求经过软分叉的方法晋级,也便是旧版别协议和客户端能够持续运行,无需做其他调整。

可是未晋级的节点是无法验证 Segwit V1 版别的 Taproot 类脚本的,会把他们当作是任何人都能够花费的脚本(anyone-can-spend scripts)。而关于那些未晋级的钱包,能够持续承受和发送 SegWit V0 版别阻隔见证地址,或许更早的传统地址类型(P2PKH)。关于部分实施了 BIP 173 (Bech32 地址)逻辑的钱包而言,或许是能够支撑将 BTC 发送给 Taproot (Segwit V1)地址。

不过,中心开发者依旧是鼓舞我们晋级,以便支撑验证这些新式的买卖。

矿工算力支撑度已超过 90%

软分叉一般能够经过多种办法激活,之前多次软分叉是运用 BIP 9 的规矩激活的,需求依据许多的算力宣布支撑的信号,而 BIP 8 也是相似的规矩。

所以终究这套计划的上线仍是需求矿工和矿池来投票和激活的。依据币印矿池整理的这份 Taproot 软分叉晋级算力支撑度来看,现在支撑度现已超过 90%。而选择哪个具体的激活规矩,许多矿池还未公开承认。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

来历:https://taprootactivation.com

激活提案的种类仍是挺多的,不过从现在现已投票的状况来看,许多都倾向于 BIP8 (false,1y)的这个办法,也便是这个软分叉并不会强制激活,有 1 年的投票区间,假如投票经过阈值,就会激活。

读懂比特币协议重要里程碑:Schnorr签名和Taproot软分叉升级

但 Taproot 生态发展速度或许更慢

在 Taproot 激活后,接下去的事情就交给下游生态了,不过这应该是一个比较 Segwit 更漫长的普及之路。

由于 Schnorr Signature 和 Taproot 改善的更多是多签相关的场景,所以能够预料到第三方钱包、买卖所都会比较慎重,毕竟这不是一个立竿见影的技能晋级。而关于那些有更杂乱多签需求的专业用户、专业组织、乃至是依赖于多签的项目(比方跨链计划),更或许是第一批吃螃蟹的人。

无论怎么,哪怕这不是一个用户感知度很高的技能晋级,它终究也会由于各种根底设施的集成,完成更多样化的多签、私密性更强的地址类型、潜在的杂乱逻辑支撑、下降买卖本钱等各个方面,终究影响到生态内一切的用户。

视野开拓

在1610年前后,巴黎贵族阶层兴起了一种向宫廷里的女士赠送鲜花的热潮……郁金香的流行至少持续到了1615年,在年轻的国王路易十三的婚礼上,贵族女士们都穿着领口极低的礼服,把剪下来的鲜花别在乳沟处。据说当时最美丽的品种被看作像钻石一样珍贵。-《郁金香热》

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注