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

金色财经近期推出金色硬核(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脚本,从而引入灵活性,添加了新的操作码以增强比特币的智能合约功能,并且还更改了对资源要求的一些限制。

BBKX将于今日12时开启第十场金色算力云IPFS云算力认购:据BBKX平台官方公告披露,BBKX平台将于本周日12:00(UTC+8)开启金色算力云IPFS云算力第十场抢购,限量100IPFS。请参与者提前做好准备工作,周日12:00准时开放抢购。 BBKX平台IPFS云算力为与金色算力云联合推出,起购门槛为21.5USDT,可以满足不同用户的投资需求。

BBKX成立于2019年6月,已获得节点资本与链上基金联合投资,现货交易手续费低至0.05%。[2020/7/26]

什么是操作码(Opcodes)?

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

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

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

什么是Tapscript?

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

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

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

金色财经合约行情分析 | BTC 在9500美元受阻,再次震荡下跌破12日低点:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报9103美元(-3.49%),20:00(GMT+8)结算资金费率为0.043247%。

BTC在9500美元下方窄幅盘整后,于今日早上开始震荡下跌,最低至8889美元。根据火币交割合约数据,BTC季度合约成交额大涨,持仓量增加,精英多头占比稳定,季度合约溢价率大幅降低。今日BTC再次恐慌性下跌,突破12号低点,目前有所反弹,是否企稳仍需观察。[2020/6/15]

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

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

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

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

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

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

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

分析 |金色盘面: VET短线尚未出现反弹信号:金色盘面综合分析:VET跌破前期支撑线后跌幅扩大,24小时内跌幅13.0%,注意交易风险[2018/8/8]

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

使用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操作码可能是专门为了具有升级机制而添加的,以便我们可以轻松地向比特币脚本语言添加新的操作码。

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

金色财经现场报道 富兰克林:公链踩踏可能是2018年的主题:金色财经现场报道,在火讯琅琊榜观火“第2期线下见面会”上,进行以《EOS?EOS!EOS……》为题的圆桌论坛,雪球大V富兰克林:我对于EOS持有看多想法。现在我担心的是其他的公链,EOS在踩踏以太坊,以太坊正在默默防守,其他的公链比较难过。公链踩踏可能是2018年的主题,EOS是所谓的一流,超级节点是花钱让更多人买官,买到的人进行增发,土豪们相信、资源流入。有了信徒之后,事情还会成功。哪怕全是漏洞,只要大家愿意紧抱大腿,那么可能还有喘气的空间。我个人认为,EOS很难超越比特币,甚至很难超越以太坊。[2018/6/2]

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

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

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

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

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

金色财经现场报道 元界CTO陈浩:发掘市场才是落地要素:金色财经现场报道,在2018FINWISE东京纷智峰会上,进行以《区块链技术的落地应用》为题的圆桌论坛,元界CTO陈浩指出:投资者、公司、用户、合作伙伴对于落地的理解都不同,在供应链或金融场景中,发掘市场才是落地的要素,用户并不关心技术细节,能服务好用户还是十分重要的,项目的落地已经成为了整个产业的事情。2018年中,游戏行业可能会有很大的发展,区块链技术在虚拟资产行业是有优势的,游戏行业也比较有潜力。当前产业最大的问题在于,我们各执一词,并不注重产业综合发展,在一些垂直领域中,要让整个行业达成共识,在共识达成前谈生态是困难的。[2018/5/21]

使用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)

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

BTC屌丝如何“降维逆袭” ?买比特币?

在知乎上看到一个挺有趣的话题:我们为什么在几年之后才听说比特币,是什么让我们无法抓住这种阶级跃层的机会?一位答主的回复击碎了所有屌丝的小心脏。如果回到十几年前,你眼前有这么几条路.

火必Web3要具有竞争力 必须实现数据的价值

作者:Abel Chan随着最近Ceramic、IPFS和Arweave等工具的发展,一个更加去中心化的互联网架构正在慢慢出现,数据被存储在个人数据商店而不是企业服务器或中心化云服务中.

[0:15ms0-2:201ms