最近一段时间,比特币价格再次暴涨,超过2019年的最高点,达到约61800美元的天价。短短十余年间,比特币从一文不值,到万人追捧,诞生了许多超级富豪,又让无数人倾家荡产。夜来风雨声,花落知多少。
* }9 x/ z# e5 {9 I% G3 f# ?6 a1 F5 G( V
. p* [) R7 R# g比特币的价格走势
3 D( D% M0 E( b) ?- ^* g
$ A; J3 C, h# F比特币到底有没有价值?不同的人有不同的回答。有人认为:比特币不过是一个数字游戏,无论涨到多高,也终究是无源之水、无根之木,逃脱不了崩盘的厄运;也有人认为:货币的价值来源于信任,新的国家建立时,能将一张张普通的纸变成货币。只要人们信任比特币,它的价值就永远不会消失。- ^6 O. @( d+ G( z

3 R& @9 S( h D- z9 q! b% |# {# F
$ j$ Y( e& Q: t8 l* \
V, X1 ?* U0 X- B. ~6 o ~6 y
金融生来就或多或少带有原罪。在这场争论中,每个人都会从自己的经济地位角度给出答案。我从未购买过比特币,不为比特币站台,但是我却认为:单纯从技术上讲,比特币的设计的确令人惊叹。我想把比特币当作一件艺术品,带着大家探讨一下它背后的原理。# a4 c' G. `& J- Z* X
& a8 E t; [2 `6 Q" c* l5 v1 N01% |$ Y* R( v, p: D y- `
比特币的诞生
2 n# ]' ?! @9 f+ ^6 B. e9 E- I }2008年,秋风渐冷,此时金融危机的阴云逐渐扩散到整个世界。那年的11月1日,一个化名中本聪的网络极客对着电脑,给一篇不足5000字的论文做最后的修改。没有人会提前预知,这篇短小的文章竟会掀起长达十几年的腥风血雨。它就是《比特币:一种点对点式的电子现金系统》,也叫做《比特币白皮书》。虽然人们不知道中本聪是谁,但是许多比特币玩家都把《白皮书》看作新时代的《圣经》。
- A- l0 v* G% a: m
4 H0 }" K9 j( h8 `$ N$ G5 ]白皮书
% I$ a% f% [7 Q( b/ j+ w
R( Q! M) V, w" \- q" G: V
/ ]+ w6 p! g2 H1 g7 o2 e% A传统互联网上的贸易,几乎都需要借助金融机构作为可信赖的第三方来处理电子支付信息。比如我们用信用卡、支付宝,或微信支付买东西,信息都会通过网络传递到银行或者腾讯、阿里的计算机系统,由它们来记账。我们信任这种支付方式,因为它有国家信用或者公司信用的担保。银行和大型公司是这个记账模式的中心,这就是中心化的记账系统。
) l7 h, d7 x: S3 S! a. N( K+ w- O+ O6 Z
但是,2008年严重的金融危机让中本聪感到这种“基于国家和公司信用的模式”存在风险,因为国家存在滥发货币的风险、公司更是可能为了利润滥用金融衍生品、剥削居民财富。他在《白皮书》中提出:我们的记账系统并不一定需要一个中心,交易只需要一个公认的账本即可,这个账本应该要公开地广播给所有人。这就是去中心化的电子记账系统。在这个电子记账系统中流通的货币就是比特币。 + c$ }0 C# S, b" A
4 B$ ]/ b# Y, ^8 Y6 n& v' K$ V' n, b, G6 U3 f9 ^
8 {0 @2 \$ h* j- E X5 @% a1 a+ o! X, o中心化交易系统与去中心化交易系统
l8 J/ I, {: a% ], X& _( z
/ m0 Z5 p8 r4 M; \. }* h3 w' y: t02+ |- ~# B4 z* g" z7 e9 Y* b7 g
什么是区块链?
0 A. j& Z; Q) g6 @+ I0 L6 ^ I; T8 P: H2 H
去中心化的电子记账系统是如何实现的呢? H* C) K' v% P4 r. ~8 e* x% C
, y% w1 L, B3 O& q
例如:网络上有A、B、C、D四个交易者,A向B支付了10个比特币,这件事要记录在账单中。不过,账单不能只存在于A和B手里,否则就没办法确认账单的真实性。他们要把这笔账单广播到网络上,告诉C和D发生了这笔交易,并请求C和D帮忙记录这笔交易。过了一会儿B和C、C和D之间也进行了转账交易,他们同样要把账单广播给网络上的所有人。& M0 `3 {6 b0 O6 }( \
6 P; X7 X0 h! m) _( i! Y
0 H+ W) `3 Q/ ]" c% G0 {% k' Y8 Y' u9 S m1 n5 h
6 b+ H3 n/ |' L& ~, J
A、B、C进行的交易记账1 f7 K6 g* u( `7 h. z1 D& V
5 ]7 N( ^5 K- ^; |6 q0 L7 ?
网络上的所有用户都可以接收到这些账单,如果他们愿意,就可以把账单进行打包,形成一个数据块,我们叫它区块。一个区块的容量大约是1M,可以存储4000条左右的交易记录。区块打包好之后,就可以把它链接到以前的区块上。再过一会儿,又会有新的区块链接到它后面。如此形成了一条账单包的长链,这就叫区块链。& X# H9 `) a" M" q

! j) @& f. D i! \- Q6 N, ~6 A- |* s7 B
; g) F, C/ O% M- |, g区块链/ y2 c( Y6 |- |* O
1 W$ V5 r# x- b0 u! I
也许看到这里,许多人的脑子里会冒出许多小问号。/ ~: o# P8 [, n% O7 H, o5 C
5 b0 m" u/ f; Y- |) j8 P4 k9 E% j比如:为什么我把账单广播到网络上,就会有人收集打包呢?为什么别人要占用自己的电脑资源,记录一个跟他无关的账目呢?
. A, p. w& R# s+ f" r
+ y/ ~- t9 J( }- r7 m0 x再比如:因为网络延迟效应,每个人记录的账单可能是不一样的。举例来说:网络上有两笔交易:A给B转账10个比特币,B给C转账5个比特币。由于用户C与A更近,他的账本里先记录了第一条数据,后记录了第二条数据。而用户D与C更近,他的账本里先记录了第二条数据,然后再记录第一条数据,最终C和D的账单不一样,我们以谁为准?# a, S/ o) F1 ]2 G4 C9 Y* u
3 N8 n3 l' I. | N: o1 e5 |; H) I
再比如:如果A原本没有给B进行转账,B却向全世界广播:A给自己转账了10个比特币,我们该如何发现这是一条伪造的数据?假如有人在已经打包好的区块上动手脚进行篡改,我们是否能发现?假如一个人只有10个比特币,他却要同时支付给两个人每个人8个比特币,这能不能做到?所有账单都是公开的,我们又如何保护个人的隐私……
5 Y9 X0 w5 J3 F- F3 A5 i9 c( l& z5 t, Y " y& M F- h& W3 v
2 J5 `8 F& ? X5 F4 ^, N1 g
9 i8 j- m3 |! _; h# Q/ v中本聪在设计比特币时做了周到的考虑,我们先来回答第一个问题:为什么别人愿意为我们记账?4 y3 T0 A; \1 ?- ^2 }4 b( b
. Z0 q+ M& k# B) e5 B. ?039 D+ ^% G0 ^/ n
记账手续费和打包奖励
% k5 M0 u+ H$ {4 C# i* [) e& i, ]( i
在《天下无贼》这部电影中,傻根为了省下转账的手续费,怀揣6万元现金踏上了回家的列车,在车上遇到了盗贼、劫匪、警察,开启了一段曲折离奇的故事。1 V) I( R( p/ M
2 J( @* j7 _- i s" v, [7 V
* [, A! E; M% h5 W《天下无贼》剧照' U' v0 k# a6 ^; N+ C5 [2 t: R( T" c
我们通过银行转账,需要额外付出一笔手续费。在比特币系统中,每一笔支付也会有手续费,假如A给B转账10个比特币,A还要额外多付一点点钱,这笔钱是给记账的人的奖励,用以换取大家对这笔交易的认可。每打一个数据包,数据包里面的记账奖励就归打包人所有,从而促使更多的人愿意为别人的账单记账和打包。4 Y1 S# N, i, Y
0 N9 N! ^9 B$ }% O* |! S手续费只是让比特币在用户之间流转,但是比特币没有中央机构,它从哪里发行呢?其实,每当我们将一个数据包链接到区块链上,还会额外获得系统约定的打包奖励,这个奖励是按照协议自动生成的,相当于是传统货币的发行过程。" M7 z6 x( E$ _. K& t6 b9 E4 S1 k
( ?2 Y9 ]- X& w, {6 @1 t' b
中本聪提出比特币系统的时候,设计出了这样的方案:尽量保证每10分钟出现一个新的数据块。最开始的四年,将一个数据块链接到区块链上,就会得到50个比特币的奖励,为了保证资源的稀缺性,四年之后,每链接一个数据块会得到25个比特币的奖励,再过四年奖励变为12.5比特币…
( ]2 [& ^, i+ K0 a/ U5 u+ S j2 c3 N7 _5 j M
虽然每十分钟新增一个数据块的速度基本保持不变,但是每次加新块的奖励却成等比数列减少,根据高中学过的等比数列知识,如果按照这个打包速度永远进行下去(每小时有6个新的数据块,每天有24小时,每年有365天,每4年比特币奖励减半),总的比特币奖励也是有限的,它的数量是
; W2 r/ s# a9 ?( D, p# \# H9 e3 r _! R3 _) J, f
u) U& q3 \ a. S) F2 y
也就是说:比特币的总量大概就只有2100万个,这就保证了比特币的稀缺性。
- g7 @( s' W) O- a% i" R) `
* h, G6 t0 _! q* |既然记账并打包数据就可以赚取比特币,网络上的比特币参与者都想抢着记账,那么,记账的权利到底归谁呢?中本聪想到一个办法:工作量证明。
8 Y+ F$ X2 R; ~( P$ [# y: x! f& @- @# C9 @+ T/ n3 [5 Y
+ B' ] g% X7 i9 [3 U
9 a8 a. u0 r9 `& J \" u8 t( |& l$ Z
每个参与记账的用户都要去做一个很难的数学题,只有第一个把这道数学题做出来的人,才有权利进行打包。这个数学题是如此的复杂,以至于没有任何一个人能够直接通过脑子把它做出来,也没有任何更加快捷的方法,唯一的解决方案是利用电脑一个数字一个数字地进行尝试,最先通过尝试得到数学题答案的人立刻向周围人广播自己的答案,周围的人确认他的答案正确,那么他就有权利打包这个区块,并且获得记账奖励和打包奖励了。随后,游戏重新开始,全世界所有的比特币参与者进入下一轮试数解题的过程中。3 h1 E' ]3 m$ j0 F
" I9 P+ r/ }* M+ ^8 D4 A) k通过努力的计算获得正确的结果,获得比特币奖励,这就如同我们在矿洞里一镐子一镐子地挖土,最终挖到了黄金一般。人们把这个过程形象地称为挖矿,游戏的参与者就称为矿工,而用来计算数学题的电脑就称为矿机。
4 r( u! R4 i1 p1 P. k* s 1 w( o" ~8 q( N) v' ^6 A
! N) ?9 W1 p* `& C1 D* i( z* Q) M6 S
那么,这个数学题到底是什么?为什么用全世界的电脑同时计算也需要10分钟左右才能计算出来?敬请期待比特币(二)哈希函数和工作量证明。 |