1. 程式人生 > >從零瞭解區塊鏈不可錯過一篇論文

從零瞭解區塊鏈不可錯過一篇論文

2009年中本聰發表論文《比特幣-一種點對點的電子現金系統》之後比特幣橫空出世,比特幣誕生至今的9年時間幣價增長了200萬倍,2016年至今區塊鏈行業也產生了爆炸式的增長,越來越多的人開始關注區塊鏈行業,想要深入瞭解區塊鏈,中本聰當年的論文是不可錯過的重要資料,區塊鏈行業至今的很多重要創新都源於這篇論文,對該論文的研究,有助於我們更快的瞭解比特幣,瞭解區塊鏈。

 

中本聰論文中,比特幣首先解決了交易中交易信任,隱私保護和交易欺詐等問題,其次以低成本的運營方式,對於運營參與者給予合理的回報,最終形成一套去中心化的自執行的金融系統。首創了交易雜湊值,工作量證明,時間戳等區塊鏈關鍵技術,日後被區塊鏈其他專案沿用至今。以下內容是關於中本聰論文的解讀:

 

 

一、交易的問題

1.交易信任

交易中最核心的問題是信任問題。

在傳統的商業中是靠可信的第三方中介來解決的,比如淘寶購物依靠支付寶解決信任問題,金融借貸通過銀行解決信任問題。而比特幣通過交易雙方的公鑰和私鑰確定交易者的身份,並首創了公開廣播的形式來解決信任問題。系統授予並記錄交易雙方唯一的交易序列,之後進行全網的廣播,被整個系統中的所有參與者見證。

 

2.交易欺詐

傳統商業中,銀行作為可信的第三方中介服務於各種交易中,但常常因為支付和結算的時間差,遇到欺詐的問題。比如,空頭支票,假支票等問題。為了解決交易欺詐,銀行等傳統機構花費了大量的成本來解決該問題,比如先對單在付款,比如延長付款期限,比如使用高科技手段來認證交易者身份等等。

交易欺詐的問題在比特幣網路中同樣可能存在,即使進行全網的廣播,也可能會出現A轉賬到B之後,在交易未結束前把同樣一筆資金在轉賬給C的問題,中本聰在論文中提出了時間戳的概念,每一筆交易的隨機雜湊加密資料+時間戳確定了交易的唯一性,全網廣播之後一筆筆交易就形成了一個鏈條式的賬本,之前的交易無法更改,從而杜絕了交易欺詐的問題。

 

3.隱私保護

 

交易中的雙方的公鑰是匿名的,網路中的參與者被公告的資訊是:某個人將一定數量的貨幣支付給了另外一個人,但是難以將該交易同某個特定的人聯絡在一起,也就是說,全網中沒有人知道交易雙方究竟是誰。和股票交易類似,股票買賣者的交易資料是公開的,比如在什麼時間某一股票被買賣了多少數量,而買賣的身份資訊是隱匿的,即我們並不知道誰參與了交易。

 

 

二、系統的運營

1.系統成本

傳統商業中,銀行系統的維護需要大量的人力物力成本,比如辦公場地,人員工資,安保成本,網路系統等等。

 

比特幣設計時,中本聰設想了一個不需要中心化維護的網際網路系統,也就不需要組織結構,不需要固定的人員工資的系統。而系統運營人員的成本又通過系統自運營中產生的獎勵完成,從而實現了系統的自動執行。從經濟學的角度,這是最低程度消耗資源,最低成本的運營方式。

 

2.系統的自執行

開發者和礦工作是比特幣系統的核心,比特幣系統的開發在中本聰消失前基本完成,在此之後系統的演進工作都是社群在中本聰開發的基礎上進行的修補。而比特幣系統運營中最關鍵的鑄幣和記賬工作是通過礦工完成的,礦工通過鑄幣和記賬獲得相應的獎勵來保證礦工有足夠的工作積極性。

 

對於鑄幣獎勵,論文中是這樣定義的:“每個區塊的第一筆交易進行特殊化處理,該交易產生一枚由該區塊創造者擁有的新的電子貨幣。這樣就增加了節點支援該網路的激勵,並在沒有中央集權機構發行貨幣的情況下, 提供了一種將電子貨幣分配到流通領域的一種方法 ”

 

記賬獎勵的來源則是交易費(transaction fees)。論文中的定義:“如果某筆交易的輸出值小於輸入值,那麼差額就是交易費,該交易費將被增加到該區塊的激勵中。只要既定數量的電子貨幣已經進入流通,那麼激勵機制就可以逐漸轉換為完全依靠交易費,那麼本貨幣系統就能夠免於通貨膨脹”

 

 

三、劃時代的創新

1.去中心化

完全通過點對點技術實現的電子現金系統,基於密碼學原理而不基於信用,它使得線上支付能夠直接由一方發起並支付給另外一方,任何達成一致的雙方,能夠直接進行支付, 而不需要第三方中介的參與,也不依賴任何中心化的組織就可以自動執行。

 

2.交易驗證

一枚電子貨幣(an electronic coin)是這樣的一串數字簽名: 每一位所有者通過對前一次交易和下一位擁有者的公鑰(Public key)簽署一個隨機雜湊的數字簽名,並將這個簽名附加在這枚電子貨幣的末尾,電子貨幣就傳送給了下一位所有者。而收款人通過對簽名進行檢驗,就能夠驗證該鏈條的所有者。

 

在電子系統中排除第三方中介機構,那麼交易資訊就應當被公開宣佈(publicly announced)1,我們需要整個系統內的所有參與者,都有唯一公認的歷史交易序列。收款人需要確保在交易期間絕大多數的節點都認同該交易是首次出現。

 

每個交易中的每個時間戳應當將前一個時間戳納入其隨機雜湊值中,每一個隨後的時間戳都對之前的一個時間戳進行增強(reinforcing),這樣就形成了一個鏈條(Chain)。交易驗證使用數字簽名+全網廣播+時間戳完美的解決了交易中的信任問題。

 

3.工作量證明(Proof-of-Work)

在進行隨機雜湊運算時,工作量證明機制引入了對某一個特定值的掃描工作,比方說SHA-256下,隨機雜湊值以一個或多個0開始。那麼隨著0的數目的上升,找到這個解所需要的工作量將呈指數增長,但是檢驗結果僅需要一次隨機雜湊運算。

我們在區塊中補增一個隨機數(Nonce),這個隨機數要使得該給定區塊的隨機雜湊值出現了所需的那麼多個0。 我們通過反覆嘗試來找到這個隨機數,找到為止。 這樣我們就構建了一個工作量證明機制。只要該CPU耗費的工作量能夠滿足該工作量證明機制,那麼除非重新完成相當的工作量, 該區塊的資訊就不可更改。由於之後的區塊是連結在該區塊之後的,所以想要更改該區塊中的資訊,就還需要重新完成之後所有區塊的全部工作量。

 

工作量證明的幾個好處:

1)公平有效的分配區塊獎勵

礦工之間的競爭是通過完成隨機雜湊運算的次數完成保證了公平有效,誰在整個區塊鏈中的工作量更多,誰獲得的區塊獎勵就更多。

 

2)保證了區塊鏈資料難以篡改

代表誠實節點的最長的鏈包含了最大的工作量,如果想要對業已出現的區塊進行修改,攻擊者必須重新完成該區塊的工作量外加該區塊之後所有區塊的工作量,並最終趕上和超越誠實節點的工作量。工作量最多的鏈,一定是資料最完整的鏈,一定是代表了全網使用者利益的鏈。

 

3)控制發幣速度

硬體的運算速度在高速增長,且節點參與網路的程度會有所起伏。為了解決這個問題,工作量證明的難度(the proof-of-work difficulty)將採用移動平均目標的方法來確定,即令難度指向令每小時生成區塊的速度為某一預設的平均數。如果區塊生成的速度過快,那麼難度就會提高工作量來證明自己在鑄幣和記賬中的工作量

 

4.系統激勵

把傳統的消耗資源挖礦的方式應用到比特幣系統中,比特幣系統的挖礦消耗的資源是CPU的運算時間和電力資源。

對於礦工的激勵是發掘出新區塊獎勵的比特幣,在所有比特幣挖掘完畢之後,比特幣系統的高額手續費成為礦工持續工作的動力。

 

 

四、遺留的問題

比特幣系統誕生已經9年了,現在來看當初關於系統設計的論文,也不得不讚嘆該系統設計超越時代的先進與嚴謹,比特幣從最初的試驗品,到小範圍應用,到現在成為市值600億美元的準商用系統,經歷了無數次考驗。

 

但是比特幣作為一個金融系統運營至今,隨著越來越多的人使用,比特幣網路擁塞的問題也越來越嚴重,擴容之爭給比特幣的未來蒙上了一團迷霧;算力集中於幾大礦池也讓比特幣網路越來越中心化;幣價上漲導致的算力的暴漲問題,讓挖礦耗費的電力資源越來越多;早期參與者的持幣成本和現在及未來參與者的持幣成本的巨大差異導致的貧富不均等等問題,在未來都需要比特幣的持有者,比特幣網路的使用者,比特幣系統的開發者,礦工們共同去解決。

 

 

五、總結

隨著網際網路的發展,全球經濟格局已經從線下實體經濟越來越多的轉變為網際網路虛擬經濟。過去主要的財富來源是物質資產,比如房地產,礦產資源,實物商品,現在的主要財富來源則是知識,資訊和金融,實體經濟中創造的財富也在逐漸向網際網路轉移,比特幣系統創造的代幣作為區塊鏈應用的核心,承載著區塊鏈專案的價值,也提供了實體經濟中創造的財富向網際網路轉移的機會。

 

也許正如之前老貓說過的:區塊鏈的世界,一切才剛剛開始。