深度理解比特币「隔离见证」技术与它的三个版本升级

robot
摘要生成中

从 SegWit 到 Taproot 再到 TaprootAssets 协议,全面解析比特币隔离见证技术的三次重大升级,深入理解比特币的扩容与扩能发展史。本文源自 付少庆,SatoshiLab,万物岛 BTC 工作室所着文章,由 PAews 整理、编译及撰稿。 (前情提要:Adam Back防量子电脑「破解比特币」:建议用SLH-DSA整合Taproot ) (背景补充:比特币 Taproot 后最大争议,移除 OP_Return 会如何影响BTC生态? ) 1. 前言 作者在学习比特币技术的时候,发现将 SegWit,Taproot,TaprootAssets 三个知识点,使用隔离见证发展史的角度来理解,会更容易学习和掌握其发展规律。并且可以更好的理解闪电网路实验室的 Taproot Assets 协议,能够很好的理解 Universe 的作用,能够很好的理解 TaprootAssets 协议能够实现的功能和未来可能的发展。有了这些理解,能够更好的设计出相关的产品给用户使用。 阅读本文还需要有两个重要的思考角度:比特币的扩容与比特币的扩能。 扩容是指扩充比特币能使用与管理的数据容量,早期是局限在区块容量大小之内,后期是能够被比特币管理的全部数据能力。扩容的极限是管理无限的数据空间; 扩能是指扩充比特币的脚本指令实现功能的能力,扩能的极限是实现图灵完备的编程能力。 比特币的整个发展史,是扩容与扩能的发展史,包括各种比特币的分叉链,以及比特币的在 OP_RETURN 上的探索和隔离见证三次的版本变更。 三次版本中的细节原理图,大部分读者可以忽略,是作者为了深入理解相关技术放到文档中,忽略并不影响阅读效果。 文章中涉及到的 BIP 协议作者都标注了时间,是让阅读者能够感受到一个技术从思想产生到生产环境上线的时间周期,从而一定程度上感受到这项技术实现的难易程度。更重要的是三个隔离见证版本的协议产生时间,到上线时间,也完全可以看到这个事物大的发展规律,也便于预测之后的发展。对于基于这些技术与协议开发产品的团队有很好的参考作用,便于选择参与时机。一个新事物过早的参与经常会因为支撑技术不成熟,而成为「先烈」;过晚的参与,会丧失先机,而成为「看客」;作者认为在即将进入可用期之前进入是比较好的时机。这个「即将进入可用期」的判断经常会基于时间的判断,基于技术细节的判断。 1.1. 早期的交易(无隔离见证) 白皮书中定义的交易(最简单交易模型) 早期最基本的比特币交易,允许有多个输入和两个输出。其中一个输出的数值是给自己的找零,另外一个输出是给外部的转帐。(备注:总输入与总输出之间的差额是手续费) 大部分交易都是 2 个输出,确实有只有一个输出的场景,总结如下: 为了更好的说明区别,我们使用 2 输入与 2 输出的图例。(还有一个主要的原因是我参考的资料提供了这种 2 输入与 2 输出的图片,不需要重新画图。偷懒了^_^) 用这样的对比图是不是更容易理解? 传统的交易示例图与隔离见证 Segwit 的交易示意图对比 1.2. 在 OP_RETURN 上的探索 为什么在讲隔离见证的时候,要谈到 OP_RETURN?因为这是比隔离见证更早期的探索,能更好的理解隔离见证产生的原因。 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 次版本升级更好的说明了隔离见证在扩容与扩能方向上的正确性,以及产生的强大效果。 1.3. 早期交易与三次隔离见证版本变化的对比示意图 为了大家更好的理解比特币有隔离见证的整个历史,我们在文章的头部先把四个阶段的对比示意图展现给大家。 2. 隔离见证第一个版本 Segwit 2.1. 简介与相关协议 隔离见证,即 Segregated Witness(简称 S…

BTC-2.8%
BCH-4.05%
BSV-4.29%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)