比特币官网

比特币的分叉史(2009-2019)

  概述:本文梳理了比特币“分叉”的原因及其脉络,和未来可能会发生的技术分叉和已经发生的最主要的分叉事件,便于专业读者从技术层面重新认识比特币。

  撰文:Sasha Ivanov

  编译:Van

  什么是比特币分叉?

  比特币的分叉不是字面意思,它的“分叉”是指分成了两个完全不同的东西。

  Codebase Fork

  在比特币的代码库中,fork是软件实现代码的副本。代码库分支通常会对原始代码库进行调整。在比特币的上下文中,代码库forks可以完全与比特币协议兼容,它们可能导致无意的区块链分支,或者它们可以建立一个全新的加密货币。

  区块链叉

  当区块链分支到两个版本的交易历史时,会发生区块链分叉。从单个孤立块到全新的加密货币,可能是由于多种原因而发生的,也可能是预期的或人为意外的,并且可能根据具体情况导致许多结果。

  硬分叉

  硬分叉是一种松散或删除规则的协议升级。如果所有用户都升级,则硬分叉不会导致区块链分叉。特别是在比特币的背景下,一些人认为,除非所有用户都升级,否则“升级”协议根本不应被称为硬分叉,而应该是新的加密货币或“forkcoin”。

  软分叉

  软分叉是一种协议升级,可以收紧或添加规则。软叉升级可能会导致区块链分叉,但大多数散列功能的强制执行可确保在相同的事务历史记录中最终收敛。一个矿工激活软分叉(MASF)由散列电源触发,而a 用户激活软分叉(UASF)由用户触发。

  灰色地带

  虽然不同的术语听起来足够清晰,但比特币的现实却很复杂。硬叉和软叉之间的区别并不总是很明显,有时甚至不清楚什么应该被视为协议升级。直到今天,有些专家不同意某些事件应该如何归类,而出于政治动机的重写历史的尝试使得其中一些事件更加混乱。

比特币的分叉史(2009-2019)  比特币创世核心

  比特币于2009年推出,当时Satoshi Nakamoto(中本聪)发布了第一个比特币代码库。然后,它被简称为“比特币”(或更具体地说,第一个版本的“比特币0.1.0”)。后代的相同代码库被重新命名为“比特币核心”,有时也被称为“Satoshi客户端”。

  常规区块链分叉

  当两个或多个矿工同时找到有效区块时,比特币区块链会分叉成两个分支。通过设计,一旦一个分支变长,这些分叉就会解决,此时较短的分支被放弃(“孤立”)。这种情况经常发生,即使在今天。

  第一个软分叉

  比特币的第一个软分叉协议升级禁用了协议功能OP_RETURN。这在技术上是一个UASF,但在这些早期,它实际上只是Satoshi Nakamoto决定协议规则。升级没有导致区块链分叉。

  第一个硬分叉

  可以说,比特币的第一个硬分叉协议升级增加了一个新功能OP_NOP,并且也由Satoshi Nakamoto指示。然而,不是每个人都同意这种升级实际上是一个硬分叉。无论哪种方式,它都没有引起区块链分叉。

  无意间的区块链分叉

  当比特币网络的不同部分看到不同的交易历史并且情况不能自动解决时,会发生无意的区块链分叉。这些类型的区块链叉通常是由软件缺陷或其他技术问题引起的,并且是比特币可以经历的最大的短期故障。幸运的是,它在比特币的历史上只发生过两三次,每次通过社区协调解决而没有太大的损害。

  比特币结

  比特币结是比特币核心的代码库分支的一个例子。代码库fork是代码的副本,不需要导致区块链分叉。事实上,比特币结被 设计为与比特币核心保持兼容 - 它只提供不同的功能。

  Libbitcoin

  Libbitcoin是在不同代码库中完全重新实现比特币协议的一个例子。它是 不 比特币核心的代码库分支,但它仍然设计为与比特币核心保持兼容。

  第一个MASF

  P2SH升级可以说是第一个MASF,虽然后来的MASF使用了更纯粹的基于散列功能的升级机制。它没有引起区块链分叉。

  BIP148客户端

  BIP148客户端是比特币核心的代码库分支的另一个例子。BIP148客户端经过调整以强制执行UASF,以激活隔离见证协议升级。它可能与比特币核心和其他比特币客户端不兼容。

此文由 比特币官网 编辑,未经允许不得转载!:首页 > 比特币行情 » 比特币的分叉史(2009-2019)