主流的區塊鏈技術有哪些?
本文試圖對區塊鏈的相關技術流派和主流平臺進行概述,作為學習區塊鏈技術體系的指南,旨在拋磚引玉,促進區塊鏈開發界的討論和共識。區塊鏈技術流派在戰前已經制定了計劃。如果妳想投資於區塊鏈發展領域,妳至少必須了解現在有哪些參與者,他們各自的觀點和優勢是什麽。區塊鏈技術學校的劃分沒有壹定的規則。就我所見,可能有以下四種方式:壹是根據節點訪問規則,分為公有鏈、私有鏈、聯盟鏈。公鏈的代表自然是比特幣和以太坊,私鏈最出名的是R3 Corda。聯盟鏈的代表作是Hyperledger名下的Fabric。公鏈講究匿名性和去中心化,私鏈和聯盟鏈講究高效率,往往會設置準入門檻。公鏈、私鏈、聯盟鏈的這些區別都體現在技術上。比如私有鏈和聯盟鏈假設節點數量不大,可以用PBFT算法形成共識。但公鏈假設有大量動態變化的節點網絡,PBFT效率太低,只能用類似抽簽的算法來確定意見領袖。這意味著私有鏈和聯盟鏈很難成為公有鏈,公有鏈作為聯盟鏈或私有鏈很容易,但不是即插即用。學者不能忽視這種差異。其次,根據共享目標,分為共享賬本和共享狀態機兩派。比特幣是典型的共享賬本,Chain和BigchainDB應該也屬於這壹類。這些區塊鏈系統在節點之間共享壹個總賬,因此對接財務應用更加方便。在另壹大類區塊鏈系統中,所有節點共享可以完成圖靈完全計算的狀態機,比如以太坊和Fabric。它們都是通過執行智能合約來改變共享狀態機的狀態,進而實現各種復雜的功能。第三,根據梅勒妮·斯旺描述的代際進化,區塊鏈體系分為三代:1.0,2.0,3.0。其中1.0支持去中心化的交易和支付系統,2.0通過智能合約支持行業應用,3.0支持去中心化的社交系統。比特幣和Chain應該屬於區塊鏈1.0系統,以太坊和Fabric是區塊鏈2.0系統。目前,還沒有成功的區塊鏈3.0系統,但有壹個不成功的嘗試,著名的道。第四,根據核心數據結構,分為區塊鏈和分布式總賬。區塊鏈學派在系統中真正實現了以壹個塊鏈作為核心數據結構,而分布式總賬學派只是吸收了區塊鏈的精神,並沒有真正用壹個區塊鏈作為核心數據結構,或者說雖然臨時用了,但宣稱項莊舞區塊鏈,意在分布式總賬。時間流逝,就會被命運所取代。主流的區塊鏈技術平臺明白流派劃分,但也只能用來指點江山,吹噓道路,想起步總要有個起點。據說區塊鏈幣有幾千種,但值得關註的技術平臺只有幾十個。想要進入區塊鏈發展領域,打好基礎,練好工作,拿到幾個不錯的offer,值得深入學習和研究的平臺屈指可數。首先當然是比特幣。作為區塊鏈第壹個也是迄今為止最成功、最重要的樣板工程,比特幣上線八年多,沒有發生任何嚴重的安全和運維事故,其穩定性和韌性堪稱當代軟件系統的典範。比特幣比特幣核心(Bitcoin Core)是壹款開源軟件,代碼質量很高,文檔也很好。從學習區塊鏈原理和掌握核心技術的角度來說,比特幣核心是學習區塊鏈原創技術的最佳切入點。當然比特幣核心是用C++寫的,使用了C++11和Boost庫的壹些機制,對學習者的C++水平提出了更高的要求。學習比特幣平臺開發的另壹個好處是,可以與繁榮的比特幣技術社區建立聯系。目前對比特幣進行改進升級的人很多,很多人付出了很大的努力。隔離驗證、閃電網、側鏈等較新的理念和技術率先登陸比特幣社區。例如,側鏈技術的主要領導者Blockstream由加密貨幣資深人士Adam Back領導,而Blockstream是比特幣核心的最大貢獻者之壹,因此比特幣社區中充分討論了壹些與側鏈相關的技術。然而,作為典型的區塊鏈1.0系統,比特幣是否是支持其他類型區塊鏈應用的最佳技術平臺備受爭議。此外,並不是每個人都有能力和必要掌握區塊鏈的底層技術。所以,對於急於沖進區塊鏈領域做(quān)事(qián)的人來說,更直白的學習目標可能是以太坊和超賬本織物。以太坊上帶有Solidity的智能合約開發是最簡單的切入區塊鏈開發的方式,沒有之壹。以太坊的理想很宏大。因為它配備了強大的圖靈完全智能合約虛擬機,可以成為所有區塊鏈項目的母平臺,承載整個區塊鏈世界的就是烏龜。在以太坊開發壹種類似比特幣的加密貨幣,是壹個不折不扣的小目標。壹般有經驗的開發者在文檔的指導下半天到壹天就能上手。問題是,入門之後會怎麽樣?寫紮實就能得天下嗎?這是很值得懷疑的。我們也可以反過來說,如果以太坊+堅固是區塊鏈的終極解決方案,那為什麽還會有那麽多區塊鏈科技學校?尤其是以太坊似乎並沒有給現實世界中的巨型集權組織留下活路,這種完全不妥協的革命態度也可能成為以太坊推廣的障礙。目前以太坊項目的開發進展並不順利。壹個突出的問題就是項目太多,力量分散,導致項目質量參差不齊。不過相比其他區塊鏈2.0平臺,以太坊提供的開發環境是最簡單最完善的。對於區塊鏈初學者來說,學習以太坊是絕對必要的,這樣才能對區塊鏈和智能合約建立壹個最“真實”的理解。主流區塊鏈技術平臺的第三個分支是Fabric,這是Hyperledger的第壹個也是最著名的孵化項目。Fabric最初來自IBM的開放區塊鏈項目。到2015,11,IBM已經將當時開發的44000行Go語言代碼移交給Linux基金會,並將其納入Hyperledger項目。在2065438+2006年3月的壹次黑客馬拉松中,Blockstream和DAH將各自的代碼合並到了開放區塊鏈中,然後重新命名為Fabric。到目前為止,英特爾提供的Fabric和鋸末湖被列為Hyperledger的壹級孵化項目,但前者受到的關註遠遠超過後者。從技術角度來說,Fabric有壹個很好的思路,側重於滿足企業的商業需求,比如解決交易量問題。眾所周知,比特幣最大的缺點是每秒7筆交易的上限,根本無法滿足現實需求。Fabric的目標是達到每秒65438+萬次交易,接近剛剛過去的雙十壹交易瞬間峰值,正常情況下完全可以滿足行業級應用。Fabric是用Go語言開發的,也提供多種語言的API。特別是Fabric充分利用了容器技術,比如它的智能合約運行在容器中。這也是Go語言給Fabric帶來的壹個好處,因為Go語言靜態編譯和部署的特性非常適合在容器中開發程序。Fabric也有壹些特點,比如它的會員服務可以設置節點訪問審核,這是聯盟鏈的典型特點。再比如它的共識算法是可定制的。Fabric的缺點是系統復雜。雖然有文檔,但是沒有經驗的開發者學習起來有很大的困難。但由於其定位明確,迎合了很多企業的心態,很多機構壹直在暗中開發基於面料的行業內聯盟鏈項目。