求問 區塊鏈,以太坊,超級賬本之間到底有什麼區別和聯繫,新手應該從哪裡開始學習區塊鏈以及將它應用實現?

潛水很長時間,知乎首問,看了一些區塊鏈理論知識,但目前對區塊鏈(blockchain),IBM open blockchain,以太坊(Ethereum),超級賬本(Hyperledger)之間聯繫和區別一直沒有清楚,求大神解答,順便,新手學習區塊鏈應該從哪裡下手呢?


比特幣:一個記錄「比特幣交易」的分散式賬本

超級賬本Fabric:一個記錄「鏈上代碼+Docker容器狀態」的分散式賬本

以太坊:一個記錄「以太幣餘額+鏈上代碼+EMV虛擬機狀態」的分散式賬本


一、區塊鏈是什麼

區塊鏈最初是由一位化名中本聰的人為比特幣(一種數字貨幣)而設計出的一種特殊的資料庫技術。

從數據的角度來看,區塊鏈是一種把區塊以鏈的方式組合在一起的數據結構,它能夠使參與者對全網交易記錄的事件順序和當前狀態建立共識。

區塊鏈概括起來是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術。區塊鏈涉及的技術關鍵點包括:去中心化、去信任、集體維護、可靠資料庫、時間戳、非對稱加密等。

區塊鏈重新定義了網路中信用的生成方式,在系統中,參與者無需了解其他人的背景資料,也不需要藉助第三方機構的擔保或保證,區塊鏈保障了系統對價值轉移的活動進行記錄、傳輸、存儲,其最後的結果一定是可信的。

二、區塊鏈技術現狀

比特幣之後,多元化區塊鏈共同發展,經過了近8年的發展與實踐,人們對區塊鏈技術的了解越來越深入,也在讓區塊鏈技術與自身需求更契合的過程中逐漸明白了以下兩點:(1)區塊鏈技術本質上是互聯網協議的底層技術,是互聯網數據層次的技術;(2)區塊鏈倡導的「去中心」並不是反中心,而是分中心(最徹底的分中心就是每個節點自己成為自身的中心)。因此,許多領域試圖在比特幣區塊鏈的基礎之上對其做進一步的改進。目前,區塊鏈已經從比特幣完全去中心化的公共區塊鏈,發展出了依附於公有鏈之上的側鏈以及非完全去中心化的私有區塊鏈等。

區塊鏈技術處於理論階段,尚需實踐。區塊鏈技術是伴隨比特幣的產生而出現的,目前最成熟的區塊鏈就是比特幣的區塊鏈。國內外對於區塊鏈技術的投入使用都已經逐漸展開,但目前尚未有完全落地的應用性成果展現出來。從發展的角度來看,區塊鏈技術目前仍然處於理論階段,今後的技術轉換尚需一段很長時間的實踐。

三、區塊鏈共識機制

共識機制的作用是為了確認區塊鏈上交易的有效性,目前常見的共識機制有POW工作量證明、POS權益證明、DPOS股份授權證明、Ripple共識機制以及PooL驗證池,這幾類共識機制各有優劣,應用場景也各不相同,下表展示了從不同維度對這幾類共識機制的分析比較:

1POW(Proof of work)

POW即工作量證明,就是眾所周知的挖礦,它是一種競爭共識,通過工作量的證明來獲得生成區塊的權力。

它的優點是完全的去中心化,各個節點完全平等,而且可以自由的進出;缺點則是POW會造成大量的挖礦資源浪費,達成共識的周期也比較長。

2POS(Proof of Stake)

POS即權益證明,是POW的一種升級共識機制,它主要解決了POW工作量計算浪費的問題。當前POS已有很多不同的變種,但基本還是根據每個節點所佔有代幣的數量和時間(即權益)來決定其挖礦的難度。

它的優點是縮短了各個節點之間達成共識的時間,缺點則是同POW一樣仍然需要挖礦,並且POS會使得「富者更富」。

3DPOS(Delegate Proof of Stake)

DPOS即股份授權證明機制,是POS的一個變種。它的原理是讓每個持有代幣的人進行投票,由此產生一定數量的「超級節點」,由這些節點來輪流產生區塊。

它的優點是不再需要通過挖礦來產生區塊,從而可以大幅縮小交易確認的時間,能夠達到秒級的共識驗證,缺點則是DPOS還是得依賴於代幣,不適用於一般的商業應用。

4Ripple Consensus(瑞波共識機制)

Ripple Consensus是一種數據正確性優先的網路交易同步機制,它是基於特殊節點列表達成的共識。在這種共識機制下,必須首先確定若干個初始特殊節點,如果要新接入一個節點,必須獲得51%的初始節點的確認,並且只能由被確認的節點產生區塊。因此,它區別於前面幾類共識機制的主要因素是有一定的「中心化」。

Ripple Consensus的優點是能保證任何時候都不會產生硬分叉,並且交易能被實時的驗證;而缺點則是新加入節點要取得與其他節點的共識所需時間較長。

5POOL驗證池

POOL驗證池是基於傳統分散式一致性演算法加上數據驗證的機制,也是目前行業鏈大範圍在使用的共識機制。

它的優點是無需建立代幣,在成熟的分散式一致性演算法(Pasox、Raft)的基礎上,能夠實現實時共識驗證;缺點是性能會隨著節點數的增加而變差,並且去中心化程度不夠。

除了常見的以上所述的幾類共識機制,在區塊鏈的實際應用過程中,還存在著五花八門的依據業務邏輯自定義的共識機制,如小蟻的「中性記賬」、類似Ripple Consensus的Stellar共識機制、Factom等眾多以「側鏈」形式存在的共識機制等。

因此,本文依據共識機制的特性及典型性將其劃分為三大類:POW、非POW以及側鏈。

四、區塊鏈技術方案分析

區塊鏈技術發展到今天,已經從最初的數字貨幣領域擴展到社會領域的方方面面,各種各樣的區塊鏈技術方案不斷湧現出來。通過對市場上現有的區塊鏈技術方案進行研究,從共識機制、區塊鏈使用方式兩個維度對區塊鏈技術方案進行分類,並根據技術影響力決定面積大小、技術成熟度決定顏色深淺對各個區塊鏈技術方案進行繪製,分類結果如圖1所示。

圖1 區塊鏈技術方案分類

圖1中,對15個區塊鏈技術方案進行分類,其中,將共識機制劃分為PoW、非PoW、側鏈三個方面,區塊鏈使用方式分為開源項目、商業解決方案、區塊鏈雲服務、現有區塊鏈四種方式,技術影響力按面積大小進行區分,面積越大影響力越大,技術成熟度按顏色深淺進行區分,顏色越深技術越成熟。

從圖1中可以看出,比特幣、以太坊、HyperLedger三種區塊鏈技術方案的技術成熟度最高,影響力最大,下面分別介紹這三種區塊鏈技術方案。

1比特幣

比特幣的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。

與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣使用整個P2P網路中眾多節點構成的分散式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。

2以太坊

以太坊是一個專註於智能合約應用的數字貨幣和區塊鏈平台,它的去中心化技術使交易擺脫了停機和審查的麻煩,解決了傳統合約的糾紛等棘手問題,並且還能避免欺詐和第三方的干擾。以太坊的目標就是提供一個帶有內置的成熟的圖靈完備語言的區塊鏈,用這種語言可以創建合約來編碼任意狀態轉換功能,用戶只要簡單地用幾行代碼來實現邏輯,就能夠創建各種滿足需求的系統。

從技術架構角度看,以太坊是一個與底層區塊鏈和協議無關的通用分散式運用開發平台和編程語言,包括數字貨幣以太幣(Ether)和以太腳本(EtherScript),用於構建和發布分散式應用。它具備開放通用的特性,且內置有圖靈完備虛擬機,可以運用任何貨幣、協議和區塊鏈。網路上的每一個節點都可以運行以太坊虛擬機來發布分散式智能合約程序。

以太坊有自己的分散式系統:包括文件服務Swarm、信息傳輸Whisper和信譽擔保。Swarm是個去中心化文件服務;Whisper是加密通信傳輸系統;信用擔保提供去信任網路中建立信譽和降低發現的系統,可以由第三方提供。

此外,以太坊本身也是開源軟體,具備了開源項目的快速創新特性,通過代碼共享讓新的項目可以快速的迭代出符合市場需求的產品。目前,以太坊正被一些金融機構、銀行財團(比如 R3),以及類似三星、Deloitte、RWE 和 IBM 這類的大公司所密切關注,由此也催生出了一批諸如簡化和自動化金融交易、商戶忠誠指數追蹤、旨在實現電子交易去中心化的禮品卡等等區塊鏈應用。

以太坊兩年來得到了技術社區和商業機構的大力支持,發展迅速,未來很有可能會成為區塊鏈領域最具競爭力的解決方案之一。

3HyperLedger

Hyperledger是一個由Linux基金會管理的開源區塊鏈項目, 由IBM、Intel、埃森哲、JP摩根等公司領銜參與。HyperLedger被定義為:負責協調多個客戶端的服務數據和低層次的「溝通和共識層」,一個致力於提高全球金融基礎設施的「數據骨幹」。

Hyperledger利用了和比特幣相同的UTXO/script 交易決策,並根據金融服務所需要的功能進行了擴展,HyperLedger提供了一種替代POW的共識機制,是一個帶有可插拔各種功能模塊架構的區塊鏈實施方案,它的目標打造成一個由全身會來共同維護的一個超級賬本。是允許將數據骨幹理念擴展到多個組織層,作為全新金融基礎設施的重要組成部分。

為了解決不同的業務問題,區塊鏈技術方案的側重點也不盡相同,因此,從去中心化程度、交易確認時間、是否有挖礦費、是否支持編程、是否全節點記賬、私鑰丟失是否造成用戶財產損失、開源程度等幾個方面對現有的區塊鏈技術方案進行匯總,具體分析結果見下表。

作者:電子商務與電子支付國家工程實驗室研究員 於鑣、劉為懷


區塊鏈是統稱,至於這兩家的區別,從之前的回答也能看出來,差不多就是意識形態的差別。

至於這兩家,在應用上最大的差別是:

以太坊是公有鏈,誰都可以來玩,他們想弄個所有人都可以搞智能合約的平台,然後企業們紛紛表示我們不想把我們的信息公開到這東西上。

Hyperledger是個框架,具體到IBM的Hyperledger-fabric上,他們的想法是「你們不是想要有隱私的智能合約嗎,來來來我們給你做」。fabricv1其實已經很成熟了,想做啥都行,但是其實並沒有解決私密性和可靠性之間的矛盾,而是把這東西丟給了具體應用場景。

從智能合約的角度,兩家都支持,以太坊是公有鏈,可靠性還不錯。Hyperledger這種是個框架,其中的fabric是個平台,可靠性得看你的具體應用場景,你在自己家電腦上弄條區塊鏈也沒法談可靠性。以太坊沒有私密性,想要的話要自己研究怎麼加密;Hyperledger可以支持私密性,但是是在犧牲可靠性的基礎上的。


IBM obc是hyperledger 前身

看你公司入哪派了。你是pow流還是pbft流,開放鏈還是聯盟鏈

另外hyperledger共識機制在改,手動滑稽


樓上已經有大牛解釋了 「區塊鏈,以太坊,超級賬本之間到底有什麼區別和聯繫」 的問題

下面我跟樓主分享一下我學習區塊鏈的一些經驗和好的資源

1,首先,需要先搞清楚什麼是區塊鏈,以及裡面的一些核心概念(比如 節點,賬戶,公私鑰,交易 等等)。比特幣是第一個基於區塊鏈的應用,它的底層設計涵蓋了區塊鏈技術的方方面面。建議樓主可以先閱讀 精通比特幣 一書,看完之後對區塊鏈能有一個比較深入的理解

2,實踐,目前比較大的區塊鏈開源項目 Hyperledger 和 以太坊 都值得研究一下,我對Hyperledger沒有研究,就不做太多的評論。說下以太坊吧,對比比特幣區塊鏈,它的最大特色應該算是 可編程,而且它的api 和 文檔都很全。

如果樓主是偏文學研究,那看它的官方文檔就可以了, Ethereum Project 頁面最下方有各種資源的鏈接,樓主可自行查看,不過都是英文的。國內的以太坊社區 EthFans | 以太坊愛好者,也有一些翻譯的文檔。

如果樓主想要學習以太坊開發相關的技術,那建議可以先在本地搭建私有鏈,熟悉下常用的api,然後嘗試下編寫簡單的智能合約,相關的教程以及資源都可以在 區塊鏈技術中文社區 找到。 以太坊編程語言有多種。Solidity,Serpent,Mutan,LLL 都是可以的,不過官方比較推薦的是 Solidity 。

萬事開頭難,入門以後樓主就可以根據自己的需要選擇學習了。


樓上大佬雲集,已經講的蠻多蠻全的了,不才給些個人看法。

區塊鏈是個大的概念,你後面說的這些都屬於區塊鏈。

以太坊是小神童V神搞得主打智能合約的公有鏈,如今發展得十分壯大。

超級賬本是Linux基金會於2015年發起的推進區塊鏈數字技術和交易驗證的開源項目,IBM是加入了Hyperledger的,而且如今說到Hyperledger基本都是指的當中IBM開發的Fabric平台。

區別嘛,雖然都是開源項目。Hyperledger屬於聯盟鏈,而且沒有代幣,基本可以看做面向企業的。Ethereum屬於公有鏈,任何人都可以基於以太坊的公鏈開發自己的去中心化應用,而且其中有代幣ETH的存在,除了交易以外,還充當開發者運作應用的燃料(gas)使用。

更多區塊鏈相關的內容可以看我整理的匯總貼~:https://bbs.bumeng.cn/thread-848-1-1.html?hmsr=%E7%9F%A5%E4%B9%8Ehmpl=hmcu=hmkw=hmci=


hyperledger整體設計提現了IBM的風格,大而全,分層,弱耦合,每一層都可以調用各種插件,特別讓人蛋疼的是用戶管理部分,member service或者最新的fabric-ca,其實就是為了接續企業的認證系統(LDAP這類的東西),搞了幾套證書,讓整個系統顯得繁雜笨重,另外智能合約的運行環境採用docker,運行資源成本過高,註定只能在私有鏈或者聯盟鏈的場景下使用。個人認為區塊鏈在還不能完全取代目前的事務處理系統之前,小而美才是正確的方向,在既有的系統上錦上添花,而不是搞一個複雜度很高,但是對用戶來說只有很小附加價值的東西出來。


簡單點說區塊鏈是地基,比特幣、以太坊、超級賬本都是上層建築。

每個項目都有自己的側重點,本人深入研究了以太坊,所以只能給題主說說以太坊相關的。

以太坊的文檔你可以看這裡:Ethereum Homestead Documentation

我自己是全部讀完了,收穫很大,同時為了國內的小夥伴看起來方便,自己翻譯這個網站的所有內容,製作了一個中文版本的網站,感興趣的話可以點擊這裡ethdoc.cn


.我看了fabric的e2e例子:創建通道,將節點加入通道,安裝智能合約,初始化,調用,查詢;fabric的區塊怎麼生成?怎麼新建用戶,公鑰私鑰在哪裡?


我覺得那本《區塊鏈技術指南》作為入門書挺好的


可以考慮看看「拜占庭將軍問題」。


HyperLedger是聯盟,裡面有IBM的Fabric、Intel的sawtooth lake(好久沒關注 現在不知道怎麼樣了)

Fabric共識就是pbft

Sawtooth Lake的共識演算法Proof of Elapsed Time需要依賴Intel SGX

以太坊是以太坊基金會搞的類似比特幣的東西,簡化、增強了智能合約開發,賬簿用了account模型,區別於比特幣的UTXO模型。

還是從比特幣入手吧,資料比較豐富。


推薦閱讀:

以太坊,Zcash等為什麼不能用螞蟻礦機等ASIC礦機挖礦呢?
以太坊養貓遊戲是幹嘛的?能賺錢嗎?
什麼時候數字加密貨幣可以不依賴法幣獨立存在?如何才能讓比特幣的幣值穩定?至少達到黃金價格的波動水平?
為什麼Q幣的價值不如後來的比特幣,以太幣?
比特幣礦難是不是已經開始了?

TAG:區塊鏈Blockchain | 以太坊 |