火星链 火星链
Ctrl+D收藏火星链
首页 > KuCoin > 正文

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

作者:

时间:1900/1/1 0:00:00

能增强隐私的多签和潜在复杂脚本扩展性,是比特币下一次分叉的核心改进。

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

那个被你们认定为技术上不思进取的比特币协议,终于引来了一次值得关注的技术升级。比特币协议中具有里程碑意义的技术升级SchnorrSignature和Taproot已集成到刚刚发布的BitcoinCore0.21.0版本中——这绝对值得关注,因为该升级有可能会影响未来3至5年的比特币生态,特别是针对机构级用户和多签的各种应用场景。

当然,对于比特币协议目前重要的关键词是「稳健」和「安全」,所以哪怕这些技术上线之后,社区和生态通常都会相当谨慎,就算不集成支持其实也没什么问题,不然还可能会引入不必要的风险和漏洞。

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

SchnorrSignature是以德国数学家和密码学家Claus-PeterSchnorr命名的数字签名算法,由于在2008年之前处于专利保护的状态,所以中本聪在设计比特币协议时并未使用该签名算法,而是选用了当时更适合且开源的椭圆曲线数字签名算法。

但是比特币核心开发者在将近十多年后却认为,SchnorrSignature才是比特币的未来,因为它在密码学特性上的优势,可以在几乎同等安全的基础上,更方便和「低调」地构建多签名交易,也能为寸土寸金的区块节省不少空间。

比特币协议中除了签名算法之外,还设计了一套脚本语言定义如何使用比特币。Taproot就是一套可以在SchnorrSignature的特性之下,让比特币更强大的全新脚本语言体系,并且,还设计了Tapscript脚本语言,对花费比特币的方式进行了微调——具体的技术细节,这里就不继续展开。

EOA地址Fake_Phishing179849将100枚ETH转入 Tornado Cash:金色财经报道,据CertiK官方推特发布消息称,在Etherscan上被标记为Fake_Phishing179849的EOA(0x5f46 )地址将100枚ETH,(约18.5万美金)转入 Tornado Cash。[2023/8/13 16:23:24]

在这些技术的组合下,比特币多签类地址可以不用暴露出自己的「多签」身份,也可以支持数量众多的多签场景,同时在经济层面上也有些许优势,可以降低链上的交易费用,特别是对于需要高频操作的地址而言,可以节省不少的成本。

比特币协议是如何升级的?

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

粗略来说,比特币协议的升级分为六个阶段:

第一阶段:所有的一切都诞生于一个点子或一个创新的想法,然后比特币的核心开发者们会在邮件中进行初步的阐述和讨论。

第二阶段:提交BIP的草案,这个阶段可能会通过GitHub进行归档。

第三阶段:核心开发者们在邮件中针对提案进行详细的讨论,涉及所有的技术细节或可能的问题、挑战。

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

第五阶段:进行投票,然后等待网络逐步激活,也就是最终的上线。

第六阶段:第三方应用集成支持。

如果我们回顾此前比特币比较重要的协议升级,会发现其实新功能的采用率并不高,而且通常是3年之后也仅仅是极低的采用率。

比如,约三年前的隔离见证升级,为区块提供了些许的扩容,使用隔离见证的地址可以降低一些转账成本。而根据txstats.com的数据,目前储存在隔离见证地址中的比特币数量不到8%。

美国众议院议长麦卡锡:债务协议仍有一些工作未完成:5月27日消息,美国众议院议长麦卡锡对记者表示,我们还没有就债务上限达成协议,仍有一些事情未解决。会在时机成熟时达成债务上限协议。美国财长耶伦提出的新的X日日期(6月5日)不会改变任何事情。麦卡锡还表示国会可在6月5日的截止日期前完成工作。[2023/5/28 9:46:34]

出现这样的情况,一方面的原因是很多BTC资产可能已经丢失,或者对于大型机构而言改造这套体系需要付出太多成本,同时也会引入一些不必要的风险,毕竟安全更重要。不过从积极的方面来看,网络中接近一半的新交易都采用了隔离见证。

而闪电网络协议也是比特币自2018年以来持续迭代更新的Layer2扩容支付通道技术,目前这个网络的容量还处于一个非常小的规模,仅占BTC总量不到万分之一。

所以对于SchnorrSignature和Taproot而言,虽然在最新客户端中已经植入了该功能,但是功能是否会激活启用,以及后续的生态如何支持,还需要看之后三至五年的发展了。钱包、托管商、交易所、大型机构都会按照自己的用户需求、安全需求、功能需求综合考虑,逐步引入。

三年多的布局,由Blockstream主导

当我们整理比特币核心开发者针对SchnorrSignature和Taproot进行讨论和研究的时间线时,发现这个方案从提出到集成已经超过了3年的时间。

虽然SchnorrSignature是Taproot得以实现的基础,但是最早被提出的其实是Taproot——这是一套可以丰富比特币脚本的方案,最初由Blockstream联合创始人GregoryMaxwell在比特币核心开发者邮件组中提出。

半年后,Blockstream另一位联合创始人PieterWuille则提出SchnorrSignature替代比特币现有的椭圆曲线签名,通过其特有的「线性」特点,实现密钥的聚合、提升区块验证速度。

Peter Schiff:ChatGPT不建议将资金分配给比特币,证明人工智能还是相当有智慧的:金色财经报道,欧洲太平洋资本(Euro Pacific Capital)CEO兼首席全球策略师Peter Schiff评论称,ChatGPT不建议将资金分配给比特币,证明人工智能还是相当有智慧的。不过,另有媒体报道称,ChatGPT的回答并不意味着反对加密货币。当ChatGPT被问及对“黄金和比特币”的看法时,它表示选择哪种资产取决于购买者的投资目标。

ChatGPT解释称,黄金是一种有形资产,开采难度大且成本高,使其具有一定程度的稀缺性和内在价值,在经济不确定时期被视为避险投资;而比特币没有实物资产,也不受政府的支持,常被许多人认为是一种投机性投资。

它总结道,对于那些寻求稳定、长期投资的人来说,黄金可能是更好的选择,而比特币可能更适合那些寻求高风险、高回报的人。[2023/4/10 13:53:48]

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

BIP-340:在secp256k1曲线上实现SchnorrSignature

BIP-341:Taproot:隔离见证V1版本的花费规则

BIP-342:Taproot脚本的验证方式

虽然GregoryMaxwell和PieterWuille先后离开了Blockstream,但是SchnorrSignature和Taproot的大多数核心参与者都来自于Blockstream,只有AnthonyTowns一人除外——他之前是Xapo的工程师,后来加入了投资机构Paradigm。

SchnorrSignature有什么用?

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

数据:从Curve中移除8.4万枚ETH的巨鲸已在3天内将7.3万枚转入币安:11月28日消息,据Lookonchain数据,3天前从Curve中移除84131枚ETH(约1亿美元)的巨鲸正在将ETH转移到币安,目前已总共将73224枚ETH(约8570万美元)转移到币安,剩下11884枚ETH(1390万美元)。

据此前报道,11月24日,一巨鲸从Curve的stETH/ETH交易对合约中提取8.4万枚ETH(约合1.03亿美元)。目前stETH/ETH交易对流动性池出现倾斜,stETH占比达72.24%,1stETH兑换0.972ETH。[2022/11/28 21:06:39]

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

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

没错,德国数学家和密码学家Claus-PeterSchnorr在1990年提交了相关专利申请并获批,而对于开源社区来说,在专利失效前是无法采用这套技术的,不然中本聪还真有可能在初版比特币协议实现中采用这套签名算法机制。

相比较ECDSA,SchnorrSignature更像是比特币签名算法应该有的样子。性能提升和签名长短的优势就不提了,更重要的是它的「线性」特点,可以很方便的进行密钥聚合,而不是通过其他特殊技巧实现多签。

这个「线性」也很好理解,各个密钥的参与方可以通过简单的机制处理就可以聚合生成一个新的密钥。而这个聚合的机制可以通过很多种方式进行,比如Blockstream就提出了MuSig和后面的更新版MuSig2。在MuSig2的方案中,多个签名可以从他们各自的私钥中创建一个聚合公钥,然后共同为该公钥创建一个有效签名,并且从原来的三轮交互优化为只需要两轮的交互即可。

Google Cloud将于2023年第一季度为Solana添加BigQuery支持:金色财经报道,Google Cloud 正在与 Solana 合作。Google Cloud 正在运行一个 Solana 验证器来参与和验证网络,并且明年将区块链节点引擎引入 Solana 链,因此任何人都可以轻松在 Google Cloud 中启动专用的 Solana 节点。此外,Google Cloud 正在索引 Solana 数据并将其加入明年的 BigQuery,以使 Solana 开发者生态系统更容易访问历史数据。[2022/11/6 12:21:11]

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

在SchnorrSignature场景中,链上交易只需要一个聚合的公钥和一个签名即可,同时也就能降低很多的交易字节数,也就是降低了转账成本。

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

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

而对于之前的比特币脚本,在交易时是需要暴露出部分多签细节的,所以这也是为什么可以知道地址的多签构成。

BitInfoCharts的比特币富豪榜,后面这个小标记标注了多签地址以及多签规则

此前,因为脚本的限制而无法支持很大数量的多签,也因SchnorrSignature得以实现,这可能会打开很多此前无法想象的应用场景,比如开启一个几百个地址规模的多签地址,实现更去中心化或更多样化的资产托管等。但可能会提升链下交互的复杂度,只能寄希望于MuSig2这些机制可以更快的研发和迭代。

Taproot是什么?

Taproot是一套全新的比特币脚本结构,定义了如何使用和收取Taproot类交易的地址。它最早的概念来自于比特币开发者提出的MAST,所以Taproot可以算是MAST的一种特殊实现。

相比之前的比特币脚本逻辑,MAST概念中最主要的优势是可以以更私密的方式,实现更多样化的逻辑。

在构建一个MAST结构时,可以支持数量很多的脚本,如果这里以两个为例,用户可以提前准备一个主要的支付脚本和一个备用的支付脚本,最终生成一个递归上去的MAST根的哈希值。在使用这笔资产时,用户可以解锁主要的支付脚本,且不暴露备用的支付脚本细节,而是用它的哈希值。

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

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

Taproot也是隔离见证的延续

在比特币协议中,「锁定脚本」定义了如何收取比特币的规则,「解锁脚本」定义了如何使用比特币的规则,如果说前者是创造一个锁,那后者就是一把钥匙。

在三年前的隔离见证升级时,比特币的脚本规则进行了一次大规模的升级,提出了两种全新的脚本规则P2WPKH和P2WSH,也就是现在那些以bc1开头的地址,都是采用了上述的脚本规则之一。P2WPKH通常用在普通的地址上,P2WSH通常用在多签地址中。

另外在隔离见证的升级中,脚本中还预留了一个版本号的概念,所有之前的Segwit脚本规则都采用了V0作为版本号,所以也可以称为SegwitV0。而Taproot则是在Segwit的框架上进行了升级,版本号升级为V1,这也就是BIP341标题中SegwitV1的由来,或者这套脚本规则也可以称为P2TR,以对应P2WPKH和P2WSH的名字。

比如在某一笔交易中,输出脚本中Segwit版本号是V0

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

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

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

在门限签名中,多个签名者需要利用MuSig机制预先构建收款地址;使用时将两个签名进行聚合,即可实现交易。

而在树状结构中构建多签,就可以充分利用Taproot和MAST的优势了。同样是三种可以花费BTC的情况,将一种花费方式放在MAST的外部,而另外两种方式储存在MAST的两个节点中,以此构建收款地址。

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

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

兼容性:问题不大

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

但是未升级的节点是无法验证SegwitV1版本的Taproot类脚本的,会把他们当作是任何人都可以花费的脚本。而对于那些未升级的钱包,可以继续接受和发送SegWitV0版本隔离见证地址,或者更早的传统地址类型。对于部分实施了BIP173逻辑的钱包而言,可能是可以支持将BTC发送给Taproot地址。

不过,核心开发者依旧是鼓励大家升级,以便支持验证这些新型的交易。

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

软分叉一般可以通过多种方式激活,之前多次软分叉是使用BIP9的规则激活的,需要依据大量的算力发出支持的信号,而BIP8也是类似的规则。

所以最终这套方案的上线还是需要矿工和矿池来投票和激活的。根据币印矿池整理的这份Taproot软分叉升级算力支持度来看,目前支持度已经超过90%。而选择哪个具体的激活规则,很多矿池还未公开确认。

来源:https://taprootactivation.com

激活提案的种类还是挺多的,不过从目前已经投票的情况来看,很多都倾向于BIP8的这个方式,也就是这个软分叉并不会强制激活,有1年的投票区间,如果投票通过阈值,就会激活。

但Taproot生态发展速度可能更慢

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

由于SchnorrSignature和Taproot改进的更多是多签相关的场景,所以可以预料到第三方钱包、交易所都会比较谨慎,毕竟这不是一个立竿见影的技术升级。而对于那些有更复杂多签需求的专业用户、专业机构、甚至是依赖于多签的项目,更可能是第一批吃螃蟹的人。

无论如何,哪怕这不是一个用户感知度很高的技术升级,它最终也会因为各种基础设施的集成,实现更多样化的多签、私密性更强的地址类型、潜在的复杂逻辑支持、降低交易成本等各个方面,最终影响到生态内所有的用户。

撰文:潘致雄

标签:比特币TapROOTAPR李笑来的比特币卖给谁了MetaPirateAigROOT价格APR价格

KuCoin热门资讯
STOR:币圈如风:机构再次介入? 多头又开始发起攻势

美东时间01月13日,灰度信托持仓数据变化如下:灰度BTC信托持仓量增加2172.39枚,总持仓量为608814.21BTC;灰度BCH信托持仓量增加89.65枚.

1900/1/1 0:00:00
ALPACA:紧抓实时热点,引步步为盈

新年第二周,币姥爷项目分析圈继续带领圈友紧抓实时热点,捕捉行情机会,UNI、DOT、BNT。币姥爷项目分析圈友已超420人,近一周新进圈友100多位,人气爆棚,感谢大家的支持与信任.

1900/1/1 0:00:00
币虎1月18日18:00上线IMG/USDT交易对

币虎创新区将于2021年1月18日18:00上线IMG/USDT交易对,具体时间如下:1.开放充币:2021年1月18日14:00;2.开放交易:2021年1月18日18:00;3.开放提币:2.

1900/1/1 0:00:00
COM:BKEX Global 关于ETP交易专区部分币种进行份额合并的公告

亲爱的BKEXer:?????由于ETP产品IOST3S、REN3、AVAX3S、SNX3S、KAVA3S、MKR3S、SUSHI3S、COMP3S、DOT3S、SKL3S、OCEAN3S、DO.

1900/1/1 0:00:00
BTC:1.15比特币晚间的行情走势是否如近期的走势再去深度回踩

长长的路,慢慢地走,喧嚣市场中,谁都不是振臂一呼的英雄,无法改变市场节奏就得学着适应,都说万事开头难,然而过程难,后面更难,但是依然坚信的是胜者永不言弃,弃者永不得胜.

1900/1/1 0:00:00
DOT:波卡:一个“运气”更好的EOS?

前言:海外知名领袖、中国狂热追捧、插槽竞拍,这一切是否让你想起“镜像级别”的EOS。仔细调查会发现,波卡上知名项目鱼龙混杂,仿盘、蹭热点、欺诈项目不少.

1900/1/1 0:00:00