比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

區塊鏈:一張圖看懂比特幣、以太坊、聯盟鏈等區塊鏈系統架構_聯盟鏈幣是什么幣

Author:

Time:1900/1/1 0:00:00

會當凌絕頂,一覽眾山小。進入區塊鏈底層開發前,我們需要了解區塊鏈底層的通用架構是如何設計的,從上而下地審視區塊鏈底層的結構,做到了然于胸,才能胸有成竹。

他山之石,可以攻玉。在介紹區塊鏈底層通用架構之前,我們不妨先從比特幣、以太坊、Hyperledger的架構解讀開始。

比特幣架構

根據中本聰的論文《Bitcoin:APeer-to-PeerElectronicCashSystem》中對比特幣系統的描述,我們可以整理出如下圖所示的比特幣系統架構。

以太坊架構

如圖所示,以太坊架構分為7層,由下至上依次是存儲層、數據層、網絡層、協議層、共識層、合約層、應用層。

其中存儲層主要用于存儲以太坊系統運行中的日志數據及區塊鏈元數據,存儲技術主要使用文件系統和LevelDB。

數據層主要用于處理以太坊交易中的各類數據,如將數據打包成區塊,將區塊維護成鏈式結構,區塊中內容的加密與哈希計算,區塊內容的數字簽名及增加時間戳印記,將交易數據構建成Merkle樹,并計算Merkle樹根節點的hash值等。

與比特幣的不同之處在于以太坊引入了交易和交易池的概念。交易指的是一個賬戶向另一個賬戶發送被簽名的數據包的過程。而交易池則存放通過節點驗證的交易,這些交易會放在礦工挖出的新區塊里。

BitFlyer將從12月1日起提供日本第一張信用卡“bitFlyerCreca”:12月2日消息,運營加密貨幣交易所的BitFlyer將從 12 月 1 日起提供日本第一張信用卡“bitFlyerCreca”,用于與Aplus合作交易數字貨幣。通過使用bitFlyer信用卡進行日常購物和支付水電費,數字貨幣將根據使用量自動累積。累積數字貨幣可以通過bitFlyer出售。因此,需要一個bitFlyer賬戶才能申請。使用刷卡購物,APLUS的“特別禮品積分”將以0.5%至2.0%的返還率累積,并自動兌換成數字貨幣并累積在用戶的bitFlyer賬戶中。您可以使用bitFlyer查看交換的數字貨幣。

特典積分兌換數字貨幣的兌換率以兌換當日(每月20日左右)為準。有兩種類型的卡:無會員年費的標準卡“bitFlyer Credit Card”和年費為16,500日元的白金卡“bitFlyer Platinum Card”。標準的積分兌換率為 0.5%,白金的積分減少率為 1.0%。至于附帶服務,則以卡片失竊及遺失賠償為標準。[2021/12/2 12:45:15]

以太坊的Event(事件)指的是和以太坊虛擬機提供的日志接口,當事件被調用時,對應的日志信息被保存在日志文件中。

與比特幣一樣,以太坊的系統也是基于P2P網絡的,在網絡中每個節點既有客戶端角色,又有服務端角色。

協議層是以太坊提供的供系統各模塊相互調用的協議支持,主要有HTTP、RPC協議、LES、ETH協議、Whipser協議等。

東港股份開具出北京市第一張區塊鏈電子發票:東港股份公告稱:在北京市稅務局的主導下,子公司東港瑞宏提供了基于區塊鏈技術的應用和支持,于2020年3月3日開具出了北京市第一張區塊鏈電子發票。[2020/3/3]

以太坊基于HTTPClient實現了對HTTP的支持,實現了GET、POST等HTTP方法。外部程序通過JSONRPC調用以太坊的API時需通過RPC(遠程過程調用)協議。

Whisper協議用于DApp間通信。

LES的全稱是輕量級以太坊子協議(LightEthereumSub-protocol),允許以太坊節點同步獲取區塊時僅下載區塊的頭部,在需要時再獲取區塊的其他部分。

共識層在以太坊系統中有PoW(ProofofWork)和PoS(ProofofStake)兩種共識算法。

合約層分為兩層,底層是EVM(EthereumVirtualMachine,即以太坊虛擬機),上層的智能合約運行在EVM中。智能合約是運行在以太坊上的代碼的統稱,一個智能合約往往包含數據和代碼兩部分。智能合約系統將約定或合同代碼化,由特定事件驅動觸發執行。因此,在原理上適用于對安全性、信任性、長期性的約定或合同場景。在以太坊系統中,智能合約的默認編程語言是Solidity,一般學過JavaScript語言的讀者很容易上手Solidity。

應用層有DApp(DecentralizedApplication,分布式應用)、以太坊錢包等多種衍生應用,是目前開發者最活躍的一層。

動態 | 廣州地鐵今日開出第一張區塊鏈電子發票:在國家稅務總局廣州市稅務局的指導下,廣州地鐵在2020年1月1日開出第一張區塊鏈電子發票,標志著區塊鏈電子發票在廣州市公共交通行業落地應用,預計1月中旬前將在廣州地鐵官方APP全面上線推廣使用。區塊鏈技術的集成應用在新的技術革新和產業變革中起著重要作用,區塊鏈發票的實施推廣,將進一步方便了廣大市民乘坐地鐵時開具發票。廣州地鐵表示,目前該發票功能仍在調試中,后續將加快系統的功能調試,完善開票功能,爭取一月中旬前實現乘客通過廣州地鐵官方APP全自助開具區塊鏈電子發票,為乘客帶來更高效、更優質、更智能的出行體驗。(科技日報)[2020/1/1]

Hyperledger架構

超級賬本(Hyperledger)是Linux基金會于2015年發起的推進區塊鏈數字技術和交易驗證的開源項目,該項目的目標是推進區塊鏈及分布式記賬系統的跨行業發展與協作。

目前該項目最著名的子項目是Fabric,由IBM主導開發。按官方網站描述,HyperledgerFabric是分布式記賬解決方案的平臺,以模塊化體系結構為基礎,提供高度的彈性、靈活性和可擴展性。它旨在支持不同組件的可插拔實現,并適應整個經濟生態系統中存在的復雜性。

HyperledgerFabric提供了一種獨特的彈性和可擴展的體系結構,使其不同于其他區塊鏈解決方案。我們必須在經過充分審查的開源架構之上對區塊鏈企業的未來進行規劃。超級賬本是企業級應用快速構建的起點。

目前,HyperledgerFabric經歷了兩大版本架構的迭代,分別是0.6版和1.0版。其中,0.6版的架構相對簡單,Peer節點集眾多功能于一身,模塊化和可拓展性較差。1.0版對0.6版的Peer節點功能進行了模塊化分解。目前最新的1.1版本處于Alpha階段。

動態 | 外媒:萬事達卡已批準歐洲第一張加密借記卡:據Blog.Coinspectator消息,萬事達卡已批準歐洲第一張加密借記卡。Tap n Go (Tap)已與Transact Payments Limited (TPL)合作,提供TapPrepaidMastercard?,允許客戶在接受萬事達卡消費的場景中使用Tap持有的加密資產。據悉,Tap n Go已向直布羅陀金融服務委員會申請DLT牌照,目前正在審查中。[2019/4/30]

在1.0版中,Peer節點可分為peers節點和orderers節點。peers節點用于維護狀態(State)和賬本(Ledger),orderers節點負責對賬本中的各條交易達成共識。

系統中還引入了認證節點(EndorsingPeers),認證節點是一類特殊的peers節點,負責同時執行鏈碼(Chaincode)和交易的認證(EndorsingTransactions)。

HyperledgerFabric的分層架構設計如圖下所示。

HyperledgerFabric的分層架構設計

HyperledgerFabric可以分為7層,分別是存儲層、數據層、通道層、網絡層、共識層、合約層、應用層。

其中存儲層主要對賬本和交易狀態進行存儲。賬本狀態存儲在數據庫中,存儲的內容是所有交易過程中出現的鍵值對信息。比如,在交易處理過程中,調用鏈碼執行交易可以改變狀態數據。狀態存儲的數據庫可以使用LevelDB或者CouchDB。LevelDB是系統默認的內置的數據庫,CouchDB是可選的第三方數據庫。區塊鏈的賬本則在文件系統中保存。

動態 | 招商銀行開具銀行業第一張區塊鏈電子發票:據財經網消息,今日,招商銀行深圳分行在為客戶辦理貴金屬購買業務后,通過系統直聯深圳市稅務局區塊鏈平臺,成功為客戶開出了首張區塊鏈電子發票。這標志著,招商銀行成為首批通過系統直接接入深圳市區塊鏈電子發票平臺的機構,也成為全國首個區塊鏈電子發票的試點銀行。[2018/11/1]

數據層主要由交易(Transaction)、狀態(State)和賬本(Ledger)三部分組成。

其中,交易有兩種類型:

部署交易:以程序作為參數來創建新的交易。部署交易成功執行后,鏈碼就被安裝到區塊鏈上。調用交易:在上一步部署好的鏈碼上執行操作。鏈碼執行特定的函數,這個函數可能會修改狀態數據,并返回結果。狀態對應了交易數據的變化。在HyperledgerFabric中,區塊鏈的狀態是版本化的,用key/valuestore(KVS)表示。其中key是名字,value是任意的文本內容,版本號標識這條記錄的版本。這些數據內容由鏈碼通過PUT和GET操作來管理。如存儲層的描述,狀態是持久化存儲到數據庫的,對狀態的更新是被文件系統記錄的。

賬本提供了所有成功狀態數據的改變及不成功的嘗試改變的歷史。

賬本是由OrderingService構建的一個完全有序的交易塊組成的區塊哈希鏈(HashChain)。

賬本既可以存儲在所有的peers節點上,又可以選擇存儲在幾個orderers節點上。此外,賬本允許重做所有交易的歷史記錄,并且重建狀態數據。

通道層指的是通道(Channel),通道是一種HyperledgerFabric數據隔離機制,用于保證交易信息只有交易參與方可見。每個通道都是一個獨立的區塊鏈,因此多個用戶可以共用同一個區塊鏈系統,而不用擔心信息泄漏問題。

網絡層用于給區塊鏈網絡中各個通信節點提供P2P網絡支持,是保障區塊鏈賬本一致性的基礎服務之一。

在HyperledgerFabric中,Node是區塊鏈的通信實體。Node僅僅是一個邏輯上的功能,多個不同類型的Node可以運行在同一個物理服務器中。Node有三種類型,分別是客戶端、peers節點和OrderingService。

其中,客戶端用于把用戶的交易請求發送到區塊鏈網絡中。

peers節點負責維護區塊鏈賬本,peers節點可以分為endoringpeers和committingpeers兩種。endoringpeers為交易作認證,認證的邏輯包含驗證交易的有效性,并對交易進行簽名;committingpeers接收打包好的區塊,并寫入區塊鏈中。與Node類似,peers節點也是邏輯概念,endoringpeers和committingpeers可以同時部署在一臺物理機上。

OrderingService會接收交易信息,并將其排序后打包成區塊,然后,寫入區塊鏈中,最后將結果返回給committingpeers。

共識層基于Kafka、SBTF等共識算法實現。HyperledgerFabric利用Kafka對交易信息進行排序處理,提供高吞吐、低延時的處理能力,并且在集群內部支持節點故障容錯。相比于Kafka,SBFT(簡單拜占庭算法)能提供更加可靠的排序算法,包括容忍節點故障以及一定數量的惡意節點。

合約層是HyperledgerFabric的智能合約層Blockchain,Blockchain默認由Go語言實現。Blockchain運行的程序叫作鏈碼,持有狀態和賬本數據,并負責執行交易。在HyperledgerFabric中,只有被認可的交易才能被提交。而交易是對鏈碼上的操作的調用,因此鏈碼是核心內容。同時還有一類稱之為系統鏈碼的特殊鏈碼,用于管理函數和參數。

應用層是HyperledgerFabric的各個應用程序。

此外,既然是聯盟鏈,在HyperledgerFabric中還有一個模塊專門用于對聯盟內的成員進行管理,即MembershipServiceProvider(MSP),MSP用于管理成員認證信息,為客戶端和peers節點提供成員授權服務。

區塊鏈通用架構

至此,我們已經了解了比特幣、以太坊和Hyperledger的架構設計,三者根據使用場景的不同而有不同的設計,但還是能抽象出一些共同點,我們可以基于這些共同點設計企業級聯盟鏈的底層架構。

本文提供的聯盟鏈底層架構如下圖所示。

聯盟鏈底層架構

我們將區塊鏈底層分為6層,從下至上分別是存儲層、數據層、網絡層、共識層、激勵層和應用層。

存儲層主要存儲交易日志和交易相關的內容。其中,交易日志基于LogBack實現。交易的內容由內置的SQLite數據庫存儲,讀寫SQLite數據庫可以基于JPA實現;交易的上鏈元數據信息由RocksDB或LevelDB存儲。

數據層由區塊和區塊“鏈”(區塊的鏈式結構)組成。其中,區塊中還會涉及交易列表在Merkle樹中的存儲及根節點哈希值的計算。交易的內容也需要加密處理。由于在聯盟鏈中有多個節點,為有效管理節點數據及保障數據安全,建議為不同節點分配不同的公、私鑰,以便加密使用。

網絡層主要提供共識達成及數據通信的底層支持。在區塊鏈中,每個節點既是數據的發送方,又是數據的接收方。可以說每個節點既是客戶端,又是服務端,因此需要基于長連接來實現。我們可以基于WebSocket用原生方式建立長連接,也可以基于長連接第三方工具包實現。

共識層采用PBFT(PracticalByzantineFaultTolerance)共識算法。不同于公鏈的挖礦機制,聯盟鏈中更注重各節點信息的統一,因此可以省去挖礦,直奔共識達成的目標。

激勵層主要是幣(Coin)和Token的頒發和流通。在公鏈中,激勵是公鏈的靈魂;但在聯盟鏈中不是必需的。

應用層主要是聯盟鏈中各個產品的落地。一般聯盟鏈的應用層都是面向行業的,解決行業內的問題。

Java版聯盟鏈的部署架構如下圖所示。

Java版聯盟鏈的部署架構

聯盟鏈由1個超級節點和若干個普通節點組成,超級節點除具備普通節點的功能外,還具備在聯盟中實施成員管理、權限管理、數據監控等工作。因此相較于完全去中心化的公鏈,聯盟鏈是部分去中心化的,或者說聯盟的“鏈”是去中心化的,但是聯盟鏈的管理是中心化的。

整個開發環境建議基于SpringBoot2.0實現。基于SpringBoot開發,可以省去大量的xml配置文件的編寫,能極大簡化工程中在POM文件配置的復雜依賴。SpringBoot還提供了各種starter,可以實現自動化配置,提高開發效率。

Tags:區塊鏈以太坊聯盟鏈區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢以太坊幣是什么幣聯盟鏈幣是什么幣

比特幣交易所
達世幣:Dash的理想:讓數字貨幣更可用_40億比特幣能提現嗎

作為匿名幣老三樣,很多人對達世幣并不陌生。最初Dash主要是想解決比特幣匿名不夠、轉賬速度慢、礦機中心化的問題.

1900/1/1 0:00:00
加密貨幣:全球領先的獨立評級機構,評估出的十種最佳加密貨幣_區塊鏈加密貨幣是什么意思啊

WeissRatings評級于1971年開始,是全球領先的金融機構獨立評級機構。今天,Weiss評級為大約55,000個機構和投資部門提供了信譽等級評估.

1900/1/1 0:00:00
比特幣:幣圈熊孩子Libra另謀貨幣體系?嚇壞美監管機構_區塊鏈存證怎么弄

約半個月前,社交媒體臉書正式對外發布加密貨幣項目Libra白皮書。幣圈內外隨即沸騰。7月2日,美國政府發信公開呼吁臉書暫停Libra項目的開發.

1900/1/1 0:00:00
比特幣:虛擬貨幣礦機背后的貓膩:“億維鏈”傳銷8天就卷款跑路_區塊鏈比特幣中國官網聯系方式

自發改委將“虛擬貨幣‘挖礦’活動”列入淘汰類產業后,國內開采比特幣的礦機市場如何?近日,北京商報記者調查發現,“二手”比特幣礦機遭到拋售。同時,一些利用礦機概念做的傳銷投資騙局層出不窮.

1900/1/1 0:00:00
MON:第二次朝美會晤未達成協議 陸慷:推進半島問題解決的大方向_Metahero Universe

來源:央視網 第二次朝美領導人河內會晤未能達成協議,針對中方如何看待朝美下步對話和半島問題解決進程的前景的問題,中國外交部發言人陸慷在今天的例行記者會上表示,中方注意到,會晤結束后.

1900/1/1 0:00:00
銀河系:如何在一個日益發達的世界里恢復黑暗的夜空?_LED幣

對于地球上的大多數人來說,在晚上環游世界比在白天更具挑戰性。沒有太陽的強光來照亮我們的世界,眼睛會盡自己最大的努力去適應周邊的黑暗。我們的視錐細胞會退居二線,而對單色敏感的視桿細胞則會挺身而出.

1900/1/1 0:00:00
ads