比原链价格 - BTM币比原链行情,比原链今日价格,BTM币最新价格

了解BTC协议要紧里程碑:Schnorr签名和Taproot软分叉升级

作者:潘致雄 一次BTC协议的升级,可能会预示着将来 3 至 5 年的趋势,虽然大伙并不关心BTC的技术迭代,更关注安全和主流人群同意度,但最后所有人都会受益于这次升级。 那个被你们认定为技术上不思进取的BTC协议,终于引来了一次值得关注的技术升级

甚至可以构建多样化的多签体系

在 Schnorr Signature 和 Taproot 的组合下,构建多签的方法也是多种多样的,譬如BTC布道者 Steve Lee 就介绍 过两种办法,分别是门限签名和 Musig 树(Musig Keytree)

譬如对于一个交易平台的热钱包而言,可能是通过三个私钥进行 2-3 的多签,分别是「交易平台私钥」、「可信第三方私钥」、「冷钱包备份私钥」。

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

而在树状结构(Musig Keytree)中构建多签,就可以充分借助 Taproot 和 MAirSwap 的优势了。同样是三种可以花费 比特币 的状况,将一种花费方法放在 MAirSwap 的外部,而另外两种方法储存在 MAirSwap 的两个节点中,以此构建收款地址。

假如拥有交易平台密钥和第三方密钥的签名,就可以绕过 MAirSwap 树状结构,直接生成一个聚合的 Taproot 签名,以花费这笔买卖。

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

Schnorr Signature 和 Taproot 需要通过软分叉的形式升级,也就是旧版本协议和推广客户端可以继续运行,不需要做其他调整。

但未升级的节点是没办法验证 Segwit V1 版本的 Taproot 类脚本的,会把他们当作是其他人都可以花费的脚本(anyone-can-spend scripts)。而对于那些未升级的钱包,可以继续同意和发送 SegWit V0 版本隔离见证地址,或者更早的传统地址类(点对点KH)。对于部分推行了BIP 173(Bech32 地址)逻辑的钱包而言,可能是可以支持将 比特币 发送给 Taproot(Segwit V1)地址。

不过,核心开发者依然是鼓励大伙升级,以便支持验证这部分新的买卖。

软分叉通常可以通过多种方法激活,之前多次软分叉是用 BIP 9的规则激活的,需要依据很多的算力发出支持的信号,而 BIP 8 也是类似的规则。

所以最后这套策略的上线还要矿工和矿池来投票和激活的。依据币印矿池收拾的这份 Taproot 软分叉升级算力支持度来看,现在支持度已经超越 90%。而选择什么具体的激活规则,不少矿池还未公开确认。

Schnorr Signature 有哪些用?

在BTC协议中,判断用户是不是有权限用一笔资产时,除去需要经典的「数字签名」算法这个密码学组件以外,还构建了一种基于「锁定脚本」和「解锁脚本」的定义。

在此之前,中本聪在设计BTC协议时,需要考虑到签名算法的签名长度、是不是开源、是不是有专利、是不是经过足够长期的安全验证、性能等多种条件,最后选择了椭圆曲线数字签名算法(ECDSA),还在其他专家的建议下选择了一条特殊的椭圆曲线 secp256k1。

但能满足上述这部分条件的数字签名算法不止有 ECDSA,尤其是有 Schnorr Signature这个从每个方面都不亚于 ECDSA 的数字签名算法。而此前中本聪没使用的原因可能是由于在BTC白皮书诞生的那一年,Schnorr Signature 的专利才失效。

没错,德国数学家和密码学家 Claus-Peter Schnorr 在 1990 年提交了有关专利申请并获批,而对于开源社区来讲,在专利失效前是没办法使用这套技术的,不然中本聪还真大概在初版BTC协议达成中使用这套签名算法机制。

相比较 ECDSA,Schnorr Signature 更像是BTC签名算法应该有些样子。性能提高和签名长短的优势就不提了,更要紧的是它的「线性」特征,可以很便捷的进行密钥聚合,而不是通过其他特殊方法达成多签。

这个「线性」也非常不错理解,各个密钥的参与方可以通过容易的机制处置就可以聚合生成一个新的密钥。而这个聚合的机制可以通过非常多种方法进行,譬如 Blockstream 就提出了 MuSig 和后面的更新版 MuSig2。在 MuSig2 的策略中,多个签名可以从他们各自的私钥中创建一个聚合公钥,然后一同为该公钥创建一个有效签名,并且从原来的三轮交互(MuSig)优化为仅需两轮的交互即可。

所以以一个 2-3 的多签买卖来看,原来的传统方法是需要三个公钥加上两个签名才可以发起买卖。

在 Schnorr Signature 场景中,链上买卖仅需一个聚合的公钥和一个签名即可,同时也就能减少不少的买卖字节数,也就是减少了转账本钱。

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

因为仅需暴露一个签名和公钥,所以对于用 Schnorr Signature 的地址,非常难判断这是不是是一个多签的地址,那也就没办法得知多签的组成是哪种,对于外部察看者而言,这就是一个一般的地址。

而对于之前的BTC脚本,在买卖时是需要暴露出部分多签细则的,所以这也是为何可以知晓地址的多签构成。

BitInfoCharts 的BTC有钱人榜,后面这个小标记标注了多签地址与多签规则

此前,由于脚本的限制而没办法支持非常大数目的多签,也因 Schnorr Signature 得以达成,这可能会打开不少此前没办法想象的应用场景,譬如开启一个几百个地址规模的多签地址,达成更去中心化或更多样化的资产推广托管等。但可能会提高链下交互的复杂度,只能寄期望于MuSig2这部分机制可以更快的研发和迭代。

Taproot 是一套全新的BTC脚本结构,概念了怎么用和收取 Taproot 类买卖的地址。它最早的定义源于BTC开发者提出的MAirSwap(默克尔抽象语法树),所以 Taproot 可以算是 MAirSwap 的一种特殊达成。

相比之前的BTC脚本逻辑,MAirSwap 定义中最主要的优势是可以以更私密的方法,达成更多样化的逻辑。

在构建一个 MAirSwap 结构时,可以支持数目不少的脚本,假如这里以两个为例,用户可以提前筹备一个主要的支付脚本和一个备用的支付脚本,最后生成一个递归上去的 MAirSwap 根的哈希值。在用这笔资产时,用户可以解锁主要的支付脚本,且不暴露备用的支付脚本细则,而是用它的哈希值。

这也就意味着,对于一个无论多复杂包含多少解锁策略的的 MAirSwap 根,用户在解锁这笔资产时,仅需暴露其中的一个脚本即可,其他更多的逻辑都可以用哈希值体现,而不暴露任何其他细则。

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

在BTC协议中,「锁定脚本」(输出脚本)概念了怎么样收取BTC(UTXO)的规则,「解锁脚本」(输入脚本)概念了怎么用BTC(UTXO)的规则,假如说前者是创造一个锁,那后者就是一把钥匙。

在三年前的隔离见证(Segwit)升级时,BTC的脚本规则进行了一次大规模的升级,提出了两种全新的脚本规则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 的名字。

譬如在某一笔买卖中,输出脚本中 Segwit 版本号是 V0

作者:潘致雄

一次BTC协议的升级,可能会预示着将来 3 至 5 年的趋势,虽然大伙并不关心BTC的技术迭代,更关注安全和主流人群同意度,但最后所有人都会受益于这次升级。

那个被你们认定为技术上不思进取的BTC协议,终于引来了一次值得关注的技术升级。BTC协议中具备里程碑意义的技术升级Schnorr Signature(施诺尔签名)和Taproot(树的主根)已集成到刚刚发布的比特币 Core 0.21.0版本中——这绝对值得关注,由于该升级大概会干扰将来 3 至 5 年的BTC生态,尤其是针对机构级用户和多签的各种应用场景。

当然,对于BTC协议现在要紧的关键字是「稳健」和「安全」,所以就算这部分技术上线之后,社区和生态一般都会相当小心,即使不集成支持其实也没那些问题,不然还可能会引入非必须的风险和漏洞。

因为这次的升级是需要经过软分叉才能激活的,所将来续还需要看矿池和矿工对于该提案的支持程度,至少现在来看,矿池和矿工相当积极,大于 90% 的算力已经宣布会支持该升级。

Schnorr Signature 是以德国数学家和密码学家 Claus-Peter Schnorr命名的数字签名算法,因为在 2008 年之前处于专利保护的状况,所以中本聪在设计BTC协议时并未用该签名算法,而是使用了当时更合适且开源的椭圆曲线数字签名算法(ECDSA)

但BTC核心开发者在将近十多年后却觉得,Schnorr Signature 才是BTC的将来,由于它在密码学特质上的优势,可以在几乎同等(甚至更好)安全的基础上,更便捷和「低调」地构建多签名买卖,也能为寸土寸金的区块节省不少空间。

BTC协议中除去签名算法以外,还设计了一套脚本语言概念怎么用BTC。Taproot 就是一套可以在 Schnorr Signature 的特质之下,让BTC更强大的全新脚本语言体系,并且,还设计了Tapscript脚本语言,对花费BTC的方法进行了微调——具体的技术细则,这里就不继续展开。

在这部分技术的组合下,BTC多签类地址可以不需要暴露源于己的「多签」身份,也可以支持数目海量的多签场景,同时在经济层面上也有的许优势,可以减少链上的买卖成本,尤其是对于需要高频操作的地址而言,可以节省不少的本钱。

在介绍 Schnorr Signature 和 Taproot 之前,有必要先回顾一下BTC协议升级的步骤步骤,毕竟这是一件相比其他区块链互联网升级低频很多的事件,甚至很多区块链从业职员也不甚知道。

粗略来讲,BTC协议的升级分为六个阶段:

假如大家回顾此前BTC比较要紧的协议升级,会发现其实新功能的使用率并不高,而且一般是 3 年之后也只是极低的使用率。

譬如,约三年前的隔离见证(SegWit)升级,为区块提供了些许的扩容,用隔离见证的地址可以减少一些转账本钱。而依据 txstats.com 的数据,现在储存在隔离见证地址中的BTC数目不到 8%。(数据出处:https://txstats.com/dashboard/db/bech32-statistics)

出现这种情况,一方面是什么原因不少 比特币 资产可能已经丢失,或者对于大机构而言改造这套体系需要付出太多本钱,同时也会引入一些非必须的风险,毕竟安全更要紧。不过从积极的方面来看,互联网中接近一半的新买卖都使用了隔离见证。(数据出处:https://txstats.com/dashboard/db/segwit-usage)

而闪电互联网协议也是BTC自 2021 年以来持续迭代更新的Layer 2 扩容支付通道技术,现在这个互联网的容量还处于一个很小的规模(约 1000 个 比特币),仅占 比特币 总量不到万分之一。

所以对于 Schnorr Signature 和 Taproot 而言,虽然在最新推广客户端中已经植入了该功能,但功能会不会激活启用,与后续的生态怎么样支持,还需要看之后三至五年的进步了。钱包、推广托管商、交易平台、大机构都会根据我们的用户需要、安全需要、功能需要综合考虑,逐步引入。

当大家整理BTC核心开发者针对 Schnorr Signature 和 Taproot 进行讨论和研究的时间线时,发现这个策略从提出到集成已经超越了 3 年的时间。

虽然 Schnorr Signature 是 Taproot 得以达成的基础,但最早被提出的其实是 Taproot——这是一套可以丰富BTC脚本的策略,刚开始由 Blockstream联合开创者Gregory Maxwell在BTC核心开发者邮件组中提出。

半年后,Blockstream 另一位联合开创者 Pieter Wuille则提出 Schnorr Signature 替代BTC现有些椭圆曲线签名(ECDSA),通过其特有些「线性」特征,达成密钥的聚合、提高区块验证速度。

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

虽然 Gregory Maxwell 和 Pieter Wuille 先后离开了 Blockstream,但 Schnorr Signature 和 Taproot 的大部分核心参与者都源于 Blockstream,只有 Anthony Towns一人除外——他之前是Xapo的工程师,后来加入了资金投入机构 Parapgm。


版权保护: 本文由 比原链价格 原创,转载请保留链接: http://www.tenpinbowlingjobs.com/xinwen/52.html