📖 术语
🟢 通俗解释
🔰 新手
📦 SegWit Segregated Witness
2017 年比特币的一次升级,把签名(即「见证」)数据挪到每笔交易的单独区域。这样每个区块都能腾出更多空间,还顺手修好了一个由来已久的 bug。
💡
常见误解 — SegWit 是把比特币的区块变成 4 MB 了吗?其实没有!新的上限是4,000,000 个权重单位,并不是 4 MB 字节。真实区块通常只装下大约 1.8 MB 的实际数据。
🚚 打个比方 — 一辆货车加一节挂车
每笔比特币交易都有两部分:交易内容(哪些币从哪转到哪)和它有效的凭证(数字签名)。把它想象成一辆送货车,签好字的回执又厚又占地,挤掉了本该用来放包裹的货舱。SegWit 把这些回执挪到车后拖的一节轻挂车里。回执照样一路跟着,用来证明每一单送达,但货车(也就是 1 MB 的区块)能装下的真包裹更多了。
⚖️ 新上限怎么算 — 看权重,不看 MB
SegWit 用4,000,000 个权重单位的上限,取代了原来 1 MB 的区块大小限制。窍门在于两类数据的计算方式不一样。
| 数据类型 | 计费 | 是什么 |
|---|---|---|
| 📤 普通数据 | 每字节 4 个权重单位 | 交易具体做了什么 |
| ✍️ 见证数据 | 每字节 1 个权重单位 | 签名 —— 打了 75% 折 |
📊 这个折扣让每个区块能多装交易。实际有效容量提升到大约 1.7~2 倍,装满的区块约能容纳 1.8 MB 的常见数据。
🐛 它修好的 bug — 交易延展性
在 SegWit 之前,交易 ID(TXID)的计算把签名也算进去了。有人只要稍微改动一下签名,就能让 TXID 跟着变,把那些正盯着这笔交易的软件搞糊涂 —— 这个毛病叫交易延展性。SegWit 计算 TXID 时只取非见证数据,签名再也没法改动它了。正是这个修复,才让闪电网络和其他二层方案变得可靠。
🔁 为什么没出乱子 — 一次软分叉
SegWit 是以向后兼容的软分叉(BIP 141)形式上线的。没升级的节点照常运行,只是收到的是剥掉见证数据的版本。既没有造出新币,也没有分出另一条链。它在 2017 年 8 月 9 日锁定,大约两周后正式生效,在 481,824 号区块附近。想对比一下,可以看看硬分叉有什么不同。
🏷️ 新手在哪里碰到 SegWit — 地址
你最常通过钱包的地址格式接触到 SegWit。选一个 SegWit 地址通常意味着费用更低,因为见证数据享有折扣。
- 3️⃣ 兼容型 SegWit(Nested) —— 以
3开头的 P2SH 地址;较老、兼容性好 - 🔤 原生 SegWit(Native) —— 以
bc1q开头的 bech32 地址;费用通常最低 - 🌿 Taproot —— 以
bc1p开头的 bech32m 地址;Taproot 正是建立在 SegWit v0 的根基之上
❓ 常见问题
- SegWit 是把比特币的区块大小提到了 4 MB 吗?
- 不是。新的上限是 4,000,000 个权重单位,而不是 4 MB 字节。由于真实交易里普通数据和见证数据混在一起,一个装满的区块通常只装下大约 1.8 MB 的实际数据,并不是 4 MB。
- SegWit 是不是造出了新币、或者让链分裂了?
- 没有。SegWit 是一次向后兼容的软分叉,没升级的节点照常工作,既没有冒出新币,也没有分出另一条链。比特币现金(BCH)是当时扩容争论引发的另一次硬分叉,跟 SegWit 本身没有关系。
- 想用 SegWit,需要自己做什么操作吗?
- 基本上只要在钱包里选一个 SegWit 地址就行。原生 SegWit 地址以「bc1q」开头,因为见证数据有折扣,矿工费通常最低。老地址也还能用,只是费用会稍高一点。