以太坊、EOS和Hyperledger等不一樣區塊鏈的比較

不一樣的區塊鏈智能合約和區塊鏈技術如今風靡一時。愈來愈多的人出於某種緣由試圖進入這個神奇的世界。若是你是這項技術的新手並正在尋找基於區塊鏈的開發平臺的快速入門,那麼本指南很是適合你。咱們將重點關注和比較的平臺是:php

  • Ethereum
  • EOS
  • Hyperledger
  • Cosmos
  • Cardano

那麼,爲何咱們決定關注這5個平臺?咱們認爲這幾個平臺提供了可用性和功能性的組合。是的,咱們也知道其中一些項目並未徹底上線,但咱們仍然認爲項目的潛力足以保證咱們的名單上有它一個位置。咱們將先介紹每一個平臺,而後在最後比較它們。java

以太坊

毫無疑問,以太坊是智能合約平臺的老大。以太坊背後的主要人物是Vitalik Buterin。Buterin對比特幣很是着迷,但他意識到區塊鏈技術比僅僅做爲支付協議的推進者有更多的用途。他意識到可使用區塊鏈技術來建立去中心化的應用程序。因而他被啓發創造了以太坊。node

像比特幣同樣,以太坊是一種加密貨幣,然而,也就是這個地方還有些類似性。由於雖然比特幣是「第一代」區塊鏈,但以太坊經過成爲有史以來第一個第二代區塊鏈打破了局面。以太坊經過在區塊鏈上引入智能合約,完全改變了加密世界。python

智能合約首先由Nick Szabo概念化。這個想法很簡單,在雙方之間有一套自動執行指令,不須要由第三方監督或執行。這個想法彷佛很簡單,對吧?然而,智能合約使以太坊可以建立一個環境,來自世界各地的開發人員能夠建立本身的去中心化應用程序,即Dapps。android

Dapps和智能合約

Dapp的創造是以太坊最重要的特徵之一。除了去中心化以外,還有Dapp必須具有的某些其餘功能:程序員

  • Dapp的源代碼應該對全部人開放。
  • 應用程序必須有某種代幣來爲本身提供支持。
  • 應用程序必須可以生成本身的代幣並具備內置的共識機制。

聽起來很棒吧!那麼,你究竟如何構建它們呢?你須要使用solidity對智能合約進行編碼。web

開發人員使用一種名爲Solidity的編程語言,這種語言是一種有目的的簡潔,鬆散類型的語言,其語法與ECMAScript(Javascript)很是類似。算法

除了建立智能合約外,你還必須擁有能夠執行它的環境。可是,此執行環境必須具備一些屬性。這些屬性是:mongodb

  • 肯定性。
  • 可終止。
  • 隔離的。

1.肯定性編程

若是程序每次都給予給定輸入有相同的輸出,則程序是肯定性的。例如。若是3+1=4則3+1老是4(假設基數相同)。所以,當程序將相同的輸出提供給不一樣計算機中的同一組輸入時,該程序稱爲肯定性。環境必須確保智能合約的執行始終是肯定的。

2.可終止

在數學邏輯中,咱們有一個稱爲halting problem(終止問題)的錯誤。基本上,它代表沒法知道給定程序是否能夠在必定時限內執行其功能。1936年,Alan Turing(阿蘭·圖靈)使用Cantor的對角線問題推斷出,沒有辦法知道某個節目是否能夠在一個時間限制內完成。

這顯然是智能合約的問題,由於根據定義,合約必須可以在給定的時間限制內終止。所以環境必須可以中止智能合約的運做。

3.隔離

在區塊鏈中,任何人和每一個人均可以上傳智能合約。然而,正由於如此,合約可能在知情和不知不覺中包含病毒和錯誤。

若是合約沒有被隔離,這可能會妨礙整個系統。所以,將合約保持隔離在沙箱中以保護整個環境免受任何負面影響相當重要。

以太坊使用名爲以太坊虛擬機(EVM)的虛擬機執行其智能合約。

人們必須瞭解的下一個核心以太坊概念是gas。

什麼是以太坊gas?

還記得智能合約環境的「終止」屬性嗎?好吧,以太坊智能合約經過利用gas來實現這一特性。在智能合約中編碼的每一行都須要必定量的gas才能執行。所以,當開發人員提交智能合約以供執行時,他們還會指定最大gas限制。

想一想gas限制是你在開車前裝滿汽車的燃料,燃料耗盡的那一刻,汽車中止工做。智能合約中的每一行都須要必定量的gas才能執行。一旦gas耗盡,智能合約就會中止執行。

以太坊和ICO

以前咱們已經詳細介紹了這個主題,所以咱們將簡要介紹一下這個問題。以太坊最吸引人的功能之一是初始代幣產品或ICO。世界各地的開發人員可使用以太坊的虛擬機來支持他們的智能合約,並使用該平臺相對輕鬆地在擁擠的銷售中籌集大量資金。因爲這個特色被大量的採用以太坊彷佛已經走到了盡頭。

以太坊挖礦

目前的以太坊使用的是工做量證實來挖掘,即和比特幣使用相同挖掘過程。基本上,礦工經過利用他們的處理能力來解決複雜的加密難題,從而競爭鏈中的下一個區塊。

以太坊最終將利用Casper協議轉向權益證實。POS比POW更環保,而且可擴展性更高。

主要問題

毫無疑問,以太坊對加密世界產生了巨大影響,可是,其性能存在一些重大問題。截至目前,以太坊在可擴展性方面都失敗了。他們每秒只能管理25筆交易,這對於想要主流採用的Dapps來講並不理想。最重要的是,以太坊對於開發人員來講多是昂貴的。執行dapps的gas價格能夠已經要飛上天了。

除此以外,還有一個問題會影響以太坊和其餘加密貨幣。這個問題是互操做性。截至目前,若是Alice擁有比特幣而且Bob擁有以太坊,那麼二者之間沒有簡單直接的方式交互。這是一個很是大的問題,由於在將來,可能會有數千個並行運行的區塊鏈,而且應該有一種方式讓它們彼此無縫交互。

旨在解決這種互操做性問題的一個項目是Cosmos。

Cosmos

代幣:ATOM

Cosmos旨在成爲一個「區塊鏈互聯網」,它將一勞永逸地解決這些問題。Cosmos的架構由幾個獨立的區塊鏈組成,稱爲「區域」,附加到稱爲「Hub」的中央區塊鏈。

根據Cosmos的白皮書,「這些區域由Tendermint Core提供支持,它提供了一個高性能,一致,安全的PBFT共識引擎,其中嚴格的fork-accountability保證能夠控制惡意行爲者的行爲。Tendermint Core的BFT一致性算法很是適合擴展公共股權證實區塊鏈。「

該項目背後是首席執行官Jae Kwon和首席技術官Ethan Buchman以及Interchain Foundation團隊。

什麼是Tendermint?

Tendermint是PBFT的變體,即實際拜占庭容錯。拜占庭容錯(BFT)系統是一個成功應對拜占庭將軍問題的系統。咱們在這裏詳細介紹了拜占庭將軍的問題。爲了保持簡短,爲了使去中心化的點對點系統以無信任的方式運做,他們必須找到拜占庭將軍問題的解決方案。

正如cosmos白皮書所述:

「Tendermint提供卓越的性能。在分佈在5大洲的7個數據中心的64個節點的基準測試中,在商品雲實例上,Tendermint共識能夠每秒處理數千個交易,提交延遲大約爲1到2秒。值得注意的是,即便在惡劣的壓力測試條件下,每秒一千次交易的表現仍然保持不變。「

下圖支持上述聲明:

Tendermint的好處

對於250字節的交易,Tendermint能夠以每秒10,000個交易的速率處理。並且擁有更好,更簡單的輕客戶端安全性,使其成爲移動和物聯網用例的理想選擇。相比之下,比特幣輕客戶端須要更多的工做而且有不少需求,這使得它對於某些用例來講是不切實際的。

  • Tendermint擁有fork-accountability,能夠阻止諸如長期可有可無的雙重花費和審查等攻擊。
  • Tendermint是經過Tendermint核心實現的,這是一個「與應用程序無關的共識引擎」。它基本上能夠將任何肯定性黑盒應用程序轉換爲分佈式複製的區塊鏈。

= Tendermint Core經過應用程序區塊連接口(ABCI)鏈接到區塊鏈應用程序。
 

區塊間通訊

正如咱們以前提到的,Cosmos的架構將遵循Hub和Zones方法。將有多個並行區塊鏈鏈接到一箇中央Hub區塊鏈。想一想太陽和太陽系。

Cosmos中心是一個分佈式分類賬,我的用戶或區域自己能夠保存其令牌。這些區域可使用IBC或Inter Blockchain Communication經過Hub進行相互交互。

見上圖,這是兩個區域如何經過IBC相互通訊的簡化版本。

Cosmos用例

Cosmos實現的互操做性有一些很是有趣的用例:

  • DEX:因爲Cosmos將如此多的區塊鏈相互鏈接起來,不言而喻,它能夠輕鬆地使不一樣的生態系統相互交互。這是去中心交換的完美環境。
  • 交叉鏈交易:一樣,一個區域能夠經過Cosmos中心利用另外一個區域的服務。
  • 以太坊縮放:這是更多用例之一。根據架構,任何基於EVM的鏈接到Cosmos Hub的區域都將由Tendermint共識系統提供支持。這將使這些區域更快地擴展。

Cardano

代幣:ADA

做爲以太坊聯合創始人Charles Hoskinson的心血結晶,Cardano是一個智能合約平臺,但Cardano經過分層架構提供可擴展性和安全性。Cardano的方法在空間自己是獨一無二的,由於它創建在科學哲學和同行評審的學術研究之上。

Cardano是第三代區塊鏈,專一於爲區塊鏈空間帶來可擴展性和互操做性。有三個組織全職工做來開發和照顧Cardano:

  • Cardano基金會。
  • IOHK。
  • Emurgo。

這三個組織協同工做,以確保Cardano的發展進展順利。

功能編程

與其餘智能合約平臺相比,有一種很是有趣的狀況使Cardano獨一無二。大多數其餘智能合約平臺都是經過命令式編程語言編碼的。Cardano使用Haskell開發源代碼,這是一種函數式編程語言。對於其智能合約,Cardano使用Plutus,這也是一種函數式編程語言。

讓咱們以直截了當的方式解釋兩種語言之間的區別。

在命令式編程語言中,加法的工做方式以下:

int a = 5;
int b = 3;
int c;
c = a+b;

如你所見,它須要不少步驟。如今,看看它將如何在函數式編程語言中工做?

假設咱們想要使用函數f(x)來計算函數g(x),而後咱們想用它來處理函數h(x)。咱們能夠簡單地將全部這些組合在一塊兒,以下所示:

h(g(f(x)))

這使得函數方法更容易在數學上推理。

函數編程語言有助於提升可伸縮性,它還有助於使程序更加精確。

可擴展性

Cardano使用名爲Ouroboros的新的股權證實算法,該算法肯定各個節點如何就網絡達成共識。該協議由OHK首席科學家Aggelos Kiayias教授領導的團隊設計。

Ouroboros是第一個在數學上被證實具備可證實的安全性的股權協議證實,而且是第一個經過同行評審,是經過同行評審的第一個證實,這是在領先的加密會議Crypto 2017時發生的。

交互性

Cardano計劃執行交互操做的方式是實現側鏈。

Sidechain做爲一個概念已經在加密圈子中存在了至關長的一段時間。這個想法很簡單;你有一條與主鏈一塊兒運行的平行鏈條。側鏈將經過雙向掛鉤鏈接到主鏈。

Cardano將根據Kiayias,Miller和Zindros(KMZ)的研究支持側鏈,涉及「非交互式工做量證實」。

根據Hoskinson的說法,側鏈的概念來自兩件事:

  • 獲取區塊鏈的壓縮版本。
  • 建立鏈之間的互操做性。

EOS

代幣:EOS

EOS的目標是成爲一個去中心化的操做系統,能夠支持工業規模的去中心化應用。EOS是Dan Larimer(BitShares和Steemit的創造者)和Block.One建立的。EOS長達一年最近成爲ICO的焦點,這個ICO籌集了創紀錄的40億美圓。

這聽起來很神奇,但真正吸引公衆想象的是如下兩種說法:

  • 他們聲稱有能力每秒進行數百萬筆交易。
  • 他們計劃徹底取消交易費用。

經過DPOS實現可擴展性

EOS經過利用委託的股權證實(DPOS)共識機制實現其可擴展性,這是傳統的股權證實的變體。理論上它每秒能夠進行數百萬次交易。

那麼,DPOS與傳統POS有何不一樣?在POS中,整個網絡必須處理共識,在DPOS中,全部EOS持有者將選出21個塊生產者,他們將負責處理共識和通常網絡健康情況。任何人均可以參加區塊生成者選舉,他們將有機會建立與他們收到的全部其餘建立人的總票數成比例的區塊。

DPOS系統沒有經歷分叉,由於生產者沒必要競爭發現區塊,而是必須合做。若是是分叉,則共識會自動切換到最長鏈。

能夠想象,這些區塊生產商的重要性絕對不容小覷。他們不只會處理共識,還會關注總體網絡健康情況。這就是爲何每一次投票都具備適當權重很是重要的緣由。

這就是爲何Larimer引入了投票衰減(Voter Decay)的想法,這將減小舊選票隨時間的權重。保持投票權的惟一方法是按期投票。

Voter Decay機制帶來兩大優點:

  • 首先,正如咱們一次又一次看到的那樣,民選官員可能會在當選後變得腐敗並改變他們的曲調。投票衰減系統讓選民有機會每週從新考慮他們的投票。這使得區塊生產者對他們的選民負責。
  • 其次,人們只是隨着時間而改變。也許今天有人擁有的政治信仰和意識形態與一年前徹底不一樣。投票衰減系統將容許人們投票給那些與他們新進化的意識形態更加一致的人。

這有可能成爲一個真正的革命性概念,而且能夠永遠改變去中心化投票(甚至是投票自己)。

取消交易費用

EOS使用全部權模型,用戶擁有並有權使用與其股權成比例的資源,而沒必要爲每筆交易付費。所以,從本質上講,若是你擁有EOS的N個代幣,那麼你有權得到N*k個交易。實質上,這消除了交易費用。

在發送EOS代幣時,你能夠得到某些計算資源。你會獲得:

  • 內存
  • 網絡帶寬
  • 計算帶寬。

EOS代幣以及支付代幣也可用做獲取全部這些資源的費用。

Hyperledger

最後,咱們來看看Hyperledger。

Hyperledger,與咱們迄今爲止談論的全部平臺大相徑庭。雖然以太坊和EOS都是合適的加密貨幣並擁有本身的區塊鏈,但Hyperledger不是加密貨幣,也沒有本身的區塊鏈。Hyperledger是Linux Foundation的一個開源項目。在他們的網站上,Hyperledger將本身描述爲「爲推進跨行業區塊鏈技術而開創的開源協做努力。這是由Linux基金會主辦的全球合做,包括金融,銀行,物聯網,供應鏈,製造和技術領域的領導者。「

須要許可的區塊鏈

像以太坊,EOS等平臺都是公共區塊鏈,這意味着任何人均可以選擇加入網絡。可是,對於須要本身的區塊鏈基礎設施的大企業來講,這是很是不受歡迎的。

想一想銀行集團的區塊鏈。

銀行須要天天處理敏感數據。從他們的內部交易記錄到KYC數據,有不少項目他們根本沒法向公衆透露。此外,只有通過網絡中其餘銀行審查的銀行才能進入網絡。

此外,正如咱們以前已經介紹過的那樣,公共區塊鏈很慢而且存在性能問題,這對於大型公司來講也是一個很大的禁忌。

Hyperledger容許這些公司建立他們本身的高性能許可區塊鏈(也就是區塊鏈,其中每一個節點必須在進入前進行審查)。

Hyperledger下的有趣項目

也許Hyperledger系列中最有趣的項目是IBM的Fabric。區塊鏈Fabric是開發基於區塊鏈的解決方案的基礎,具備模塊化架構。

使用Fabric區塊鏈的不一樣組件,如共識和會員服務能夠變得即插即用。Fabric旨在提供一個框架,企業能夠將本身的獨立區塊鏈網絡組合在一塊兒,能夠快速擴展到每秒超過1,000個交易。

除了Fabric,你還有:

  • Sawtooth:由英特爾開發並使用通過驗證的時間共識機制。
  • Iroha:由幾家日本公司開發的易於使用的區塊鏈框架。
  • Burrow:沿着以太坊的規範建立一個須要許可的智能合約機。

不一樣的區塊鏈:比較全部平臺

好吧,如今咱們已經熟悉了這些平臺,讓咱們比較全部這些平臺:

==================================================================

分享一些以太坊、EOS、比特幣等區塊鏈相關的交互式在線編程實戰教程:

  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。

這裏是原文認識以太坊、EOS和Hyperledger等不一樣的區塊鏈

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息