比特幣(bitcoin)誕生于 2008 年的一篇論文盹憎。
一個署名為中本聰的人筛峭,提出了革命性的構想:讓我們創(chuàng)造一種不受政府或其他
任何人控制的貨幣!這個想法堪稱瘋狂:一串數字陪每,背后沒有任何資產支持影晓,也
沒有任何人負責镰吵,你把它當作錢付給對方,怎么會有人愿意接受挂签??
但是疤祭,狂想居然變成了現實。隨后的幾年饵婆,在全世界無數愛好者的支持下闯狱,比特
幣網絡運行起來了生逸,越來越多的人和資本參與耘成,星星之火慷暂,終成燎原。剛剛過去
的 2017 年芹关,比特幣迎來了爆發(fā)式的增長续挟,從年初的 1000 美元,最高漲到了 2
萬美元侥衬,全世界都為之震動诗祸,上到政府,下到普通百姓都在關注轴总。事實就是比特
幣已經并將繼續(xù)改變世界直颅。
新聞媒體往往只關注它的火爆表現,忽視或者無法回答一些基本的問題怀樟。
比特幣的原理是什么功偿?
為什么這個無人管理的體系可以成功運作?
比特幣交易的流程是怎么回事往堡?
它與區(qū)塊鏈又是什么關系械荷?
下面,我嘗試回答這些問題虑灰,希望幫助大家理解比特幣吨瞎。拋開技術細節(jié),還是很
容易解釋的穆咐。
有一點說明颤诀,本文只討論技術問題,不涉及如何投資比特幣对湃,更不會預測價格走
勢崖叫。
首先,理解比特幣熟尉,必須理解非對稱加密归露。
你可能聽說過這個詞,所謂非對稱加密斤儿,其實很簡單剧包,就是加密和解密需要兩把
鑰匙:一把公鑰和一把私鑰。
公鑰是公開的往果,任何人都可以獲取疆液。私鑰是保密的,只有擁有者才能使用陕贮。他人
使用你的公鑰加密信息堕油,然后發(fā)送給你,你用私鑰解密肮之,取出信息掉缺。反過來,你
也可以用私鑰加密信息戈擒,別人用你的公鑰解開眶明,從而證明這個信息確實是你發(fā)出
的,且未被篡改筐高,這叫做數字簽名搜囱。
現在請設想,
首先柑土,你能解開加密包蜀肘,取出里面的錢,因為私鑰在你手里稽屏。其次扮宠,別人偷不走
這筆錢,因為他們沒有你的私鑰狐榔。因此坛增,支付可以成功。
這就是比特幣(以及其他數字貨幣)的原理:非對稱加密保證了支付的可靠性荒叼。
由于支付的錢必須通過私鑰取出轿偎,所以你是誰并不重要,重要的是誰擁有私鑰被廓。
只有擁有了私鑰坏晦,才能取出支付給你的錢。(事實上嫁乘,真實的交易流程稍有不
同昆婿,私鑰保證的不是取出支付給你的錢,而是保證只有你能把這些屬于你的錢支
付出去蜓斧,詳見后文仓蛆。)
對于比特幣來說,錢不是支付給個人的挎春,而是支付給某一把私鑰看疙。這就是交易匿
名性的根本原因豆拨,因為沒有人知道,那些私鑰背后的主人是誰能庆。
所以施禾,
你去網上那些比特幣交易所開戶,它們會讓你首先生成一個比特幣錢包
(wallet)搁胆。
?軟件
會幫你生成這兩把鑰匙弥搞,然后放在錢包里面。
根據協議渠旁,公鑰的長度是 512 位攀例。這個長度不太方便傳播,因此協議又規(guī)定顾腊,要
為公鑰生成一個 160 位的指紋粤铭。所謂指紋,就是一個比較短的投慈、易于傳播的哈希
值承耿。160 位是二進制,寫成十六進制伪煤,大約是 26 到 35 個字符加袋,比如
1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。這個字符串就叫做錢包的地址抱既,它是唯
一的职烧,即每個錢包的地址肯定都是不一樣的。
你向別人收錢時防泵,只要告訴對方你的錢包地址即可蚀之,對方向這個地址付款。由于
你是這個地址的擁有者捷泞,所以你會收到這筆錢足删。
由于你是否擁有某個錢包地址,是由私鑰證明的(具體的證明方法稍后介紹)锁右,
所以一定要保護好私鑰失受。這是極其重要的,如果你的私鑰被偷了咏瑟,你的比特幣也
就等于沒了拂到,因為他人可以冒用你的身份了,把錢包里面的錢都轉走码泞。
同樣的兄旬,你向他人支付比特幣,千萬不能寫錯他人的錢包地址余寥,否則你的比特幣
就支付到了另一個不同的人了领铐。
下面悯森,我把整個流程串起來,看看比特幣如何完成一筆交易罐孝。
由于比特幣的交易記錄
全部都是公開的呐馆,哪個地址擁有多少比特幣肥缔,都是可以查到的莲兢。因此,支付方是
否擁有足夠的比特幣续膳,完成這筆交易改艇,這是可以輕易驗證的。
問題出在怎么防止其他人坟岔,冒用你的名義申報交易谒兄。舉例來說,有人申報了一筆
交易:地址 A 向地址 B 支付 10 個比特幣社付。我怎么知道這個申報是真的承疲,申報
人就是地址 A 的主人?
比特幣協議規(guī)定鸥咖,申報交易的時候燕鸽,除了交易金額,轉出比特幣的一方還必須提
供以下數據啼辣。
上一筆交易的 Hash(你從哪里得到這些比特幣)
本次交易雙方的地址
支付方的公鑰
支付方的私鑰生成的數字簽名
驗證這筆交易是否屬實啊研,需要三步。
第一步鸥拧,找到上一筆交易党远,確認支付方的比特幣來源。
第二步富弦,算出支付方公鑰的指紋沟娱,確認與支付方的地址一致,從而保證公鑰屬實腕柜。
第三步济似,使用公鑰去解開數字簽名,保證私鑰屬實媳握。
經過上面三步碱屁,就可以認定這筆交易是真實的。
確認交易的真實性以后蛾找,交易還不算完成娩脾。
比特幣使用的是一種特殊的數據庫,叫做區(qū)塊鏈(blockchain)打毛,詳細的介紹請
上一篇看《區(qū)塊鏈入門教程》柿赊。本文只討論交易如何寫入區(qū)塊鏈俩功。
首先,所有的交易數據都會傳送到礦工那里碰声。礦工負責把這些交易寫入區(qū)塊鏈诡蜓。
根據比特幣協議,一個區(qū)塊的大小最大是 1MB胰挑,而一筆交易大概是 500 字節(jié)左
右蔓罚,因此一個區(qū)塊最多可以包含 2000 多筆交易。礦工負責把這 2000 多筆交易
打包在一起瞻颂,組成一個區(qū)塊豺谈,然后計算這個區(qū)塊的哈希。
計算哈希的過程叫做采礦贡这,這需要大量的計算茬末。礦工之間也在競爭,誰先算出哈
希盖矫,誰就能第一個添加新區(qū)塊進入區(qū)塊鏈丽惭,從而享受這個區(qū)塊的全部收益,而其
他礦工將一無所獲辈双。
一筆交易一旦寫入了區(qū)塊鏈责掏,就無法反悔了。這里需要建立一個觀念:
區(qū)塊鏈記載了你參與
的每一筆交易辐马,你得到過多少比特幣拷橘,你又支付了多少比特幣,因此可以算出來
你擁有多少資產喜爷。
交易的確認離不開礦工冗疮。為什么有人愿意做礦工呢?
比特幣協議規(guī)定檩帐,挖到新區(qū)塊的礦工將獲得獎勵术幔,一開始(2008 年)是 50 個比
特幣,然后每 4 年減半湃密,目前(2018 年)是 12.5 個比特幣诅挑。這也是比特幣的
供給增加機制,流通中新增的比特幣都是這樣誕生的泛源。
你可能看出來了拔妥,每 4 年獎勵減半,由于比特幣可以分割到小數點后八位达箍,那么
到了 2140 年没龙,礦工將得不到任何獎勵,比特幣的數量也將停止增加。這時硬纤,礦
工的收益就完全依靠交易手續(xù)費了解滓。
所謂交易手續(xù)費,就是礦工可以從每筆交易抽成筝家,具體的金額由支付方自愿決
定洼裤。你完全可以一毛不拔,一分錢也不給礦工溪王,但是那樣的話腮鞍,你的交易就會沒
人處理,遲遲無法寫入區(qū)塊鏈在扰,得到確認缕减。礦工們總是優(yōu)先處理手續(xù)費最高的交
易。
目前由于交易數量猛增芒珠,手續(xù)費已經水漲船高,一個區(qū)塊 2000 多筆交易的手續(xù)
費總額可以達到 3~10 個比特幣搅裙。如果你的手續(xù)費給低了皱卓,很可能過了一個星
期,交易還沒確認部逮。
一個區(qū)塊的獎勵金 12.5 個比特幣娜汁,再加上手續(xù)費,收益是相當可觀的兄朋。按照目
前的價格掐禁,可以達到 100 萬~200 萬人民幣。想想看颅和,運氣好的話傅事,幾分鐘就能
挖到一個區(qū)塊,拿到這樣一大筆錢峡扩,怪不得人們對挖礦趨之若鶩蹭越。
《區(qū)塊鏈入門教程》說過,比特幣協議規(guī)定教届,平均 10 分鐘誕生一個區(qū)塊响鹃。區(qū)塊
的大小只有 1MB,最多只能包含 2000 多筆交易案训。也就是說买置,比特幣網絡每 10
分鐘,最多只能處理 2000 多筆交易强霎,換算一下忿项,就是處理速度為 3~5 筆 /
秒。
全世界的比特幣交易這么多,可是區(qū)塊鏈每秒最多只能處理 5 筆倦卖,這已經成為制
約比特幣發(fā)展的一個瓶頸洒擦。
很早就有人呼吁,改革比特幣協議怕膛,提升處理速度熟嫩。這件事在 2017 年 8 月有了
一點眉目,當時區(qū)塊鏈發(fā)生了一次分叉褐捻,誕生了一個新協議掸茅,稱為 Bitcoin
Cash(簡稱 BCH)。這種新貨幣其他方面都與比特幣一致柠逞,就是每個區(qū)塊的大小
從 1MB 增加到了 8MB昧狮,因此處理速度提升了 8 倍,手續(xù)費也低得多板壮。該協議是
對原有區(qū)塊鏈的分叉逗鸣,因此當時持有比特幣的人,等于一人獲贈了一份同樣數量
的 BCH绰精。
BCH 等于創(chuàng)造了一種新貨幣撒璧,還有人提議,原始比特幣的區(qū)塊大小提升到 2MB笨使,
這稱為 SegWit2x 卿樱。這個建議原定于 2017 年 11 月實施,但是最后一刻由于
缺乏共識硫椰,就被取消了繁调,目前還在討論中。
比特幣是一個全世界的開放網絡靶草,只要你有服務器蹄胰,就能加入這個網絡,成為一
個節(jié)點爱致。每個節(jié)點都包含了整個區(qū)塊鏈(目前大概 100 多 GB)烤送,并且節(jié)點之間
時刻不停地在同步信息。
當你發(fā)生了一筆支付糠悯,你所在的節(jié)點就會把這筆交易告訴另一個節(jié)點帮坚,直至傳遍
整個網絡。礦工從網上收集各種新發(fā)生的交易互艾,將它們打包寫入區(qū)塊鏈试和。一旦寫
入成功,
礦工所在節(jié)點的區(qū)塊鏈纫普,就成為最新版本阅悍,其他節(jié)點都會來復制新增的區(qū)塊好渠,保
證全網的區(qū)塊鏈都是一致的。
最后节视,你所在的節(jié)點也拿到了最新的區(qū)塊鏈拳锚,從而得知你早先的那筆交易,已經
寫在里面了寻行,至此交易確認成功霍掺。
寫到這里,我就介紹完了比特幣的基本知識拌蜘,希望你已經明白了比特幣是怎么回
事杆烁。但是還有一個根本的問題,我沒有回答:比特幣的本質到底是什么简卧?
說到底兔魂,比特幣只是區(qū)塊鏈的一條記錄,是憑空生成的举娩,為什么可以當錢用析校?舉
例來說,礦工獲得 12.5 個比特幣的獎勵晓铆,其實就是區(qū)塊鏈有一個記錄:"xxx 地
址獲得 12.5 個比特幣"勺良。正是這行記錄,導致該礦工獲得了大筆金錢骄噪。如果區(qū)塊
鏈突然增加了一條記錄,記載你的地址獲得了 1000 個比特幣蠢箩,你就真的會有
1000 個比特幣链蕊。這到底是為什么?
這篇文章已經夠長了谬泌,這個問題就留到下次再談滔韵,歡迎關注本系列的最后一篇文
章《加密貨幣的本質》。