什麼是區塊鏈?——科普篇

什麼是區塊鏈?——科普篇

它是什麼?

一個公共的、永久性的、只能追加的分散式賬簿。

什麼東西?

一種用特定方式儲存資料、幾乎不可能偽造的數學結構,能被用來儲存各種有價值的資料。

它從哪來?

“我一直在開發一種新的電子貨幣系統,採用完全點對點的形式,無需委託第三方。”這些文字來自比特幣的神秘創造者中本聰(Satoshi Nakamoto)在2008年10月發給一個密碼學郵件組的訊息。訊息中還包含一個連結,點開是一篇9頁長的白皮書,其中描述的技術被現在的信徒認定能顛覆金融系統。

中本聰在2009年1月挖到了第一批比特幣,加密貨幣時代就此誕生。雖然它的起源晦澀神秘,但是造就它的技術,即現在所謂的區塊鏈,並不是驟然興起的。中本聰將成熟的加密工具與數十年前計算機科學研究的方法相結合,創造了一個公開網路,讓沒有互信關係的參與者可以一次又一次地認同共享賬簿上記錄的事實。在這個網路中,任何人都不可能拿一枚比特幣重複花兩次,解決了這個曾阻礙數字貨幣誕生的問題。此外,關鍵的是,有了它,我們就不需要一箇中央機構來調控數字貨幣交易了。

2011年,Gawker網站上的一篇文章披露了使用比特幣的線上毒品交易平臺Silk Road,此後比特幣開始升溫。模仿比特幣的“山寨幣”(altcoins)隨之出現,它們大多使用了比特幣的開原始碼。在兩年之內,流通中的比特幣的總價值超過了10億美元。 很快,技術專家們發現,除了資金,區塊鏈還能用來追蹤其他東西。

2013年,19歲的維塔利克·布特林(Vitalik Buterin)發起了以太坊,它不僅能記錄貨幣交易,還能記錄一種叫做“智慧合約”的計算機程式的狀態。以太坊於2015年上線,現在已經出現了大量競爭對手和模仿者,它將有可能帶來新一代的應用,雖然它們在外觀和使用體驗上與今天的網路應用類似,但它們不依賴某家公司的伺服器提供支援,而是基於去中心化的加密貨幣網路。 區塊鏈有什麼用途? 它為一個老問題提供了新的解決方案:人與人之間如何建立足夠的信任,平和地交換有價值的事物?

1、一個交易的誕生 在比特幣交易平臺上,交易是指加密貨幣從一個人(艾麗絲)轉至另一個人(鮑伯)。以太坊上有多種型別的交易,該平臺有一個內建程式語言,可以用來實現交易自動化。艾麗絲能把加密貨幣轉給鮑伯。或者,某個人建立一個交易,把一行程式碼(即智慧合約)放在區塊鏈上。然後,艾麗絲和鮑伯就能把錢轉到這個程式控制的賬戶,如果滿足該合約中的特定條款,就能觸發交易。智慧合約還能把交易傳送到它所嵌入的區塊鏈。

2、交易被廣播至一個點對點網路 假設艾麗絲想轉一些錢給鮑伯。為此,艾麗絲在她的電腦上建立一個交易,這個交易必須參照區塊鏈上的一個過往交易(她曾從中收到足夠的資金),以及她用以獲取資金的私人金鑰和鮑伯的地址。接下來,這個交易被髮送至網路中的其他計算機或“節點”。節點會驗證該交易,前提是交易遵守了適當的規則。然後,挖礦節點(第3步將詳細介紹)會接受這個交易,使其成為新區塊的一部分。

3、創造新區塊的競賽 一組叫做挖礦節點的子節點將有效交易列入清單,即區塊(blocks)。一個正在形成的區塊包含一組近期有效交易清單和來自前一個區塊的加密資訊。在比特幣和以太坊等區塊鏈系統中,挖礦節點競相生成新區塊,完成這個過程需要解一個需要進行大量運算的數學難題,而每個新區塊對應一個特定的難題。第一個解出難題的挖礦節點會賺到一些加密貨幣作為回報。解這個數學題需要隨機猜測一個隨機數(nonce),這個隨機數和區塊中的另一個數據結合起來,形成一個加密的數字指紋,叫做雜湊(hash)。

4、完成一個新區塊 雜湊必須符合特定的條件;如不符合,挖礦節點就要嘗試另一個隨機數,再次計算雜湊值。需要透過大量嘗試才能找到一個有效的雜湊,這也使得駭客難以篡改賬簿。雖然某些區塊鏈組織用其他系統來保護其區塊鏈的安全,但這種被稱作工作量證明(proof of work)的方法,是最經得住實戰考驗的。

5、在區塊鏈上增加一個新區塊 這是保護賬簿安全的最後一步。當一個挖礦節點第一個解出新區塊的加密問題後,它會把這個區塊分發給網路中的其他計算機批准,並賺取數字代幣作為回報。挖礦的難度透過編碼嵌入了區塊鏈的協議;比特幣和以太坊的設計意圖就是要讓解出新區塊的難度隨著時間的推移變得越來越大;鑑於每個區塊包含來自前一個區塊的資料,這些區塊透過數學方法被連結在了一起。要篡改一個早期的區塊,就必須為區塊鏈上所有之後的區塊再做一遍工作量證明。