干货 | 不完整比特币开发史(上):简述


时间线

2007 年早期:中本聪开始开发比特币

中本聪开始写比特币的代码。这是根据中本聪在 Cryptography 邮件列表中一份写于 2008 年 11 月 17 日的邮件中得出的:

“我确信自己已经在过去一年半的编程工作中解决了所有这些细节问题。”

见:e-mail (metzdowd.com) 以及 e-mail (nakamotoinstitute.org)

**

**

2008 年 11 月 1 日:比特币白皮书发布

中本聪在 Cryptography 邮件组中公布了白皮书:

“我一直在开发一个全新的数字现金系统,它是完全点对点的,没有需要用户信任的第三方。”

见:e-mail (metzdowd.com) 以及 e-mail (nakamotoinstitute.org),以及白皮书

**

**

2009 年 1 月 3 日至 9 日之间:比特币的创世区块挖出

创世区块的时间戳是 1 月 9 日。

这个区块的 coinbase 交易(发行新币的交易类型)包含了著名的一段话:

“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks (泰晤士报 2009 年 1 月 3 日刊 英国财政大臣正在考虑对银行的第二轮纾困计划)”

见:区块浏览器、百科词条

2009 年 1 月 9 日:Bitcoin v0.1 软件发布

中本聪在 Cryptography 邮件组 中写道:

“我发布了 Bitcoin 软件的第一个版本。比特币是一种新的电子现金系统,使用点对点网络来防止多重支付。它是完全去中心化的,没有服务端,也没有中心化的权威。”

见:e-mail

**

**

2009 年 12 月 16 日:Bitcoin v0.2 软件发布

Martti Malmi (sirius-m) 加入了对 Linux 系统的初步支持。其它新功能包括在利用 CPU 的多个核心来挖矿以及初步支持使用代理。

见:bitcointalk.org

2010 年 7 月 6 日:Bitcoin v0.3 软件发布

Laszlo Hanyecz (Bitcoin pizza guy) 加入了对 macOS 的支持。其他新特性包括 JSON-RPC 接口,以及一个新的 daemon 模式。用户帮助把软件的图形界面翻译成了德语、荷兰语和意大利语。

见:bitcointalk.org

2010 年 7 月 15 日:Bitcoin v0.3.1 软件(补丁)发布

修复了各种各样的 bug。Gavin Andresen 开始作贡献。

见:bitcointalk.org

2010 年 7 月 17 日:Bitcoin v0.3.2 软件发布

中本聪加入了检查点作为一项安全措施。检查点就是锁定某个高度的区块哈希值必须是某个,否则就拒绝。中本聪写道:

“我可能会从现在开始,每发布一个新版本就增加一个检查点。如果软件已经决定了哪个是被普遍接受的区块链,就没有必要留下一个徒增困扰的、可能在几个月后发生逆转的机会。”

见:bitcointalk.org、checkpoints added (diff on GitHub)

2010 年 7 月 25 日:Bitcoin v0.3.3 软件发布

这个版本加入了第一个共识层面的变更。

比特币软件开始跟随累积工作量最多的链。在此之前,是跟随字面意义上的最长链。

见:bitcointalk.org、consensus change (diff on GitHub)

整个 2010 年夏天

Bitcoin v0.3.xx 的多个版本在此期间放出

**

**

2010 年 8 月 15 日:致命的溢出漏洞得到修复

中本聪在 v0.3.9(ish) 中放出一个补丁,告诉用户和矿工要重组带有溢出错误交易的区块。

见:bitcointalk.org

**

**

2010 年 8 月 22 日:警报系统引入

中本聪开始开发一个警报系统,计划在 v0.3.11 加入。他写道:

“我一直在编写一个警报系统。警报会在网络中广播,并在一些版本的软件中生效。警报消息要用只有我知道的一把私钥签名。”

“节点偶尔陷入暂时的停机可能给你惊吓,但总好过你发现自己的钱被全部吸走的惊吓。”

“等什么时候我们很长一段时间都没有再发现新 bug、透彻的安全检查也没有发现任何问题时,这个系统可以缩减。我并不主张我们会永远使用它。但比特币还是一个 beta 阶段的软件。”

见:bitcointalk.org

2010 年 12 月 12 日:中本聪发出最后一个帖子

中本聪在 bitcointalk.org 上发表他自己的最后一个帖子。他加入了一些 DoS 限制,并移除了前述的警报系统安全模式。

“在 DoS 保护上还有许多工作要做,但我正在开发一个备份的快速构建包,以备不测;更复杂的主意则以后再说。这个包所构建的软件是 v0.3.19。”

见:bitcointalk.org

2010 年 12 月 19 日:开发工作转移到 GitHub 上

Bitcoin 软件的活跃开发和 issue 跟踪转移到了 GitHub 上。

见:GitHub 记录的第一个 issue

**

**

2011 年 4 月 23 日:中本聪最后一次发声

据称来自中本聪给 Mike Hearn 的最后一份电邮:

“我已经做别的事情去了。Gavin 和大家会把这件事做好。”

见:pastebin.com 上的电子邮件对话

2011 年 3 月至 6 月:新的贡献者加入

多位新的贡献者加入:TheBlueMatt (于 3 月 3 日)、sipa (于 3 月 12 日)、laanwj (于 3 月 15 日)和 gmaxwell (于 6 月 18 日)。

他们的第一次合并请求见:TheBlueMatt、sipa、laanwj、gmaxwell

**

**

2011 年 8 月 19 日:第一个 BIP

第一个 BIP “BIP 1:BIP 的目的和指南” 出现。

见:BIP 1 on GitHub

2011 年 9 月 23 日:Bitcoin v0.4 推出

v0.4 放出,主要的新功能是钱包加密。见:更新说明

**

**

2011 年 11 月 21 日:Bitcoin-QT v0.5 发布

新特性是新的 qt 图形界面以及钱包加密功能的一个重大补丁(CVE-2011-4447)

见:更新说明、CVE-2011-4447

**

**

2011 年 11 月 ~ 2012 年 4 月:P2SH 和其他提议上的工作

多个提议(OP_EVAL、P2SH、OP_CHV)都旨在允许交易的接收者可以指定花费资金的脚本。

P2SH 在 Bitcoin-Qt v0.5.4 上实现。另外两个则都被放弃了。

见:BIP 12: OP_EVAL、OP_EVAL 合并请求、OP_EVAL 递归问题、BIP 16: P2SH、BIP 17: OP_CHECKHASHVERIFY

**

**

2012 年 3 月 30 日:Bitcoin-QT v0.6 发布

新特性包括地址二维码,BIP30 (针对一种涉及复制 coinbase 交易的攻击的安全修复)的一个实现,以及修复内存相关的拒绝服务攻击向量。

见:更新说明

**

**

2012 年 9 月 17 日:Bitcoin-QT v0.7 发布

包括了 BIP22、BIP34 和 BIP35 的实现,以及图形界面上的许多变更,还有联网的 RPC 代码。

见:更新说明

**

**

2012 年 9 月 27 日:Bitcoin Foundataion 宣布成立

Gavin Andresen 宣布成立 Bitcoin Foundation。

见:bitcointalk.org 上的帖子

**

**

2013 年 2 月 19 日:Bitcoin-QT v0.8 发布

本版更新将区块链的存储从 BerkleyDB 数据库格式迁移成 LevelIDB 数据库。“Ultraprune (极致修剪)” 功能由 sipa (Pieter Wuille) 实现了,他将 UTXO 集合从区块链数据库中分离了出来。

见:更新公告

**

**

2013 年 3 月 11 日:意料之外的硬分叉

一次意料之外的硬分叉发生,将 v0.8 的节点与更老版本的节点分离了开来。

见:BIP 50: 2013 年 3 月链分裂事件的事后报告,bitcoin.org 网络警报

**

**

2013 年 12 月 12 日:软件品牌重新包装

Bitcoin-Qt 软件重新包装,使用 Bitcoin Core 的新名称。

见:GitHub 上的 PR

**

**

2014 年 3 月 19 日:Bitcoin Core v0.9 发布

新特性包括:OP_RETURN 操作码可以在区块链中写入数据,但也会让相关的 UTXO 变成不可使用的状态。此外,autotools 用作构建系统,而 bitcoin-cli (命令行工具)作为一个 RPC 客户端引入。

见:更新说明

**

**

2014 年某个时间:Chaincode Labs 成立

Alex Morcos 和 Suhas Daftuar 在 2014 年成立了 Chaincode Labs 以打造一个工程师和科学家能够支持去中心化数字货币开发的空间。

**

**

2014 年 10 月 23 日:Blockstream 成立

Adam Back、Matt Corallo、Greg Maxwell、Pieter Wuille 等人创立了 Blockstream 公司并放出了他们的侧链白皮书。

见:为什么我们要成立 Blockstream?

**

**

2015 年 2 月 16 日:Bitcoin Core v0.10.0 发布

重要的更新包括:首先同步区块头的同步方法,REST 接口 以及用来创建和操控交易的 bitcoin-tx 模块。

见:更新说明

2015 年 2 月:闪电网络白皮书发布

Joseph Poon 和 Thaddeus Dryja 发布了 Lightning Network 白皮书第一版草稿

见:闪电网络白皮书

**

**

2015 年 4 月 15 日:MIT DCI 成立

MIT Media Lab 启动了 Digital Currency Initiative (DCI)。DCI 是一个研究社区,聚焦密码货币和区块链技术。

见:DCI 启动公告

**

**

2015 年 7 月 12 日:Bitcoin Core v0.11.0 发布

这一版软件将区块文件修剪当成一个主要的特性。

见:更新说明

**

**

2016 年 2 月 3 日:BIP 2

Luke Dashjr 起草了 BIP 2,提出了一个定义更清晰的 BIP 流程。这个提议被社区接受

见:BIP 2: BIP 流程修订

**

**

2016 年 2 月 23 日:Bitcoin Core v0.12.0 发布

主要更新是引入了 libsecp、sendheader,选择进入的 RBF (BIP 125)以及交易内存池限制。

见:更新说明

**

**

2016 年 4 月 15 日:Bitcoin Core v0.12.1 发布

这一版本包含了 BIP 9 (版本标识逻辑)以及 OP_CHECKSEQUENCEVERIFY 软分叉的定义。

见:更新说明

**

**

2016 年 8 月 23 日:Bitcoin Core v0.13.0 发布

包含了为 segwit (隔离见证)预备的变更、压缩区块功能,交易池基于手续费价格的筛选,HD 钱包的迟滞,以及 CPFP 交易选择算法。

见:更新说明

2016 年 10 月 27 日:Bitcoin Core v0.13.1 发布

这个版本包含了 SegWit 软分叉。

见:更新说明

**

**

2016 年 11 月 1 日:警报系统退休

网络层的警报系统代表着比特币的一个很大的中心化力量,如今走入历史。

见:公告

**

**

2017 年 3 月 8 日:Bitcoin Core v0.14 放出

本版软件大幅提高了初次下载区块的速度。

见:更新说明

2017 年 8 月 24 日:SegWit 激活

SegWit 在比特币主网上激活。

**

**

2017 年 9 月 14 日:v0.15 放出

本版软件加入了一个更好的手续费预估功能,可在图形界面追加手续费,还有多钱包功能以及脚本缓存功能。

见:更新说明

**

**

2017 年 11 月 11 日:v0.15.1 放出

这个版本着力于 P2P 网络的安全性,以预防未来可能的网络分叉,也修复了一些 bug,为 0.15.x 系列做了优化和升级。

见:更新说明

**

**

2018 年 2 月 26 日:Bitcoin Core v0.16 放出

这一版主要是为 Bitcoin Core 钱包增加了 SegWit 支持。

见:更新说明

**

**

2018 年 10 月 3 日:Bitcoin Core v0.17 放出

这一版本为钱包增加了一些功能。其中一个是支持部分签名的比特币交易(PSBT)。

见:更新说明

**

**

2019 年 3 月 20 日:Square Crypto 成立

Jack Dorsey 宣布 Square Crypto 将招聘 3~4 名工程师和 1 位设计师来全职为比特币生态作开源的贡献。

见:tweet

**

**

2019 年 5 月 2 日:Bitcoin Core v0.18 放出

本版更新包括了大量新功能和一些小变更。

见:更新说明

**

**

2019 年 5 月 6 日:Taproot 提出

Pieter Wuille 提出了多个 BIP 以在比特币中实现 Schnorr 签名以及 taproot,以提高比特币智能合约的隐私性、效率和灵活性。

见:邮件组帖子

**

**

2019 年 8 月 9 日:Bitcoin Core v0.18.1 放出

这个小版本加入了新功能,多个补丁以及性能升级,还更新了翻译。

见:更新说明

**

**

2019 年 8 月 19 日:Miniscript 推出

Pieter Wuille 提出了 Miniscript,让比特币脚本的编程更友好的语言。

见:邮件组帖子,项目页面

**

**

2019 年 11 月 24 日:Bitcoin Core v0.19.0.1 发布

这个版本加入了新功能,多个补丁以及性能升级,还更新了翻译。

见:更新说明

**

**

2020 年 3 月 9 日:Bitcoin Core v0.19.1 发布

这个版本修复了多个 bug,提高了性能。

见:更新说明

**

**

2020 年 6 月 3 日:Bitcoin Core v0.20.0 发布

这个版本修复了多个 bug,提高了性能。

见:更新说明

2020 年 8 月 1 日:Bitcoin Core v0.20.1 发布

这个小版本的更新包括应对不轨对等节点的方式不同,钱包提醒以及 PSBT 支持带 witness 和不带 witness 的 UTXO。

见:更新说明

2020:为比特币项目和个人贡献者设置的开发奖

包括 BitMEX、Square Crypto、OKCoin、BTSE、Kraken 在内的公司,以及 Human Rights Fundation、Paradigm 和 Coinbase 交易所,为比特币项目和个人贡献者设立了多个开发奖项。

见:Square Crypto Grants、BitMEX Grants、OKCoin Grants、Coinbase Grants、Polylunar Grant Tracker、Bitcoin Words Grant Tracker

所有的文字和图片都遵循__自由创作和分享协议 4.0,作者保留署名权,允许自由分享和改编,后续使用应维持同样的使用条件。

(完)

(文内有许多超链接,可点击左下 ”阅读原文“ 从 EthFans 网站上获取)


原文链接 :

https://b10c.me/blog/004-the-incomplete-history-of-bitcoin-development/

作者 : 0xB10C

翻译 : 阿剑