BTC 创世区块诞生 14 周年,一文回顾比特币问世历程
2023-01-04 09:54
Web3CN
2023-01-04 09:54
Web3CN
2023-01-04 09:54
订阅此专栏
收藏此文章

在 2008 年至 2012 年之间,一个名叫 Satoshi Nakamoto 的程序员(网名)与世界分享了一个绝妙的愿景和构建了比特币的代码。

我们口袋里的钱有三个基本特征“1、有形;2、集中管理;3、易于伪造”。

比特币完全相反,它是一种无需银行机构和政府干预即可独立运作的加密货币—它是虚拟的,经历了加密学先驱 20 多年的技术演进和失败后,2008 年比特币问世。

8 月 18 日,Bitcoin.org 域名被注册。

11 月 01 日,发表白皮书:“比特币:点对点电子现金系统”。

11 月 16 日,比特币 v0.08 预发行版本流出。

11 月 17 日,中本聪在发送给 James A. Donald 的邮件中写道:

“我的意思是一个节点只需要延迟交易(Pending-tx pool)来获得它拥有的最佳分支,目前能够想到的分支就是最好的分支,这个分支将拥有区块组成,也是延迟交易池所需的。我想我已经覆盖了对等网络广播机制,每个节点向其邻居节点发送一个包含交易的新区块哈希的库存列表。

邻居节点会发送请求获取他们没有的项目(item),如果超时项目就永远不会通过,他们会再次向拥有该项目的其他邻居区块发送请求。

由于所有、或是大多数邻居区块该拥有每一个项目,因此即便这些项目被一个区块弄的乱七八糟,他们也可以从其他区块中获取,但一次只能尝试一个区块。

库存请求数据方案引入了一点延迟,但请求速度最终会获得提高,因为额外数据区块将被保留在传输队列之外,同时也会节省带宽。

在过去的一年半时间里,我一直在处理所有这些细节,并进行代码编写,但仍有很多工作要做,白皮书里还没有涉及功能细节,但源代码即将推出,我把一些主要的文件发给你了(目前可根据要求提高,完整版本稍后发布)”。

在分发给 Bitcointalk.org 成员“ Cryddit”的比特币版本中出现了“比特币矿工”这个术语,中本聪第一次将这些网络参与者描述为“矿工”。而在比特币白皮书中他们称之为“节点”,区块链这个词最初称为“时间链(timechain)”。

2009 年 1 月 3 日下午六点十五分左右,比特币的创世区块在荷兰赫尔辛基的一台小型服务器内产生,并产生了 50 个 BTC 的区块奖励,标志着比特币的正式问世。

中本聪在区块上留下的一句话,“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(泰晤士报当天的头版标题:财政大臣正站在第二轮救助银行业的边缘。)”。

中本聪在创世区块留下了 50 枚永远无法花掉的比特币,这 50 枚比特币它以硬编码的形式强行产生,没有指向前一个区块的哈希值,之后的链上交易都无法引用到这个区块,Block#0 是中本聪硬编码产生的,而 Block#1 才是真正通过挖矿产生的首个区块。凑巧的是,中本聪挖出 Block#1 的时间用了 6 天(而不是 10 分钟)。

创世同一天,Bitcointalk.org 用户 Deepceleron 的截图显示,在区块 213 有一个发布的区块链和三个其他链接:

早期源码是这样解释:“时间链(timechain)是一个树状结构,从根部的创世区块开始。

每个区块都可能会有多个分支候选区块成为它们的下一个区块。通过主链(最长链),pprev 和 pnext 会连接到一个路径续航。

区块索引可能有多个 pprev 指向它,但是 pnext 只指向最长的分支。或者,如果区块不是最长链的一部分,区块索引可能就会为空。

另外根据早期开发人员 Mike Hearn 透露出来的信息,中本聪最初打算在比特币协议里面集成一个点对点(类 Openbazaar 的 P2P)平台,但是它并没有完成相关的编码工作,这个想法也就搁置了。

源代码中还有一个废弃的创世区块,而且具有完全不同的哈希算法,诞生的时间大概是在 2008 年 9 月 10 日。

早期源码中还命名了两个比比特币更小的单位,分别是“coin(1,000,000)”和 cent(10,000)”,而不是现在人们所使用的“聪(satoshi)”。此外源代码里还提到某种评级系统,并谈到“原子 (atom)”和“用户评论”相关问题。

2009 年 1 月 09 日,比特币 v0.1.0 版本发布。

比特币 0.1.0 的版本源码中,包含了一个互联网聊天(IRC)客户端,旨在创建一种更简单的消息引导传递方式。而且还包含了一个创建虚拟扑克游戏的框架,这个游戏框架是在 2008 年 4 月 16 日被添加到比特币版本中,在比特币 0.8.2 版本后被完全删除。

Hal Finney( 芬尼)第一时间下载了这个版本,他挖了 70 多个区块通过邮件与中本聪沟通,报告软件的漏洞。同时,他在自己的推特上发了比特币诞生的第一条推文:“运行比特币”。

1 月 12 日,Hal Finney( 芬尼)收到中本聪进行比特币转账测试时发来的 10 个比特币,成为第一个比特币转账的接受者。芬尼后来在自己的自述中感叹道:

”真希望当时自己可以挖的久一点。自己的比特币得来全凭运气,没付出多少努力。来的容易,去得也容易”。后来他在 100 美元左右时,卖掉了大部分比特币。

2009 年 1 月 13 日,比特币 v0.1.3 版本发布。 

2009 年 2 月 05 日,比特币 v0.1.5 版本发布。

版本 0.1.5 现在可用。它包括尼古拉斯(Nicholas)所遇到问题的修复程序,检查磁盘是否已满以及进行更改以尝试改善令人困惑的问题。特别感谢尼古拉斯和达斯汀的所有帮助和反馈!下载链接:http : //sourceforge.net/project/showfiles.php?group_id = 244765& package_id= 298441 更改:- 磁盘已满警告 - 修复了 DNS 查找失败时可能发生的错误 - 防止在通讯录中输入您自己的地址,混淆地更改了您自己的地址的标签 - 将更改地址按钮移至选项下的菜单 - 进行调整以使其更快地连接 - 退出时关闭插座 - 为少于 1 美分的交易创建了最低费用 - 隐藏了只有一个选择的交易类型选择框 - 稍微清理了 ParseMoney- 消息文本的格式更简洁一些 - 更改了交易详细信息对话框中的字体 - 向其中添加了一些说明文本生成硬币的交易详细信息 - 用比特币地址中本聪(Satoshi Nakamoto)http://www.bitcoin.org 改写了接收到的交易的描述

2009 年 12 月 18 日,比特币 v0.2.0 版本发布。

比特币 0.2 在这里!下载(适用于 Windows 和 Linux,现在提供 Windows 版本)http://sourceforge.net/projects/bitcoin/files/ 新功能 Martti Malmi- 最小化到系统任务栏选项 - 引导时自动启动选项,因此您可以使其在后台自动运行 - 新选项对话框布局为将来的扩展 - 为 Windows 安装程序 - Linux 版本(在 Ubuntu 上测试)- 硬币代多处理器支持 - 用 TOR 使用代理支持 - 修正了在初始块下载一些怠工我们也有一个 http://www.bitcoin.org/smf/ 上的新论坛非常感谢 Martti(sirius-m)的所有开发工作,并感谢 New Liberty Standard 在测试 Linux 版本方面的帮助。中本聪

2010 年 07 月 07 日,比特币 v0.3.0 版本发布。

宣布 P2P 加密货币比特币 0.3 版!比特币是一种使用加密技术和分布式网络来替代对可信中央服务器的需求的数字货币。避免集中管理货币的任意通胀风险!比特币的总发行量限制为 2100 万枚硬币。硬币会根据它们贡献的 CPU 能力逐渐释放到网络的节点,因此您可以通过贡献空闲 CPU 时间来分享它们。新增功能:- 命令行和 JSON-RPC 控件 - 包括不带 GUI 的守护程序版本 - 事务过滤器选项卡 - 哈希速度提高 20%- 哈希表性能显示 -MacOS X 版本(感谢 Laszlo)- 德语,荷兰语和意大利语翻译(感谢 DataWraith,Xunie 和 Joozero)网址为 http://www.bitcoin.org,并阅读论坛以了解更多信息。

8 月 22 日,中本聪在 Bitcointalk 论坛发帖说他正在构建可以向比特币网络传播信息的警报系统,并表示只有使用他设定的报警私钥才能启动,信息发布 5 天后,中本聪在 v0.3.11 版本中添加了该设定。

设定报警系统是为了让网络出现紧急情况的时候,密钥持有者能够向所有运行节点发出安全警报,从而起到一定的重要信息提醒作用,但这个安全警报系统给网络带去了长达 8 年的安全隐患。

2010 年 12 月 09 日,比特币 v0.3.18 版本发布。

版本 0.3.18 现在可用。变化:- 修正了一个的 wallet.dat 兼容性问题,如果你从 0.3.17 降级,然后再次升级 - IsStandard()检查只包括已知的交易类型以块 - Jgarzik 的优化,加快初始块下载一点主要在增加此版本是 Gavin 一直在使用的基于帐户的 JSON-RPC 命令(更多详细信息,请参见 http://www.bitcoin.org/smf/index.php?topic=1886.0)。-getaccountaddress-sendfrom-move-getbalance-listtransactions 下载:http : //sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.18/

如果密钥掌握在值得信任的人手上,无疑能够起到提醒效果;比如 2013 年出现的影响 26 个区块的错误,核心开发者就是使用中本聪留给他们的报警密钥来快速解决的。但密钥若是落到坏人手里,他们就能借着报警系统支持多条信息连续推送这一点,向节点发送海量的报警信息,从而发起 DoS 攻击。

不单单是这样,攻击者还能利用这项功能传递虚假或无关信息,借此在社区引起不必要的恐慌,2016 年同样具有报警系统的莱特币网络发布的客户端版本更新提醒信息,却因某种原因被错误的推送到其山寨币 Feathercoin 所有的客户端内。

意识到隐患的存在,2016 年比特币核心开发者在 Bitcoin Core 0.12.1 版本发布的时候就关停报警提醒功能,并在随后上线的 0.13.0 版本将相关代码完全删除。2017 年 3 月开发者还在 0.14.0 版本内硬编码来了终极报警,并将其设置为无法被其他信息所覆盖,让社区没有留意到的老客户端能够知晓“报警系统已经破坏“的消息。

2018 年 7 月,历时 8 年的安全隐患在 Bitcoin Core 开发者 Bryan Bishop 公开报警私钥后完全解除。

2010 年 12 月 13 日,比特币 v0.3.19 版本发布。

这是次要版本,添加了一些 DoS 保护。更改:- 添加了一些 DoS 限制,尽管距离 DoS 抵抗能力还很远。- 删除了“安全模式”警报。http://www.bitcoin.org/smf/index.php?topic=2228.0 下载:http : //sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.19/

2010 年 12 月 13 日下午四点二十分左右,中本聪在 Bitcointalk 上回答完关于 0.3.19 版本客户端的补救方案之后,就再也没有出现在论坛上。

2008 年 11 月 1 日 至 2009 年 1 月 25 日

在 Cryptography 邮件列表留下了 17 封邮件。

2009 年 1 月 25 日 至 2009 年 11 月 22 日

在 sourceforge 上发布了比特币(bitcoin) 的更新信息,

2009 年 2 月 11 日在 P2P Foundation 论坛上注册。

2009 年 11 月 22 日在比特币论坛 Bitcointalk 参与讨论,发表 539 条留言。

早期比特币的升级、部分版本的编码以及漏洞的修复,都有 Bitcointalk 论坛社区的共同参与。

比如提供测试信息的 virtualcoin、多次参与比特币升级编码工作的 Gavin Andresen、及时发现并报告史上最大漏洞的 lfm,还有负责提升用户界面、整个网络性能以及建立比特币论坛的 Martti Malmi……

不仅仅是网络的升级维护,各语种的翻译、原始 Logo 的设计、维基百科比特币页面的建立。

就这样,通过日积夜累的交流和深入参与,早期比特币社区在中本聪神秘失踪前便自然而然地组建完成。

2010 年 12 月 13 日神秘的离开,并把工作移交给了 Gavin Andresen。

来源:umiDAO

声明:web3 中文转载作品,内容仅代表作者立场,且不构成投资建议,请谨慎对待,如文章 / 素材有侵权,请联系官方客服处理。

相关Wiki

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

Web3CN
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开