比特幣實踐入門

比特幣是什麼

簡單地說,比特幣是一種虛擬貨幣,不同於人民幣、美元這種由中央政府監管、中央銀行發行的法幣,比特幣不受任何中央政府控制,沒有紙質代表,有的只是一個運行在計算機上的一段程序。

比特幣的技術核心在於去中心化的分散式系統,是P2P網路的一個典型應用,和傳統的Client-Server模型的架構有著本質的差異。以支付寶為例,雖然支付寶的服務端背後是個複雜的分散式系統,但是支付寶的後端分散式系統頂多算是區域網的分散式系統,如果支付寶的所有伺服器(或者一部分)宕機,那麼你在支付寶上的錢肯定就不能用了。所以我們在支付寶的錢是嚴重依賴於支付寶的伺服器的,支付寶伺服器就是中心。而你的比特幣餘額其實並不依賴任何一家公司的伺服器,它依賴的是整個互聯網,只要整個互聯網還存在,你的比特幣就不會消失(除非被盜)。因為你的比特幣賬戶的所有交易記錄存儲在多個節點上,運行比特幣客戶端的機器都是這個比特幣網路的一個節點,這個節點既是客戶端,又是服務端。

本篇文章主要介紹如何通過實踐學習比特幣,更多原理可以參考相關專業書籍,同時推薦一個播客 #82 聊聊比特幣背後的技術和Blockchain

比特幣開戶

在支付寶開戶只要打開官網註冊一下,填寫手機號、密碼等信息就可以獲得一個支付寶賬戶了,那麼如何獲得一個比特幣賬戶呢?比特幣的官方網站選擇錢包 - 比特幣 推薦了很多比特幣錢包,這些錢包是比特幣軟體,下載之後可以按照指導生成一個比特幣錢包,同時會分配給我們一個私鑰,由於私鑰不好記,多數錢包都會使用演算法把私鑰轉換成12個便於記憶的英文單詞,有人稱之為密語,無論如何用戶都要保管好密語或者私鑰,因為私鑰代表了一切,只有擁有私鑰才能訪問自己的比特幣賬戶。我選擇的是MultiBit HD錢包:

還有一個在線的網站 Bitcoin Block Explorer - Blockchain 也可以用來生成一個比特幣賬戶,這是一個鏈上(on chain)的比特幣網站,會給你生成一個真實的在區塊鏈上的比特幣賬戶,即使blockchain.info網站倒閉,你的比特幣仍然可以使用,同時可以通過導出密語或者私鑰的方式在其他比特幣錢包客戶端恢復你的賬戶。相反,一個鏈下(off chain)的比特幣網站,會給你分配一個網站自己的賬戶,然後很多網站會員會共享一個比特幣賬戶,非常不推薦這種方式,因為網站一旦打不開,你就無法使用你的比特幣。

blockchain.info生成的比特幣賬戶要及時備份恢復短語(密語 key words),就是12個簡單的英語單詞,之前是支持直接導出私鑰的,現在是用BIP/44演算法來生成密語用於恢複錢包。這裡注意在用比如MultiBit客戶端恢複錢包時要選對密語使用的演算法,由於blockchain.info的密語是用的BIP/44的演算法,所以在這個地方千萬不要選錯,否則你可能會發現兩個不同的客戶端比特幣金額竟然不一樣,stackExchange上也有人出現過這個問題:

交易

細心的讀者可能已經發現我的比特幣賬戶餘額已經不是0了,那麼如何獲取比特幣呢?傳統的獲取比特幣的方式是挖礦,挖礦的過程其實是獲取記賬權之後的一筆獎勵,這些人被稱為礦工;或者直接通過真實的貨幣在交易所購買;還有一種方式,是通過境外網站點擊廣告獲得比特幣的獎勵,比如BTCClicks Earn Bitcoins - Bitcoin Advertising - Bitcoin PTC .

無論哪種方式,我們都需要將自己的比特幣地址告訴別人,別人才能給我們的賬戶轉賬,同一個比特幣賬戶可以生成不同的比特幣地址,最安全的做法是每次交易都用一個新的地址。最開始說到比特幣是運行在一個分散式系統之上的,分散式系統都有CAP只能滿足其一的問題,而比特幣系統本質上就是個事務敏感型的分散式交易系統,但是這個交易系統並不保證強一致性,只保證最終一致性,交易最終是可靠的,一次交易超過6次確認之後就變成不可逆地被確認了,當然後續還是可以繼續增加被確認次數,比如我的這筆交易到寫這篇文章為止已經被確認742次:

總結

學習比特幣的目的除了投資之外,對於技術人員來說,最有趣的還是用來學習比特幣背後包含的區塊鏈技術、分散式系統、加密演算法等這些充滿極客精神的元素,比如涉及到的非對稱加密演算法現在其實已經大量地應用在實際生活中了(如大行其道的HTTPS),理解甚至掌握這些技術對於希望把握未來的互聯網人來說至關重要。

推薦閱讀:

假如機會就在眼前,你會做交易員還是經紀人?
交易系統的歷史回測應該注意什麼
到底什麼是趨勢跟蹤(趨勢追蹤)?
在交易中如何控制情緒?
十年:一個趨勢跟蹤交易者的進化

TAG:比特币Bitcoin | 分布式系统 | 交易 |