歡迎光臨
每天分享高質量文章

區塊鏈進化簡史:為什麼開源是其核心所在 | Linux 中國

從比特幣到下一代區塊鏈。
— Axel Simon


致謝
編譯自 | 
https://opensource.com/article/18/6/blockchain-guide-next-generation
 
 作者 | Axel Simon
 譯者 | qhwdw ? 共計翻譯:133 篇 貢獻時間:259 天

從比特幣到下一代區塊鏈。

當開源專案開發下一個新版本時,用字尾 “-ng” 表示 “下一代”的情況並不鮮見。幸運的是,到目前為止,快速演進的區塊鏈成功地避開了這個命名陷阱。但是在這個開源生態系統的演進過程中,改變是不斷發生的,而好的創意以典型的開源方式在許多不同的專案中被採用、交融和演進。

在本文中,我將審視不同代次的區塊鏈,並且看一看在處理這個生態系統遇到的問題時出現什麼創意。當然,任何對生態系統進行分類的嘗試都有其侷限性的 —— 和不同意見者的 —— 但是這也將為混亂的區塊鏈專案提供了一個粗略的指南。

始作俑者:比特幣

第一代的區塊鏈起源於 比特幣Bitcoin[1] 區塊鏈,這是以去中心化、點對點加密貨幣為基礎的總帳ledger,它從 Slashdot[2] 網站上的雜談變成了一個主流話題。

這個區塊鏈是一個分散式總帳,它對所有使用者的交易transaction保持跟蹤,以避免他們雙重支付double-spending(雙花)貨幣(在歷史上,這個任務是委託給第三方—— 銀行 ——來做的)。為防範攻擊者在系統上搗亂,總帳被覆制到每個參與到比特幣網路的計算機上,並且每次只允許一臺計算機去更新總帳。為決定哪臺計算機能夠獲得更新總帳的權力,系統安排在比特幣網路上的計算機之間每 10 分鐘進行一場競賽,這將消耗它們的(許多)能源才能參與競賽。贏家將獲得將前 10 分鐘發生的交易寫入到總帳(區塊鏈中的“區塊”)的權力,並且為贏家寫入區塊鏈的工作給予一些比特幣獎勵。這種方式被稱為工作量證明proof of work(PoW)共識機制。

這就是區塊鏈最有趣的地方。比特幣以開源專案[3]的方式釋出於 2009 年 1 月 。在 2010 年,由於意識到這些元素中的許多是可以調整的,圍繞比特幣聚集起了一個社群 —— bitcointalk 論壇[4],來開始各種實驗。

起初,看到的比特幣區塊鏈是一個分散式資料庫的形式, Namecoin[5] 專案出現後,建議去儲存任意資料到它的事務資料庫中。如果區塊鏈能夠記錄金錢的轉移,那麼它也應該能夠記錄其它資產的轉移,比如域名。這正是 Namecoin 的主要使用場景,它上線於 2011 年 4 月 —— 也就是比特幣出現兩年後。

Namecoin 調整的地方是區塊鏈的內容,萊特幣Litecoin[6] 調整的是兩個技術部分:一是將兩個區塊的時間間隔從 10 分鐘減少到 2.5 分鐘,二是改變了競賽方式(用 scrypt[7] 來替換了 SHA-256 安全雜湊演演算法)。這是能夠做到的,因為比特幣是以開源軟體的方式來釋出的,而萊特幣本質上與比特幣在其它部分是完全相同的。萊特幣是修改了比特幣共識機制的第一個分叉,這也為其它的更多“幣”鋪平了道路。

沿著這條道路,基於比特幣程式碼庫的各種變種越來越多。其中一些擴充套件了比特幣的用途,比如 Zerocash[8] 協議,它專註於提供交易的匿名性和可替換性,但它最終分拆為它自己的貨幣 —— Zcash[9]

雖然 Zcash 帶來了它自己的創新,使用了最近被稱為“零知識證明zero-knowledge proof”的加密技術,但它維持著與大多數主要的比特幣程式碼庫的相容性,這意味著它能夠從上游的比特幣創新中獲益。

另外的專案 —— CryptoNote[10],它萌芽於相同的社群,但是並沒有使用相同的程式碼,它以比特幣為背景來構建的,但又與之不同。它釋出於 2012 年 12 月,由於它的出現,導致了幾種加密貨幣的誕生,最著名的 門羅幣Monero[11] (2014)就是其中之一。門羅幣與 Zcash 使用了不同的方法,但解決了相同的問題:隱私性和可替換性。

就像在開源世界中經常出現的案例一樣,做同樣的工作有不止一個的工具可用。

下一代:“Blockchain-ng”

但是,到目前為止,所有的這些變體只是改進加密貨幣或者擴充套件它們去支援其它型別的事務。因此,這就引出了第二代區塊鏈。

一旦社群開始去修改區塊鏈的用法和調整技術部分時,對於一些想去擴充套件和重新思考它們未來的人來說,這種調整花費不了多長時間的。比特幣的長期追隨者 —— Vitalik Buterin[12] 在 2013 年底建議,區域鏈的事務應該能夠表示一個狀態機的狀態變化,將區域鏈視為能夠執行應用程式(“智慧合約smart contract”)的分散式計算機。這個專案 —— 以太坊Ethereum[13],上線於 2015 年 4 月。它在執行分散式應用程式方面取得了巨大的成功,它的一些非常流行的分散式應用程式(加密貓CryptoKitties[14])甚至導致以太坊區塊鏈變慢。

這證明瞭目前的區塊鏈存在一個很大的侷限性:速度和容量。(速度通常用每秒事務數來測量,簡稱 TPS)有幾個提議都建議去解決這個速度問題,從分片sharding側鏈sidechain,以及一個被稱為“第二層second-layer”的解決方案。這裡需要更多的創新。

隨著“智慧合約”這個詞開始流行起來,並且用已經被證實仍然很慢的技術去執行它們,那麼就需要實現其它的思路:許可區塊鏈Permissioned blockchain。到目前為止,我們所介紹的所有區塊鏈網路有兩個沒有明說的特徵:一是它們是公開的(任何人都可以看到它們的功能),二是它們不需要許可(任何人都可以加入它們)。這兩個部分是執行一個分散式的、非基於第三方的貨幣應該具有的和必需具有的條件。

隨著區塊鏈被認為出現與加密貨幣越來越明顯的分離趨勢,開始去考慮一些隱私、許可場景是很有意義的。一個有業務關係但不需要彼此完全信任的財團型別的參與者,能夠從這些區塊鏈型別中獲益 —— 比如,物流鏈上的參與者,定期進行雙邊結算或者使用一個清算中心的金融、保險、或醫療保健機構。

一旦你將設定從“任何人都可以加入”變為“僅邀請者方可加入”,進一步對區塊鏈構建區塊的方式進行改變和調整將變得可能,那麼對一些人來說,結果將變得非常有趣。

首先,設計用來保護網路不受惡意或者垃圾參與者的影響的工作量證明(PoW)可以被替換為更簡單的和更少資源消耗的一些東西,比如,基於 Raft[15] 的共識協議。在更高階別的安全性和更快的速度之間進行權衡,採用更簡單的共識演演算法。對於更多群體來說這樣更理想,因為他們可以用基於加密技術的擔保來取代其它的基於法律關係的擔保,例如為避免由於競爭而產生的大量能源消耗,而工作量證明就是這種情況。另外一個創新的地方是,使用 股權證明Proof of Stake[16](PoS),它是公共網路共識機制的一個重量級的競爭者。它將可能像許可鏈網路一樣找到它自己的實現方式。

有幾個專案可以讓建立許可區塊鏈變得更簡單,包括 Quorum[17] (以太坊的一個分叉)和 Hyperledger[18] 的 Fabric[19] 和 Sawtooth[20],這是基於新程式碼的兩個開源專案。

許可區塊鏈可以避免公共的、非許可方式的區塊鏈中某些錯綜複雜的問題,但是它自己也存在一些問題。正確地管理參與者是其中的一個問題:誰可以加入?如何辨別他們?如何將他們從網路上移除?網路上的一個物體是否去管理一個中央公共金鑰基礎設施(PKI)?

區塊鏈的開放本質

到目前為止的所有案例中,有一件事情是很明確的:使用一個區塊鏈的標的是去提升網路中的參與者和它產生的資料的信任水平,理想情況下,不需要做進一步的工作即可足以使用它。

只有為這個網路提供動力的軟體是自由和開源的,才能達到這種信任水平。即便是一個正確的、專用的、分散式區塊鏈,它的本質仍然是執行著相同的第三方程式碼的私有代理的集合。從本質上來說,區塊鏈的原始碼必須是開源的,但僅是開源還不夠。隨著生態系統持續成長,這既是最低限度的擔保也是進一步創新的源頭。

最後,值得一提的是,雖然區塊鏈的開放本質被認為是創新和變化的源頭,它也被認為是一種治理形式:程式碼治理,使用者期望執行的任何一個特定版本,都應該包含他們認為的整個網路應該包含的功能和方法。在這方面,需要說明的一點是,一些區塊鏈的開放本質正在“變味”。但是這一問題正在解決。

第三和第四代:治理

接下來,我正在考慮第三代和第四代區塊鏈:區塊鏈將內建治理工具,並且專案將去解決棘手的大量不同區塊鏈之間互連互通的問題,以便於它們之間可以交換資訊和價值。


關於作者

axel simon: 長期的自由及開源軟體愛好者,就職於 Red Hat ,關註安全和區塊鏈技術,以及分散式系統和協議。致力於保護網際網路及其成就(知識分享、資訊訪問、去中心化和網路中立)。


via: https://opensource.com/article/18/6/blockchain-guide-next-generation

作者:Axel Simon[22] 選題:lujun9972 譯者:qhwdw 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂