一份为小白用户准备的免费区块链基础教程
Web3开发中,各种工具、教程、社区、语言框架.。。。
种类繁多,是否有一个包罗万象的工具专注与Web3开发和相关资讯能毕其功于一役?
参见另一篇博文 2024最全面且有知识深度的web3开发工具、web3学习项目资源平台
我们通常把比特币的发明看成是区块链诞生的标志性事件。但区块链就像很多技术一样,并不是凭空出现,通常都会有一些渊源。 1991年,比特币发明出来的17年前,斯图尔特·哈伯(Stuart Haber)和W.斯科特·斯托内塔(W. Scott Stornetta)就提出了区块链的前身。他们创造性地把一系列区块链接起来,最终保证了电子文档的时间戳不可篡改。一年之后,他们升级了这套系统,往其中加入默克尔(Merkle)树。得益于此,系统的效率大大提升,可以在一个区块中放入一组文档。 通过 Hash 链接在一起的区块、默克尔(Merkle)树,构成了比特币诞生的基础,这些最终都成为区块链技术的重要组成部分。
2008年10月31日,一名叫中本聪(Satoshi Nakamoto)的用户在密码学的邮件组中发了一个链接,链接指向一篇叫作《比特币:点对点的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System)的论文,标志着比特币的诞生。
点对点的电子现金系统论文中详细介绍了如何使用点对点技术创建一种电子货币(数字货币)。
2009年1月3日,中本聪挖出了比特币的创世区块,标志着比特币网络正式上线。中本聪在挖出创世区块的过程中获得了50个比特币的矿工奖励,同时他在创世区块中留下了这句话: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘) 这句话是英国《泰晤士报》当天的头版文章标题。通过对头版头条的引用证明了比特币的实际上线时间。
1983年,戴维·查姆(David Chaum)和史蒂芬·布兰德斯(Stefan
Brands)开发了ecash协议,基于ecash协议,不少人发明了多种电子现金系统。 1997年,亚当·巴克(Adam
Back)开发了hashcash协议,主要是为了解决垃圾邮件泛滥的问题,其中用到的技术就是后来被比特币使用的工作量证明算法(proof-of-work)。
1998年,戴伟(Wei Dai)发明了b-money,尼克·萨博(Nick Szabo)发明了bit
gold。两者被认为是最早的分布式加密货币。 这一切可以被认为是比特币的前身,它们都或多或少地影响了比特币的设计。 2008年8月18日,
bitcoin.org 域名注册,
2008年10月31日,密码学(cryptography)邮件列表中收到了一个叫中本聪的人发表论文《比特币:点对点的电子现金系统》。
2009年1月9日,知名代码托管网站SourceForge上发布了第一个开源版本的比特币客户端。
2009年1月9日,作为比特币的早期支持者和贡献者的程序员哈尔·芬尼(Hal
Finney)下载了比特币客户端,2009年1月12日,哈尔·芬尼(Hal Finney)收到了中本聪的 10
枚比特币的转账,这是比特币历史上的第一次转账。 2010年5月22日,程序员拉斯洛·汉耶兹(Laszlo
Hanyecz)用10000枚比特币购买了Papa John‘s的两份披萨。这是有记录的第一次在现实中发生的比特币交易行为。
2012年9月,比特币基金会成立,旨在通过开源的协议来加速比特币在全球范围内的增长。 2013年10月29日,加拿大公司发布第一个比特币
ATM,允许用户在咖啡馆里直接购买和出售比特币。 2017年8月1日,比特币发生共识分裂,分叉出 Bitcoin Cash (BCH) 链。
2017年11月28日,比特币价格首次突破1万美元。 2021年11月10日,比特币创下历史最高价达68928.9美元
比特币是一种基于分布式网络的数字货币,与传统的货币不同,比特币不是在任何政府的支持下发行的货币,也不依赖中心化的银行来记录相应的账本。
如何让比特币的分布式网络中的所有节点,按照一个统一的规则行动,以便最终形成一个所有人都认可的公共账本?
在分布式系统中,如何多台计算机如何同时运行同一个任务,一直是一个“难题”,在比特币系统中,需要如何保持各个节点的账本数据(通常称为“状态”)一致呢。 这就需要各节点达成一个“共识”,所有节点按统一的规则行事。
比特币网络中的所有节点都会接收到一组交易记录(记录作为一个区块保存),然后把这个区块更新到本地的账本记录中。如果节点都随意增加记录,那么整个比特币网络中的记录就无法保持一致。为了保持记录一致,那么必须确认哪个区块被优先写入,也就是需要以某一个节点的操作为准。但如果人为规定以某个节点为准,就意味着这个节点比其他节点更权威,相当于变成了一个中心节点,那么去中心化的优势就荡然无存。
比特币使用的共识算法叫做PoW共识机制,全称是Proof of Work(“工作量证明”),率先完成工作量证明的节点,拥有区块写入权,其他的节点以此区块的基础上(在最长链的基础上)进行后续交易记录的工作量证明。
工作量证明中最重要的是计算一个数学难题,解此难题唯一的方式是不断的尝试,直到试出“答案”,率先完成解答的节点可以获取一笔奖励,最初奖励是每个区块50个比特币,之后每大约4年减半,当前为每区块 6.25 比特币。由于完成工作量证明有一定的随机性,通常这个过程也称为“挖矿”,参与挖矿的节点,则称为“矿工”。
矿工的收益不仅仅包含出块奖励,同时还有交易手续费收益,根据中本聪的设想,当出块奖励越来越小后,矿工的收益将主要来自于交易手续费。
比特币发行量都来自于比特币的出块奖励,按共识规则初始出块奖励是 50
比特币,之后每隔21万个区块奖励减半,每个区块的生成时间大概是10分钟,因此大致是4年减半一次,大约到 2140
年,比特币的出块奖励就趋于零,此时产出的所有比特币数量将非常接近 2100 万枚。
在下一节,我们会介绍更多比特币如何交易的细节。
比特币具有的“货币”的特性,如:可流通性,可交易性,可存储性,可分割性,同时对比法币,有更好的稀缺性。
但比特币价值并不是由中央权力机构赋予或物理特性(贵重金额)决定,而是由广泛的共识来决定。
由于比特币与黄金有很多的相似性,如:稀缺性、价值存储工具,加上比特币的数字特性,有很多人把比特币称为“数字黄金”, 很多机构购置一部分比特币作为储备来对冲美元风险。一些受美元制裁的国家也在加大比特币的采用率。
从比特币的特点上来看,比特币是去中心化的,主要特点如下:
比特币不需要任何权威机构的背书。 比特币是点对点网络,没有中心化的服务器存在。 比特币的账本数据存储在区块链中,而区块链本身存储在千千万万的节点中,没有一个中心化的存储设备。 比特币账本数据面向所有人公开,任何人都可以把它存储到自己的机器中。 比特币网络没有管理员,比特币网络中的所有节点共同管理比特币网络,维持比特币网络的运行。 任何人都可以成为比特币网络的一个节点,从而具备和别人同等的管理权。 比特币网络中任何节点都是同等地位,它们都可能获得下一个区块的记账权。 由于比特币可能由任意节点凭空产生,所以比特币的供应也是去中心化的。 和传统银行不同,任何人都可以生成任意数量的比特币账户,不需要任何中心化机构的审批。 任何人都可以在比特币网络中发起转账,不需要任何中心化机构的审批。
但是,在现实中,比特币也有一些中心化的倾向,由于奖励机制是凭空生成的比特币,所以比特币网络中的节点争夺记账权的欲望通常比较强大,结果造成了大量的节点联合起来,共同去争夺记账权。当联盟中的任意节点获得记账权,就会把得到的比特币和联盟中的其他节点分享。因此,这种联盟造成了比特币网络节点某种程度上的中心化。这种联盟就是我们经常听说的比特币矿场。