摘要:以太坊背后的主要人物是。以太坊通過在區塊鏈上引入智能合約,徹底改變了加密世界。以太坊使用名為以太坊虛擬機的虛擬機執行其智能合約。以太坊最終將利用協議轉向權益證明。截至目前,以太坊在可擴展性方面都失敗了。
不同的區塊鏈智能合約和區塊鏈技術現在風靡一時。越來越多的人出于某種原因試圖進入這個神奇的世界。如果你是這項技術的新手并正在尋找基于區塊鏈的開發平臺的快速入門,那么本指南非常適合你。我們將重點關注和比較的平臺是:
Ethereum
EOS
Hyperledger
Cosmos
Cardano
那么,為什么我們決定關注這5個平臺?我們認為這幾個平臺提供了可用性和功能性的組合。是的,我們也知道其中一些項目并未完全上線,但我們仍然認為項目的潛力足以保證我們的名單上有它一個位置。我們將先介紹每個平臺,然后在最后比較它們。
以太坊毫無疑問,以太坊是智能合約平臺的老大。以太坊背后的主要人物是Vitalik Buterin。Buterin對比特幣非常著迷,但他意識到區塊鏈技術比僅僅作為支付協議的推動者有更多的用途。他意識到可以使用區塊鏈技術來創建去中心化的應用程序。于是他被啟發創造了以太坊。
像比特幣一樣,以太坊是一種加密貨幣,然而,也就是這個地方還有些相似性。因為雖然比特幣是“第一代”區塊鏈,但以太坊通過成為有史以來第一個第二代區塊鏈打破了局面。以太坊通過在區塊鏈上引入智能合約,徹底改變了加密世界。
智能合約首先由Nick Szabo概念化。這個想法很簡單,在雙方之間有一套自動執行指令,不需要由第三方監督或執行。這個想法似乎很簡單,對吧?然而,智能合約使以太坊能夠創建一個環境,來自世界各地的開發人員可以創建自己的去中心化應用程序,即Dapps。
Dapps和智能合約Dapp的創造是以太坊最重要的特征之一。除了去中心化之外,還有Dapp必須具備的某些其他功能:
Dapp的源代碼應該對所有人開放。
應用程序必須有某種代幣來為自己提供支持。
應用程序必須能夠生成自己的代幣并具有內置的共識機制。
聽起來很棒吧!那么,你究竟如何構建它們呢?你需要使用solidity對智能合約進行編碼。
開發人員使用一種名為Solidity的編程語言,這種語言是一種有目的的簡潔,松散類型的語言,其語法與ECMAScript(Javascript)非常相似。
除了創建智能合約外,你還必須擁有可以執行它的環境。但是,此執行環境必須具有一些屬性。這些屬性是:
確定性。
可終止。
隔離的。
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等不同的區塊鏈
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24375.html
摘要:是企業與區塊鏈相遇的地方。的框架旨在成為開發區塊鏈解決方案的支柱。以太坊,主要是針對工程師使用進行區塊鏈以太坊開發的詳解。 如果你想將區塊鏈合并到一個Java項目中,現在我們來看看就是這個細分領域中三個最大的OSS玩家。 好的伙計們,我們都聽說過比特幣,以太坊或其他加密貨幣,其中有一些時髦的名字圍繞著我們常見的新聞,但我們作為Java開發人員知道如何輕松地與這些區塊鏈技術進行交互嗎?以...
摘要:我們目前正處于一個新興的區塊鏈開發行業中。,一種在以太坊開發人員中流行的新的簡單編程語言,因為它是用于開發以太坊智能合約的語言。它是全球至少萬開發人員使用的世界上最流行的編程語言之一。以太坊,主要是針對工程師使用進行區塊鏈以太坊開發的詳解。 我們目前正處于一個新興的區塊鏈開發行業中。區塊鏈技術處于初期階段,然而這種顛覆性技術已經成功地風靡全球,并且最近經歷了一場與眾不同的繁榮。由于許多...
摘要:和比特幣協議有所不同的是,以太坊的設計十分靈活,極具適應性。超級賬本區塊鏈的商業應用超級賬本超級賬本是基金會下的眾多項目中的一個。證書頒發機構負責簽發撤 showImg(https://segmentfault.com/img/bV2ge9?w=900&h=385); 從比特幣開始 一個故事告訴你比特幣的原理及運作機制 這篇文章的定位會比較科普,盡量用類比的方法將比特幣的基本原理講出來...
摘要:以太坊項目成為第一個安裝稱為智能合約技術的區塊鏈協議,允許陌生人在無信任環境中簽訂協議。以太坊使用的共識機制稱為工作量證明,與其他流行的區塊鏈相同,如比特幣,比特幣現金和萊特幣。 顯然,你已經聽說過兩個最受歡迎的智能合約區塊鏈,但想知道EOS與以太坊之中哪個更好?或許你想比較一下兩種技術?好吧,你來對了地方,因為我要告訴你你需要知道的一切! 在這個EOS vs Ethereum指南中,...
摘要:課程概述本課程適合希望開發自己的專有區塊鏈的語言工程師,課程內容如下第一章課程簡介簡單介紹的定位特點以及對于開發者而言與以太坊的區別。課程地址區塊鏈開發詳解 簡介 tendermint是一個開源的完整的區塊鏈實現,可以用于公鏈或聯盟鏈,其官方定位 是面向開發者的區塊鏈共識引擎: showImg(https://segmentfault.com/img/remote/1460000016...
閱讀 1689·2019-08-30 15:54
閱讀 3343·2019-08-26 17:15
閱讀 3531·2019-08-26 13:49
閱讀 2588·2019-08-26 13:38
閱讀 2298·2019-08-26 12:08
閱讀 3059·2019-08-26 10:41
閱讀 1375·2019-08-26 10:24
閱讀 3386·2019-08-23 18:35