當前位置:首頁 » 區塊鏈知識 » 與fabric區塊鏈開發相關的幣

與fabric區塊鏈開發相關的幣

發布時間: 2024-08-21 15:38:12

⑴ 搴旇ュ備綍榪涘叆鍖哄潡閾懼紑鍙戣屼笟銆傞渶瑕佸︿範鍝浜涚煡璇嗭紵

鍦ㄦ帰緔㈠尯鍧楅摼寮鍙戠殑榪蜂漢涓栫晫涓錛岄栬佷換鍔℃槸鏄庣『璺寰勫苟紜瀹氭墍闇鐨勭煡璇嗗偍澶囥棣栧厛錛屼綘闇瑕佷粠姣旂壒甯佸拰浠ュお鍧婅繖涓ゅ駭鍩虹煶寮濮嬩簡瑙o紝瀹冧滑鏄鍖哄潡閾炬妧鏈鐨勫師鐢熶唬琛錛屼負浣犳墦涓嬪潥瀹炵殑鐞嗚哄熀紜銆娣卞叆鐮旂┒姣旂壒甯佺殑鍒嗗竷寮忚處鏈鍘熺悊錛岀悊瑙d互澶鍧婃櫤鑳藉悎綰︾殑榪愪綔鏂瑰紡錛岃繖浜涢兘鏄鍩虹涓鐨勫熀紜銆



鐒跺悗錛岀洰鍏夎漿鍚戝綋浠婁紒涓氱駭鍖哄潡閾劇殑緲樻氣斺攆abric銆傚湪鍥藉唴錛屽熀浜巉abric鏋舵瀯鐨勮仈鐩熼摼寮鍙戝洜鍏跺畨鍏ㄦт笌鐏墊椿鎬ц屽囧彈闈掔潗銆傚逛簬鎯沖湪榪欎竴棰嗗煙娣辮曠殑浜烘潵璇達紝鎴戝己鐑堟帹鑽愪綘闃呰匯婇浂鍩虹瀛﹀尯鍧楅摼銆嬩竴涔︼紝鐢辨竻鍗庡ぇ瀛﹀嚭鐗堢ぞ鍑虹増錛岃繖鏈涔︿互鍏墮氫織鏄撴噦鐨勮茶В鍜屽叏闈㈢殑鍐呭癸紝涓哄垵瀛﹁呮彁渚涗簡瀹岀編鐨勫叆闂ㄦ寚鍗椼



鍦ㄥ︿範榪囩▼涓錛屼綘闇瑕佹帉鎻$殑鎶鑳藉寘鎷緙栫▼璇璦錛堝侸avaScript銆丼olidity錛夈佹暟鎹緇撴瀯銆佺畻娉曘佺綉緇滈氫俊銆佸叡璇嗙畻娉曪紙濡侾BFT銆丳oS錛変互鍙婂瑰垎甯冨紡緋葷粺鐞嗚虹殑鐞嗚В銆傚悓鏃訛紝鐞嗚В鍖哄潡閾劇殑闅愮佷繚鎶ゆ妧鏈銆佸姞瀵嗙畻娉曚互鍙婃櫤鑳藉悎綰︾殑鏈浣沖疄璺典篃鑷沖叧閲嶈併



闄や簡鐞嗚虹煡璇嗭紝瀹炶返鏄媯楠岀湡鐞嗙殑鍞涓鏍囧噯銆傚皾璇曟惌寤鴻嚜宸辯殑鍖哄潡閾劇綉緇滐紝鍙備笌寮婧愰」鐩錛屾垨鑰呭湪灝忓瀷欏圭洰涓瀹炴垬錛岄兘鏄鎻愬崌鎶鑳界殑鏈夋晥閫斿緞銆傚悓鏃訛紝鍏蟲敞琛屼笟鍔ㄦ侊紝浜嗚В鍖哄潡閾劇殑鏈鏂板彂灞曞拰搴旂敤鍦烘櫙錛屽皢浣誇綘濮嬬粓淇濇寔鍦ㄦ妧鏈鐨勫墠娌褲



鎬葷殑鏉ヨ達紝榪涘叆鍖哄潡閾懼紑鍙戣屼笟闇瑕佺郴緇熷︿範鐞嗚猴紝鎺屾彙瀹炵敤鎶鑳斤紝涓嶆柇瀹炶返鍜岃窡榪涜屼笟鍔ㄦ併傚彧瑕佷綘鏈夊喅蹇冨拰姣呭姏錛屼竴姝ユユ繁鍏ワ紝浣犲皢鍦ㄥ尯鍧楅摼鐨勪笘鐣屼腑鎵懼埌灞炰簬浣犵殑浣嶇疆銆

⑵ 淺析 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

⑶ 區塊鏈底層技術PK

常見的區塊鏈底層技術:Ethereum(以太坊),EOS,Fabirc,Fisco Bcos,CITA

平台簡介

1.Ethereum

以太坊( Ethereum )是由Vitalik Buterin和Gavin Wood領導開發的支持智能合約的 去中心化應用 平台。以太坊提供圖靈完備的腳本語言,極大拓展了區塊鏈技術的應用。項目於2013年末發布 白皮書 啟動,2015年7月產生創世區塊。近期即將進行擴容升級。

2.EOS

EOS 是由BM(Daniel Larimer)領導開發的區塊鏈應用平台,已於2018年6月正式上線。其slogan是「去中心化一切」,旨在為區塊鏈提供更高的性能。

3.Fabric

Fabric是由開源超級賬本( Hyper ledger)區塊鏈聯盟發布的可用於構建應用的產品級解決方案,並且已有上百個概念證明項目會進行過構建。於2017年7月發布正式版。

4.CITA

CITA是由EEA(企業以太坊聯盟)創始成員之一的 Crypt ape秘猿科技自主研發的企業級區塊鏈產品原型。CITA以高可靠性、高性能、高擴展性以及未來適應性為設計目標,於2017年7月發布開源版本。

5.BCOS

BCOS是微眾銀行、萬向區塊鏈、矩陣元聯合創建的企業級應用服務的區塊鏈技術平台,為分布式商業提供完備的區塊鏈技術基礎設施及服務。2017年7月BCOS第一階段正式開源。

* Fabric在隱私保護方面做得最出色,有CA機制

國際難題: 跨鏈技術

為了解決傳統互聯網世界的信息孤島問題,區塊鏈使用去中心化網路的結構,試圖實現信息共享來解決數據孤島的問題。然而,眾多區塊鏈應用的出現,區塊鏈的鏈與鏈之間並不互通,使區塊鏈也面臨這一種「孤鏈」的窘境。不符合區塊鏈的初衷。

如何根據業務功能、隱私保護、數據隔離、性能容量擴展的需求等,在同一個區塊鏈平台實施多鏈共存。如何在身份准入機制、信息標准、業務形態都不一致的區塊鏈平台之間實施信息和業務交互。有望將成為開發的重要方向。

轉自【鏈世界】: https://www.7234.cn/news/2316

⑷ 現在有哪些主流的區塊鏈技術

比特幣(Bitcoin),是最早的真正意義的去中心化區塊鏈技術。
 
以太坊(Ethereum),配備了強大的圖靈完備的智能合約虛擬機,因此可以成為一切區塊鏈項目的母平台。
 
IBM HyperLedger fabric,是聯盟鏈的優秀實現。
 
Ripple,世界上第一個開放的支付網路,是基於區塊連的點到點全球支付網路。

⑸ 不屬於區塊鏈1.0的應用是

HyperledgerFabric。不屬於區塊鏈1.0的應用是HyperledgerFabric。區塊鏈1.0的應用主要是數字貨幣,以比特幣為主。區塊鏈2.0的應用是智能合約。區塊鏈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秘密研發行業內的聯盟鏈項目。

熱點內容
區塊鏈交易平台源碼6 發布:2024-11-17 00:36:47 瀏覽:752
豐田trx4試駕 發布:2024-11-17 00:25:08 瀏覽:797
什麼區塊鏈挖礦文檔 發布:2024-11-17 00:20:58 瀏覽:707
冒險與挖礦qq游戲 發布:2024-11-17 00:15:08 瀏覽:465
數字貨幣vpc 發布:2024-11-16 23:39:29 瀏覽:641
淘寶的合約機怎麼用 發布:2024-11-16 23:37:17 瀏覽:905
Eth今天為什麼暴降 發布:2024-11-16 23:31:36 瀏覽:536
比特無限幣智能合約 發布:2024-11-16 23:31:25 瀏覽:31
寬頻合約怎麼注銷 發布:2024-11-16 23:09:26 瀏覽:424
國內比特幣礦機銷售商 發布:2024-11-16 22:41:35 瀏覽:410