當前位置:首頁 » 區塊鏈知識 » fabric區塊鏈30

fabric區塊鏈30

發布時間: 2023-07-10 07:57:06

『壹』 淺析 Fabric Peer 節點

Hyperledger Fabric,也稱之為超級賬本,是由 IBM 發起,後成為 Linux 基金會 Hyperledger 中的區塊鏈項目之一。

Fabric 是一個提供分布式賬本解決方案的平台,底層的賬本數據存儲使用了區塊鏈。區塊鏈平台通常可以分為公有鏈、聯盟鏈和私有鏈。公有鏈典型的代表是比特幣這些公開的區塊鏈網路,誰都可以加入到這個網路中。聯盟鏈則有準入機制,無法隨意加入到網路中,聯盟鏈的典型例子就是 Fabric。

Fabric 不需要發幣來激勵參與方,也不需要挖礦來防止有人作惡,所以 Fabric 有著更好的性能。在Fabric 網路中,也有著諸多不同類型的節點來組成網路。其中 Peer 節點承載著賬本和智能合約,是整個區塊鏈網路的基礎。在這篇文章中,會詳細分析 Peer 的結構及其運行方式。

在本文中,假設讀者已經了解區塊鏈、智能合約等概念。

本文基於 Fabric1.4 LTS。

區塊鏈網路是一個分布式的網路,Fabric 也是如此,由於 Fabric 是聯盟鏈,需要准入機制,所以在網路結構上會復雜很多,下面是一個簡化的 Fabric 網路:

各個元素的含義如下:

對於 Fabric 網路,外部的用戶需要通過客戶端應用,也就是圖中的 A1、A2 或者 A3 來訪問網路,客戶端應用需要通過 CA 證書表明自己的身份,這樣才能訪問到 Fabric 網路中有許可權訪問的部分。

在上面的網路中,共有四個組織,R1、R2、R3 和 R4。其中 R4 是整個 Fabric 網路的創建者,網路是根據 NC4 配置的。

在 Fabric 網路中,不同的組織可以組成聯盟,不同的聯盟之間數據通過 Channel 來隔離。Channel 中的數據只有該聯盟中的組織才能訪問,每一個新的 Channel 都可以認為是一條新的鏈。與其他的區塊鏈網路中通常只有一條鏈不一樣,Fabric 可以通過 Channel 在網路中快速的搭建出一個新的區塊鏈。

上面 R1 和 R2 組成了一個聯盟,在 C1 上交易。R2 同時又和 R3 組成了另外一個聯盟,在 C2 上交易。R1 和 R2 在 C1 上交易時,對 R3 是不可見的,R2 和 R3 在 C2 上交易時,對 R1 是不可見的。Channel 機制提供了很好的隱私保護能力。

Orderer 節點是整個 Fabric 網路共有的,用來為所有的交易排序、打包。比如上面網路中 O4 節點。本文不會對 Orderer 節點進行詳細說明,可以把這個功能理解為比特幣網路中的挖礦過程。

Peer 節點表示網路中的節點,通常一個 Peer 就表示一個組織,Peer 是整個區塊鏈網路的基礎,是智能合約和賬本的載體,Peer 也是本文討論的重點。

一個 Peer 節點可以承載多套賬本和智能合約,比如 P2 節點,既維護了 C1 的賬本和智能合約,也維護了 C2 的賬本和智能合約。

為了可以更深入了解 Peer 節點的作用,先了解一下 Fabric 整體的交易流程。整體的交易流程圖如下:

Peer 節點按照功能來分可以分為 背書節點 記賬節點

客戶端會提交交易請求到背書節點,背書節點開始模擬執行交易,在模擬執行之後,背書節點並不會去更新賬本數據,而是把這個交易進行加密和簽名,然後返回給客戶端。

客戶端收到這個響應之後就會把響應提交到 Orderer 節點,Orderer 節點會對這些交易進行排序,並打包成區塊,然後分發到記賬節點,記賬節點就會對交易進行驗證,驗證結束之後,就會把交易記錄到賬本裡面。

一筆交易是否能成功是根據背書策略來指定的,每一個智能合約都會指定一個背書策略。

Peer 節點代表著聯盟鏈中的各個組織,區塊鏈網路也是由 Peer 節點來組成的,而且也是賬本和智能合約的載體。

通過對上面交易過程的了解可以知道,Peer 節點是主要的參與方。如果用戶想要訪問賬本資源,都必須要和 peer 節點進行交互。在一個 Peer 節點中,可以同時維護多個賬本,這些賬本屬於不同的 Channel 。每個 Peer 節點都會維護一套冗餘賬本,這樣就避免了單點故障。

Peer 節點根據在交易中的不同角色,可以分成背書節點(Endorser)和記賬節點(Committer),背書節點會對交易進行模擬執行,記賬節點才會真正將數據存儲到賬本中。

賬本可以分成兩個部分,一部分是區塊鏈,另一部分是 Current State,也被稱之為 World State。

區塊鏈上只能追加,不能對過去的數據進行修改,鏈上也包含兩部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的記錄。每一個區塊記錄前一個區塊的信息,然後連成鏈,如下圖所示:

第一個區塊被稱之為 genesis block,其中不存儲交易信息。每個區塊可以被分為 區塊頭 區塊數據 區塊元數據 。區塊頭中存儲著當前區塊的區塊號、當前區塊的 hash 值和上一個區塊的 hash 值,這樣才能把所有的區塊連接起來。區塊數據中包含了交易數據。區塊元數據中則包括了區塊寫入的時間、寫入人及簽名。

其中每一筆交易的結構如下,在 Header 中,包含了 ChainCode 的名稱、版本信息。Signature 就是交易發起用戶的簽名。Proposal 中主要是一些參數。Response 中是智能合約執行的結果。Endorsements 中是背書結果返回的結果。

WorldState中維護了賬本的當前狀態,數據以 Key-Value 的形式存儲,可以快速查詢和修改,每一次對 WorldState 的修改都會被記錄到區塊鏈中。WorldState 中的數據需要依賴外部的存儲,通常使用 LevelDB 或者 CouchDB。

區塊鏈和 WorldState 組成了一個完整的賬本,World State 保證的業務數據的靈活變化,而區塊鏈則保證了所有的修改是可追溯和不可篡改的。

在交易完成之後,數據已經寫入賬本,就需要將這些數據同步到其他的 Peer,Fabric 中使用的是 Gossip 協議。Gossip 也是 Channel 隔離的,只會在 Channel 中的 Peer 中廣播和同步賬本數據。

智能合約需要安裝到 Peer 節點上,智能合約是訪問賬本的唯一方式。智能合約可以通過 Go、Java 等變成語言進行編寫。

智能合約編寫完成之後,需要打包到 ChainCode 中,每個 ChainCode 中可以包含多個智能合約。ChainCode 需要安裝,ChainCode 需要安裝到 Peer 節點上。安裝好了之後,ChainCode 需要在 Channel 上實例化,實例化的時候需要指定背書策略。

智能合約在實例化之後就可以用來與賬本進行交互了,流程圖如下:

用戶編寫並部署實例化智能合約之後,就可以通過客戶端應用程序來向智能合約提交請求,智能合約會對 WorldState 中數據進行 get、put 或者 delete。其中 get 操作直接從 WorldState 中讀取交易對象當前的狀態信息,不會去區塊鏈上寫入信息,但 put 和 delete 操作除了修改 WorldState,還會去區塊鏈中寫入一條交易信息,且交易信息不能修改。

區塊鏈上的信息可以通過智能合約訪問,也可以在客戶端應用通過 API 直接訪問。

Event 是客戶端應用和 Fabric 網路交互的一種方式,客戶端應用可以訂閱 Event,當 Event 發生時,客戶端應用就會接受到消息。

事件源可以兩類,一類是智能合約發出的 Event,另一類是賬本變更觸發的 Event。用戶可以從 Event 中獲取到交易的信息,比如區塊高度等信息。

在這篇文章中,首先介紹了 Fabric 整體的網路架構,通過對 Fabric 交易流程的分析,討論了 peer 節點在交易中的作用,然後詳細分析了 peer 節點所維護的賬本和智能合約,並分析了 peer 節點維護賬本以及 peer 節點執行智能合約的流程。

文 / Rayjun

[1] https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/whatis.html

[2] https://developer.ibm.com/zh/technologies/blockchain/series/os-academy-hyperledger-fabric/

[3] https://en.wikipedia.org/wiki/Gossip_protocol

『貳』 區塊鏈之聯盟鏈(三) 認識Fabric

Fabric 是超級賬本聯盟推出的核心區塊鏈框架,它適合在復雜的企業內和企業間搭建聯盟鏈。根據超級賬本聯盟的目標, Fabric 被建設為一個模塊化的、支持可插拔組件的基礎聯盟鏈框架。;

以太坊系的Quorum不同,Fabric從一開始就只考慮企業間的應用。其獨有的channel概念,將企業根據業務目的不同以不同的子網連接起來, 每一個子網對應一個channel,而每個channel有自己獨立的區塊鏈。而Quorum很顯然是只有一個公網(所有企業節點都加入進去),企業與企業間的私有業務是通過Private Manager 完成的。

理解channel的最簡單方法就是,將它類比為一個消息服務提供的Topic,實際上Fabic最早就是基於Kafka 的分布式消息服務來實現。

       在Fabric網路中,一個企業可以有一個或多個節點加入整個聯盟鏈;一個企業可以加入1個或者多個Channel(子網);  一個節點可以加入1個或者多個channel。每個channel構成一個子網,所以Fabric 是 一種由子網組成的網路。

那麼Fabric是怎麼實現智能合約的執行和完成業務上鏈(將事務結果記錄在區塊鏈里)的呢?

與其它框架不同, Fabric 將整個過程分成了三個階段:

業務背書階段 : 客戶的請求發送的背書節點,通過智能合約完成業務的計算(但不更新狀態),並完成背書;將背書結果返回個客戶端。

業務的排序階段 : 客戶端將背書結果通過Channel被發送到排序節點(orderer),在排序節點完成事務的排序,並打包到block里,最後下發給所有連接到channel的節點。

業務驗證並寫入賬本階段 : 通過Gossip 網路,所有Channel的節點都會接收到新的block,節點會驗證block中的每一個事務,確定是否有效:有效地將會跟新world state,無效的將會標志為「無效」,不會更新World state,但整個block會被完整的加入到帳本中(包括無效的事務)。

根據以上的描述,Fabric 節點實際可以分為  ,普通節點和Order節點:

 Peer, 普通節點, 完成背書(包括只能合約的執行)和驗證.

orderer,  排序節點,完成排序。

加入orderer節點的Fabric網路可以被描述如下:

每一個Channel,都定義了所有屬於channel的節點,但是並不需要所有節點都連接到Orderer 節點(節點間可以通過gossip 協議通訊來傳播私有數據或事務).

       在區塊鏈中,共識是區塊鏈的基礎。與公有鏈不同,聯盟鏈的共識要求所有加入賬本的事務是確定的、最終的,也就是不可以有分叉,區塊與區塊間的順序是一定的,只存在唯一條鏈。在Fabric 中,這個客觀需求正是由排序實現的,所有的事務將被提交給orderer節點獲得確定的順序,並最終打包成block進入帳本。 Fabric 從1.4.1開始支持基於Raft實現排序服務,  可以認為基於Raft實現共識。

基於RAFT的排序服務相對於早期的Kafka 具有更好的分布性,配置更加簡單,是聯盟鏈里常用的一個常用的達成共識的演算法,Quorum就 默認使用RAFT作為共識層。簡單的說,RAFT是一個leader和follower的模式, 所有加入RAFT網路的節點,任意時候都有一個leader,  只有這個leader有權決定事務的順序,並打包成Block,其它節點只能作為follower提交事務和同步block。

基於FAFT網路,每個企業可以有一個或多個節點參與到Orderer中去。在Frabric中企業間的網路連接可以變化成如下形式:

       區塊鏈的使用用戶在乙太網中被稱作EOA(External of Account), EOA的載體是錢包。我們沿用這個概念,來看看Fabric是如何實現用戶和發起事務的。Fabric中EOA是一個CA中心發布的certificate(x.509),一個Certificate代表一個Identity(這與以太坊還是有很大區別的, 以太坊中一個EOA其實是一個hash地址),EOA能夠參與的channel以及被授權的操作是有channel的MSP( Membership Service  Provider)決定的(如下圖)。

註:certificate 是一種密碼學上驗證身份的通用做法; certificate包含了個人的信息,公鑰以及發布這個certificate的CA的簽名。驗證方只需要擁有這個CA的證書(包含CA的公鑰),就可以驗證這個簽名是否正確,certificate的內容是否有篡改。簡單的說,通過CA和Certificate,我們可以獲得一個可驗證的的身份和信任鏈。

      如上圖,fabric中通要使用Wallet作為EOA的載體,一個Wallet中可以包含多個Identity(x.509 certificate)。 Identity 通過 CA提供的信任鏈來驗證正確性。

  驗證了身份之後, Fabric 通過MSP在區塊鏈網路中解決該身份是否代表組織的成員和在組織內具有什麼角色。例如,channel首先會驗證當前用戶Identity是否是有效地身份,然後通過MSP查看其所處的企業和具有的角色,最終確定該用戶是否有權執行操作。

可以說,Fabric的訪問控制是通過MSP來完成的。在每一個需要訪問控制的地方都需要定義一個MSP。  例如,每個channel都定義一個MSP,這個MSP規定了在channel范圍內資源的訪問許可權。 MSP 是Fabric里一個晦澀難懂的概念,也是其賦予企業間安全訪問的基礎。

前文提到, Fabric 將業務處理和上網分成了三個部分, 背書,排序,驗證後加入賬本。

其中背書是Fabric執行智能合約的階段。以太坊中,智能合約是在EVM中執行的,有多種語言支持。 在Fabric,智能合約被稱為chaincode: 一個chaincode 可以理解為是智能合約的容器,可以包含一個或多個智能合約, 不用於EVM, chaincode是在 JVM 或NodeJS中執行。

客戶應用程序通過智能合約來訪問賬本,每一個可訪問的智能合約都被安裝在客戶端可以訪問的節點上,並被定義在channel里。(有隻能合約的節點被稱為背書節點,沒有隻能合約的節點被稱未提交節點,提交節點只維護賬本)

客戶應用提交一個交易請求, 請求到達背書節點, 背書節點首先會驗證客戶的簽名,確保客戶的身份有權執行本次交易,接著執行交易提及的智能合約(chaincode),並生成一個背書響應(或者叫做交易提案,tran-proposal)。這個背書響應中通常包含World state 的讀集合,寫集合, 以及節點對本次交易的簽名。這里與以太坊系聯盟鏈最主要的不同是: 背書階段只模擬交易,並不真正更新交易結果。 而真正更新交易在第三階段完成。背書節點最後將生成的背書響應fanhui給客戶端, 智能合約部分的執行就結束了。

通常一個交易的執行需要多方的簽名,所以客戶端需要將一個交易發送給多個背書節點,這些背書節點的選擇需要滿足背書策略的要求。

下圖是一個包含有客戶、背書節點,提交節點的網路示意圖。

根據Fabric官方的參考文檔,客戶交易的正果過程可使用下圖描述。

如上圖,從1到3,為背書階段,4為排序階段,4.1,4,2, 5為驗證提交階段。 參考 Frabic的節點 概念,可以了解更多在交易細節的概念。  

總的來看, Fabric 更專注於企業間,通過上文,可以讓大家對Fabric的基本構成與概念有一個總的了解。  Fabric本身並不神秘,都是使用的現有的企業間的技術。要更好的了解,建議參考閱讀分布式消息系統和企業的安全基礎設施(CA相關)的支持。與以太坊系聯盟鏈實現比較,  Fabric 的子網更概念對於復雜企業間應用適應更強,但是其復雜的安全考量,使得運營成本很高,另外,Fabric 使用Certificate做為用戶身份,有很大的局限性,在新的2.0里,Fabric對於此處將有所改變。

下一篇,我們將來看看Sawtooth , 由Inter 提供的區塊鏈框架。

區塊鏈之聯盟鏈(一) 認識以太坊

區塊鏈之聯盟鏈(二) 認識Quotum

區塊鏈之聯盟鏈(三) 認識Fabric

區塊鏈之聯盟鏈(四) 認識Sawtooth

『叄』 超級賬本之——Fabric

目前超級賬本下面有5個並行的項目,Fabric屬於其中較為成熟的一個。這個項目由,來自28個不同組織的159名工程師參與開發。

在Fabric的區塊鏈網路中,有四類節點:MSP,Ordering Node,Endorsing Peer,Commtting Peer

MSP(Membership Service Provider), 這類節點主管區塊鏈網路中其他的節點的授權,准入,踢除。通過給不同節點頒發證書的方式,授予不同類型的節點相應的許可權。

中文可以稱作排序節點。通常在一個網路中至少有一個或多個排序節點,這類節點負責 按照指定的演算法,將交易進行排序,並返回給Committing Peer。其並不關心具體的交易細節。

這類節點的主要負責接收交易請求,驗證這筆交易之後,並做一些預處理之後,並將簽名後的數據傳回給客戶端。

這類節點做是區塊鏈網路中的全節點,它們需要記錄完整的區塊信息,並且驗證每筆交易的正確性,是最終將交易打包進區塊鏈的節點。

結合下面這種圖,看看一筆交易的上鏈過程:

1,首先從客戶端發起一筆交易提交到Endorsing Peer,進行預處理。

2,預處理通過之後,將簽名數據,傳回給客戶端。

3,客戶端發起請求,將收到的簽名數據傳給Ordering Node。

4,Ordering Node對交易進行排序,然後傳給Committing Peer。

5,Committing Peer這里將排序好的交易進行驗證,並打包,通過指定的共識演算法達成一致,形成新的區塊。

6,最後將交易結果返回給客戶端。

6,中間過程的每一步,都伴隨著許可權的驗證。會根據MSP頒發的證書,進行判斷。

『肆』 初識Hyperledger Fabric

Fabric是聯盟鏈,Peer代表一系列組織,Peers是整個區塊鏈網路的基礎,因為它是賬本和智能合約的載體。通過智能合約,賬本通過不可篡改的方式記錄了交易的全過程。

對於不能的公司來說,是有不同的業務的,不同的業務又與不同的公司相關聯,需要創建多個聯盟鏈,因此就需要創建多個channel,channel是多個特定成員之間以機密交易為目的建立的私網,一個peer可以加入多個channel,每個channel維護自己的賬本,賬本和賬本之間是隔離的,每個channel可以維護一個或多個賬本。所以為了滿足復雜的交易需求,每個peer上可以安裝不同的智能合約,當peer交易完成時,會發送事件通知Client。peer上還有一個Local MSP(成員服務提供器)服務,提供身份認證和加密簽名等功能。

WorldState 以key-value的形式,維護著當前賬本的當前信息。

智能合約(Smart Contract)是區塊鏈的核心,定義了各個不同組織間的業務規范,創建交易並記錄在賬本里。多個智能合約可以打包到一個鏈碼中。只有鏈碼(Chaincode)部署之後,智能合約才能被應用使用。

不同於一般的鏈碼運行在一個獨立的容器,系統鏈碼運行在peer進程上,實現了一些系統行為。

Fabric為了優化網路性能,提高安全性和可擴展性,將每個交易分到 Endorsing Peer Ording-Service Committting Peer 三個部分,這就需要一種安全的,可信的和可擴展的數據傳輸協議——Gossip Protocol。 Gossip 傳輸協議以隨機的方式將信息散播到網路中,主要執行三個功能:

『伍』 如何創建屬於自己的 fabric 區塊鏈

這個是需要藉助平台進行創建。
IBM中國研究院開發的超能雲(SuperVessel)平台提供了給區塊鏈愛好者、開發者的區塊鏈開發測試環境。通過該平台,用戶能夠免費、超快速創建基於Hyperledger Fabric的多節點區塊鏈、並在自己的鏈上花式玩轉智能合約。
當然,國外的去中心化內容分享平台DECENT也是可以創建的。

『陸』 使用 AWS 區塊鏈模版搭建 Hyperledger Fabric

AWS 區塊鏈模版號稱可以在幾分鍾內完成創建並部署區塊鏈網路。

使用 AWS 區塊鏈模版可以搭建兩種類型的區塊鏈網路:

具體搭建步驟可以參考 AWS Blockchain Templates 開發人員指南 ,裡面有關於搭建 Ethereum 的詳細步驟,文檔中的 「先決條件」 設置項是用於搭建 Ethereum 網路的,對 Fabric 網路並不適用,所以這里說一下搭建超級賬本的 Fabric。

在使用模版快速創建堆棧前,務必要提前設置好的相關內容:

說明:

以上的5個前提條件設置正確了,我們就可以用區塊鏈模版創建 Fabric 網路了,下面具體說一下畫紅框的比較難的兩個配置:

設置步驟:

點擊右下角的 「Review Policy」 ,設置這個許可權策略文件的名稱(myFabricPolicy)和描述(...),最後點擊 「Create Policy」

設置如下:

AWS控制台——服務——VPC——在VPC控制面板中點擊藍色的按鈕「 Launch VPC Wizard 」,選擇帶有單個公有子網的 VPC:

設置 VPC 名稱、子網名稱,其他值為默認值。

在 AWS Blockchain Templates 開發人員指南 的Hyperledger Fabric 部分點擊啟動鏈接:

設置參考如下:

創建之後,喝一杯咖啡☕️等一會兒...

等狀態顯示為「 CREATE_COMPLETE 」就OKK了。🎉🎉🎉

『柒』 到底什麼是區塊鏈

先說一些基本概念。

網路稱,區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的一種新使用模式。它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,它是由密碼學產生的一系列數據塊。

我們試圖將「區塊鏈是什麼」翻譯成「人類語言」。

該定義提到了區塊鏈3354「分散資料庫」的本質。這與傳統的「集中式資料庫」在存儲、更新和操作上有很大的不同。

集中式資料庫可以被認為是這樣的形狀:

比如我要用支付寶給淘寶賣家付款,從我賺錢到他收到錢的所有數據請求都會由支付寶集中處理。這種數據結構的好處是,只要支付寶對系統的高效安全運行負責,其他人就可以無條件相信,不用擔心;壞處是,如果支付寶出了問題,比如被黑,伺服器被燒,出現內奸,公司跑路(當然以上可能性極低),我們支付寶里的余額明細等信息都會混亂。

然後有人認為這種小概率事件可以用任何技術手段來規避單個風險,把數據不僅僅交給一個中心化的機構。例如,每個人都可以存儲和處理數據。

資料庫結構可能如下所示:

這張圖是「分布式資料庫」的結構示意圖。每個點都是一個伺服器,他們都有同等的權利記錄和計算數據,信息點對點傳播。乍一看確實可以抵禦某個節點崩潰帶來的風險,但直觀上也非常混亂低效。我的信息誰來處理,結果誰說了算?

這時,區塊鏈定義中的「共識機制」就發揮作用了。共識機制主要「規定」以下事情:收到一個數據請求,由誰來處理(需要什麼資格);誰來驗證結果(看他有沒有處理好);如何防止加工者和檢驗者相互勾結等。

當一個「規則」被制定出來時,有些人可能喜歡被質疑。為了形成更強的共識,除了讓規則更合理之外,也要更有吸引力,讓人們有興趣和動力參與到數據處理的工作中來。這就涉及到公鏈的激勵機制。當我們稍後討論區塊鏈的分類和數字貨幣的作用時,我們將再次開始。

當我們把一筆交易交給一個分布式網路的時候,還有一個「心理門檻」:能處理信息的節點那麼多,我一個都不認識(不像支付寶,萬一傷害到我,我可以去找它打官司)。他們都有我的數據,我憑什麼相信他們?

這時,加密演算法(區塊鏈定義中的最後一個描述性詞語)登場了。

在區塊鏈網路中,我們發出的數據請求會根據密碼學原理被加密成接收方根本無法理解的一串字元。這種加密方返豎式的背後是哈希演算法的支持。

哈希演算法可以快速將任何類型的數據轉化為哈希值。這種變化是單向不可逆的、確定的、隨機的、防碰撞的。由於這些特點,處理我的數據請求的人可以幫我記錄信息,但他們不知道我是誰,也不知道我在做什麼。

至此,介紹了分散式網路的工作原理。但是我們似乎忽略了一個細節。前面的示意圖是一張網。滑輪和鏈條在哪裡?為什麼我們稱它為區塊鏈?

要理解這件事,我們需要先理清幾個知識點:

前面這張圖其實是一個「宏觀」的資料庫透視圖,展示了區塊鏈系統處理信息的基本規則和流程。而具體到「微觀」的數據日誌層面,我們會發現賬本被打包、壓縮、胡世核分塊存儲,並按時間順序串在一起,形成一個「鏈式結構」,像這樣:

圖中的每一個圓環都可以看作是一塊積木,許多鏈環扣在一起形成一個區塊鏈。塊存儲數據,這與普通的數據存儲不同:在區塊鏈上,後一個塊中的數據包含前一個塊中的數據。

為了從學術上解釋塊中數據的每個部分的欄位,我們試圖用一本書來比喻什麼是區塊鏈數據結構。

通常,我們看書,看完第一頁,然後看第二頁和第三頁.書脊是一種物理存在,它固定了每一頁的順序。即使書散了,也能確定標有頁碼的每一頁的順序。

在區塊鏈內部,每個塊都標有頁碼,第二頁的內容包含第一頁的內容,第三頁的內容包含第一頁和第二頁的內容.第十頁包含前九頁的內容。

就是這樣一個嵌套的鏈條,可以追溯到最褲掘原始的數據。

這就引出了區塊鏈的一個重要屬性:可追溯性。

當區塊鏈中的數據需要更新時,即按順序生成新的塊時,「共識演算法」再次發揮作用。這個演算法規定,一個新的塊只有得到全網51%以上節點的認可才能形成。說白了就是投票,半數以上的人同意就可以產生。這使得區塊鏈上的數據很難被篡改。如果我要強行改變,要賄賂的人太多,成本太高,不值得。

這就是人們常說的區塊鏈的「不可篡改」特性。

區塊鏈給人信任感的另一個原因是有「智能合約」。

智能合同是由計算機程序定義並自動執行的承諾協議。它是一套由代碼執行的交易規則,類似於目前信用卡的自動還款功能。如果開啟這個功能,你什麼都不用擔心,到期銀行會自動扣你欠的錢。

當你的朋友向你借錢,但不記得還了,或者找借口不還了,智能合約可以防止違約。一旦觸發了合同里的條款,比如什麼時候該還錢了,或者他的賬戶里有了額度,代碼就會自動執行,他欠你的錢不管他要不要都會自動轉回來。

我們來簡單總結一下。區塊鏈技術主要是去中心化,不易篡改,可追蹤,代表了更多的安全和去信任。但也帶來了新的問題:冗餘和低效,需要很多節點認同規則,積極參與。

「烘乾」部分到此結束。接下來,我們來談談野史,區塊鏈的正史。

一項新技術經常被用來為某項任務服務。

或目標而生。那麼區塊鏈最初是被用在哪裡,又是誰先想出來的呢?

讓我們把時間拉回2008年。

9月21日,華爾街投行接連倒下,美聯儲宣布:把僅存的兩家投資銀行(高盛集團和摩根士丹利)改為商業銀行;希望可以靠吸儲渡過金融危機。10月3日,布希政府簽署了7000億美元的金融救市方案。

28天之後,也就是2008年的11月1日,一個密碼學郵件組里出現了一個新帖子:「我正在開發一種新的電子貨幣系統,採用完全點對點的形式,而且無需第三方信託機構。」帖子的正文是一篇名為《Bitcoin: A Peer-to-Peer Electronic Cash System》的論文,署名Satoshi Nakamoto(中本聰)。

論文以較為嚴謹的邏輯闡述了這套點對點電子現金系統的設計,先是討論了金融機構受制於「trust based」(基於信用)的問題,再一步步說明如何實現「無需第三方機構」,並精巧地解決掉前人遺留下來的技術問題。

兩個月後,中本聰發布了開源的第一版比特幣客戶端,並首次挖出50個比特幣。產生第一批比特幣的區塊被稱為「Genesis block」(創世區塊),創始區塊被編譯為0區塊,沒有上鏈。中本聰用了6天時間挖出這個塊。這也在bitcointalk論壇中引發討論,比特幣的「信徒」們聯想到了聖經中,「神用六天創造天地萬物,便在第七日歇工安息了」。

雖然論文中並未出現decentralized(去中心化)、token(通證)、economy(經濟)等概念,但中本聰詳細解釋了區塊(Block)和鏈(Chain)在網路中的工作原理。於是,便有了區塊鏈(Block Chain)。

這篇論文,後來成為了「比特神教」的「聖經」,技術成為信仰的基石,開發者文檔成了「漢謨拉比法典」。

之後,比特幣通過交換披薩實現首次現實場景的支付、被美國政府封鎖賬戶的維基解密依靠比特幣奇跡般地生還、中本聰的「放權」與退隱、真真假假的現身和辟謠等等一系列傳說,融合了後人的期許、想像和投機,成為了「聖經故事」。

也有人並不滿意「舊約」中描繪的世界,另起教派,將教義寫入白皮書,在比特幣之後的十年中,講述著他們的信仰故事。就像66卷聖經的寫作跨越了1500年,又經過2000年的解讀,基督教分化出33000個枝丫。

CoinMarketCap顯示,數字貨幣種類已超過4900種,數字貨幣整體市場規模近1.4億元。比特幣仍以66%的市佔率領跑整個數字貨幣市場,近期價格在7200美元/枚附近徘徊。

這么多的幣種有著不盡相同的功用,又被分成不同的類別:以比特幣為代表的數字貨幣定位在「數字黃金」,有一定的儲值、避險特性;以以太坊為代表的數字貨幣,成為了其網路系統中的「運行燃料」;以USDT、Libra為代表的穩定幣,因其低波動,有著良好的支付性;以DCEP為代表的央行發行數字貨幣,一定程度上取代M0,讓商業機構和普通百姓們在沒現金又斷網的時候,也不耽誤收付款。

可見,區塊鏈技術發展10年,最初和最「大」的使用就是數字貨幣。

數字貨幣也成為了參與者們維護公鏈的誘人獎勵。

那麼在數字貨幣之外,區塊鏈技術還可以被用在哪裡呢?

讓我們再回憶下什麼是區塊鏈的本質——去中心化的資料庫,和相應的一些特點:可追溯、公開、匿名、防篡改。那麼理論上,傳統的、用得到中心化資料庫的場景,都可以試著用區塊鏈來改造下,看看是否合適。

下面,我們來聊幾個成功落地了區塊鏈的行業和場景:

區塊鏈可以通過哈希時間戳證明某個文件或者數字內容在特定時間的存在,為司法鑒證、身份證明、產權保護、防偽溯源等提供了完美解決方案

在防偽溯源領域,通過供應鏈跟蹤區塊鏈技術可以被廣泛使用於食品醫葯、農產品、酒類、奢侈品等各領域。

舉兩個例子。

區塊鏈可以讓政務數據跑起來,大大精簡辦事流程

區塊鏈的分布式技術可以讓政府部門集中到一個鏈上,所有辦事流程交付智能合約,辦事人只要在一個部門通過身份認證以及電子簽章,智能合約就可以自動處理並流轉,順序完成後續所有審批和簽章。

區塊鏈發票是國內區塊鏈技術最早落地的使用。稅務部門推出區塊鏈電子發票「稅鏈」平台,稅務部門、開票方、受票方通過獨一無二的數字身份加入「稅鏈」網路,真正實現「交易即開票」「開票即報銷」——秒級開票、分鍾級報銷入賬,大幅降低了稅收征管成本,有效解決數據篡改、一票多報、偷稅漏稅等問題。

扶貧是區塊鏈技術的另一個落地使用。利用區塊鏈技術的公開透明、可溯源、不可篡改等特性,實現扶貧資金的透明使用、精準投放和高效管理。

也舉兩個例子。

由公安部第三研究所指導的 eID 網路身份運營機構正與公易聯共同研發「數字身份鏈」,以公民身份號碼為根,基於密碼學演算法簽發給中國公民。投入運行以來,eID 數字身份體系已服務 1 億張 eID 的全生命周期管理,有效緩解了個人身份信息被冒用濫用和隱私泄露的問題。

Odaily星球日報整理的在網信辦備案的5個身份鏈項目

區塊鏈技術天然具有金融屬性

支付結算方面,在區塊鏈分布式賬本體系下,市場多個參與者共同維護並實時同步一份「總賬」,短短幾分鍾內就可以完成現在兩三天才能完成的支付、清算、結算任務,降低了跨行跨境交易的復雜性和成本。同時,區塊鏈的底層加密技術保證了參與者無法篡改賬本,確保交易記錄透明安全,監管部門方便地追蹤鏈上交易,快速定位高風險資金流向。

證券發行交易方面,傳統股票發行流程長、成本高、環節復雜,區塊鏈技術能夠弱化承銷機構作用,幫助各方建立快速准確的信息交互共享通道,發行人通過智能合約自行辦理發行,監管部門統一審查核對,投資者也可以繞過中介機構進行直接操作。

數字票據和供應鏈金融方面,區塊鏈技術可以有效解決中小企業融資難問題。目前的供應鏈金融很難惠及產業鏈上游的中小企業,因為他們跟核心企業往往沒有直接貿易往來,金融機構難以評估其信用資質。基於區塊鏈技術,我們可以建立一種聯盟鏈網路,涵蓋核心企業、上下游供應商、金融機構等,核心企業發放應收賬款憑證給其供應商,票據數字化上鏈後可在供應商之間流轉,每一級供應商可憑數字票據證明實現對應額度的融資。

舉個例子。

由工行、郵儲銀行、11家央企等聯合發起的中企雲鏈,自2017年成立至今,已覆蓋4.8萬企業,鏈上確權金額達到1000億元,保理融資570億元,累計交易達3000億元。金融機構收到貸款申請後,可在鏈上驗證合同的真實性、合同有無多次驗證(多頭借貸);智能合約自動清結算,降本增效;同時,核心企業的應付賬款可擁有對應憑證,並由一級供應商進行拆分,交至同在鏈上的二、三??級供應商,助其融資;而核心企業也可藉此了解全鏈條的運轉是否正常,免除緊急兌付壓力。

區塊鏈技術將大大優化現有的大數據使用,在數據流通和共享上發揮巨大作用

前面提到的是我們相對熟悉的領域。隨著更多新技術的發展,區塊鏈或許都可以與之結合,在意想不到的交叉領域和現在還無法預料的新場景下發揮作用。

未來互聯網、人工智慧、物聯網都將產生海量數據,現有中心化數據存儲(計算模式)將面臨巨大挑戰,基於區塊鏈技術的邊緣存儲(計算)有望成為未來解決方案。再者,區塊鏈對數據的不可篡改和可追溯機制保證了數據的真實性和高質量,這成為大數據、深度學習、人工智慧等一切數據使用的基礎。

最後,區塊鏈可以在保護數據隱私的前提下實現多方協作的數據計算,有望解決「數據壟斷」和「數據孤島」問題,實現數據流通價值。

針對當前的區塊鏈發展階段,為了滿足一般商業用戶區塊鏈開發和使用需求,眾多傳統雲服務商開始部署自己的BaaS(「區塊鏈即服務」)解決方案。區塊鏈與雲計算的結合將有效降低企業區塊鏈部署成本,推動區塊鏈使用場景落地。未來區塊鏈技術還會在慈善公益、保險、能源、物流、物聯網等諸多領域發揮重要作用。

在這場從傳統技術到區塊鏈的試驗過程中,我們發現,當某些場景對可追溯、防篡改、去中心的需求更強,又對區塊鏈的弱項(比如性能),要求並不高,這樣的領域就蠻適合結合區塊鏈。

同時,區塊鏈在演進的過程中,也從人人皆可訪問、高度去中心化的公有鏈,發展出了設有不同許可權、由多個中心維護的聯盟鏈,一定程度上平衡了兩種體系的優缺點。

聯盟鏈的典型案例有:微眾銀行牽頭金鏈盟開源工作組共同研發的FISCO BCOS、IBM主要貢獻的Fabric、以及螞蟻區塊鏈主導的螞蟻聯盟鏈等等。

這些去信任的系統代表了更安全的數據認證和存儲機制,其中的數據是被有效認證的和被保護的。企業或個人可以以數字方式交換或簽訂合同,其中這些合同嵌入在代碼中,並存儲在透明的、共享的資料庫中,在這些資料庫中,它們不會被刪除、篡改和修訂。

大膽預測,未來世界的合同、審核、任務、支付都將被具有唯一性和安全性的簽名數字化,數字簽名將被永久地識別、認證、法律化和存儲,並且無法篡改。不需要中介方來為自己的每一筆交易做擔保了,在不了解對方基本信息的情況下就可以進行交易。在提高信息安全性的同時,有效降低交易成本,提高交易效率。

總的來講,相比於兩年前,區塊鏈的落地已有不少進展。

有不少改進是在系統底層,用戶沒法直接看出用了區塊鏈,實已受惠於它;也有部分使用仍處試點,用戶還未能體驗。未來,區塊鏈有望得到大規模使用,成為互聯網基礎設施之一。

希望看到這里的你,已經大致了解了什麼是區塊鏈,以及區塊鏈能做什麼。

相關問答:區塊鏈是什麼

區塊鏈其實就相當於一個去中介化的資料庫,是由一串數據塊組成的。它的每一個數據塊當中都包含了一次比特幣網路交易的信息,而這些都是用於驗證其信息的有效性和生成下一個區塊的。

狹義的來講,區塊鏈是就是一種按照時間順序來將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。

而從廣義來講,區塊鏈其實是一種分布式基礎架構與計算方式,它是用於保證數據傳輸和訪問的安全的。

區塊鏈的基礎架構:

區塊鏈是由數據層、網路層、共識層、激勵層、合約層和使用層這六個基礎架構組成的。

『捌』 區塊鏈正式進入3.0時代,房地產、供應鏈等將成應用重點領域

隨著區塊鏈的不斷發展,區塊鏈的應用覆蓋的范圍越來越廣,伴隨可擴展性和效率的提高,區塊鏈應用范圍將超越金融范疇,拓展到物流、地產和物聯網等領域,成為未來 社會 的一種最底層的協議,這也就意味著區塊鏈將進入3.0時代。


區塊鏈1.0時代是以BTC(去中心化概念)為代表,更多的是起到一種分布式記賬的作用如BTC、Ripple、BCH、萊特幣、狗狗幣等。更多的是充當數字貨幣記賬用的。當然第一個階段發展的也並不完美,比特幣還有很多問題需要解決,比如擴容,閃電支付,硬分叉等。

隨著進一步完成,區塊鏈來到了2.0時代,以ETH(智能合約)代表,進入合約階段。


ETH為代表的區塊鏈2.0是一大進步,但仍然存在著很多問題,比如通道擁堵,交易速度慢,分叉風險,高額手續費等等。舉例來說,風靡一時的加密貓( CryptoKitties)在以太坊平台上線後,最高時占據了約25%的以太坊網路,造成了整個以太坊網路的擁堵,嚴重地影響了其他以太坊用戶的體驗。目前的發展就是處於第一個階段到第二個階段的過度過程。


在告別了1.0和2.0時代之後,得益於技術的不斷發展,區塊鏈變得更加實用。這也意味著區塊鏈將徹底脫離去初創時期的金融屬性,憑借其去中心化等特性,進入到各行各業的實際應用場景中去。

這也意味著區塊鏈正式開啟其3.0時代——全面應用的時代。而3.0時代的區塊鏈產業結構,也更加復雜,今天就為大家簡單分析一下。


3.0時代區塊鏈產業分為基礎層、服務層、應用層三個層次。


(1)、基礎層

對應的產業鏈上中下游包括:上游底層技術及基礎設施(核心技術、設備、底層平台部署方式),中游服務層主要是面向開發者提供基於區塊鏈技術的應用;下游應用層包括金融、供應鏈管理、智能製造、政府企業、服務、 社會 應用等。

硬體、技術及基礎設施廠商主要提供區塊鏈應用所必備的晶元、礦機礦池、硬碟、路由器等基礎設施。

底層平台部署方式可以分為公有鏈、聯盟鏈、私有鏈。

底層技術包括核心基礎組件、協議和演算法。基於底層核心技術組件,針對不同應用場景提供不同功能,包括智能合約、可編程資產、激勵機制、成員管理等。


基礎層提供底層區塊鏈或分布式賬本技術框架,主要包括以太坊、Hyperledger Fabric、R3 Corda、FISCO BCOS等。


(2)、服務層

服務層是指BaaS(Blockchain as a Service)平台,國內主要的BaaS平台有螞蟻區塊鏈BaaS平台、騰訊雲TBaaS、平安壹賬鏈BaaS平台等。


主要是面向開發者提供基於區塊鏈技術的應用,是在底層技術的基礎上提供智能合約、信息安全、數據服務等產品化服務,提高開發者在平台層開發應用的便捷性和可拓展性。


應用及服務廠商負責區塊鏈通用技術及技術擴展平台研發、數字貨幣教育與存儲平台搭建等工作,為行業應用層提供技術支持。

(3)、應用層

應用層表現為核心應用組件,包括智能合約、可編程資產、激勵機制、成員管理等。


是指區塊鏈的終端使用者或服務供應商,現在區塊鏈的主要應用場景有跨境支付、防偽溯源、供應鏈金融、貿易融資、電子票據、ABS等。


服務對象分為兩大類:B端(起步階段):區塊鏈+(金融、供應鏈管理、版權保護、教育);C端(率先落地):區塊鏈+(共享經濟、泛 娛樂 )。



下游區塊鏈應用領域為區塊鏈技術與現有行業的結合運作,現在,多個行業已經開啟了區塊鏈3.0的應用時代。


(1)、區塊鏈+供應鏈

區塊鏈+供應鏈實現商品信息全流程追溯。傳統供應鏈的溯源防偽系統存在信息不透明、數據容易篡改、安全性差和相對封閉等弊端,而利用區塊鏈技術和物聯網技術,可將商品的原材料采買過程,生產過程和流通過程的信息進行整合和追溯,真正實現跨越品牌商、渠道商、零售商、消費者,精細到一物一碼的全流程正品追溯,顯著提升用戶信任體驗。


(2)、區塊鏈+物聯網

搭建萬物互聯時代的信息交流網路。隨著物聯網中設備數量的增長,區塊鏈的分布式特性為物聯網自我治理提供了途徑,可以幫助物聯網中的設備理解彼此,並了解不同設備間的關聯,從而實現對物聯網的分布式控制。


(3)、區塊鏈+醫療

保障醫療數據安全共享。運用區塊鏈技術對醫療數據進行數學加密,可有效防止醫療數據被惡意修改等風險。應用區塊鏈技術開發的醫療數據共享和交換系統,將加密後的醫療數據上傳,可以實現數據在患者、各醫療機構之間快速、高效、安全地進行共享和流通,有效簡化了醫療數據的調用流程,為精確診斷病情提供數據保障。


(4)、區塊鏈+房地產

區塊鏈在房地產行業的潛在應用場景非常多,常見的如房產交易。買賣產權的過程中的痛點在於:交易過程中和交易後缺乏透明,大量的文書工作,潛在的欺詐行為,公共記錄中的錯誤等等,而這些還僅僅只是一部分。區塊鏈提供了一個途徑去實現無紙化和快速交易的需求。此外,房地地產區塊鏈應用可以幫助記錄、追溯和轉移地契、房契、留置權等等,還給金融公司、產權公司和抵押公司提供了一個平台。區塊鏈技術致力於安全保存文件,同時增強透明性,降低成本。此外,區塊鏈還應用建築工程領域,在當前大火的城市更新也有很多企業在應用這一技術。例如深圳的蘭房鏈就基於區塊鏈提出了區塊鏈+城市更新/建築工程/房地產開發等一攬子解決方案,全面服務於房地產行業諸多領域,目前其官網、移動應用均已上線。


此外,區塊鏈在供應鏈金融、股票交易、銀行業等已經有了很多的應用,此處不再一一贅述。



作為我國十四五規劃的重要內容之一,官方早已提出要加快推動 區塊鏈技術和產業創新發展 ,積極推進 區塊鏈和經濟 社會 融合發展


而要實現上述兩個發展,其關鍵在於以下兩點:


1、區塊鏈技術核心技術突破。

區塊鏈技術是目前我國和歐美差距最小的技術,官方特別強調在這個新興領域我國要走在理論最前沿、占據創新制高點、取得產業新優勢。要推動協同攻關,加快推進核心技術突破,為區塊鏈應用發展提供安全可控的技術支撐。


目前區塊鏈技術大多數依然停留在概念炒作階段,很多業務場景單純為了區塊鏈而區塊鏈。目前為止我國還沒有人能在全球范圍內解決三元悖論等核心技術困境,因此我們必須回歸基礎理論和核心技術,通過長期潛心研究,才能取得重大突破。


事實上,官方對區塊鏈技術理論技術和後續的應用發展提出了非常高的要求,做好區塊鏈基礎理論研究,著力攻克一批關鍵核心技術,真正把技術研發的擔子挑起來,是當前區塊鏈發展的關鍵。


2、提升國際話語權和規則制定權。

不同於以往的信息技術,區塊鏈技術具有很強的擴張性,或者叫侵略性,它的規則或者話語權決定了它的影響范圍,因為每一個上鏈開展業務的個體或機構必須服從區塊鏈所定的規則,無論中外均是如此。舉個例子,大家使用windows系統時必須要服從windows的規則,但是windows只是為用戶規定了信息交互的規則,這對我們來說是可以接受的,而區塊鏈則規定了產業治理規則,區塊鏈的治理規則憑借其分布式特徵,其影響力可迅速超越國界和地域限制。


為了實現上述兩點,我們要加強人才隊伍建設,建立完善人才培養體系,打造多種形式的高層次人才培養平台,培育一批領軍人物和高水平創新團隊。

區塊鏈作為架構性創新技術,對復合型人才需求巨大,要求從事者掌握涉及密碼學、信息科學、基礎數學等多種專業技術知識。發展區塊鏈,必須加強學科深度交叉融合的人才隊伍建設,從基礎研究、應用研發、產業融合等方面前瞻和系統性地建立人才培育體系。


區塊鏈技術是未來數字經濟的重要組成部分,對於各行各業,它都有著豐富的優勢。盡管已經進入3.0時代,但區塊鏈在各行各業的垂直落地應用,才剛剛開始。


對於區塊鏈的未來,你怎麼看?

『玖』 主流區塊鏈技術有哪些

本文試圖對區塊鏈有關技術流派和主流平台進行一個概覽,作為學習區塊鏈技術體系的導覽,意在拋磚引玉,促進區塊鏈開發社區的討論與共識。區塊鏈技術的流派未戰先謀局,你想投入區塊鏈開發這個領域,至少先要搞清楚現在有哪些玩家,各自的主張和實力如何。劃分區塊鏈技術流派並無一定之規,據我所見,或可有以下四種方式:第一是按照節點准入規則,劃分為公有鏈、私有鏈和聯盟鏈。公有鏈的代表自然是比特幣和以太坊,私有鏈則以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系統出現,不成功的嘗試倒是有那麼一個,就是著名的The DAO。第四是按照核心數據結構,分為區塊鏈和分布式總賬兩派。區塊鏈這一派在系統中真的實現了一個區塊的鏈作為核心數據結構,而分布式總賬這一派,只是吸取了區塊鏈的精神,並沒有真用一條區塊鏈作為核心數據結構,或者雖然暫時用了,但聲明說吾項庄舞區塊鏈,意在分布式總賬耳,若假以時日,因緣際會,未嘗不可取而代之也。主流區塊鏈技術平台了解流派劃分,仍是只能用來指點江山,吹牛論道,要動手,總要有個切入點。區塊鏈貨幣據說已經有上千個了,但值得關注的技術平台大概只有數十個,而如果要進入區塊鏈開發領域,打下一個好基礎,練出一身好功夫,撈到幾個好offer,則值得深入研究學習的平台,屈指可數。首先當然是比特幣。比特幣作為區塊鏈的第一個也是目前為止最成功、最重要的樣板工程,已經上線運行了八年多,本身沒有發生任何嚴重的安全和運維事故,其穩定與強悍堪稱當代軟體系統典範。比特幣Bitcoin Core是一個代碼質量高、文檔良好的開源軟體,從學習區塊鏈原理、掌握核心技術的角度來說,Bitcoin Core是最佳切入點,能夠學到原汁原味的區塊鏈技術。當然,Bitcoin Core是用C++寫的,而且用了一些C++11和Boost庫的機制,對學習者的C++水平提出了較高的要求。學習比特幣平台開發還有一個優勢,就是可以對接繁榮的比特幣技術社區。目前圍繞比特幣進行改進和提升的人很多,人多力量就大,諸如隔離驗證、閃電網路、側鏈等比較新的想法和技術,都率先在比特幣社區里落地。比如側鏈技術的主要領導者Blockstream是由密碼學貨幣元老Adam Back領銜的,而Blockstream是Bitcoin Core最大的貢獻者之一,所以一些有關側鏈的技術在比特幣社區里討論最充分。但比特幣作為一個典型的區塊鏈1.0系統,是不是支撐其他類型區塊鏈應用的最佳技術平台,存在很大的爭議。另外,也不是所有人都有能力和必要精通區塊鏈底層技術。所以對那些急於沖到區塊鏈領域里做(quān)事(qián)的人來說,可能更直截了當的學習目標是以太坊和Hyperledger Fabric。在以太坊上面用Solidity進行的智能合約開發是切入區塊鏈開發最簡單的方式,沒有之一。以太坊的理想非常宏大,由於配備了強大的圖靈完備的智能合約虛擬機,因此可以成為一切區塊鏈項目的母平台,是馱住整個區塊鏈世界的大烏龜。在以太坊上開發一個類似比特幣的加密貨幣,是一個不折不扣的小目標。一般有經驗的開發者在文檔指導下,半天到一天即可入門。問題在於,入門以後又如何?靠寫Solidity是否就可以包打天下?這是大大存疑的。我們也可以反過來說,如果以太坊+Solidity是區塊鏈的終極解決方案,那麼怎麼還會出現那麼多區塊鏈技術門派呢?特別是,以太坊似乎並沒有給現實世界中巨型的中心化組織們留下一條活路,這種徹底不妥協的革命態度有可能也成為以太坊推廣的障礙。當前以太坊項目的開發進展並不順利。一個比較突出的問題是項目過多,力量分散,導致項目質量參差不齊。但盡管如此,跟其他區塊鏈2.0平台相比,以太坊提供的開發環境是最簡單最完善的。初學區塊鏈的人絕對有必要學習以太坊,從而對區塊鏈和智能合約建立起一個最「正宗」的認識。主流區塊鏈技術平台的第三支就是Fabric,它是Hyperledger的第一個也是最知名的孵化項目。 Fabric最早來自IBM的Open Blockchain項目,到2015年11月,IBM將當時已經開發完成的44,000行Go語言代碼交給Linux基金會,並入Hyperledger項目之中。在2016年3月一次黑客馬拉松中,Blockstream和DAH兩家公司將各自的代碼並入Open Blockchain,隨後改名為Fabric。到目前為止,Fabric與Intel提供的Sawtooth Lake並列為Hyperledger的一級孵化項目,但前者得到的關注遠超後者。從技術角度來說,Fabric思路不錯,重點是滿足企業商用的需求,比如解決交易量問題。眾所周知,比特幣最大的短板是它每秒鍾7個交易的上限,完全無法滿足現實需要。而Fabric目標是實現每秒鍾10萬交易,這個量接近剛剛過去的雙十一交易量瞬時峰值,完全可以滿足正常條件下的行業級應用。Fabric用Go語言開發,也提供多種語言的API。特別值得一提的是,Fabric比較充分地運用了容器技術,比如其智能合約就運行在容器當中。這也是Go語言帶給Fabric的一項福利,因為Go語言靜態編譯部署的特徵很適合開發容器中的程序。Fabric還有一些特點,比如其membership服務可以設置節點准入審查,這是典型的聯盟鏈特徵。再比如其共識演算法是可定製的。Fabric的短板是體系較為復雜,雖有文檔,但缺少經驗的開發者學習起來障礙比較大。然而由於其定位清楚,迎合了不少企業的心態,所以已經有多家機構在基於Fabric秘密研發行業內的聯盟鏈項目。

『拾』 hyperledgerfabric是公有鏈嗎

hyper ledger fabric不是公有鏈,是一個許可的基於商業的區塊鏈構架,主要解決商業性的區塊鏈需求。Hyperledger Fabric是開源的,企業級的,帶許可權的分布式賬本平台。它的設計初衷就是針對企業級應用的,針對市面上流行的其他分布式賬本系統或者區塊鏈平台,Hyperledger Fabric擁有很多不同的特點和應用領域。
拓展資料:
一、關於區塊鏈( Blockchain )
1、區塊鏈(Blockchain),本質上是一種去中心化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。區塊鏈概念,最早由一個叫中本聰的人在2008年提出。
2、區塊鏈之所以產生,是因為傳統的商業網路,每家公司進行數據交互,或者業務往來時,每家都會通過自己的資料庫,對另外一家公司提供介面,供其訪問。這樣,會出現一個問題,不能保證每家的數據是相同性。而且從別人的中心資料庫去取數據,不能保證數據的真實性,其中存在信任問題,區塊鏈這種分布式賬本的模式,可以很好地解決這個問題。
3、區塊鏈有幾個明顯的特點,即:去中心化、不可偽造、不可篡改、公開透明、賬本一致,並且可以匿名。區塊鏈分公有鏈、私有鏈和聯盟鏈。公有鏈,是指全世界任何人都可讀取、發送交易且交易能獲得有效確認的、也可以參與其中共識過程的區塊鏈。私有鏈最大的區別是,它僅僅對單獨的個人或實體開放。因此,私有區塊鏈其寫入許可權僅在一個組織手裡。讀取許可權或者對外開放,或者被任意程度地進行了限制。私有鏈的特點是,交易速度非常之快,給隱私更好的保障,能大幅降低交易成本,甚至讓成本為零。聯盟鏈,只針對某個特定群體的成員和有限的第三方,其內部指定多個預選節點為記賬人,每個塊的生成由所有的預選節點共同決定。
二、關於Hyperledger Fabric
Hyperledger Fabric是一個許可的基於商業的區塊鏈構架(permissioned blockchain infrastructure)。主要解決商業性的區塊鏈需求。首先,所有節點都會有一個共享賬本,它會把商業的合約、合同封裝起來,放在賬本里,根據條件自動觸發信息,沒有人為操作步驟,能保證公平公正性。其次是,隱私性。聯盟鏈有不同的角色不同的許可權,不同的角色操作不同的數據,隱私性功能可以及時保護數據。其三,是信任機制更好。各個節點之間,無需身份確認,即可建立信任關系。

熱點內容
eth為什麼漲的快2020 發布:2025-07-01 13:43:38 瀏覽:625
山東礦機與基建 發布:2025-07-01 13:20:40 瀏覽:67
比特幣那個網站可以玩 發布:2025-07-01 13:20:26 瀏覽:678
linux網卡名em1eth0 發布:2025-07-01 13:19:02 瀏覽:230
比特幣對法律 發布:2025-07-01 13:05:12 瀏覽:984
區塊鏈貨幣和區塊鏈應用場景的區別 發布:2025-07-01 13:00:05 瀏覽:839
深圳79層高樓晃動股市幣圈全爆了 發布:2025-07-01 12:49:21 瀏覽:89
螞蟻礦池如何查詢 發布:2025-07-01 12:48:52 瀏覽:200
民國開國紀念雙旗幣外珠圈 發布:2025-07-01 12:28:11 瀏覽:612
牧牛區塊鏈是幹嘛的 發布:2025-07-01 12:20:56 瀏覽:28