BTC 技术演进
分叉机制
比特币硬分叉
介绍
- 特币网络中协议的一个重大改变,这种改变是不向后兼容的。硬分叉会导致区块链分裂成两个不同的链,其中一个链遵循新的协议,另一个链则继续遵循原有的协议。
后果
新币产生:例如Bitcoin Cash
安全风险:硬分叉可能会暴露新的安全漏洞,因为新协议可能没有经过充分的测试。
社区分裂:硬分叉可能导致社区分裂,不同的用户和矿工可能选择支持不同的链。
价格波动:硬分叉的预期和实施往往会导致相关加密货币价格的大幅波动。
事件
2010 年 8 月 15 日,一名黑客利用比特币协议中的一个漏洞,生成了 1,844 亿枚比特币。比特币社区迅速反应,在数小时内发布了修正版本。2010 年 8 月 16 日,比特币通过硬分叉化解了危机。
2017 年 8 月 1 日,比特币多年来的扩容争议导致比特币硬分叉,“Segwit”优化方案的支持者继续支持比特币,“大区块”方案(一部分社区成员支持将区块大小增加到8MB)的支持者则创造出比特币现金Bitcoin Cash(BCH),并定向对原比特币持有账户进行 1:1 空投。
2017年10月24日,Bitcoin Gold(BTG)通过改变比特币的挖矿算法,使得使用传统图形处理单元(GPU)的挖矿变得更加实用,而不是依赖于专用的ASIC硬件。这一变化旨在降低比特币挖矿的门槛,并使网络更加去中心化。25日,市场对 BTG 信息不足,引发抛售,BTG 价格暴跌 66%。
比特币软分叉
介绍
- 比特币软分叉是指对比特币网络的一种更新,它允许旧版本节点和新版本节点继续共存于同一个网络中。这与硬分叉不同,后者创建了完全不兼容的新链。软分叉通常是为了引入新功能或改进,同时保持向后兼容性。
后果
提高网络性能和安全性:许多软分叉旨在提升比特币网络的性能、安全性和可扩展性。例如,SegWit软分叉增加了交易吞吐量并解决了交易可延展性问题。
支持新功能和创新:软分叉使得在不割裂网络的情况下引入新功能成为可能,如更高效的签名算法、改进的智能合约功能等。
升级压力:虽然软分叉保持向后兼容,但节点运营者和矿工可能会感受到升级到新版本以维持最佳性能和兼容性的压力。
实施挑战:软分叉通常需要网络的广泛共识。获取足够多的网络参与者的支持来实施软分叉可能是一个复杂且耗时的过程。
事件
BIP 34 (2012): 这个软分叉添加了区块版本号,从而为未来的协议升级提供了更好的途径。
BIP 66 (2015): 这次软分叉是为了增强网络的安全性,通过强制使用严格的DER签名来减少区块链的不确定性
BIP 65 (2015): 引入了OP_CHECKLOCKTIMEVERIFY(CLTV)操作码,使得比特币脚本可以执行基于时间的交易,这对于智能合约的实现非常重要。
分离签名信息:在此之前,比特币交易包含了发送者的签名信息(称为见证数据),这部分数据被用来验证交易的合法性。SegWit的核心是将这些签名信息从交易的其余部分(例如输入和输出数据)中分离出来。
区块结构的变化:传统比特币区块由一个区块头和许多交易组成,每个交易都包含签名信息。在SegWit实施后,签名信息被移出交易本身,并被放置在区块的特殊部分,这个部分仅对支持SegWit的节点可见。
支持二层协议:SegWit的实施为比特币网络上的二层协议,如闪电网络(Lightning Network),提供了更好的基础。这些协议旨在提高交易速度并降低成本,而不需要改变比特币的核心协议。
Taproot (BIP 341, BIP 342, 2021): 这次软分叉增加了对Schnorr签名的支持,提高了隐私性和效率,同时简化了智能合约的执行,使得复杂的比特币交易在区块链上的占用空间更小,费用更低。
Schnorr 签名(BIP 340):引入了Schnorr签名机制,允许多个输入被聚合在一个单独的签名中,这有助于提高隐私和效率,特别是在复杂的智能合约和多签名交易中。
结合了MAST(Merkelized Abstract Syntax Trees),这允许在区块链上以更隐私和更高效的方式使用智能合约。MAST允许将多个交易条件嵌入到一个单一的交易中,但只有特定条件被满足时合约的具体细节才会被揭示。这提高了隐私性,因为外部观察者无法看到未执行的交易路径。
新的输出类型(Pay-to-Taproot, P2TR)允许比特币地址同时支持普通的支付和复杂的智能合约。无论交易类型如何复杂,对外部观察者来说,所有交易都看起来像是标准的比特币交易。这增加了隐私性,并使复杂交易在区块链上的占用空间更小,费用更低。