1.区块链是什么?
我们先来搞清楚鸡和蛋的问题,其实在比特币出现以前,并没有一个叫区块链的名词,区块链这个词是后来者通过观察比特币和山寨币的的运行机制,给所有数字货币提炼出来的概念。这样,比特币反而成了区块链中的一种数字货币,也就成了最早使用区块链技术的数字货币。
2008年11月,化名为“中本聪”的神秘人在P2P论坛中发表了一篇论文《比特币:一种点对点的电子现金系统》,这就是被信仰者称为数字货币圣经的比特币白皮书。比特币也就成了区块链技术中的第一个数字货币。所以,要了解区块链,我们就要先对比特币有个基本的认识,我们就从比特币的起源说起。
2.比特币的起源
2008年由于美元过度扩张,引发金融危机,人们的财富缩水,更加引发了极客们对现行金融系统的不满。
2008年11月,中本聪在论坛发布了《比特币:一种点对点的电子现金系统》。
2009年1月,比特币网络上线,第一版开源客户端发布,中本聪在芬兰赫尔辛基一个服务器上挖出了比特币第一个区块,并得到50个比特币奖励。中本聪将当天《泰晤士报》的头版标题“The Times 03/Jan/2009,Chancellor on brink of second bailout for banks”(翻译:《泰晤士报》,2009年1月3日,财政大臣正站在第二轮救助银行业的边缘),写在了创世块中,表达了对现行金融系统的讽刺。
3.比特币的发展
3.1比特币第一笔转账。
中本聪在测试转账系统时,把10个比特币赠送给了再利用工作验证(reusable-proof-of-work)的发明者哈尔·芬尼。【区块高度170 】
3.2最早的价格纪录
2009年10月,一个比特币早期论坛创始人,转给一个试图计算比特币价值的人5050个比特币,这个人也按照自己的计算方法支付给论坛创始人5.02美元。这是比特币最早的价格纪录。
3.3第一笔实物买卖
2010年5月22日,一位美国程序员拉斯洛在一个比特币论坛上发帖说,希望能用10000个比特币交换2个价值25美金的披萨饼。一个名叫杰里米·斯特迪文特的英国人与拉斯洛达成了交易,这是比特币第一次有了公允价格。人们为了纪念这次交易,把每年的5月22日称为“比特币披萨日”,而这两个披萨饼,也成为了史上最贵的披萨。
3.4比特币系统的漏洞
2010年8月,比特币协议发现一个严重漏洞,比特币交易在录入区块链之前,不需经过POW认证。不久,这个协议缺陷被修正。这也是比特币迄今为止唯一被发现的重大缺陷。
3.5现在的价格情况
2017年12月17日,比特币达到历史巅峰20089美元。最高涨幅800万倍,以2018年9月价格6500美元计算,涨幅260万倍。
比特币全网算力曲线图
比特币价格历史曲线图
4.比特币是什么?
比特币系统形式上是一个软件,每个人都可以下载运行,这个软件可以生成比特币地址,有收发比特币的功能,每个运行比特币软件的计算机都是比特币网络中的一个节点。理论上每个下载了全节点的计算机,都可以用软件进行比特币挖矿。比特币挖矿需要拥有计算能力, 由于现在比特币网络的总算力惊人(51.35EH/S),可以说单台机器能挖到的概率为零。
由于比特币系统设计之初就是针对现行金融系统的弊端。所以,比特币系统实质上是在网络世界中创造了一套理想的电子货币系统,比特币就是这个系统发行的,用来实现货币价值传递的数字货币。
5.比特币有什么特性?
5.1去中心化
我们在传统的金融系统中进行转账交易,必须有一个中心化的话中介机构作为信用担保,比如有国家背书的银行,有阿里背书的支付宝。而比特币首次在网络上,完美实现了不需要任何中介机构做信用担保,去中心化的点对点转账交易。这很像我们现实世界中的现金交易场景,就是两点之间直接传递价值,不需要任何中心化中介,是去中心化的。
5.2全球化
比特币的转账交易,就像发送电子邮件一样简单,低成本,无任何限制。比特币因此被用于跨境贸易、支付、汇款等领域。记住,这是在没有中介的情况下发生的,没有银行,没有汇兑,没有限额,没有任何中间商赚差价。
5.3交易记录透明,交易人匿名
比特币系统中的每一笔交易,都可以在比特币交易浏览器中查询到,包括双方的交易地址,但是地址对应的交易人是匿名的。
5.4自下而上的发行方式,总量恒定
比特币系统用代码来实现货币的发行,总量2100万枚,最初矿工每挖出一个块奖励50个比特币,每四年衰减,目前每个奖励12.5个比特币) 2140年,最后一枚比特币将被挖完,总量锁定在2100万。
5.5可分性
1 BTC = 10^8聪(satoshi)
传统货币和贵金属货币都有分割成本,但比特币可以无限分割,而且毫无成本。当比特币因为升值无法满足低价值商品交易时,可以通过拆分比特币进行,但是小额交易还有交易费用的问题,所以,现在比特币还有很多需要解决的问题。
6.比特币系统是怎么运行的?
从系统运行来看,比特币是一个运行在互联网上的去中心化记账系统。
6.1中心化的记账系统(银行)
账户内容是记录在银行的中心数据库表里:
当张三想要通过账号转账50元给王五时:
银行会先确认你的身份,通过后,银行执行你发出的转账命令,增加一条转账记录。
同时修改银行数据库中张三和王五余额,如下图所示:
6.2去中心化的记账系统(比特币)
每一个运行比特币软件的计算机被称为一个节点(node)。大量节点互相连接,形成一张像蜘蛛网一样的P2P(点对点)网络。简单的用四步表示比特币的交易流程。
第一步,当张三从软件里发送50个比特币给王五,软件检查这笔交易后,会广播到全网矿工节点。
第二步,收到广播的矿工会检查张三的签名和未花费的比特币余额是否足够。
第三步,通过后,矿工会把交易暂时放在一个交易池中,按照所有交易者提供的手续费和矿工收到交易信息的时间排列。同时,矿工设备在不停的运算系统给出的计算题。如果哪个矿工首先解出正确答案,它就取得了一次记账权,矿工会把交易池中收到的交易信息打包到一个数据区块中,然后和上个一区块相连接,这个过程就是记账。张三转给王五的这条交易信息就包含在这个区块中,双方账户的可花费余额也发生了变化。王五的余额增加50个比特币,张三的余额减少50个比特币。
第四步,矿工节点会把拿到记账权并打包区块的信息广播到全网,其他节点收到信息后,通过验证后,会更新自己的账本,同时,停止解题,继续下一轮的计算竞争。
这四步是一个简化的流程,为了方便理解和实际情况略有差异。
我们可以看到,交易记账全网节点同步后,任何人都难以篡改。在不通过中心化机构的情况下,比特币网络给双方提供了可以信任的交易方式,从而完成了价值在网络的点对点传输。
上图,是一张比特币账本的示意图,记录比特币交易数据的电子帐页叫区块(block),把帐页按时间顺序像链条一样连起来就成了区块链(blockchain),每一个运行比特币电子现金客户端软件(全数据)的设备,都会有一本这样的账本,账本记载了从比特币网络上线以来的全部区块,它们共同在同步维护这样一本账本。
7.比特币的发行方案
7.1比特币的总量
比特币总量设计2100万枚,别问为什么是2100万,我也不知道。有兴趣可以看一下这个帖子(https://www.8btc.com/article/25065)。这2100万比特币不是一次性释放出来,是通过奖励比特币网络系统中记账矿工的形式,逐步释放流通量。
7.2什么是矿工、挖矿、矿场。
在比特币网络中,争夺记账权的节点设备,称为“矿工”,矿工争夺记账权的过程就叫做“挖矿”,把这些节点设备集中起来一起挖矿的地方就是“矿场”。
7.3矿工为什么要争夺记账权。
为了拿到比特币系统给的奖励。比特币程序代码规定,平均每10分钟对全网的交易信息记一次账,也就是生产一个新的区块(block),系统会奖励比特币给争夺到记账权的矿工,最初每一次记账打包区块,奖励金额是50个比特币,每增加21万个区块(大约四年),奖励给记账矿工的比特币减少一半,直到2140年,2100万枚比特币发行完毕,在2012年和2016年区块高度在21万和42万块时,已经进行两次奖励减半,目前的每个区块的奖励是12.5个比特币,到2020年将迎来第三次减半,届时奖励为6.25个比特币。
这些规则都已经写进了程序里,运行在了每一个使用比特币软件的人电脑里,在不能达成95%共识的情况下,任何人无权修改。
哪个矿工能取得记账权,就可以把一定时间内收集到的交易信息打包到新的区块,并且获得相应的奖励。
7.4矿工是怎么争夺记账权的。
比特币网络中这么多矿工节点,怎么决定谁来记账呢?
只有答对问题的节点才有记账的权利。所有想记账拿奖励的节点需要同时解一个题,谁先解出答案,谁就能把最近收集到的交易内容写入区块放到区块链上,并且广播给其他节点。其他收到广播的节点验证你的答案正确后会停止解题,并且把自己的区块链同步更新,然后继续解答下一题。
每增加2016个区块(大约二周),根据解题的快慢,调整一次题的难度,以保证平均解题时间稳定在10分钟(也就是平均10分钟增加一个区块)。
现在比特币系统给出的解题难度是碰撞出一个前18位是0的64位数字(0000000..........)。节点验证完一个收到的广播交易数据后,会放在一个待打包的池子里,把它们生成一个准备放到链上的区块,比如这个区块的内容是“张三给了李四5个比特币”。在这个内容的后面加上一个不断变化的数字,用一种SHA256的算法对它进行哈希运算(SHA256(张三给了李四5个比特币+100101)),将运算结果和当前的难度值(前18位是0的64位数字)比较,如果小于难度值,则解题成功。
这到底有多难呢?当前比特币的算力是5279.13P/秒,相当于每秒运算多少次?每秒哈希碰撞次数=1000的5次方*5279.13,按这种运算速度,平均10分钟解出一个题。
8.结束
比特币的诞生与发展无疑都是一场伟大的社会实验,从2009年1月以来,比特币的走势跌宕起伏,经历了九死一生,不但自身逐渐强大,而且衍生出了无数个数字货币品种。中本聪在白皮书《比特币:一种点对点的电子现金系统》中,没有提及区块链(blockchain),只是在描述数据结构时,用了block,chain这些词。后来,人们在提炼比特币等数字货币底层实现技术时,把抽象出的技术体系,用block和chain来表示,创造出了blockchain这个词,可以说,是比特币的底层设计思想,衍生出了区块链blockchain这个概念。
学习区块链:区块链起源及比特币概述(下)