比特币的困境
块主要由交易数据组成,而交易数据又主要由签名信息组成,用于创建交易的ID。
比特币原始协议中一个长期存在的问题是可伸缩性,因为在矿商将这些交易ID包含在块中之前,可以重写它们。如果对方只有原始交易ID,且无法验证是否有另一笔具有相同数据的待处理交易,那么诈骗者可以欺骗用户两次发送代币。
虽然大多数节点和钱包服务都解决了这个问题,但是它使得相互依赖的交易非常不可靠。例如,如果有人正在等待确认传入的交易,他们理论上可以使用这些信息作为余额的证明。但商家并不倾向于接受它,因为可锻性会将此交易信息暴露给第三方更改。
漫长而曲折的道路
2015年,Pieter
Wuille首次提出了“隔离见证”的概念。鉴于比特币的可塑性对整个网络的巨大影响,他建议开发一个补丁,为比特币提供永久性的修复,并开启新的可能性。不管他的建议多么相关,都没有立即实施。
总的来说,在最初提案提出后的两年中,社区花费了大部分时间来接受这个想法并将其发布到主网上。关于如何以最小的伤害激活隔离见证有很多想法。其中最吸引公众注意的可能是SegWit2x,这是矿工和其他企业在2017年5月提出的一个硬分叉,旨在将隔离见证以外的区块规模扩大一倍。
然而,它没有获得牵引力,用户激活软分叉(UASF)最终接管作为隔离见证采用的主要驱动程序。比特币改进提案(BIP)
148于2017年8月1日启动,这一天通常被称为比特币独立日。BIP 148揭示了用户和节点在网络中所拥有的力量。
隔离见证的引入导致了社区的分裂,导致了比特币现金的诞生。这个分叉是由包括Roger
Ver在内的一群比特币活动人士创建的,他们的目标是扩展块大小限制,并在相同的块时间内实现更高的吞吐量。与比特币和莱特币不同的是,这种加密货币并不认为可塑性是一个真正的问题,因此不打算在不久的将来解决它。
但即使是现在,截至2019年3月,隔离见证也只占比特币交易总额的一半。许多节点和钱包尤其不愿意放弃更高的费用,它们拒绝在没有适当补偿的情况下存储所谓的边链。
值得一提的是,莱特币是查理·李(Charlie
Lee)的创意,也是比特币的一个分叉,它在诞生前3个多月就在区块链上实现了隔离见证。此外,它在与隔离见证进行的交易中所占份额更大。
细节
为了理解隔离见证是如何工作的,我们首先需要简要回顾一下比特币交易是如何处理的:
1. 首先,用户签署并向网络提交交易。
2. 一段时间后,交易被一个矿工包含在一个块中。
3. 其他节点验证并接受交易,从而将其合并到分类账中。
生成的每个块的大小限制为1MB,如上所述,包含交易数据,其中三分之二由数字签名占用。
通过从块中删除签名信息(或“见证人”),隔离见证允许更多的交易适应相同的空间。签名信息单独存储在相同的区块链上,但不计入块大小。
这样,不支持隔离见证的节点仍然能够识别交易,但无法验证它们。由于大多数挖掘器已经支持隔离见证,所以其他节点根本不需要访问签名。
比特币目前有三种不同的地址类型:
1. P2PKH是以数字1开头的标准比特币地址。
2. P2SH以数字3开头,可以用作所谓的隔离见证遗留地址,这意味着它们可以由不完全支持隔离见证的节点处理。
3. 从bc1开始的Bech32(或P2WPKH)是本地隔离见证地址,到2019年3月还没有被广泛采用。
虽然钱包、交换器和探索者正在慢慢赶上bech32,但有些人已经将其视为社区中的一个紧迫问题。
隔离见证使网络更轻,因此更便宜。同时,它还允许闪电网络等其他解决方案在其上实现。他们需要隔离见证地址(尤其是bech32地址)才能安全地在主网上运行。闪电网络允许它的用户执行交易,而不需要将它们全部提交到主区块链上。
优点和缺点
总而言之,隔离见证是一项很有前途的技术,它给比特币协议带来了人们期待已久的变化:
· 更低的费用
· 没有交易延迟性
· 闪电网络等解决方案
· 向后兼容性
另一方面,隔离见证也有一些缺点。
· 许多公司缺乏适应和转向新标准的动力。
· 它导致了社区内的冲突。
· 它仍然没有被普遍接受。