| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 比特币分叉概念和曾经的分叉史 -> 正文阅读 |
|
[区块链]比特币分叉概念和曾经的分叉史 |
比特币分叉概念和曾经的分叉史声明
什么是比特币分叉比特币的分叉不是字面意思,它的“分叉”是指分成了两个完全不同的东西。 Codebase Fork 在比特币的代码库中,fork是软件实现代码的副本。代码库分支通常会对原始代码库进行调整。在比特币的上下文中,代码库forks可以完全与比特币协议兼容,它们可能导致无意的区块链分支,或者它们可以建立一个全新的加密货币。具有代表性的就是BCH(比特币现金)、BTG(比特币黄金)、SBTC(超级比特币)、BCHC(比特币克拉西奇)、B2X(待孵化)、BCD(比特币钻石)等分叉币项目。相关文章参见 https://www.tuoluocaijing.cn/blockchain/5038.html 区块链叉 当区块链分支到两个版本的交易历史时,会发生区块链分叉。从单个孤立块到全新的加密货币,可能是由于多种原因而发生的,也可能是预期的或人为意外的,并且可能根据具体情况导致许多结果。 硬分叉 硬分叉是一种松散或删除规则的协议升级。如果所有用户都升级,则硬分叉不会导致区块链分叉。特别是在比特币的背景下,一些人认为,除非所有用户都升级,否则“升级”协议根本不应被称为硬分叉,而应该是新的加密货币或“forkcoin”。 软分叉 软分叉是一种协议升级,可以收紧或添加规则。软叉升级可能会导致区块链分叉,但大多数散列功能的强制执行可确保在相同的事务历史记录中最终收敛。一个矿工激活软分叉(MASF)由散列电源触发,而a 用户激活软分叉(UASF)由用户触发。 灰色地带 虽然不同的术语听起来足够清晰,但比特币的现实却很复杂。硬叉和软叉之间的区别并不总是很明显,有时甚至不清楚什么应该被视为协议升级。直到今天,有些专家不同意某些事件应该如何归类,而出于政治动机的重写历史的尝试使得其中一些事件更加混乱。 比特币分叉示意图如下。 了解各种比特币分叉详情比特币于2009年推出,当时Satoshi Nakamoto(中本聪)发布了第一个比特币代码库。然后,它被简称为“比特币”(或更具体地说,第一个版本的“比特币0.1.0”)。后代的相同代码库被重新命名为“比特币核心”,有时也被称为“Satoshi客户端”。
当两个或多个矿工同时找到有效区块时,比特币区块链会分叉成两个分支。通过设计,一旦一个分支变长,这些分叉就会解决,此时较短的分支被放弃(“孤立”)。这种情况经常发生,即使在今天。
比特币的第一个软分叉协议升级禁用了协议功能OP_RETURN。这在技术上是一个UASF,但在这些早期,它实际上只是Satoshi Nakamoto(中本聪)决定协议规则。升级没有导致区块链分叉。
可以说,比特币的第一个硬分叉协议升级增加了一个新功能OP_NOP,并且也由Satoshi Nakamoto(中本聪)指示。然而,不是每个人都同意这种升级实际上是一个硬分叉。无论哪种方式,它都没有引起区块链分叉。
当比特币网络的不同部分看到不同的交易历史并且情况不能自动解决时,会发生无意的区块链分叉。这些类型的区块链叉通常是由软件缺陷或其他技术问题引起的,并且是比特币可以经历的最大的短期故障。幸运的是,它在比特币的历史上只发生过两三次,每次通过社区协调解决而没有太大的损害。
比特币结是比特币核心的代码库分支的一个例子。代码库fork是代码的副本,不需要导致区块链分叉。事实上,比特币结被 设计为与比特币核心保持兼容 - 它只提供不同的功能。
Libbitcoin是在不同代码库中完全重新实现比特币协议的一个例子。它是 不 比特币核心的代码库分支,但它仍然设计为与比特币核心保持兼容。
P2SH升级可以说是第一个MASF,虽然后来的MASF使用了更纯粹的基于散列功能的升级机制。它没有引起区块链分叉。
BIP148客户端是比特币核心的代码库分支的另一个例子。BIP148客户端经过调整以强制执行UASF,以激活隔离见证协议升级。它可能与比特币核心和其他比特币客户端不兼容。
比特币ABC是比特币核心代码库的另一个例子。然而,比特币ABC被调整以确保它在某个时间点与比特币核心和其他比特币客户端不兼容。 比特币ABC分叉远离比特币创造“比特币现金” 2017年8月1日,比特币ABC变得与比特币核心和其他比特币客户不兼容。在这样做的过程中,它创建了一种新的加密货币,称为“比特币现金”。(虽然未在此信息图中显示,但比特币现金现在也包括几个客户 - 而不仅仅是比特币ABC。)
BTC1也是比特币核心的代码库分支,以确保它与比特币核心和其他比特币客户端不兼容。但是,BTC1的特定目的是为新的比特币协议“Segwit2x”部署硬叉升级。(换句话说,目标是让所有比特币用户切换到Segwit2x协议并将此协议视为“比特币”。)
如果BIP148客户端没有获得足够的支持,它将从比特币中分离出来以创建一个新的加密货币。但是,由于有足够的矿工升级他们的系统,BIP148客户端仍然与其他比特币客户端兼容。许多人认为这个协议升级是第一个“真正的”UASF:不是由开发人员决定的,而是由草根用户运动产生的。
一个新的比特币ABC版本被设计为硬分叉到升级的比特币现金协议。大多数比特币现金用户确实升级并声称这个新协议的名称为“比特币现金”。然而,少数用户选择继续使用第一个比特币现金协议(主要是作为一个笑话),并采用了这个加密货币的新名称:“比特币Clashic”。
在2018年初,大多数比特币Clashic社区采用了比特币Clashic客户端的代码库分支,称为Bitcoin Core Sq。与现有的比特币Clashic客户不兼容,这再次创造了一种新的加密货币,故意混淆名称“比特币核心”。比特币核心Sq 和/或比特币核心加密货币与比特币核心软件客户端和/或比特币协议不兼容。虽然比特币Clashic也存在了一段时间,但它现在已被完全抛弃(主要是支持比特币核心)。
出于多种原因,几乎没有人采用BTC1。它不仅没有“升级”比特币协议,它甚至没有继续作为一种新的加密货币。 比特币黄金,比特币钻石和数十个叉子硬币 在比特币ABC通过区块链分支创建比特币现金的相对成功的先例之后,推出了许多所谓的“分叉币”。比特币现金产生于比特币社区长期存在的分歧,其他的分叉币通常被认为是区块链分支,只是一种推出新硬币的好方法。
Bitcoin Satoshi的愿景(比特币SV)是比特币ABC的代码库,但经过调整以确保它 在某个时间点与比特币现金协议不兼容。 比特币ABC和比特币SV拆分 在2018年,比特币现金社区内的分歧有比特币ABC和比特币SV 都 从现有的比特币现金协议中分离出来。比特币ABC方面在几乎所有方面都出现了更大的分裂并声称名称为“比特币现金”,虽然它现在也被称为“比特币现金ABC”。分拆的比特币SV方面声称“比特币” SV。(新的加密货币及其主要实现现在共享名称”比特币SV“。)截止今天BSV似乎已经失去了社区的支持。
比特币黑暗是比特币核心的代码库分支,使得同名的加密货币:比特币黑暗。像Litecoin和许多其他山寨币一样,代码库从一开始就被调整为与比特币协议完全不兼容。因此,它恰好是一种全新的货币,而不是区块链分叉,恰好在其名称中使用了“比特币”。今天,Bitcoin Dark被认为已经不存在了。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:21:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |