彻底理解比特币“隔离见证”技术与它的三个版本升级Dogecoin狗狗币交易平台 - 狗狗币价格行情,实时走势图
2025-11-05狗狗币,狗狗币走势,狗狗币怎么买,狗狗币在哪买,狗狗币价格,狗狗币挖矿,狗狗币官网,狗狗币交易平台,狗狗币钱包,狗狗币钱包下载,狗狗币最新消息,狗狗币注册,狗狗币开户,狗狗币下载网址,狗狗币APP
作者在学习比特币技术的时候,发现将SegWit,Taproot,TaprootAssets三个知识点,使用隔离见证发展史的角度来理解,会更容易学习和掌握其发展规律。并且可以更好的理解闪电网络实验室的Taproot Assets协议,能够很好的理解Universe的作用,能够很好的理解TaprootAssets协议能够实现的功能和未来可能的发展。有了这些理解,能够更好的设计出相关的产品给用户使f用。
扩容是指扩充比特币能使用与管理的数据容量,早期是局限在区块容量大小之内,后期是能够被比特币管理的全部数据能力。扩容的极限是管理无限的数据空间;
扩能是指扩充比特币的脚本指令实现功能的能力,扩能的极限是实现图灵完备的编程能力。
比特币的整个发展史,是扩容与扩能的发展史,包括各种比特币的分叉链,以及比特币的在OP_RETURN上的探索和隔离见证三次的版本变更。
三次版本中的细节原理图,大部分读者可以忽略,是作者为了深入理解相关技术放到文档中,忽略并不影响阅读效果。
文章中涉及到的BIP协议作者都标注了时间,是让阅读者能够感受到一个技术从思想产生到生产环境上线的时间周期,从而一定程度上感受到这项技术实现的难易程度。更重要的是三个隔离见证版本的协议产生时间,到上线时间,也完全可以看到这个事物大的发展规律,也便于预测之后的发展。对于基于这些技术与协议开发产品的团队有很好的参考作用,便于选择参与时机。一个新事物过早的参与经常会因为支撑技术不成熟,而成为“先烈”;过晚的参与,会丧失先机,而成为“看客”;作者认为在即将进入可用期之前进入是比较好的时机。这个“即将进入可用期”的判断经常会基于时间的判断,基于技术细节的判断。
早期最基本的比特币交易,允许有多个输入和两个输出。其中一个输出的数值是给自己的找零,另外一个输出是给外部的转账。(备注:总输入与总输出之间的差额是手续费)
为了更好的说明区别,我们使用2输入与2输出的图例。(还有一个主要的原因是我参考的资料提供了这种2输入与2输出的图片,不需要重新画图。偷懒了^_^)
为什么在讲隔离见证的时候,要谈到OP_RETURN?因为这是比隔离见证更早期的探索,能更好的理解隔离见证产生的原因。
OP_RETURN是一个脚本操作码,用来终止脚本并返回栈顶的值。这个操作码类似于编程语言中的返回函数。在比特币的历史上,OP_RETURN操作码的功能被多次修改,现在它主要被用作为在账本上存储数据的一种方法。OP_RETURN操作码的功能曾在过去发生过重大变化,现在它是一个重要的机制,使用它我们就能在链上存储任意数据。
OP_RETURN最初是用于提前结束脚本执行的返回操作,执行结果将作为栈顶项目被呈现出来。这个操作码最初有一个容易被利用的漏洞,但中本聪很快修补了该漏洞。
在Bitcoin Core的v0.9.0那次升级中,“OP_RETURN 输出”脚本被制作成标准输出类型,允许用户将数据附加到“不可花费的交易输出(unspendable transaction output)”上。这类脚本中可用的数据量的上限最初被限制为40字节,然后提升至80字节。
将OP_RETURN改为始终返回false造成了有趣的结果。由于在 OP_RETURN 之后不会评估任何操作码或数据,因此网络用户开始使用此操作码来存储任意格式的数据。
在比特币现金(BCH)的时期,即2017年8月1日-2018年11月15日,能够附加到OP_RETURN输出的数据长度被扩展到220字节,更大的数据能够促进区块链上创新的应用,例如在区块链社交媒体上发布内容等。
在BSV上,220字节的限制依然被保留了一小段时间。随后,在2019年1月,由于OP_RETURN操作码以节点不验证任何后续操作码的方式终止脚本,所以节点也不会检查脚本是否在520字节的最大脚本大小限制内。由此一来,网络上的节点运营商决定将最大交易体积提高到100KB,从而赋予开发者有更多应用创新的自由,让新的应用可以将更大、更复杂的数据放入比特币账本。那时有一个应用例子,有人将将整个网站都放入了BSV帐本中。
OP_RETURN虽然有一定的功能扩展,但总体来说能力还是有限。并且在OP_RETURN上面的改进并不能从架构上产生更多的技术进化(还是被限定到1M区块中),于是产生了隔离见证的技术。它的3次版本升级更好的说明了隔离见证在扩容与扩能方向上的正确性,以及产生的强大效果。
为了大家更好的理解比特币有隔离见证的整个历史,我们在文章的头部先把四个阶段的对比示意图展现给大家。
隔离见证,即 Segregated Witness(简称SegWit),由Pieter wuile(比特币核心开发人员、Blockstream联合创始人)在2015年12月首次提出,后来形成了比特币BIP141。隔离见证主要解决问题有3个(见后面的说明),前两项主要是增加安全性和性能,其中对新技术影响最多的是第三项,变相增加了区块的容量(见下面的概念Block weight),从而为比特币的能力扩容打下来基础,以至于后面的Taproot(隔离见证的第二个版本)的进一步加强。
2)SPV证明中传输交易的签名成为可选项,能够减少Merkle proof传输的数据量。
前两项主要是增加安全性和性能,其中对新技术影响最多的是第三项,变现增加了区块的容量,从而为比特币的能力扩容打下来基础,以至于后面的Taproot(隔离见证的第二个版本)的进一步加强。
虽然变相扩大了区块容量,但隔离见证也受到区块大小限制。比特币的区块大小限制为1M bytes,由于witness数据不包含在这个限制中,为了防止witness数据被滥用,仍然对总的区块大小做了限制。引入了一个新概念叫块重量(Block weight)
Total size总大小是按 BIP144 中所述序列化交易的块大小(以字节为单位),包括基础数据和见证数据。
隔离见证还在技术上使得比特币的扩容可以使用闪电网络,这里不详细介绍这部分的内容。
通过上图和原有的比特币交易图对比,增加了Witness部分的内容,这部分是的解锁代码。而且Witness部分的数据是存储在1M之外的扩展数据区里面。
通过签名交易结构的变化介绍,以及BIP-141的内容,我们会看到比特币的区块实际上最大可以扩充到4M,其中原有的1M是基本的交易数据区,新增的3M是Witness数据区。
比特币隔离见证SegWit使用两种新的锁定脚本P2WPKH和P2WSH,于是产生了新的基于Bech32的新编码地址。
针对锁定脚本P2WPKH和P2WSH的格式如下说明,在这里也加上了隔离见证第二个版本Taproot的地址样例。
见证区中所有的交易ID(wTXID)会通过哈希树形成一个根哈希提交到coinbase中,具体值的组合见示意图。
隔离见证技术是比特币历史上非常重大的一次变更,开启了比特币扩容与扩能的辉煌发展史。隔离见证在扩容与扩能的角度,主要完成了扩容功能。所以顺着这个方向思考,下一个版本的发展就会是扩能。
2021年11月,Taproot以软分叉的形式正式生效。此次升级由BIP340、BIP341和 BIP342 组合。其中BIP340 引入了可以同时验证多个交易的 Schnorr 签名,取代了椭圆曲线数字签名算法(ECDSA),再一次扩大了网络容量并加快了批量交易的处理速度,为部署复杂的智能合约提供了可能性;BIP341实现了默克尔化抽象语法树(MAST)来优化区块链上的交易数据存储;BIP342(Tapscript)采用比特币的脚本编码语言扩充的比特币原生脚步能力的不足。
由隔离见证Segwit与Taproot的空间扩大,导致了Schnorr、MAST树和Taproot Scripts的产生,他们要完成的使命是比特币主网的功能扩大。
因为有了隔离见证SegWit技术,事实上把比特币的区块容量增加了。但SegWit技术还遗留了一些问题:
(1)在SegWit版本中底层加密算法仍然使用的是ECDSA。(新的发展需要更好的非对称加密算法,以支持更丰富的功能和特效。于是开始采用新的Shnorr签名)
(2)空间增加了,但解锁脚本还是一对一的简单结构。(于是出现了MAST树这样的复杂条件结构)
(3)SegWit没有增强比特币脚本的功能。(于是产生了Tapscript)
于是隔离见证的第二个版本Taproot技术非常好的解决了上述问题,使得隔离见证技术有了更好的发展,以至于可以实现更多的功能。BIP340解决了(1)中的问题;BIP341实现了默克尔化抽象语法树(MAST)解决了(2)中的问题;BIP342(Tapscript)采用比特币的脚本编码语言扩充的比特币原生脚步能力的不足,解决了(3)中的问题。
Taproot的发展,在扩充能力的同时,对签名算法有了一定的要求,于是Schnorr签名开始出现,并用来替代椭圆曲线数字签名算法(ECDSA)。Schnorr 签名是一种数字签名方案,可以高效且安全地对交易和消息进行签名。它最早由克劳斯·施诺尔(Claus Schnorr)在 1991 年的一篇论文中描述。Schnorr 因其简单性、可证明的安全性和线性性而受到赞誉。
Schnorr 签名具有多种优势,包括高效性、增强的隐私性,同时保留了 ECDSA 的所有功能和安全假设。Schnorr 签名可以实现较小的签名大小、更快的验证时间,并且对某些类型的攻击具有改进的抵抗能力。
Schnorr 签名最显著的优势是密钥聚合(key aggregation),将多个签名聚合为一个签名,该签名对其密钥的总和有效。换句话说,Schnorr 使得多个合作方能够生成一个对他们的公钥总和有效的签名。签名聚合使得多个签名者的签名可以合并为一个单一的签名。密钥聚合能够降低交易费用并提高底层可扩展性,因为来自多签名设置的电子签名在区块中占用的空间与来自单方交易的签名相同。Schnorr 的这个特性可以用于减小多重签名支付和其他与多重签名相关的交易的大小,例如,闪电网络通道交易。
Schnorr 还提供了很多隐私优势。它可以让多重签名方案与传统的单一公钥无法从外部区分,Schnorr 使得观察者在链上活动中更难区分多重签名的支出和单一签名的支出。此外,在 n-of-m 多重签名设置中,Schnorr 使得外部观察者更难通过查看链上信息来确定哪些参与者在交易中签名,哪些没有签名。
Schnorr签名被实现在BIP-340中,作为Taproot软分叉升级的一部分,并于2021年11月14日在区块高度709,632上激活。Schnorr使BTC的数字签名更快、更安全、更易处理。值得注意的是,Schnorr签名与BTC的密码学算法向后兼容,这样就可以通过软分叉升级引入它们。
在BIP342协议中入Tapscript脚本,Taprootscript是原始比特币脚本的升级版,也可以被称为一种语言,但它实际上是带有命令的操作码的集合,这些命令为另两个BIP的实施助力。Taprootscript还取消了10000字节的脚本大小上限,为在比特币网络创建智能合约提供了更好的环境。(该升级也为后来Oridnals的诞生埋下基础,因为Ordinals协议就是利用的Taproot的script-path spend scripts脚本来实现的附加数据)。详细资料可以查阅官方网址:
当前TaprootScript的能力还没有被充分发挥,后期的更多建设会体现出其威力。例如,比特币一层网络与二层网络的连接技术,应该更多的使用Taproot、MAST与TaprootScripits。
注:其实在Taproot一层,TaprootScript的能力还比较受限制,因为还需要比特币的虚拟机来支持。在隔离见证中的第三个版本中TaprootAssets协议中有专门针对TaprootScript的专用虚拟机TAP-VM,使得能力的扩充更强大,与比特币的主网运行环境隔离更好。
Taproot技术在2020年1月份提出,2021年11月,Taproot以软分叉的形式正式生效。在比特币的生态有了Taproot技术之后,新的应用就开始产生了。开始阶段的应用是那些轻量级,简单的应用。
SegWit与Taproot技术完成了第一次扩容与扩能的探索,但局限在现有结构下,这种扩容和扩能都有局限性。
比特币的第一次扩容实现了从1M区块到4M区块的扩容,如果延续这种思路继续扩容,即使技术支持,是不是也和其它比特币的分叉链一样,导致区块变得十分巨大?这会导致比特币中心化等严重的问题,会破坏区块链的安全性。因此下一步的扩容需要一种不同的技术实现原理。
Taproot技术虽然完成了比特币的第一次扩能,同样这种扩能也有一定的局限性。在比特币主网,执行BTCScript的虚拟机和TapScript的虚拟机是同一个虚拟机(比特币的堆栈计算)。使得这种扩能受到很多限制,也会影响原有比特币主网的稳定性与安全性。如果新的扩能隔离开比特币主网的虚拟机,形成一个符合分层协议的独立虚拟机与比特币主网的虚拟机一起工作是一种更合理的发展思路。这个隔离出来的虚拟机还有可能从非图灵完备发展到图灵完备。
在比特币的主网有了第一次的扩容与扩能技术之后,为后面的扩容与扩能提供了非常好的技术参考与实现思想。可以预见的比特币的下一次发展,应该主要解决进一步扩容的问题。当然如果能一起解决扩容与扩能更好,但同时支持两个重大的变更是非常危险的,会让工程实现的难度会变得非常大。于是比特币主网的再一次扩容技术产生了(同时也有了一些比较小的扩能技术出现)。
因为 Taproot 的发展,使得比特币的生态有了更多的可能性。这种可能性表现在几个方面:
(1)是否可以不占用比特币的区块空间,完成更进一步的隔离见证,即,见证区的数据存储比特币区块之外,只把证明存储在比特币的主网;
(3)进一步扩充TaprootScript的能力,使用一个单独的虚拟机来完成相关的计算。
如果上述目标可以实现,在完全保证比特币主性的情况下,可以实现非常丰富的功能。
有了隔离见证的第二个版本Taproot技术是否就满足了比特币技术的发展?是否还有进一步的升级与扩展空间?
闪电网络实验室正是在上述的原因和背景下,在2021年年底,产生的Taproot Assets协议。Taproot Assets 协议(曾用名 “Taro”)。Taproot Assets协议比Taproot具有更强大的能力,其设计结构也非常精妙。(在此要非常感谢协议的设计人,闪电网络实验室的CTO,Olaoluwa Osuntokun)
TaprootAssets协议把比特币的扩容与扩能几乎发挥到了极致。空间因为Universe的存在,几乎可以是不受限制(理论上是无限空间);能力的上限是TaprootScript的脚本能力和其VM的特性。(当前TAP 的VM还不是图灵完备)
Taproot Assets协议使用了Universe这样的方式来存储链外数据,这种设计有非常大的好处,既可以将需要公开的数据提供给访问者,也可以不公开这些数据,提供更加隐私的方式保存数据。
在当前的Taproot Assets协议中,使用稀疏默克尔求和树来解决资产相关的需求。
Taproot Assets协议在发行资产方面使用了和比特币主网相同的UTXO模型,称为vUTXO。其中vUTXO总量的控制,vUTXO的分割、合并、转移操作,使用了MS-SMT 稀疏默克尔求和树。求和保证总量不变,稀疏默克尔树完成了所有vUTXO的状态记录,
“稀疏默克尔求和树”(以下将缩写为 “MS-SMT”)是默克尔树的一个变种,由 bip-tap-ms-smt 定义。因为其关键字是 256 比特的,所以它有 2^256 个叶子。绝大部分叶子是空的。
每个叶子都包含一个数量,而每个分支节点都承诺其子树上的叶子所表示的数量之和。即使一棵子树的内容不可知,只需检查分支节点,就可以知道该子树所包含的总数量。树根则承诺所有叶子所表示的总数量。
就像通用的默克尔树,只需一棵修剪过的、包含目标叶子的树,就可以提供这些目标叶子在树上的证明(默克尔证明)。但MS-SMT还支持“不包含证明”。这是通过一种限制来实现的:表示不存在的关键字的叶子所包含的数量必须显式设定为一个表明其不存在(None)的值(因此,证明“None”的存在就构成了一种不包含证明)。因此,默认的MS-SMT会由2^256个表示“None”的叶子。
资产树的低层MS-MST以asset_script_key作为关键字,以资产叶子作为值。每一个资产叶子都代表着该资产的一个UTXO(为简洁,下文就直接表述为“UTXO”——不是比特币的UTXO),并且下列属性(包括可选的一个)会被序列化为“类型-长度-数值”格式。
asset_script_key既是资产叶子的关键字,也是一个Taproot形式的公钥(以一个独立于比特币的tap-vm定义),并且是花费由该资产叶子表示的UTXO的条件。
但作者相信,在这样的设计结构下,TAP-VM的执行环境已经与比特币主网分离了,可以通过闪电网络实验室的tapd应用发展出一个功能更加强大的虚拟机,只是出于安全与稳定性的考虑,这个过程比较缓慢,这样符合比特币生态应用的特点。
TrustlessSwap是TaprootAssets协议很重要的一个初级功能,依托此功能已经能够开发出比较复杂的比特币原生应用。
在我们项目团队的开发中,已经感受到了一些强大功能。例如,TrustlessSwap已经可以完成比特币与其上发行的资产进行比较复杂的功能设计。
今后的很长一段时间,在初步的资产发行稳定与成熟的情况下,TaprootAssets协议的重点都会在TAP-VM的功能发展上。
题外话:我有个疑问?如果不断发展下去,TAP-VM是否可以发展成一个图灵完备的虚拟机?我判断如果发展时间足够长,最终是可以实现图灵完备的。那么接着就有第二个问题,长期看,在TaprootAssets的协议下,是否需要一个图灵完备的虚拟机?
Taproot Assets协议从2021年底诞生协议的初始文件,到2023年Taro的版本发布,完成了初始的探索阶段。但Taro的版本还有很多设计上的不完善,导致上层的应用没有得到很好的支持,应用的发展一度陷入停滞。到了2024年tapd0.3.0版本的发布,使得Taproot Assets协议有了比较好的探索发展,直到2025年的6月份之后,tapd0.6.0版本的发布,协议进入稳定可用状态。基于Taproot Assets协议开发更丰富应有了比较好的基础。
对比Taproot技术之后产生的Ordinals,铭文,BRC20,ARC等协议,在TaprootAssets协议上产生的应用会比隔离见证第二版本产生的协议更加丰富,更加稳定,更加可用。
像TA资产的发行,TA新资产的钱包,TrustlessSwap这样的应用,以及稳定币,更复杂的BTCFi应用都已经成为可能,并且会逐渐实现。
TaprootAssets协议初始阶段是主要完成了比特币的扩容,通过Univese理论上把比特币可以使用的空间扩展到了无限。TAP的VM(Taproot Asset Script v1)也有了初步的模型,重要的是产生了一个隔离的,可以独立发展的VM。在可以预见的发展后期,比特币都会在扩能方向上发展。
通过比特币发展史中的隔离见证技术的三次重大升级,使得比特币的主网在扩容与扩能方面得到了极大的提升。在扩容上,Universe从理论上已经可以把空间做到无限大,如果能够结合闪电网络那么应该可以把交易的TPS扩充到无限大;在扩能上,TAP-VM如果可以发展到图灵完备,那些也将扩能发展到极致。这些基础设施成熟会需要很长的时间。
隔离见证三次重大升级形成了比特币生态发展的强大协议与技术基础。从SegWit到Taproot,到TaprootAsset协议,几乎完成了大部分应用需要的基础设施。我相信TaprootAssets会迎来一波重要的产品生态爆发。
这三次隔离见证的版本升级使得比特币的结构发生了彻底的变化,未来会发展到什么阶段?TaprootAsset协议看起来有一点点像Layer2技术,但又不符合完全的Layer2标准。它与比特币一层的特性与机制非常相同,又不完全是比特币一层的直接发展。作者认为比特币将会发展到了BTC2.0阶段,期望今后能和更多的高手交流相关思想。如果可以梳理清楚思路,稍后找时间描述一下BTC2.0的具体发展可能性与理论基础。
如果是BTC2.0,那么TaprootAsset协议的7个BIP是不是使用BIP2开头来命名更好?BTC1.0与2.0协议的审核标准,设计原则是不是能够规划的更清晰?而且开发资源是不是可以更好的分工与合作?原有的BitcoinCore团队除了维护BTC1.0的比特币主网,还可以加入到BTC2.0的发展中来持续做出贡献?这样BTC2.0是不是可以建设的更快与更好?……


