1. 程式人生 > >風口解析 | 區塊鏈 | 003 | 瘋狂的比特幣!

風口解析 | 區塊鏈 | 003 | 瘋狂的比特幣!

 

瘋狂的比特幣!

 

說到這些年最著名的投機資產,以比特幣為首的數字貨幣應該是當仁不讓,穩坐冠軍寶座。比特幣不僅是數字貨幣資產,同時也是全球首個成功的區塊鏈應用。今天,我就從區塊鏈的角度解析下比特幣成功的祕密。

 

首先我們來回顧下,在第二節,我們為讀者分析了區塊鏈的基本工作原理,它可以概括為:

 

1、區塊鏈上所有使用者節點形成連線
2、區塊鏈網路中所有交易等資訊打包成區塊
3、區塊被網路中所有使用者節點無差別備份
4、區塊按時間順序連線在一起,形成永久的不可逆資料鏈

 

區塊鏈的核心問題可以概括為:拜占庭將軍問題(惡意節點發布錯誤資訊)。

 

那麼比特幣是使用什麼原理,解決惡意節點問題,使它成為目前最安全的數字貨幣的呢?我們首先從它的誕生說起。

 

比特幣的理論誕生於2008年10月31日,一名叫中本聰的人,向幾百位密碼學家傳送了一篇名為“比特幣:一個點對點的電子貨幣系統”的論文,由此比特幣的理論基礎誕生。這篇論文此後也被稱為《比特幣白皮書》(《比特幣白皮書》是瞭解區塊鏈概念的一篇非常好的論文,值得讀者瞭解)。

 

2009年1月,中本聰上線了比特幣的程式,並將其開源。他本人挖出了比特幣的第一個區塊裡的50枚比特幣,成為世界上第一個挖出比特幣的人。隨後他將10枚比特幣送給了第一個下載他比特幣軟體的人,從而完成了世界上第一筆比特幣交易。中本聰不僅奠定了比特幣理論基礎、親自開發了比特幣系統、示範了比特幣挖掘和轉讓,併為比特幣開發了一個社群,供程式設計師共同開發和討論。正是這個完美的開端,使他獲得了比特幣之父的稱號。

 

然而正在比特幣的影響力不斷擴大時,2010年中本聰卻把比特幣社群轉讓給了別人,自己則淡出了公眾視線。這個比特幣系統的創造者,徹底從公眾視線消失,以至於他的身份,至今仍是個迷。而他擁有的100萬枚比特幣,雖然今天價值超過數十億美元,但是他卻從來沒有使用過任意一枚比特幣。

 

 

 

比特幣工作的基本原理,與我們描述的區塊鏈的原理基本一致,因此它們面對的問題也是一樣的。比特幣之所以能夠大火,不僅因為它是第一個虛擬貨幣,也不僅因為它有一個神祕的發明人,而是在於它的安全性。去年出現的“比特幣勒索病毒”就是它安全性高的例子。我們下面就來分析下,比特幣是如何解決“拜占庭將軍問題”的。

 

首先,在技術方面,比特幣引入了一種叫做“工作量證明”的機制。這種機制可以理解為:比特幣系統中任何一個節點,如想生成一個區塊,並將該區塊寫入區塊鏈,必須先解決比特幣網路提出的“工作量證明”的難題。這道難題是一個密碼學問題(SHA-256)。

 

中本聰還特意為工作量證明難題設定“難度”,這個難度是根據全網計算能力動態決定的。也就是說,當全網計算能力強的時候,解題難度就會增長,當全網計算能力弱的時候,解題難度就會降低。

 

這樣動態的調節難度,是為了保證比特幣系統能夠平均每10分鐘就生成一個區塊。如果使用固定難度解題,會造成當全網算力超強時,過快生成區塊。提供計算能力的節點,被稱為“礦工”。

 

講了半天工作量證明,這到底和解決惡意節點有什麼關係呢?我將其總結歸納如下:

 

1、工作量證明的本質,是按照計算能力產生投票權,而不是每一個節點擁有同等投票權利。

(投票權就是對寫入區塊資訊真實性提供證明的能力)

2、工作量證明機制,解決的是在集體投票表決時,誰代表大多數的問題。

3、“大多數”在比特幣系統中表現為“最長的鏈”,因為最長的鏈包含了最多的工作量,也被視為最誠實可信的。

 

4、工作量證明機制造成的結果是,一個攻擊者如果想對一條區塊鏈中已經存在的一個區塊進行修改,就要完成該區塊的工作量,外加這個區塊之後出現在這條鏈上所有區塊的工作量的總和。這對網路上的個體節點來說,是不可能實現的。

 

總結工作量證明機制可以將其概括為,通過工作量證明,比特幣系統中會產生一條最長的“鏈”,這條鏈承載了全網的誠實算力,只有當惡意攻擊“鏈”比它長時,歷史資訊才會被修改。

 

我們可以把網路上所有誠實算力整體看做一輛向前賓士的火車,而惡意攻擊者算力可以看做另一輛火車。如果想修改已經存在的區塊,則惡意攻擊算力的火車要比誠實算力的火車跑得更快,這樣它才能追上誠實算力並在它形成新區塊之前修改歷史資訊。

 

這就推匯出比特幣著名的51%算力攻擊法,也就是說全網比特幣服務者算力中,必須有51%都倒戈投向惡意攻擊方,才能使得惡意方算力大於誠實方算力,從而達到修改歷史資訊的條件。

 

以上的描述,是比特幣利用技術手段解決惡意節點問題的方案。

 

與技術手段並行,比特幣還採用了一套“激勵機制”,使用產生區塊時區塊內交易的手續費作為獎勵發放給礦工。即使一個貪婪的攻擊者擁有了超過全部誠實節點的算力,那麼通過誠實工作產生新的貨幣財富,也要比攻擊破壞這個系統造成比特幣誠信系統坍塌而產生的資產貶值更划算。

 

總結一下

 

今天你需要記住的幾個知識點:

 

1、比特幣創始人中本聰第一個提出了去中心化區塊鏈理論。

2、比特幣系統利用“工作量證明”來解決惡意節點問題。

3、與“工作量證明”方案同時,比特幣還利用“激勵機制”來解決惡意節點問題。

 

本節我從區塊鏈的角度,對比特幣進行了解讀。在本節梳理了比特幣是如何通過技術以及激勵手段來解決“拜占庭將軍”問題的。下一節,我將為讀者講解目前區塊鏈中的現實應用以及區塊鏈技術本身的應用缺陷。