我眼中的区块链(二)--比特币

比特币的由来--挖矿

在第一章大概介绍了区块链,去中心化是区块链的一大特点,每个节点都会保存全部的记账信息,但记账是需要成本的,一旦交易趋向频繁,每次记账确认的成本就更高,而每个节点凭什么去帮交易者记录交易信息?

中本聪天才地想出一个奖励机制,就是所有节点都先帮我记录这条交易信息,然后我出一道数学题,谁算得最快,我就把「比特币」和交易者给的手续费奖励给它,而这个计算的过程就叫做「挖矿」.随着账本越来越大,挖矿的成本是越来越高昂的,感兴趣的可以看下这个挖矿视频.

比特币共识机制--工作量证明

挖矿的过程怎样来判定谁算得最准最快,否则大家都说我算得最准最快,应该奖励我,导致系统乱了套,这时就需要一套大家都认同的机制来保证系统能够良好运行.

比特币的共识机制是工作量证明.所谓工作量证明涉及一系列的复杂算法计算,用通俗例子打个比方,我们知道2x512=1024,但是我们没办法倒推1024一定就是2x512得到,也许是4x256,6.4x160,8x128...等一系列可能的组合得到的.同时工作量证明是一个计算十分复杂,但是验证非常简单的过程.

这时系统就给出一道数学题,比如说两个数相乘等于1024,而且这两个数要同时能被8整除,然后每个节点就需要大量计算不断去猜这个结果,不断去碰撞,哪个节点在最短时间内算出答案,那么它就能得到奖励.


我眼中的区块链(二)--比特币_第1张图片
工作量证明流程--计算复杂,验证简单

有了比特币的奖励,节点就蹭蹭地去记账,计算,打包区块,把区块添加到区块链上,继续赶往下一笔记账.说好的不为五斗米而折腰呢?

分叉

我眼中的区块链(二)--比特币_第2张图片
不同节点接收延迟

我们了解了工作量证明,在同一时刻A君发现了红色的新区块,B君发现了绿色的新区块,他们同时向全网广播,但有时候网络是有延迟的,这时主链会形成分叉,如下图:

我眼中的区块链(二)--比特币_第3张图片
统一机制分叉

那么由于网络有一定的延迟,部分节点会优先接收到A君的广播,那么这些节点就放弃手头上的工作,转向和A君一起继续挖矿;反之优先收到B君的节点就会和B君一起挖矿,一定时间后,哪条分叉出来的区块链最长,那么这条就是主链,其他分叉链的矿工就要放弃手头上的工作,都统一转移到主链上(注意:这里有一定程度上的算力资源浪费).结果如下图:

我眼中的区块链(二)--比特币_第4张图片
主链确认

以上这种是属于所有矿工都工作在统一机制下的分叉.

硬分叉,软分叉

当部分矿工没有达成共识,大家没有形成统一机制,就会出现软分叉和硬分叉.一个交易区块包含区块数据+交易数据,有一些字段还没有实际意义,预留出来的.


我眼中的区块链(二)--比特币_第5张图片
区块数据结构
我眼中的区块链(二)--比特币_第6张图片
区块交易数据结构

软分叉 可以大概理解为部分节点为了改善效率,性能等,修改了以前没有使用的字段(如锁定脚本),从而更新了系统软件版本,但是使用旧软件系统的节点也可以验证区块数据结构.

2012年,比特币就经历一次重要的软分叉,社区称之为「多重签名软分叉」,就是改变了锁定脚本,目前这个字段有5种脚本之多.虽然修改里面某个字段的值,但是旧系统版本的节点依然可以验证其数据.

我眼中的区块链(二)--比特币_第7张图片
多重签名软分叉

硬分叉 可以大概理解为部分节点为了提升系统性能效率等,增减或者修改了以前明确定义的字段,导致旧版本系统的节点无法按照以前的规则验证新数据.

比如一直在争议的比特币扩容就属于一次硬分叉.目前比特币网络主要的完整节点软件是bitcoin core 0.12,这个软件规定“区块大小”这个字段最大值为1M。这就导致最后一个字段“交易”能够容纳的比特币交易数据有限,一笔交易至少是250字节,1Mb只能装下4000多笔交易,平均每秒最多只能处理7笔交易。而因为实际的交易往往会达到500字节的大小,实际上平均每秒往往只能容纳3笔交易。

我眼中的区块链(二)--比特币_第8张图片
扩容--修改区块大小字段

目前由于比特币的交易速度越来越慢,时间越来越久,由此出现了两个比较大的改善方向,扩容和隔离见证.

创世区块

2009年1月3日,中本聪创建了第一个数据区块,转账了50个BTC,手续费为50BTC,随后还规定了比特币有2100万个,每10分钟记一次账,奖励50BTC,每21万个区块(大概4年)之后,比特币将减半,即第一次减半表示挖去了总量50%的BTC,奖励也由50BTC减半为12.5BTC,第二次减半表示挖去了总量75%的BTC,奖励由12.5BTC减半为6.25...随着时间推移,挖矿的难度越来越大,挖矿奖励的比特币也越来越少,到2140年所有比特币将挖完,到时候整个系统只靠手续费维持.

区块高度

我眼中的区块链(二)--比特币_第9张图片
区块高度

创世区块的编号为0,区块高度就是0,所有区块交易都可以在区块浏览器查询到.

我眼中的区块链(二)--比特币_第10张图片
创世区块

下图是截止发稿的最新区块高度,其中播报方是矿工节点,现在个人矿工几乎很难再挖到矿,基本上被矿池所垄断,全球前4大矿池都属于中国,分别是鱼池占比22.06%,蚁池占比16.82%,币网占比15.33%,国池占比14.34%,中国算力已经占全球的55%以上,所以世界上各国也担心我朝会发起51%攻击.

我眼中的区块链(二)--比特币_第11张图片
截止发稿的最新区块高度

我眼中的区块链(二)--比特币_第12张图片
最新区块奖励已经减半为12.5BTC

6个区块确认

上面说了统一机制下由于不同节点接收时间不对称,导致了分叉,那一笔交易能否被确定取决于1)它是否在最长的区块链上,2)至少有经过5个区块的验证在其区块链上,就是我们所谓的"6个区块确认".

6个区块确认并不是硬性规定,只是说6个区块的确认,在时间上已经足够让矿工们去调整由于接收时间不对称的问题,而且节点想改变这6个区块的数据,必须要控制非常大的算力,这是一个小于亿分之一的概率,接近于零.想详细了解可查看6个区块确认.

钱包

比特币和其他竞争币都属于数字资产,那么也有对应的数字钱包来接收以及转账.数字钱包可以是软件App,也可以是硬件设备.在我眼中的区块链(一)说了区块链是非对称加密(RSA)传输的,需要一个公钥和一个私钥.

公钥 是我们的钱包地址,类似于我们的银行卡号,别人给我们转账就是通过这个地址.

私钥 类似于我们的银行卡密码,所有取钱的操作都需要私钥,必须严格妥善保存私钥,一旦私钥丢失,钱包的钱就无法取出.

我眼中的区块链(二)--比特币_第13张图片
冷热钱包

冷钱包 是一种私钥离线存储的钱包,一般的冷钱包会提供一组助记词(12个)和一串密码(PIN),两者必须严格妥善保存.

热钱包 是一种在线存储的钱包,多用于交易所交易,交易所会给我们对应的代币提供一个公钥地址,方便充值.

比特派钱包 是一个冷热钱包,同时提供两种功能,并且是比特币官方推荐,支持比特币的接收,发送.

imtoken钱包 也是一个冷热钱包,并且支持以太坊ERC20标准的所有代币.

比特币改善之路

虽然比特币区块链有诸多优点,但同时也有不少问题,如:

  1. 性能差, 交易时间长,每秒钟只支持7笔交易,甚至只有3笔,而支付宝是每秒25.6万笔.
  2. 电费高昂,由于工作量证明机制的分叉,会导致一定程度上的资源浪费,挖矿消耗的电量已经超过2900亿千瓦时,比159国家的用电总量还要高.
  3. 工作量证明机制,导致铸币权掌握在矿工手上,一旦前几大算力的矿池联合,有可能会发动51%攻击.
  4. 比特币区块链只支持简单记账,很难扩大其应用场景,比较难大规模应用起来.

针对以上的一些问题,社区也针对性地做了一些解决方案,如隔离见证,扩容,DPOS(委托权益证明算法),智能合约等,后面也会说一下我了解的智能合约,DPOS.

是不是郁金香泡沫?

不少人都拿比特币和17世纪的郁金香泡沫相提并论.

唱空者 认为比特币就是一场击鼓传花的旁氏骗局,无法代替法币,无法流通,后上车的韭菜就填补先上车的利润.

唱多者 则认为比特币区块链是一种创新,比特币和竞争币的市值已经超过5000亿美元,而且芝加哥也开通了比特币期货交易,再者,比特币总量恒定,而且奖励越来越少,有通缩效应,大多数持币者会囤币待涨,这就断了做空者的后路.

我觉得这恰恰是比特币抑或是数字货币的混沌期,不盲目抗拒新知识,也不趋之若鹜疯狂跟进,理性观察,提前做好一手准备.这不仅仅是数字货币和法币之间的争夺战,也是虚拟世界对物理世界的一一映射,道路是漫长的,但意义是深远的.

我的BTC地址: 3PuSHmQLkMWZCcRp66gvuzUdxNZZad1o1k


我眼中的区块链(二)--比特币_第14张图片
我的比特币地址

我的ETH地址: 0x48eBCdf73bA6db2dF4BC4079bdE811E10f7e2d3C


我眼中的区块链(二)--比特币_第15张图片
我的ETH地址

你可能感兴趣的:(我眼中的区块链(二)--比特币)