05.25 比特幣(bitcoin)入門教程

我們之前講了區塊鏈。目前,區塊鏈最大的應用場景,就是以比特幣為代表的加密貨幣。那我們今天就來講一下比特幣。

比特幣(bitcoin)誕生於2008年。是一個名為中本聰的人,提出的想法:創造一種不受政府或其他任何人控制的貨幣!這個想法在剛開始是難以置信的,一串數字,背後沒有任何資產支持,也沒有任何信用機構負責,把它當作錢付給對方,你能想象的到?這也是那個用10000個比特幣買披薩的原因。

比特幣(bitcoin)入門教程

但是後來,這個想法變成了現實。在誕生後的這幾年裡,比特幣作為一種前所未有的新型貨幣,經歷了無數的市場考驗和技術攻擊,始終屹立不倒。現在比特幣已成長為一個在全球有著數百萬用戶,數萬商家接受付款,市值最高達百億美元的貨幣系統。剛剛過去的2017年,比特幣迎來了爆發式的增長,從年初的1000美元,最高漲到了2萬美元,全世界都為之震動,上到政府,下到普通百姓都在關注。事實就是比特幣已經並將繼續改變世界。

比特幣(bitcoin)入門教程

儘管這些年新聞媒體已大肆報道過比特幣瘋狂的種種,但對於普通民眾來說,比特幣是什麼還是很難搞懂,也無法瞭解一些基本的東西。下面我儘量用簡單的方式去介紹比特幣,希望能幫助到大家。


一、非對稱加密

首先,你要了解比特幣,就先得了解它的加密方式——非對稱加密。

所謂非對稱加密,簡單的說,就是加密和解密需要兩把鑰匙:一把公鑰和一把私鑰。

比特幣(bitcoin)入門教程

公鑰是公開的,任何人都可以獲取。私鑰是保密的,只有擁有者才能使用。他人使用你的公鑰加密信息,然後發送給你,你用私鑰解密,取出信息。反過來,你也可以用私鑰加密信息,別人用你的公鑰解開,從而證明這個信息確實是你發出的,且未被篡改,這叫做數字簽名。

現在請設想,如果公鑰加密的不是普通的信息,而是加密了一筆錢,發送給你,這會怎樣?

首先,你能解開加密包,取出裡面的錢,因為私鑰在你手裡。其次,別人偷不走這筆錢,因為他們沒有你的私鑰。因此,支付可以成功。

這就是比特幣(以及其他數字貨幣)的原理:非對稱加密保證了支付的可靠性。

由於支付的錢必須通過私鑰取出,所以你是誰並不重要,重要的是誰擁有私鑰。只有擁有了私鑰,才能取出支付給你的錢。(事實上,真實的交易流程稍有不同,私鑰保證的不是取出支付給你的錢,而是保證只有你能把這些屬於你的錢支付出去,後面會說到。)

二、比特幣錢包

上面說到了,你加密的消息不是發送給一個人,而是發送給一把私鑰。比特幣也是這樣的。這也就保證了交易是匿名的,別人無法知道私鑰背後的主人是誰。

所以,當你在要進行交易的時候,你就得擁有你自己的公鑰和私鑰。

目前你去很多比特幣交易所開戶,它們會讓你首先生成一個比特幣錢包(wallet)。這個錢包不是用來存放比特幣,而是存放你的公鑰和私鑰。軟件會幫你生成這兩把鑰匙,然後放在錢包裡面。

比特幣(bitcoin)入門教程

根據協議,公鑰的長度是512位。這個長度不太方便傳播,因此協議又規定,要為公鑰生成一個160位的指紋。所謂指紋,就是一個比較短的、易於傳播的哈希值。160位是二進制,寫成十六進制,大約是26到35個字符,比如 3BvBMSBYstWetqTFn5As4m4GFg6xJaNVN2。這個字符串就叫做錢包的地址,它是唯一的,即每個錢包的地址肯定都是不一樣的。這也保證了錢包的安全性。

比特幣(bitcoin)入門教程

你向別人收錢時,只要告訴對方你的錢包地址即可,對方向這個地址付款。由於你是這個地址的擁有者,所以你會收到這筆錢。

由於你是否擁有某個錢包地址,是由私鑰證明的,所以一定要保護好私鑰。這是極其重要的,如果你的私鑰被偷了,你的比特幣也就等於沒了,因為他人可以冒用你的身份了,把錢包裡面的錢都轉走。

同樣的,你向他人支付比特幣,千萬不能寫錯他人的錢包地址,否則你的比特幣就支付到了另一個不同的人了。

三、比特幣交易

比特幣的交易說明白就是把一個地址的比特幣,轉移到另一個地址,這樣就完成了交易。由於比特幣的交易記錄全部都是公開的,哪個地址擁有多少比特幣,都是可以查到的。因此,支付方是否擁有足夠的比特幣,完成這筆交易,這是可以輕易驗證的。

還有,比特幣協議規定,交易的時候,除了交易金額,轉出比特幣的一方還必須提供以下數據。

  • 上一筆交易的 Hash(你從哪裡得到這些比特幣)

  • 本次交易雙方的地址

  • 支付方的公鑰

  • 支付方的私鑰生成的數字簽名

而為了驗證這筆交易是否屬實,需要三步。

第一步,找到上一筆交易,確認支付方的比特幣來源。

第二步,算出支付方公鑰的指紋,確認與支付方的地址一致,從而保證公鑰屬實。

第三步,使用公鑰去解開數字簽名,保證私鑰屬實。

經過上面三步,才可以認定這筆交易是真實的。

四、確認交易

確認交易的真實性以後,交易還不算完成。交易數據必須寫入數據庫,才算成立,對方才能真正收到你的比特幣。

比特幣使用的是一種特殊的數據庫,叫做區塊鏈(blockchain),詳細的介紹請看前面的《區塊鏈入門教程第一期:區塊鏈》。那麼交易如何寫入區塊鏈呢?

首先,所有的交易數據都會傳送到礦工那裡。礦工負責把這些交易寫入區塊鏈。

根據比特幣協議,一個區塊的大小最大是 1MB,而一筆交易大概是500字節左右,因此一個區塊最多可以包含2000多筆交易。礦工負責把這2000多筆交易打包在一起,組成一個區塊,然後計算這個區塊的哈希。

計算哈希的過程叫做採礦,這需要大量的計算。礦工之間也在競爭,誰先算出哈希,誰就能第一個添加新區塊進入區塊鏈,從而享受這個區塊的全部收益,而其他礦工將一無所獲。

一筆交易一旦寫入了區塊鏈,就無法反悔了。這裡需要建立一個觀念:比特幣不存放在錢包或其他別的地方,而是隻存在於區塊鏈上面。區塊鏈記載了你參與的每一筆交易,你得到過多少比特幣,你又支付了多少比特幣,因此可以算出來你擁有多少資產。

五、礦工的收益

這個在前面寫的《區塊鏈入門教程第二期:挖礦》裡面已經提過了,這裡再寫一次。

交易的確認離不開礦工,挖礦也有很大的收益。

比特幣協議規定,挖到新區塊的礦工將獲得獎勵,一開始(2008年)是50個比特幣,然後每4年減半,目前(2018年)是12.5個比特幣。這也是比特幣的供給增加機制,流通中新增的比特幣都是這樣誕生的。

你可能看出來了,每4年獎勵減半,由於比特幣可以分割到小數點後八位,那麼到了2140年,礦工將得不到任何獎勵,比特幣的數量也將停止增加。這時,礦工的收益就完全依靠交易手續費了。

所謂交易手續費,就是礦工可以從每筆交易抽成,具體的金額由支付方自願決定。你完全可以一毛不拔,一分錢也不給礦工,但是那樣的話,你的交易就會沒人處理,遲遲無法寫入區塊鏈,得到確認。礦工們總是優先處理手續費最高的交易。

目前由於交易數量猛增,手續費已經水漲船高,一個區塊2000多筆交易的手續費總額可以達到3~10個比特幣。如果你的手續費給低了,很可能過了一個星期,交易還沒確認。

一個區塊的獎勵金12.5個比特幣,再加上手續費,收益是相當可觀的。按照目前的價格,可以達到75萬人民幣左右。想想看,運氣好的話,幾分鐘就能挖到一個區塊,拿到這樣一大筆錢,這也是礦工絡繹不絕的原因。

比特幣(bitcoin)入門教程

六、點對點的網絡交易

比特幣是一個全世界的開放網絡,只要你有服務器,就能加入這個網絡,成為一個節點。每個節點都包含了整個區塊鏈(目前大概 100多 GB),並且節點之間時刻不停地在同步信息。

比特幣(bitcoin)入門教程

當你發生了一筆支付,你所在的節點就會把這筆交易告訴另一個節點,直至傳遍整個網絡。礦工從網上收集各種新發生的交易,將它們打包寫入區塊鏈。一旦寫入成功, 礦工所在節點的區塊鏈,就成為最新版本,其他節點都會來複制新增的區塊,保證全網的區塊鏈都是一致的。

最後,你所在的節點也拿到了最新的區塊鏈,從而得知你早先的那筆交易,已經寫在裡面了,至此交易確認成功。

七、最後一個問題:比特幣是什麼?

寫到這裡,你可能對比特幣有所瞭解了。但是還有一個根本的問題,比特幣的本質到底是什麼?

說到底,比特幣只是區塊鏈的一條記錄。舉例來說,礦工獲得12.5個比特幣的獎勵,其實就是區塊鏈有一個記錄:"xxx地址獲得12.5個比特幣"。正是這行記錄,導致該礦工獲得了大筆金錢。如果區塊鏈突然增加了一條記錄,記載你的地址獲得了1000個比特幣,你就真的會有1000個比特幣。

那麼,比特幣為什麼可以當錢用,而且還這麼瘋狂。是什麼賦予了它價值。我們下一篇文章再來介紹。


相關聯文章:




分享到:


相關文章: