隔离见证(Segregated Witness,简称 SegWit)于2017年8月24日正式激活,是比特币历史上最具里程碑意义的软分叉升级之一。它解决了 交易延展性(Transaction Malleability)顽疾,同时为区块扩容开辟了全新路径。本文将用通俗语言拆解SegWit升级背后的技术逻辑,并回答你最关心的七大问题。
SegWit到底改变了什么?
传统交易 vs 隔离见证交易
| 传统交易 | 隔离见证交易 |
|---|---|
| 结构:解锁脚本和 签名 被放在每个输入旁 | 结构:所有解锁脚本和签名被整体移到交易末尾 |
| TXID计算:包含全部数据 → 签名改动就会变TXID | TXID计算:不包含签名 → 签名输入随意改,TXID不动 |
一句话总结:
把「验证部分」隔离开,于是签名瞎改也不再影响交易哈希,这就是“隔离见证”四个字的由来。
两大核心好处
1 彻底修复交易延展性
- 旧世界里,任何人都能把曲线作图“翻转”生成同样有效的新签名 → TXID被篡改。
- SegWit把签名踢出TXID计算范围,TXID首次变得可靠。链上二层协议(如闪电网络)终于能放心地依赖TXID做状态更新。
2 变相“扩容”——区块可达约 1.8 MB
- 旧规则:1 MB硬顶;新规则:引入 权重(weight)制度
- 普通字节 ×4,witness字节 ×1,等于给脚本数据打 七五折。
- 典型交易里约60%是解锁脚本,折扣后整体区块大小≈1.8 MB,同时还能向后兼容老节点。
为什么选择软分叉、而不是简单粗暴地扩容?
- 硬分叉:直接改1 MB→2 MB会让不升级的节点拒绝新区块 → 网络可能分裂成两条链。
- 软分叉:SegWit区块仍满足原规则,不升级的人照样认;只是无法验证witness数据的合法性,却不会掉队。
- 简单来说:用代码层面的“巧劲”,换来全网共识零摩擦升级。
FAQ:关于SegWit最常见的六个疑问
Q1:我老钱包没升级,会收不到币吗?
不会。老节点会把最新的区块、交易照单全收,只是本地看不到签名细节,转账照样发生。Q2:隔离见证地址一定以“bc1”开头吗?
原生SegWit(bech32)地址以bc1开头;兼容格式(P2SH)则以“3”开头,都能享受费率优势。Q3:SegWit真把区块上限提到4 MB了吗?
没有做硬性字节倍增,4 MB只是理论极端值——条件是100% witness数据。真实网络约1.6~1.8 MB。Q4:为什么矿工投票需要95%才算通过?
矿工掌控算力,高阈值能确保“最长链”必定包含新规则块,防止出现 PoW 内战。Q5:我如果还在用Bitcoin Core 0.12,风险大吗?
虽能链同步,但看不到完整witness;升级至少到0.13.1才能获得全部SegWit功能。Q6:手续费到底能省多少?
平均节省26%~30%,在拥堵高峰期差得更多。省下的都是白花花的 矿工费。
SegWit激活全过程时间线
- 2016年11月15日 → 提案开放矿工投票
- 2017年7月27日 → 2016/2016区块100%投票,提前锁定
- 2017年8月24日,区块高度481824 → SegWit正式生效
- 2018年起 → 主流交易所、钱包默认支持bech32地址
如何自己动手升级到SegWit?
- 桌面端:Bitcoin Core ≥0.13.1;
- 移动端:Electrum、BlueWallet 最新版均已支持;
- 交易所提币:选择“隔离见证转账”或“bc1地址”即可立享低费率。
延伸阅读
- BIP 141 官方规范
- 比特币官方SegWit好处简介
- Pieter Wuille、Gregory Maxwell 等核心开发者在多个技术 AMA 中对 weight 计算有更多细节讨论,欢迎自行搜索查看。