1. 从争议到落地隔离见证到底解决了什么问题聊隔离见证Segregated Witness简称SegWit之前必须先回到2015到2016年那段比特币区块容量几乎被塞满的日子。当时一个区块只有1MB的硬上限交易一多mempool交易内存池里积压的未确认交易动辄几万笔手续费飙升到让人肉疼的地步。全网都在争论扩容方案有人主张直接硬分叉把区块上限提到2MB、8MB有人担心硬分叉会撕裂社区和链的安全模型僵持了很长时间。隔离见证就是在这种背景下由某核心开发者团队提出的一种“软分叉”方案不直接粗暴加大区块体积上限而是把交易里的“见证数据”也就是解锁脚本里的签名和公钥用于证明你有权花费这些币从整个交易结构中剥离出来单独放到区块末尾的一个新区域里。这样一来原本一个区块的容量虽然看起来还是1MB但交易的“有效负载”减小了一个区块能装的交易就变多了等于变相扩容。这个巧妙设计最厉害的地方在于旧节点只要不校验那段新区域的数据就依然能正常同步和验证区块所以整个网络可以在不分裂的情况下平滑升级。这段话听起来可能有点绕我用一个生活化的例子说明。你可以把一笔比特币交易想象成一张快递单收件人、寄件人地址、物品清单是核心业务信息必须写在醒目的位置而收件人“签收的笔迹”证明包裹确实被正确的人拿走了原本也必须占一个位置。隔离见证做的事情就是让快递公司把“签收笔迹”统一放到旁边的副联上主联只保留地址和物品信息。快递单实际尺寸没变但因为不用再给签名留那么大空间主联能用来写更多包裹信息了。隔离见证的核心价值其实集中在三个层面解决交易可锻性Transaction Malleability旧格式交易里签名在交易ID的计算范围内攻击者可以稍微篡改签名的编码方式让这笔交易的TxID发生变化但交易本身依然有效。这对闪电网络、跨链原子交换这类依赖“提前签名交易”的协议是致命的因为交易ID一变你之前构建好的交易链条就断掉了。隔离见证把签名挪出了交易ID的计算范围TxID从此稳定下来这个长期被诟病的隐患被根除。优化脚本容量与提升脚本灵活性见证数据不再占用区块的“基础尺寸”输出脚本和输入脚本的设计空间被释放为后来的Taproot、多签等复杂脚本提供了更好的承载条件。变相扩容与手续费优化因为见证数据有折扣计费规则后面会细讲同样一个区块能容纳的交易数量明显增加用户的实际手续费感知也随之下降。隔离见证不是一次简单的“改参数”它动的是交易底层结构。当时很多人的第一反应是“这不就是个扩容补丁吗”直到真正用起来才发现它对钱包、脚本、二层协议的影响要深远得多。2. 本质拆解隔离见证改写的数据结构与序列化逻辑要理解隔离见证到底“隔离”了什么最直接的方式是看一串交易数据在升级前后的结构变化。2.1 传统交易的“混装”结构一笔传统比特币交易本质上是一组输入和一组输出的排列组合交易结构旧格式 - version版本号 - input count输入数量 - inputs[] (每个输入含TXID、输出索引、解锁脚本长度、解锁脚本、序列号) - output count输出数量 - outputs[] (每个输出含金额、锁定脚本长度、锁定脚本) - locktime锁定时间在这个结构里解锁脚本scriptSig是一个完整的数据块它包含了能够“打开”上一个交易输出锁定条件的全部信息。你付款时提供的签名和公钥就藏在这里。而锁定脚本scriptPubKey则是你给收款人设定的“领取条件”他们需要满足这个条件才能花那笔钱。问题就在这签名数据本身占据了交易大小的相当比例一笔典型的P2PKH交易签名和公钥占整个交易大小的60%以上。而且签名是“可变形”的同一段签名可以被编码成不同字节序列虽然验签都能通过但字节不一样导致整个交易的哈希也就是TxID也跟着变。这种结构上的“混装”让签名数据又占空间、又不稳定、还影响扩容空间。2.2 隔离见证的“分离”思路隔离见证引入了一套新的数据结构。同样一笔交易在新格式下看起来是这样的交易结构新格式仅基础部分 - version - marker标记固定为0 - flag标志位开启隔离见证时为1 - input count - inputs[]输入中不再包含scriptSig或只留空脚本 - output count - outputs[]输出结构不变 - witness见证数据区按顺序存放每个输入对应的解锁脚本 - locktime这里最核心的变化是见证数据被整体挪到了输出和锁定时间之间而且独立计数。也就是说旧节点在同步区块时如果看到marker0、flag1就知道这不是普通的旧交易于是会跳过后面的见证区域用自己熟悉的逻辑验证基础部分就行。这种设计保证了向后兼容使得隔离见证可以以软分叉方式激活。2.3 隔离见证的序列化方式与折扣计费针对这个新结构隔离见证还引入了一套新的序列化方法最典型的是segwit serialization。它的规则里包含一个重要冷知识见证数据按“每4字节算1字节”的折扣参与区块大小计算。也就是说实际一个“扩展区块”包含见证数据可以做到4MB但因为见证部分打折区块的“成本重量”weight unit上限被设定为400万单位。基础数据1字节算4单位见证数据1字节算1单位。这样一来理论上一个装满见证数据的区块物理体积可以接近4MB但通过共识规则计算出来的“区块重量”永远在上限内。这个设计非常精巧它确保了旧节点单纯按1MB规则校验不会出问题因为基础部分仍控制在1MB以内。它对见证数据打折扣鼓励大家把尽可能多的“证明类数据”签名放到见证区从而在同样成本下塞下更多交易。它为矿工打包交易提供了新的经济信号那些见证数据占比高的交易实际“区块重量消耗”更低所以矿工愿意用更低的手续费率打包。折扣比例为什么是4:1而不是2:1或8:1这是当时社区反复权衡的结果。折扣太大会让区块物理体积过大影响网络传播和节点验证效率折扣太小扩容效果不明显用户感知不到好处。4:1是在“扩容幅度”和“区块传播稳定性”之间取的平衡点。这个参数在后面的实际运行中也证明是合理的——即便区块物理体积偶尔冲高网络同步依然稳定。3. 从地址到签名隔离见证带来的实际使用变化隔离见证不只是底层结构的事它直接改变了用户能感知的地址格式和钱包逻辑。3.1 地址体系从P2PKH到Bech32升级之前的常见地址是1开头的P2PKH地址比如1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa本质上是对公钥哈希做Base58Check编码。隔离见证带来了新的地址格式P2SH嵌套的隔离见证地址通常以3开头这是为了让不支持隔离见证的钱包和旧系统也能发送资金到隔离见证输出而设计的一种“过渡方案”。实际锁定的脚本是OP_HASH160 20字节脚本哈希 OP_EQUAL但这个脚本哈希对应的是一个“赎回脚本”赎回脚本内容其实是OP_0 20字节公钥哈希对应P2WPKH或OP_0 32字节脚本哈希对应P2WSH。原生隔离见证地址以bc1开头采用Bech32编码这类地址直接以OP_0 公钥哈希/脚本哈希作为输出脚本没有P2SH那层包裹。它的优点是校验能力更强、字符集更清晰、二维码编码效率更高也降低了用户抄错地址的风险。从安全性角度说原生地址是隔离见证的最优形态但它在早期兼容性上不如嵌套地址。很多早期交易所和钱包只支持识别以3开头的地址所以P2SH嵌套地址成了过渡期的“大众版”而bc1地址则是后来的“完全体”。到了今天几乎所有主流钱包都完整支持bc1地址了但在处理老钱包、老地址导入时兼容坑依然存在。3.2 签名结构的简化与Sighash标志位隔离见证顺手重做了签名哈希的逻辑。旧格式交易有一个很大的毛病你要对一笔交易签名就得把整笔交易的所有输入、所有输出都纳入哈希计算哪怕你只想花某一个输入。这种“全量哈希”的做法不仅慢还会导致数据结构的耦合。隔离见证引入了新的Sighash算法它对每个输入单独计算签名摘要不相关的输入和见证数据就不需要参与计算。这里带来一个直接好处多输入交易的签名计算复杂度大幅降低硬件钱包在处理多输入时更快了同时因为签名不再覆盖其他输入数据多个参与者可以在不知道其他人的输入细节的情况下共同完成一笔交易的签名构造——这对CoinJoin比特币隐私混币方案和闪电网络通道交易意义非常大。另外隔离见证固定了签名哈希的承诺范围修复了旧版本里“某些字段可以被篡改而签名依然有效”的缺陷。它确保了签名一旦生成交易里的金额、输出脚本、输入索引等关键字段就都被锁定彻底堵死了交易可锻性这个漏洞。这也是为什么后来很多二层协议敢于在隔离见证输出上构建复杂的状态通道。3.3 实际运行中的兼容性边界一种“看似简单”的麻烦虽然隔离见证的兼容性设计已经尽量平滑但实际操作中我遇到过不少看似简单却特别折腾人的边界情况。最常见的一类坑出现在老旧钱包与隔离见证输入的交互上。假设A用户用老版本钱包只支持P2PKHB用户用支持隔离见证的新钱包。A给B转账时只要B提供的是3开头或bc1开头的地址A的钱包底层就能识别并正常构造交易因为从链上角度看这笔输出只是一个“谁都能验证的锁定脚本”。但反过来如果B想花一笔“嵌套在P2SH里的隔离见证输出”而B的钱包只认P2PKH那它就无法正确构造解锁脚本因为旧钱包根本不知道要把见证数据放在哪里。在我的实践经验里处理这种跨版本转账时最稳妥的方案是让接收方提供多个地址格式发送方按自己钱包能力选择。另一个坑是部分硬件钱包在固件升级前后的隔离见证支持差异。有些早期硬件钱包出厂时只支持P2PKH和P2SH-P2WPKH后来才通过固件更新支持原生Bech32地址。用户的币如果已经存在旧格式的隔离见证地址上想转出到bc1地址就必须确认硬件钱包的固件版本足够新。我在帮朋友处理这类迁移时通常先建议发一笔小额的“测试交易”走完整条链路确认没问题再批量操作。4. 区块扩容、安全性验证与老节点一次软分叉的技术全景隔离见证最受人关注的部分还是它到底怎么在不动共识规则的前提下实现扩容。4.1 区块重量计算的精确规则区块链共识层面把“区块大小”的度量改成“区块重量”。具体规则是区块的基础部分不含见证数据每个字节计4个重量单位。区块的见证数据部分每个字节计1个重量单位。一个区块的总重量上限是4,000,000重量单位weight units缩写WU。每个区块的“基础大小”不含见证数据仍然不能超过1,000,000字节。换算下来如果一个区块完全不包含见证数据那它依然是传统的1MB区块如果所有数据都塞进见证区理论上做不到但极端情况下物理体积可以接近4MB。实际中普通转账的见证部分占比在一半左右所以实际区块物理体积通常维持在1.5MB到2.5MB之间。为什么不用原来的“size in bytes”而是改用重量因为要保证旧节点依然能用它在意的1MB规则去验证区块。旧节点看到是一个不超过1MB的基础区块其余部分直接跳过新节点则会按重量规则去严格验证。这就是“软分叉”在数据格式层面的精妙之处新旧节点看到的都是同一个区块只是验证的精细度不同。4.2 安全性论证为什么软分叉不会破坏现有安全模型任何扩容方案都逃不开“安全性与性能怎么权衡”的质问。隔离见证的安全设计核心在于未升级节点不会接受无效交易对于旧节点来说隔离见证输出的锁定脚本是一个P2SH脚本他们验证的是“20字节脚本哈希是否匹配”。而新规则要求这个脚本哈希对应的赎回脚本必须是OP_0 公钥哈希或脚本哈希这种特定形式。如果有人试图把一个不符合规定的数据塞进见证区新节点会拒绝并惩罚共识规则判定为无效区块旧节点虽然无法检测但也不会主动接受包含这种非法见证的区块因为隔离见证激活靠的是矿工信号的“版本位投票”一旦激活全网的“大玩家”矿池、全节点基本都已经升级非法区块很难挖出或被接受。DoS攻击面没有扩大见证数据虽然体积放宽但每个脚本的执行成本和验证复杂度依然受限于共识规则。新节点在验证时会先跑完所有脚本再决定是否接受区块这不会给攻击者留下“塞入大量无法通过验证的数据来拖垮节点”的机会。实际运行数据也表明隔离见证激活后全网节点的同步压力并未出现异常飙升。4.3 从“块高激活”看隔离见证的实施节奏隔离见证的激活机制也值得一提它采用的是“矿工信号版本位”的BIP9方式没有搞一刀切。矿工通过区块头里的版本号字段的某个比特位来表达“我准备好执行隔离见证规则了”。当连续2016个区块中有超过95%的区块都带上了这个信号隔离见证就会在下个难度周期自动激活。这个过程在网络层面是“渐进开关”不是瞬间切换——某区块高度到达后新规则立即生效全网所有节点如果收到不符合新规则的区块会直接拒绝。这种激活方式的好处是给了矿池、钱包服务商、交易平台一个非常明确的准备窗口。我在当时的实践中记得很清楚很多团队是在信号激活前的几个难度周期里反复测试钱包兼容性和交易构造逻辑的而不是等激活那天才临阵磨枪。等到区块高度真的跨过激活线时整个生态基本已经准备好了。5. 交易构造的实际变化从脚本编写到签名生成的完整流程聊完区块层面的东西再看一笔隔离见证交易从构造到上链具体操作上和旧格式有什么不同。5.1 P2WPKH输出的锁定脚本和解锁流程最基础的一类隔离见证输出是P2WPKHPay to Witness Public Key Hash它的锁定脚本极其精简OP_0 20字节公钥哈希这里OP_0代表版本号0。这个脚本本身不直接定义“怎么验证”而是把验证逻辑“外包”给了见证区。当有人想花费这笔输出时必须提供两个见证字段签名公钥全节点验证时会把签名 公钥和锁定脚本里的20字节公钥哈希组合起来计算公钥哈希是否匹配再用公钥验证签名是否符合该输出对应的花费条件。这个流程和传统的P2PKH相比输入的scriptSig被完全替换为空或一个只有OP_0占位的信息真正的证明数据放进了见证区。你如果直接打开区块浏览器看这类交易的输入部分会发现scriptSig几乎是空的所有动感内容都在“见证”选项卡里。第一次接触的人容易误以为“这笔交易没有签名”其实只是签名的位置变了。5.2 P2WSH输出与多签场景的构造P2WSHPay to Witness Script Hash适用于更复杂的花费条件比如多签、时间锁、哈希锁等。它的锁定脚本是OP_0 32字节脚本哈希对应地见证区需要提供满足脚本条件的参数比如多签的多个签名完整的“赎回脚本”即你事先约定好的脚本内容节点会把完整的赎回脚本做SHA256哈希与锁定脚本里的32字节哈希对比匹配后再正常执行这个脚本的规则我在实际项目中最常用到的场景是2-of-3多签。传统P2SH多签和P2WSH多签的差别在于P2WSH把脚本哈希的摘要从20字节扩到了32字节更强的抗碰撞性同时因为签名和脚本都挪进见证区实际支付的网络手续费更低。对于那些需要频繁做多签转账的团队来说隔离见证把每笔交易的手续费省出了肉眼可见的空间。5.3 一个具体的签名构造流程示例从代码角度理解隔离见证交易最直观的方式是看签名摘要的构造。下面这个示例以JavaScript环境中的常见做法示意重点看逻辑顺序不纠结具体库的API// 假设我们正在构造一笔P2WPKH交易 const bitcoin require(bitcoinjs-lib); const keyPair bitcoin.ECPair.fromWIF(你的私钥WIF); const p2wpkh bitcoin.payments.p2wpkh({ pubkey: keyPair.publicKey }); // 当我们要花费这个P2WPKH输出时 const psbt new bitcoin.Psbt(); // 假设已有前序交易的TXID和vout索引 psbt.addInput({ hash: 前序TXID, index: 0, witnessUtxo: { script: p2wpkh.output, value: 10000 } }); psbt.addOutput({ address: 接收方地址, value: 9000 }); // 签名时Psbt会在内部调用segwit专用的签名哈希算法 // 不会把其他输入的数据混入当前签名摘要。 psbt.signInput(0, keyPair); psbt.finalizeAllInputs(); const tx psbt.extractTransaction(); console.log(tx.toHex());这个流程最关键的一点是PsbtPartially Signed Bitcoin Transactions结构能让多个参与方在互不信任的前提下分步添加输入、输出、签名。隔离见证输出天然支持这种“部分签名”的工作流因为签名摘要不再依赖其他输入的内容多方协作构造交易时不需要反复同步数据。这也是闪电网络通道开启和关闭交易能够安全构造的基础。6. 隔离见证之后Taproot与Script版本化的未来隔离见证设计时埋下了一个很容易被忽略的伏笔锁定脚本开头的OP_0其实是一个“脚本版本号”。版本0是隔离见证而版本1之后被Taproot使用了。Taproot激活于2021年之所以能顺利部署很大程度上是因为隔离见证已经把“版本化脚本”的机制铺好了路。如果当年没有隔离见证的软分叉预留空间再想引入新脚本类型就得重新设计一套兼容方案难度完全不同。所以隔离见证不仅是一次扩容和防可锻性修复更是一次“协议级可升级性”的结构创新。到了Taproot时代交易的见证区支持了更复杂的MAST默克尔化抽象语法树结构和Schnorr聚合签名。它的效果是多个签名可以聚合成一个公钥和一个签名链上数据更少隐私性更好。复杂的合约条件可以隐藏在默克尔树里只有被触发的分支才会被披露。普通支付和复杂合约从外部看几乎无法区分。从隔离见证到Taproot比特币脚本的演进脉络其实是连续的先通过软分叉把“证明数据”和“业务数据”分开再通过脚本版本化逐步解锁更高级的密码学原语。如果你只是把隔离见证当成“省手续费的工具”会错失它更大的意义。它是比特币在协议层为“可扩展性”和“可编程性”铺路的第一块基石。7. 从开发者和普通用户角度一次隔离见证的实操复盘技术原理聊得再多落在实际使用里还是得看钱包、交易所、区块浏览器这些基础设施。我整理了一些实操中总结出来的经验供大家参考。7.1 对普通用户迁移到隔离见证地址的流程建议如果你手里还有大量旧格式的P2PKH地址余额迁移到隔离见证地址并不复杂但有几个细节值得注意分批迁移不要一把梭把大额资金分成几笔先转一笔小的测试隔离见证交易确认接收方地址、找零地址、区块浏览器显示都正常再批量迁移。找零地址也要升级很多人只关注“收款地址”是否换成bc1开头忽略了钱包的找零地址策略。如果钱包不自动使用隔离见证找零地址你的资金会在新旧格式之间反复横跳手续费优化效果会打折扣。好在主流钱包某知名开源钱包等已经默认全套使用原生隔离见证地址。不要删除旧地址有些老交易对手可能仍然只存了你的旧地址如果旧地址还能正常接收就保留它不影响使用。不需要为了“彻底隔离见证化”而把旧地址废弃。实测下来从P2PKH地址迁移到P2WPKH地址后同一笔转账的手续费大约能降低15%到30%。这个比例取决于输入数量——输入越多比如一次合并多笔零碎UTXO节省效果越明显。7.2 对开发者接入隔离见证最容易踩的坑我见过不少团队在接入隔离见证时踩过类似的问题整理出最有代表性的几类UTXO类型判断不完整很多钱包扫描链上数据时只识别P2PKH和P2SH遇到P2WPKH输出就当“未知类型”处理导致用户余额显示异常。解决方法是使用支持segwit的输出脚本解析库并在扫描时按脚本前缀OP_0等正确分类。找零地址和找零输出识别失败有些钱包通过“找零地址是否属于本钱包”来标记找零输出。隔离见证地址格式变化后如果钱包没更新对自身地址的识别逻辑会把找零误判为支付输出导致手续费估算失真和UTXO管理混乱。签名时的Sighash类型不匹配构造部分签名交易时如果一方使用旧的Sighash类型如SIGHASH_SINGLE另一方按隔离见证的新逻辑预期会出现签名验证失败。团队协作时最好统一签名流程并且充分测试各类Sighash组合。硬件钱包与PSBT的兼容性隔离见证交易在硬件钱包中处理时涉及“原始交易”格式的解析。部分老硬件设备对Psbt的字段支持不完整需要确保固件版本足够新并且选择支持Segwit的PSBT标准的钱包软件。7.3 隔离见证与闪电网络的关系闪电网络可以说是隔离见证红利的最大受益者。闪电网络要构建一个“双方签名过的承诺交易”保存在链下如果交易ID在广播前被篡改整个通道就挂了。隔离见证通过把签名移出交易ID计算保证了承诺交易一旦签名就不可被恶意重置。同时隔离见证带来的小体积交易也降低了通道开启、关闭、惩罚交易的成本。可以说如果没有隔离见证闪电网络的工程复杂度会大一个量级。我自己的感受是闪电网络的核心依赖链不仅包括“稳定TxID”也包括“高效的小额支付脚本”。隔离见证在这两个层面都打好了地基。8. 关于隔离见证的一些容易被人误解的细节隔离见证已经落地多年但我在各类社区讨论里还是经常看到一些误区。这里集中澄清几个常见问题。8.1 隔离见证是不是强制所有交易都改变格式不是。隔离见证是一种“输出类型”只有在付款给隔离见证地址时交易才会采用新格式。如果新旧地址之间转账旧地址发给隔离见证地址交易的新输出是隔离见证类型但输入可能仍是旧格式。隔离见证地址发给旧地址输入需要提供见证数据交易整体采用包含见证数据的新格式。旧地址发给旧地址交易保持完全传统的格式不包含见证区域。这也是为什么隔离见证的普及是一个渐进过程随着更多人开始使用bc1地址全网交易中见证数据的占比才慢慢提升。8.2 隔离见证是不是等于把区块上限直接翻倍严格说不是。隔离见证把区块的有效吞吐量提高了但并不是无条件的“翻倍”。因为新区块的物理体积上限是4MB实际很少触顶同时基础部分仍然限制在1MB以内。所以它更像是一个“结构性扩容折扣计费”的组合方案而不是简单的“把参数从1改成4”。从实际网络数据看隔离见证激活后的一两年里区块物理体积经常在1MB到2MB之间浮动用户感受到的手续费降低和区块容量上升是交易结构优化的结果而不是简单粗暴的“上限翻倍”。8.3 隔离见证会增加中心化风险吗这个担忧主要源于“区块变大导致运行全节点的门槛提高”。从逻辑上说任何扩容方案都会增加节点的存储和带宽需求隔离见证也不例外。但它的设计把见证数据放在基础数据之外节点可以选择只验证基础数据、跳过见证数据从而保留“轻量级全节点”的可能。加上区块体积增加是渐进的网络在过渡期并没有出现严重的中心化趋势。实际上隔离见证激活后运行全节点的硬件需求虽然有所提高但幅度在可接受范围内。相比“直接把区块上限翻倍到2MB”的硬分叉方案隔离见证在节点性能和安全验证之间的权衡做得更精细。9. 实践建议何时应该主动使用隔离见证如果你还在用非隔离见证地址或你的项目还在用旧格式交易以下场景特别值得考虑升级高频小额转账比如支付网关、打赏应用、日常转账。隔离见证地址的折扣计费能明显降低手续费均值。多签钱包多签交易的见证体积更大隔离见证带来的折扣收益也更可观。对于2-of-3多签切换到P2WSH后每笔交易能省下一部分费用。闪电网络节点闪电网络的开通道、关通道、强制关闭等操作完全基于隔离见证输出。如果你打算跑闪电网络节点地址格式基本没得选原生bc1是标配。隐私敏感的应用隔离见证的TxID稳定性为CoinJoin等隐私方案提供了更可靠的基础如果你在做隐私工具隔离见证几乎是必备前提。如果只是偶尔收一笔几千块钱、几个月动一次的老地址其实没必要刻意迁移。隔离见证的收益主要体现在“交易频繁”或“输入较多”的场景。为迁移而迁移反而可能产生额外的转账手续费。10. 从隔离见证到更远的未来软分叉思想的一次胜利隔离见证最值得琢磨的其实是它作为一种“软分叉方法论”的胜利。它证明了一件事在不动共识规则、不分裂网络的前提下可以对交易结构做大手术。这个方法论的后续影响非常深远它为后来的Taproot铺平了脚本版本化道路。它为闪电网络、RGB、Taproot Assets等二层和资产协议提供了底层信任基础。它让社区重新认识到“社区共识比技术路线更重要”复杂的升级不是靠嗓门大就能推下去的。我在实际参与某开源钱包项目的开发时深刻体会到隔离见证对代码库的影响是潜移默化的。它改变的不只是地址格式还有交易构造流程、UTXO追踪逻辑、手续费估算算法、甚至测试用例的组织方式。一个看似简单的“软分叉”实际落地需要钱包、浏览器、矿池、交易平台、硬件设备等全链路协同。如果你要学习比特币协议我建议把隔离见证的BIP141、BIP143、BIP144这几个提案原文找出来细读一遍再结合一笔真实交易在区块浏览器里的“基础数据”和“见证数据”栏位对照看。光看文档容易晕对着实际交易数据拆解一遍会比读十篇文章都管用。就我自己来说隔离见证是我觉得“越用越觉得设计得妙”的协议升级之一。它不是一个炸眼的炫技功能而是把一件基础得不能再基础的事情——交易的证明数据和业务数据分离——做到极致然后让整个生态从中受益。这种“基础设施型”的改进才是区块链协议里最值钱的改进。
阅读完成 · 觉得有帮助?