當前位置:
首頁 > 最新 > 帶你走近比特幣背後的技術世界

帶你走近比特幣背後的技術世界

作者|程顯峰

編輯|小智

1

比特幣行業中有哪些「行話」?

中本聰發表比特幣的論文快有 10 年了,相信大家在主流媒體上經常都能看到與之相關的新聞報道。比特幣是一種數字資產,它完全存在於數字世界裡,是人類第一次用完全虛擬的方式來有效傳遞價值的技術產品。

第一個要跟大家分享的是「私鑰」,這是密碼學領域的一個概念。一般我們登錄微信、QQ 等都需要密碼,這裡的「密碼」實質上是一種口令、一種憑證。而「私鑰」則是非對稱密碼體制的一部分,是可以進行加解密計算、數字簽名認證的。跟 QQ 密碼類似,私鑰是不能告訴他人的,一旦擁有比特幣錢包的私鑰,就如同擁有了這個錢包內所有的比特幣,所以大家一定不要將私鑰泄露給他人。

接下來我們來談談「共識機制」,共識機制是讓分布全球的比特幣記賬者達成共識、形成唯一賬本的方法。比特幣採取的共識機制是「工作量證明」,這種方法讓參與者通過計算,解出題目來讓別人相信做了一定事情。

那最近常聽到的「分叉」又是怎麼回事呢?在共識機製作用下,會形成由一個接一個區塊連接而成的比特幣賬本,如同一根鏈條一樣。然而,不同的人對於比特幣的未來有不同的想法,如同一個班原先都使用的紅色作業本,突然有一半的人突然改用綠色作業本,則一個班就會形成兩種互不兼容的作業本。最近新產生的比特現金,就是從原先比特幣鏈上分叉出來的新幣種。

我們經常聽到「挖礦」這個詞,參與比特幣記賬計算的過程就是挖礦。參與挖礦的人叫礦工,目前挖得一個區塊的獎勵為 12.5 個比特幣,已經有專業的團隊在做這件事情。專業的比特礦機非常高效,一台能頂數萬台普通電腦的效果,所以很多感興趣的人用自己電腦或雲計算去挖礦,經濟效益是抵不上的。

最近一些有關於「ICO」的新聞,ICO 就是首次代幣發行,它借用數字資產的手段,借鑒傳統股票發行,發行代幣(Token)。ICO 跟眾籌非常像,不過融到的不是現實世界的錢,而是數字資產,融資方通過變賣數字資產得到資金支持。

「區塊鏈」這個詞大家不會陌生,它是比特幣的底層技術,它的提出是在比特幣之後的,也是一堆技術的集合。區塊鏈是一個可信的分散式記賬體系,如何達成?如何分發?如何驗證?這都是區塊鏈會涉及的問題。現在所有其他的數字資產都是基於區塊鏈,在某個方向(如計算速度)等進行改進而誕生的。

2

為什麼說比特幣是多種技術的集大成者?

比特幣包含眾多技術,「公私鑰密碼體制」在上世紀 70 年代就有了,「工作量證明」的共識機制在上世紀 90 年代反垃圾郵件就已有應用,「P2P 網路」也不是什麼新的概念,大家熟悉的 BT、電驢下載等都用了這項技術。

而比特幣則把它們都揉在了一起,正如喬布斯當年發布 iPhone 一樣,感測器、觸控屏、播放器等等都不是蘋果公司發明的,但喬布斯把它們組合在了一起,開啟了智能手機的新時代。

因為比特幣的出現,密碼學研究在近幾年突飛猛進,大量程序員、工程師等技術人才進入研究,礦工們也因比特幣有利可圖,不斷升級礦機,從最初個人電腦的 CPU 到 GPU,再到可編程邏輯門陣列(FPGA),再到目前的專用集成電路(ASIC)。可以說,比特幣集成眾多的成熟技術,而火熱的比特幣行業又反過來促進這些技術的發展。

3

比特幣行業的生態是怎樣的?

比特幣有完整的生態鏈。有礦機的廠商,簡單來說他們就是賣電腦的,他們的工作是非常有挑戰的,晶元的設計,設備的部署、運維,演算法的有效調度,這些都需要很強的技術支持。現在世界上 70%-80% 礦機晶元都是中國產的,正如 Intel 壟斷傳統晶元業一樣,礦機業的晶元大部分是被中國廠商壟斷的。

行業內也有一些「礦池」,礦工將自己的算力投入礦池進行集體挖礦,一般會取得比獨自挖礦更佳的收益。關於礦池,一個比較有意思的話題是智能調度,如果礦機能進行多種幣種的挖礦,礦池能夠智能地根據當前市場的幣價甚至是未來的走勢,完成礦池內算力在不同幣種上的分配,進而達到整個組織效益最大化。

通常,人們會通過交易所參與買賣比特幣。數字資產的交易所和傳統股票等交易所比較相似,可靠性、安全性都會是非常重要的衡量指標。前些天有新聞,FBI 抓獲了 BTC-e 的創始人,有媒體調侃:比特幣的國際化就體現於,美國的 FBI 在希臘抓獲了俄羅斯人。

在生態圈中,用戶和礦工們的人數佔比是最高的。幾個月前,以太坊猛漲,礦工們認為挖礦有利可圖,導致高端顯卡一搶而光。甚至根據國外媒體報道,礦工曾租用一架波音 747 來運輸剛購買的顯卡。

4

怎麼才能把比特幣變得更好?

我們前面講到,比特幣是一次嘗試用虛擬方式傳遞價值的實驗,單從技術角度來說它暫時經受住了市場的考驗,是比較成功的。但是,我們也有改進方法讓這種模式變得更健壯、更高效。

比如萊特幣,就在速度、容量上對比特幣進行了改進。比特幣非常安全——但這犧牲了大量的效率,比特幣的處理速度僅有每秒鐘七筆,而我們日常用的 Visa 等傳統金融網路能處理的交易數大概是數十萬筆每秒,可見比特幣的速度遠遠不能滿足我們的日常需求。今年年中萊特幣採用了「閃電網路」這樣的技術,把部分交易放於主鏈之外進行,極大提升了處理速度。

另一個非常有特色的幣種是以太坊,以太坊獨創了 EVM 虛擬機,能夠以去中心化的方式來處理點對點智能合約。以太坊讓我們不僅可以在網上執行交易,而且還可以運行代碼。例如兩個人之間借房款,傳統方法是簽訂合同,到日期後實體執行還款;如果有了智能合約,則是通過代碼,到日期後自動將錢款打回借款方,能不藉助可信第三方來強制執行,極大便利了人們的生活。

5

如何學習比特幣相關技術及常見問題?

首先可以從國內書籍入手,目前市面上已經有數十本關於比特幣或區塊鏈方面的書籍,但講技術的書還不夠多,可以選擇性購買閱讀。在國內書籍閱讀完後,可以嘗試買部分國外相關書籍,但這個行業日新月異,發展非常迅速,因此可以直接去相關項目官網,去讀官方所給白皮書、文檔及代碼,關注代碼變更。

另外還可以加入相關項目的討論組、社區,國外用 Slack 用得比較多,可以加入他們,做部分貢獻。在代碼方面,區塊鏈有 truffle 之類的框架,智能合約的語言也比較類似於 JavaScript,因此從事這方面的學習工作並不會像大家想像的那樣困難。

Q1:學習智能合約可以做什麼?

這個問題很有意思,其實可以相當於在二十年前問「學會寫程序可以做什麼」,當時這確實是個問題。同理,現在來看,學會寫智能合約能做的事情暫時還不太清楚。目前部分招智能合約的相關人才就已經非常困難了,有較大的缺口;可能五六年後,智能合約相關的人才就非常熱門了。

Q2:挖礦時的哈希值有什麼用?

挖礦時的哈希值就是用來進行工作量證明的。哈希是一種單向不可逆的計算,可得到固定長度的原有信息的摘要。哈希有雪崩性,一點微小的改變也會造成最終結果的巨大變化;哈希有均勻性,它將結果值較均勻地分布於取值空間,並不會集中於一點;哈希有單向性,從最終結果來反推測出原信息是不可行的。比特幣用哈希來進行工作量證明,礦工通過大量的計算才可能解決問題。

Q3:比特幣的設計屬性是什麼?

比特幣的設計更像黃金。比特幣能代表一定價值,能被人們儲藏以及能進行價值傳遞。

Q4:人民幣的數字化與電子化有什麼差別?

比如支付寶、微信與比特幣類似的數字資產的差別,我認為,主要在發行機制和清算機制上。發行方面,我們熟悉的貨幣主要依賴於央行之類的機構的行政命令,但如果是去中心化的數字資產,則可以通過修改代碼這樣的技術手段來執行,這個過程效率是非常高的。清算方面,目前銀行等金融機構間的介面標準可能是不統一的,如果是去中心化的數字資產,一般的人通過網路下載得比特幣程序即可接入,使清算更標準規範。

作者介紹

程顯峰,火幣網 CTO,外號「技術圈的交際花」,會霸,野雞金融家,好為人師,各種坑爹技術的推廣者,翻譯過《MongoDB 權威指南》。經常穿著浮誇,冒充記者出現在各種技術會議上。樂高愛好者,且經常因為搶玩具欺負家裡的小孩兒。

今日薦文

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

揭秘智能時代的新運維,CNUTCon大會日程總覽
SparkUI:一個可供參考的前端開發實踐
加速企業數字化轉型,首屆Spring Summit技術峰會圓滿落幕
為什麼 30 歲的工程師容易跳槽?

TAG:InfoQ |