宇宙链 宇宙链
Ctrl+D收藏宇宙链

金色硬核 | 比特币2020年或迎来最大升级 什么是Tapscript? 一文读懂

作者:

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

金色财经近期推出金色硬核(Hardcore)栏目,为读者提供热门项目介绍或者深度解读。

尽管3月12日比特币大跌,让币圈人士很是受伤。但作为一名投资人还是应该多关注技术进展,毕竟技术进步是比特币的价值根源。正如2017年的“隔离见证”见证了2017年的比特币大牛市,希望比特币新的技术突破能带领比特币走出泥沼。

正如我们在“BTC第三次减半全解读”中所说,比特币在2020年值得关注的一个进展就是Schnorr/Taproot/Tapscript软分叉,计划的这次分叉将包含三个比特币改进协议BIP 340、341和342。我们将对这三个BIP进行系列解读,上两期金色硬核(Hardcore)解读了Schnorr签名的BIP340和Taproot的BIP341。

本期聚焦Tapscript。看什么是Tapscript协议以及如何激活比特币改进协议(或BIP),enjoy it

Tapscript(BIP 342)

本次升级提案的第三部分BIP 342描述的是Schnorr和Taproot的补充升级,称为Tapscript。如我们在Schnorr/Taproot/Tapscript的第一篇文章中所述,比特币脚本用于决定比特币的花费策略。

BIP 342改进了签名的哈希算法,因此我们可以验证taproot脚本,从而引入灵活性,添加了新的操作码以增强比特币的智能合约功能,并且还更改了对资源要求的一些限制。

金色财经挖矿收益播报丨BTC全网算力约103.81EH/s:金色财经报道,据OKEx矿池数据显示,今日BTC全网算力约103.81EH/s,全网难度约15.14T,BTC当前块高632830。

随着丰水期矿机迁徙,新疆、内蒙火电场地陆续关停。当前BTC收益(PPS):0.00000831BTC/T/天。预测下次难度13.40T(-11.49%),距离调整还剩还有1天。[2020/6/3]

什么是操作码(Opcodes)?

操作码(Opcodes)是操作码(operation codes)的缩写,基本上是脚本语句或命令。这些命令可以返回“ TRUE”或“ FALSE”,用于发送/接收交易。

例如,脚本指令指定了解锁脚本所需的签名数量。它们还指示了交易的比特币数量以及收款人地址。

操作码可用于删除堆栈中的项目并执行计算,然后将结果添加回堆栈中。请记住,作为基于堆栈的编程语言,脚本指令是按照从堆栈顶部到底部的顺序执行的。

什么是Tapscript?

作为比特币编程语言(脚本)的升级版,Tapscript更容易添加新功能,且提供基于Schnorr签名的批量验证(batch verifiability)。

什么是批量验证?Schnorr/Taproot/Tapscript系列第一篇讲过。

Tapscript还补充了BIP 341(Taproot)中提出的对比特币脚本结构的改进,该结构需要更改某些操作码,而BIP 342则涉及需要进行的更改。

理解Tapscript的另一种方法是考虑Taproot的Merkle树,其中每个叶子(leaf)都是一个脚本,可称之为叶子版本,类似于SegWit的脚本版本控制。

金色财经挖矿数据播报 | BCH今日全网算力下降6.44%:金色财经报道,据蜘蛛矿池数据显示:

ETH全网算力179.452TH/s,挖矿难度2341.22T,目前区块高度10100016,理论收益0.00855255/100MH/天。

BTC全网算力97.739EH/s,挖矿难度16.10T,目前区块高度630889,理论收益0.00000780/T/天。

BSV全网算力1.886EH/s,挖矿难度0.28T,目前区块高度635667,理论收益0.00047712/T/天。

BCH全网算力2.367EH/s,挖矿难度0.32T,目前区块高度635897,理论收益0.00038025/T/天。[2020/5/20]

但是不同之处在于,脚本不会在付款时显示,而只会在花费时显示。不同的叶子可以具有不同的版本,其中仅显示实际使用的叶子。Tapscript是Taproot下版本0的叶版本。

Tapscript与传统和SegWit的比特币脚本共享大多数操作,但有一些区别:

签名操作码验证Schnorr签名(而不是ECDSA签名)。

多签操作码OP_CHECKMULTISIG和OP_CHECKMULTISIGVERIFY被操作码OP_CHECKSIGADD代替,允许使用Schnorr进行签名批量验证。

由于签名验证是比特币脚本中最耗费CPU的操作,因此这些操作码对实现与基于Schnorr的多重签名方案相关的效率提升至关重要。

当前,用于2-of-3的多重签名交易的脚本如下所示:

2 <公钥A> <公钥B> <公钥C> 3 CHECKMULTISIG

金色实力派 | 对话谢纬:揭秘区块链第一城娄底的“小城大计”:当下区块链与实体经济相结合已成为不可阻挡的时代大潮,金色财经推出“区块链+产业新模式”系列访谈“实力派”,对话走在“区块链+”最前端的企业和机构。1月20日13:00,央视财经节目主持人吴建华,金色财经内容总监王瑜琨携手对话娄底市国家级区块链研究和应用示范推进领导小组办公室副主任、CCF区块链专委会通讯委员谢纬,揭秘湖南“链城”娄底的“小城大计”。直播详情可扫描二维码或查看原文链接。[2020/1/20]

使用Taproot/Tapscript,可以以批量验证的方式创建相同的多重签名策略,其脚本是:

<A pubkey> OP_CHECKSIG <B pubkey> OP_CSADD <C pubkey> OP_CHECKSIGADD OP_2 OP_EQUAL

许多操作码被重新定义为OP_SUCCESS操作码,它无条件使整个脚本有效,以简化软分叉升级。

与现在正使用的机制OP_NOP相比,新操作码OP_SUCCESS的引入更容易验证。

以前无法使用的操作码通常返回“FALSE”状态,Tapscript会将它们返回“TRUE”状态。只要脚本中存在这些操作码,你就可以无条件地使用它,而实际的好处是可以将操作码重新定义为任意值,并且不需要向后兼容。

这种用新的操作码扩展脚本的新机制,比现有的见证版本控制机制更易于协调和使用。后果是,它有望为将来比特币脚本添加更多有用的操作码开辟道路。

现有的NOP操作码可能是专门为了具有升级机制而添加的,以便我们可以轻松地向比特币脚本语言添加新的操作码。

金色晨讯 | 内蒙古五部委发出清理整顿虚拟货币挖矿的通知:1.28家比特币矿业公司在吉尔吉斯斯坦面临电力供应暂停。

2.比特币全网难度已上调至历史新高。

3.Coinbase宣布将在下周上线Dash。

4.内蒙古五部委发出清理整顿虚拟货币挖矿的通知。

5.法国交易所Coinhouse遭受黑客钓鱼攻击 已切换到维护模式以保护用户资金。

6.智能合约先驱尼克·萨博:说Libra是加密货币 就如同说洋娃娃是婴儿。

7.Libra协会COO:Libra储备金最多不会超过2000亿美元,预计美元占一半。

8.Susquehanna数字资产主管:行业尚未解决美国SEC对比特币ETF的担忧。

9.CryptoTrader.Tax首席执行官:美国国税局通过信息申报表1099-K作为纳税依据存在问题。[2019/9/15]

但到目前为止,它们仅用于CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY。为了与软叉兼容,这些NOP只能执行以下两项操作之一:1)中止或2)根本不执行任何操作。

由于它们重新定义了NOP,目前CHECKLOCKTIMEVERIFY和CHECKSEQUENCEVERIFY两操作码无法以任何方式修改堆栈。结果是,它们不会从堆栈中弹出参数,而你总是需要在后面跟一个OP_DROPafter。

操作码不执行任何操作(即NOP),Tapscript是一种解决方案,它引入了一个新的操作码OP_SUCCESS,它“返回TRUE”。这些操作码只有在被使用时才被用到,并且直到它们在网络上定义了锁定的语义后才被使用。

结果是,禁用和从未定义的操作码编号将变为“return TRUE”。随后,可以将这些操作码重新定义为任何内容,因为所有内容是软分叉的,与“return TRUE”兼容。

分析 | 金色盘面:比特币百度搜索指数继续下降:金色盘面综合分析:比特币在百度相关搜索继续下降,整体同比下降36%,说明国内对比特币的关注度正逐渐降低。[2018/8/24]

签名哈希(SIGHASH)的计算方式不同于旧脚本或BIP143 v0隔离见证中的计算方式。

什么是签名哈希?简而言之,签名哈希是比特币签名的标志,用于指示对交易的哪些部分进行签名。

使用scriptsigs,签名可以证明你有权花费某些比特币。这些签名以某种方式构造,签名后附加了一个字节,用于指定以哪种方式对交易进行签名。因此已经有一些SIGHASH被部署和实施。

最常用的是SIGHASH_ALL,其中除scriptsigs之外的所有内容均被签名。而当仅对当前输入进行签名并且交易中的所有其他内容均不视为签名的一部分时,将使用诸如SIGHASH_ANYONECANPAY,承诺(commitment)不包括在内。

对于这些SIGHASH类型,已经提出了许多改进建议,比如你只想在交易的某些方面签名,以及可以指定在花费比特币时对什么条件感兴趣(不感兴趣)的条件。SIGHASH已经提出了许多有关如何执行此操作的标志,包括SIGHASH_NOINPUT。

它的工作方式是屏蔽交易的不同部分。SIGHASH_NOINPUT背后的想法是,你不在乎提供的是什么特定输入,你不在乎为交易提供输入的交易ID是什么,但你在乎的是金额。在SegWit之前,这是在2015年提出的可延展性修复程序,它本身就是可延展性修复的。因为围绕SIGHASH_NOINPUT的担忧和风险,社区没有将其合并到比特币协议中(但是SegWit的引入重新打开了此升级的大门)。

SIGHASH_NOINPUT的主要好处是,它极大地简化了诸如闪电网络等支付渠道。一个关于改变闪电工作方式的提议是eltoo,当有人试图作弊时,对其进行处罚时,它通过传输已失效的先前状态从而不必再关闭通道,简化通道使用。

这需要更改比特币脚本。尤其是,更改涉及将签名应用于交易(即Sighash系统)的方式,这使用户可以重新平衡到其他输入。

尽管对现有的某些Sighash类型进行了一些调整,但是Schnorr/Taproot/Tapscript提案所提供的功能与BIP 118即SIGHASH_NOINPUT完全不相似(已经有很多关于使其安全的各种方法的讨论)。

Tapscript并未包括SIGHASH_NOINPUT,而是提供了几种灵活性机制(比如带标签的公共密钥),这些机制将允许在不增加成本的情况下开放此功能。这种机制将使以后的软分叉很容易使用新的Sighash类型,或其他更改来扩展签名检查操作码。

使用Tapscript,以你不知道的字节开头的公钥会自动生效。因此,可以引入新型的签名方案和新的Sighash方案,而无需为每种方案添加新的Checkig操作码。像SIGHASH_NOINPUT这样的功能,可以作为新的公共密钥版本不增加成本地包含在内。

Tapscript还更改了资源限制。

例如,今天的比特币脚本有10000字节的脚本大小限制,该限制将被删除。它还消除了操作码数量的限制。

由于签名哈希中没有直接包含scriptCode(仅通过可预先计算的tapleaf哈希间接包含),因此签名检查所花费的CPU时间不再与所执行脚本的大小成比例。

在Tapscript中,签名操作码的数量不会计入BIP141或旧的sigop限制。旧的sigop限制使在创建区块中选择交易很繁琐,因为它是一个随着权重附加的约束。相反,Tapscript签名操作码的数量受见证人权重的限制。

Tapscript与BIP 340/341一起扩大了比特币可能的有趣应用的数量,例如特殊的Taproot合约。特殊的Taproot合约允许执行更复杂的多方合约,并为基于比特币的分散式自治组织(DAO)开辟了可能性。

在比特币上激活BIP 340–342

如何将升级添加进比特币协议?

提交BIP后,将编写代码以匹配规范,然后将其作为拉取请求(pull request)提交。此阶段之后,用户和开发人员对拉取请求进行投票。即使将其合并,用户也可以通过运行新代码(或不运行并坚持使用旧代码)进行实际投票。

Schnorr/Taproot/Tapscript升级目前处于社区反馈阶段(如下图所示)。下一步是处理代码,获取对比特币的拉取请求,并准备好测试网络。

尽管下图表明进展是线性发生的,但是在社区反馈和协议实施阶段之间可能会有一些反馈循环(例如,当规范转换为工作代码时,提案可能会进行进一步的更改)。

BIP如何进入比特币协议中概览

从2017年的SegWit升级可以看出,BIP 9的使用(需要95%的矿工表示已做好激活准备)可能导致社区不同参与者、开发人员/用户与矿工之间进行拔河比赛。

一些人认为,比特币矿工可能将BIP 9用作强大的工具,并根据自己的利益打造协议。例如,SegWit无法通过BIP 9激活,而是转向了由shaolinfry创建的变体,即用户激活的软叉或BIP 148。

为了激活BIP 340–342,比特币开发人员Matt Carallo借鉴了SegWit升级的经验教训,提出了“大共识清理”作为一种可能的方法。该提议结合了BIP 8和BIP 9的理想特性,看起来像这样:

1、激活方法最初以类似于标准的BIP 9的方式部署(通常在一年的时间范围内需要95%的矿工准备就绪),

2、如果此途径激活失败,则需要六个月的时间来让社区讨论未激活升级的原因,

3、用户可以选择两年激活期的BIP 8部署。

这种激活方法试图在遵循社区意愿的基础上进行平衡,但同时又要使激活期足够长,以确保比特币协议的更改不会成为负面先例。

时间是不确定的,因为不知道将这些建议转换为工作代码时是否会发生意外的问题。到2020年末或许更晚,我们才能看到BIP 340-342的激活。

Schnorr/Taproot/Tapscript可以说是比特币迄今为止最重大的变化,它可以改善扩展性,提高隐私性和智能合约功能。以SegWit采用作为标准,尽管至少要花两年甚至两年以上的时间才能看到它们的广泛采用,但比特币的收益将是深远的。

延伸阅读:

金色硬核 | Schnorr签名哪里好 2020年比特币可能为它软分叉(1)

金色硬核 | 什么是Taproot?它将为比特币带来什么好处(2)

标签:比特币TapIPTSCR比特币汇率兑换人民币MetaplexZIPT价格SCR币

SHIB最新价格热门资讯
金色观察丨数字不会说谎 比特币卖空压力正在缓解

金色财经 区块链3月21日讯  上周加密货币市场抛售交易暴增,一度在3月13日达到顶峰,也导致比特币价格暴跌至4000美元以下.

1900/1/1 0:00:00
如何让数字资产成为“银行可接受”资产

几年前,数字资产的投资者主要是散户。而逐渐地许多像银行,资产管理公司和保险公司等机构投资者对BTC,以太坊和其他数字资产越来越感兴趣。对于这些类型的投资者,需要满足监管要求,风险管理和传统投资流程.

1900/1/1 0:00:00
“无喂价”合成代币

前言:加密领域需要更多的创新,需要超出常规思维的模式。而“无喂价”模式本质上一种博弈机制,它可以最小化预言机的使用。它假定抵押头寸都是可偿付的,一旦抵押头寸处于抵押不足的状态,任何人都可以对其进行清算.

1900/1/1 0:00:00
数字货币交易 选择交易所还是场外经纪商?

在本文中,我将对市场参与者可以通过两种主要方式进行比特币(BTC)兑美元(USD)的即时交割交易(也被称为现货市场)进行对比.

1900/1/1 0:00:00
新型比特币勒索病出现 杀软件尚无法拦截

近日网络上出现了一种名为“WannaRen”的新型比特币勒索病。它与2017年大爆发的“WannaCry”病类似,当用户电脑系统被“WannaCry”入侵后,会弹出勒索对话框,提示勒索目的并向用户索要比特币.

1900/1/1 0:00:00
20亿美元的交易过后 区块链大牛杰克?多尔西继续担任推特CEO

投资管理公司Elliott Management与推特达成协议,杰克?多尔西(Jack Dorsey)得以继续担任社交媒体网络首席执行官.

1900/1/1 0:00:00