導航:首頁 > 觀區塊鏈 > 區塊鏈超級賬本實例

區塊鏈超級賬本實例

發布時間:2025-04-23 10:10:27

『壹』 一文解惑超級賬本HyperLedger

了解超級賬本(Hyperledger)及其在區塊鏈世界的獨特地位,我們需要跳出公有鏈與聯盟鏈的二元思維,認識到每種技術都有其適用場景與價值。聯盟鏈(私有鏈)被設計為現有中心化商業團體之間進行B2B業務活動的手段和渠道,其性能與商業機密保護能力使其難以直接遷移到公有鏈上。盡管公有鏈如比特幣以太坊擁有廣泛的影響力,但聯盟鏈(私有鏈)的存在,表明了區塊鏈技術在不同場景下能發揮的多樣化作用。


Hyperledger Fabric作為IBM發起的一個聯盟鏈項目,於2015年底移交給Linux基金會,成為開源項目。Hyperledger基金會匯集了IBM、Intel、思科等眾多大牌成員,孕育了眾多區塊鏈項目,Fabric是其中最為知名的一個。本文將深入探討Fabric的架構設計、多鏈多通道功能、賬本設計、鏈碼編寫與部署流程,以及在實際應用中遇到的挑戰與不足。



Fabric架構



Fabric架構經歷了從0.6版本到1.0版本的迭代,0.6版本主要適用於商業驗證場景,無法應用於真實業務環境。其關鍵問題是所有功能集中於peer節點,缺乏擴展性、安全性和隔離性。在1.0版本中,Peer節點的功能被拆分,共識服務從Peer節點獨立出來,由Orderer節點提供可插拔的共識服務。更顯著的變化是引入了多通道(multi-channel)功能,實現了多業務的隔離,使得Fabric在0.6版本基礎上實現了質的飛躍。



Fabric的核心架構包括兩個關鍵組件:Peer和Orderer。它們分別是一個二進製程序。在Fabric網路中,參與者可以選擇部署一個或多個Peer、Orderer,或者同時部署兩者。所有Peer和Orderer節點通過通信與連接,形成了Fabric的網路。每個Peer節點存放全量數據(賬本),構成完整的區塊鏈鏈。為了防止舞弊,查詢數據時必須確保來自自己的Peer。網路中存在大量的Peer節點,每個節點存放全量數據,如何確保數據正確性?Fabric通過Orderer節點之間的協商來實現數據的正確傳播。



架構細節與功能



Fabric架構中的System Chain與Orderer的存在,使得「控制信息的傳播范圍」成為可能。通過Orderer節點,數據傳播范圍得到了控制,這為實現私有和機密交易奠定了基礎。Fabric的私有和機密交易功能正是基於System Chain與Orderer的結合實現的。



參與者可以在Fabric網路中創建屬於小團體的私鏈(Channel),每個Channel成員名單記錄在system chain中,Orderer節點可以將數據只分發給對應Channel中的Anchor Peer。在最新版本1.2中,引入了SideDB中的私有數據存儲,進一步強化了數據隔離與安全性。



Hyperledger Fabric v1.2版本的重點是引入了私有數據存儲機制,強化了在permissioned networks上進行private confidential transactions的能力。對比比特幣網路的全公開網路特性,Fabric的定位更偏向於商業應用,強調的是企業與企業之間的聯盟鏈。在Fabric中,所有參與者都是經過批准和實名認證的,這與提倡「匿名」的公鏈形成了鮮明對比。



合約與智能合約



為了確保賬本的有效性和安全,每個參與者保存的正確數據(賬本)還需智能合約的加持。合約規定了數據修改的規則、約束條件,以及觸發修改的條件。智能合約是分布在每個Peer上的容器,確保了數據修改的可控性和安全性。Fabric中的合約升級和改動需要滿足特定的約束,如所有簽署合約的參與者一致同意。合約的執行流程涉及交易發起、智能合約調用、結果校驗、簽名驗證、區塊打包和廣播等多個步驟,確保了交易的完整性和一致性。



MSP與賬號認證



Fabric網路中的訪問控制通過MSP(Membership Service Provider)實現,MSP包含了賬號的私鑰和證書,管理了組織、組件和用戶的身份認證。每個組織和角色擁有特定的MSP目錄,用於存儲證書和私鑰。MSP的分級管理確保了網路層面和角色層面的准入控制,同時,Fabric還支持TLS證書用於加密通信過程,保障了數據傳輸的安全性。



交易執行流程



區塊鏈賬本由Peer節點維護,訂單服務集群負責交易排序,只保留處理過程中的部分信息。在Hyperledger Fabric系統中,節點的物理設備與邏輯概念分離,設計上允許Endorsing Peer校驗客戶端簽名,執行智能合約代碼,模擬交易後返回結果給客戶端。客戶端將結果發送給Ordering Service,然後Ordering Service將交易打包成區塊,廣播至Committing Peer和背書者進行驗證寫入區塊鏈。完整的交易流程確保了數據的最終一致性。



概念解析與Hyperledger Fabric的優勢



Hyperledger Fabric的概念包括智能合約(chaincode)、交易(transaction)、世界狀態(world state)、背書(endorse)、背書策略(endorsement policy)、Peer節點、Channel、PKI、MSP、組織(org)等。理解這些概念對於深入掌握Fabric架構至關重要。



Hyperledger Fabric針對企業級應用提供了一系列優勢,包括確保企業合法性質、提供可伸縮、可擴展的架構、增強靈活性、實現智能化的數據分區、支持不可變分布式賬本的自助查詢、採用模塊化架構支持插件組件、以及保護數字密鑰和敏感數據的能力。這些特性使得Fabric成為企業級區塊鏈解決方案的首選之一,尤其適用於金融、醫療等行業,以及需要遵守數據保護法規的場景。

『貳』 區塊鏈中超級賬本是什麼

超級賬本(hyperledger)是Linux基金會於2015年發起的推進區塊鏈數字技術和交易驗證的開源項目,30家初始企業成員(包括IBM、Accenture、Intel、J.P.Morgan、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、Cisco等)。目標是讓成員共同合作,共建開放平台,滿足來自多個不同行業各種用戶案例,並簡化業務流程。

hyperledger

當下是區塊鏈快速發展的時代,各行各業包括醫療、文化、物聯網等等,都在尋求利用區塊鏈技術解決各自的行業痛點。要支持各種行業的應用,就意味著區塊鏈應該具有企業級屬性,保密性和吞吐量都是要考慮的問題。

超級賬本在區塊鏈中的位置:

- 比特幣- 代表數字貨幣、區塊鏈思想的誕生,提供了區塊鏈技術應用的原型

- 以太坊- 掙脫數字貨幣的枷鎖,智能合約的誕生,延伸了區塊鏈技術的功能

- 超級賬本- 進一步引入許可權控制和安全保障,首次將區塊鏈技術引入到分布式聯盟賬本的應用場景。

鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。

『叄』 區塊鏈已有哪些應用,區塊鏈應用的兩大用途

區塊鏈能應用在哪些方面?

1、金融領域

區塊鏈在國際匯兌、信用證、股權登記和證券交易所等金融領域有著潛在的巨大應用價值。將區塊鏈技術應用在金融行業中,能夠省去第三方中介環節,實現點對點的直接對接,從而在大大降低成本的同時,快速完成交易支付。

比如Visa推出基於區塊鏈技術的VisaB2BConnect,它能為機構提供一種費用更低、更快速和安全的跨境支付方式來處理全球范圍的企業對企業的交易。要知道傳統的跨境支付需要等3-5天,並為此支付1-3%的交易費用。

Visa還聯合Coinbase推出了首張比特幣借記卡,花旗銀行則在區塊鏈上測試運行加密貨幣「花旗幣」。

2、物聯網和物流領域

區塊鏈在物聯網和物流領域也可以天然結合。通過區塊鏈可以降低物流成本,追溯物品的生產和運送過程,並且提高供應鏈管理的效率。該領域被認為是區塊鏈一個很有前景的應用方向?[22]??。

區塊鏈通過結點連接的散狀網路分層結構,能夠在整個網路中實現信息的全面傳遞,並能夠檢驗信息的准確程度。

這種特性一定程度上提高了物聯網交易的便利性和智能化。區塊鏈+大數據的解決方案就利用了大數據的自動篩選過濾模式,在區塊鏈中建立信用資源,可雙重提高交易的安全性,並提高物聯網交易便利程度。為智能物流模式應用節約時間成本。

區塊鏈結點具有十分自由的進出能力,可獨立的參與或離開區塊鏈體系,不對整個區塊鏈體系有任何干擾。區塊鏈+大數據解決方案就利用了大數據的整合能力,促使物聯網基礎用戶拓展更具有方向性,便於在智能物流的分散用戶之間實現用戶拓展。

3、公共服務領域

區塊鏈在公共管理、能源、交通等領域都與民眾的生產生活息息相關,但是這些領域的中心化特質也帶來了一些問題,可以用區塊鏈來改造。

區塊鏈提供的去中心化的完全分布式DNS服務通過網路中各個節點之間的點對點數據傳輸服務就能實現域名的查詢和解析,可用於確保某個重要的基礎設施的操作系統和固件沒有被篡改,可以監控軟體的狀態和完整性,發現不良的篡改,並確保使用了物聯網技術的系統所傳輸的數據沒用經過篡改。

4、數字版權領域

通過區塊鏈技術,可以對作品進行鑒權,證明文字、視頻、音頻等作品的存在,保證權屬的真實、唯一性。作品在區塊鏈上被確權後,後續交易都會進行實時記錄,實現數字版權全生命周期管理,也可作為司法取證中的技術性保障。

例如,美國紐約一家創業公司MineLabs開發了一個基於區塊鏈的元數據協議,這個名為Mediachain的系統利用IPFS文件系統,實現數字作品版權保護,主要是面向數字圖片的版權保護應用。

5、保險領域

在保險理賠方面,保險機構負責資金歸集、投資、理賠,往往管理和運營成本較高。通過智能合約的應用,既無需投保人申請,也無需保險公司批准,只要觸發理賠條件,實現保單自動理賠。

一個典型的應用案例就是LenderBot,是2016年由區塊鏈企業Stratumn、德勤與支付服務商Lemonway合作推出,它允許人們通過FacebookMessenger的聊天功能;

注冊定製化的微保險產品,為個人之間交換的高價值物品進行投保,而區塊鏈在貸款合同中代替了第三方角色。

6、公益領域

區塊鏈上存儲的數據,高可靠且不可篡改,天然適合用在社會公益場景。公益流程中的相關信息,如捐贈項目、募集明細、資金流向、受助人反饋等,均可以存放於區塊鏈上,並且有條件地進行透明公開公示,方便社會監督。

結構

區塊鏈是一種分散的、分布式的、通常是公共的數字分類賬,由稱為塊的記錄組成,用於記錄多台計算機上的交易,因此任何涉及的塊都無法追溯更改,而不會更改所有後續塊。這允許參與者獨立且相對便宜地驗證和審計交易。

使用對等網路和分布式時間戳伺服器自主管理區塊鏈資料庫。他們通過以集體利益為動力的大規模協作得到驗證。這樣的設計促進了穩健的?工作流程,其中參與者對數據安全的不確定性很小。區塊鏈的使用消除了數字資產無限可重復性的特徵。

它確認每個價值單位只轉移一次,解決了長期存在的雙重支出問題。區塊鏈被描述為一種價值交換協議。區塊鏈可以維護所有權,因為當正確設置以詳細說明交換協議時,它提供了強制要約和接受的記錄。

1、塊

區塊保存成批的有效交易,這些交易被散列並編碼到Merkle樹中。每個區塊都包含區塊鏈中前一個區塊的加密哈希,將兩者聯系起來。鏈接的塊形成一個鏈。這個迭代過程確認了前一個塊的完整性,一直回到初始塊,這被稱為創世塊。

有時可以同時生成單獨的塊,從而創建一個臨時分叉。除了安全的基於散列的歷史記錄之外,任何區塊鏈都有一個指定的演算法來對不同版本的歷史進行評分,以便可以選擇得分較高的一個。未被選擇包含在鏈中的塊稱為孤塊。

支持資料庫的對等點不時有不同版本的歷史記錄。他們只保留他們已知的資料庫的最高分版本。每當對等方收到得分較高的版本(通常是添加了一個新塊的舊版本)時,他們就會擴展或覆蓋自己的資料庫,並將改進結果重新傳輸給對等方。從來沒有絕對保證任何特定條目將永遠保留在歷史的最佳版本中。

區塊鏈通常被構建為將新區塊的分數添加到舊區塊上,並給予獎勵以擴展新區塊而不是覆蓋舊區塊。因此,一個條目被取代的概率隨著更多的塊被構建在它之上而呈指數下降,最終變得非常低。

2、權力下放

通過在其對等網路中存儲數據,區塊鏈消除了集中保存數據所帶來的許多風險。去中心化的區塊鏈可以使用adhoc?消息傳遞和分布式網路。缺乏去中心化的一個風險是所謂的「51%攻擊」,在這種情況下,中央實體可以控制超過一半的網路,並可以隨意操縱特定的區塊鏈記錄,從而允許雙重支出。

點對點區塊鏈網路缺乏計算機破解者可以利用的集中漏洞;同樣,它沒有中心故障點。區塊鏈安全方法包括使用公鑰密碼學。甲公共密鑰(一個長的,隨機的前瞻性數字串)是在blockchain的地址。通過網路發送的價值代幣被記錄為屬於該地址。

一個私鑰就像是給它的所有者訪問他們的數字資產或手段以其他方式和各種功能相互作用是blockchains現在支持一個密碼。存儲在區塊鏈上的數據通常被認為是不可破壞的。

去中心化系統中的每個節點都有區塊鏈的副本。數據質量由海量資料庫復制和計算信任來維護。不存在集中的「官方」副本,也沒有用戶比其他用戶更「受信任」。

交易使用軟體廣播到網路。消息是在盡力而為的基礎上傳遞的。挖礦節點驗證交易,將它們添加到他們正在構建的區塊中,然後將完成的區塊廣播給其他節點。

區塊鏈使用各種時間戳方案,例如工作量證明,序列化更改。替代的共識方法包括股權證明。一種分散blockchain的增長伴隨著的風險集中,因為該計算機資源需要處理更大量的數據變得更昂貴。

3、開放性

開放區塊鏈比一些傳統的所有權記錄更加用戶友好,雖然對公眾開放,但仍然需要物理訪問才能查看。由於所有早期的區塊鏈都是未經許可的,因此對區塊鏈的定義產生了爭議。這場正在進行的辯論中的一個問題是,一個由中央機構負責和授權(許可)驗證者的私有系統是否應該被視為區塊鏈。

許可鏈或私有鏈的支持者認為,術語「區塊鏈」可以應用於任何將數據分批處理到時間戳塊的數據結構。這些區塊鏈作為多版本並發控制的分布式版本(MVCC)在資料庫中。正如MVCC防止兩個交易同時修改資料庫中的單個對象一樣,區塊鏈防止兩個交易在區塊鏈中花費相同的單個輸出。

反對者表示,許可系統類似於傳統的企業資料庫,不支持去中心化數據驗證,並且此類系統沒有針對操作員篡改和修改進行加固。

Computerworld的NikolaiHampton表示,「許多內部區塊鏈解決方案只不過是繁瑣的資料庫」,「如果沒有明確的安全模型,專有區塊鏈應該受到懷疑。」

以上內容參考?網路-區塊鏈

區塊鏈在實際生活中的應用有哪些?

(1)趣鏈

趣鏈區塊鏈底層平台是趣鏈科技研發的國產自主可控區塊鏈底層平台,以高性能、高可用、可擴展、易運維、強隱私保護、混合型存儲等特性,配合數據共享與安全計算平台BitXMesh、區塊鏈開放服務平台飛洛FiLoop、供應鏈金融平台飛洛供應鏈FiloLink、存證服務平台飛洛印FiloInk、智能合約安全研發平台MeshSec,能更好的支撐企業、政府、產業聯盟等行業應用,促進多機構間價值高效流通。

(2)京東鏈

智臻鏈(JDChain)是京東自主研發的企業級區塊鏈底層框架,其誕生標志著京東全面開啟基於區塊鏈BaaS平台和「JDChain」底層鏈的「智臻生態」建設。京東智臻鏈服務平台依託多項優化實現的「一鍵部署」能力,做到了領先的秒級區塊鏈節點部署。此外,它還具備開放兼容多種底層、企業級動態組網等成熟應用的核心優勢。京東智臻鏈的適時推出,將有效提升各行業企業級區塊鏈應用的大規模落地,推動中國及全球信任經濟的建設。

(3)迅雷鏈

迅雷鏈(ThunderChain)是迅雷旗下網心科技自主研發的區塊鏈應用項目,具備百萬tps高並發、秒級確認能力。迅雷在研發高性能區塊鏈產品的基礎上,搭建了迅雷鏈開放平台,助力企業或個人開發者部署智能合約,輕松實現產品和服務上鏈,使得區塊鏈應用開發更為便捷。

(4)井通鏈

井通區塊鏈是井通科技具有自主知識產權的區塊鏈核心底層技術,它是基於區塊鏈技術所構建的有效去中心化互享生態的互聯網交易網路,採用分層設計(5層)的底層平台,以及多語言的智能合約體系,並已實現跨鏈功能。其具備私鏈、雲鏈、聯盟鏈等多層次、全方位、一站式服務能力,行業和區域生態的布局已初步成型。

除上述區塊鏈產品外,還有社區主導的LTC、Cosmos、IOTA、Nervos、NULS、MOAC等,企業主導的Ripple、Stellar、微眾BCOS、網路XuperChain、華為、平安、萬向、螞蟻金服、眾安、布比、矩陣元、秘猿、眾享比特、復雜美、上海鏈景等眾多區塊鏈產品。

(3)區塊鏈超級賬本實例擴展閱讀:

區塊鏈,遠不止是一項技術,其背後牽涉到的是「多方協作」的精神。在現代社會中,很多事情必須依靠大家通力合作才能達到1+12的效應,但在合作中需要盡力避免出現「信息不對稱」之類的問題。

因此聯盟成員之間共同記賬、共享數據,將一切公開化以消除「信息不對稱」,以保護每個人的利益,讓營商環境良性發展。誠實做事將獲得應有的收益,如果作弊自然就會路人皆知,千夫所指。技術就是幫助實現這種模式的基礎。這就是更重要的「區塊鏈思維」。

『肆』 淺析 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

『伍』 什麼是區塊鏈超級賬本

(譯)超級賬本官方文檔基本概念(三)-節點(Peer)

超級賬本是Linux基金會發起的項目,意在提供一套企業級區塊鏈應用框架,便於大家開發基於區塊鏈技術的應用。

Fabric的基本概念

最開始,應用程序會選出一組peer來生成賬本更新提議。哪些peer會被選出來是依據的背書策略,這個背書策略決定了哪些組織需要在廣播賬本更新提議前對更新提議進行背書。這會影響到共識方式,任何一個關心更新提議是否背書的組織都會在廣播給peer更新提議並被peer接受前確認提議是否有背書。

peer對一個提議響應進行背書,就是把自己的數字簽名加入到響應中,並用自己的私鑰對整個響應簽名。背書內容隨後可以被用於證明這個響應是某個組織的peer生成的。在我們的例子中,如果peerP1屬於組織1(Org1),那麼背書E1就相當於可以證明L1上的交易T1和響應R1是由Org1的peerP1提供的。

當應用程序得到了足夠多的簽名的提議響應時,第一階段就結束了。

我們注意到peer可能返回不同的信息,因此同一筆交易可能有不一致的返回信息。這可能由於響應是在不同時間,不同peer,在不同賬本狀態下生成的,大多數情況下應用程序可以多次請求更新的提議響應。另外更嚴重,但概率很小的原因是因為鏈碼的不確定性導致的響應不一致。不確定性是鏈碼和賬本的大敵,如果這種情況發生了,對提議交易來說是很嚴重的,不一致的提議響應肯定不能提交到賬本中。一個獨立的節點是不可能知道交易結果是非確定性的交易,在檢測到非確定性交易前,必須將交易匯總比較(嚴格地說,即使這還不夠,但我們將此討論推遲到交易部分,其中詳細討論了非確定性)。

在第一階段結束時,如果應用程序希望如此的話,可以放心丟棄不一致的響應以提前結束交易流程。後面我們會看到如果應用程序使用不一致的響應提交到賬本時,會被拒絕。

過程2打包

第二個交易流程是打包。Orderer節點這個過程關鍵的點,它接收來自很多應用傳來的背書過的提議交易響應。Orderer對交易進行排序,並將大量的交易打包進區塊,並准備將區塊分發到所有連接到Orderer的peer,包括背書peer。

orderer的第一個角色就是打包賬本更新提議。在上圖的例子中,應用A1發送給OrdererO1一個被E1和E2背書的交易T1。同時,應用A2發送給OrdererO1一個被E1背書的交易T2。O1將A1傳來的交易和A2傳來的交易以及其它交易共同打包進區塊B2。我們可以看到區塊B2里的交易排序是T1,T2,T3,T4,T6,T5,並不一定是按照到達orderer節點的順序(這個例子展示了一個非常簡單的orderer配置)。

Orderer節點會同時收到網路Channel中不同應用程序發送的賬本更新提議。Orderer節點的任務就是按照事先定義好的順序整理這些更新提議,並把它們打包進區塊,為下一步的分發做准備。這些區塊將構成區塊鏈。一旦Orderer節點生成了期望大小的區塊,或者超過最大等待時間,Orderer會向連接到它特定Channel的Peer發送區塊。第三個過程會詳述這個流程。

區塊中的交易排列順序和交易到達Orderer節點的順序沒有直接關系。交易在區塊中可以是任意的排列順序,這個次序就是交易執行的順序。重點是有一個嚴格的交易排序,但具體是怎樣的排序並不重要。

區塊中的嚴格交易順序排列使得Fabric與公鏈中一筆交易可以被打包進多個不同區塊的情況不同。在Fabric中,這不可能發生,由多個Orderer生成的區塊就是最終的區塊,因為交易被寫入區塊後,交易的位置順序就確定了。這意味著Fabric不會存在分叉。一旦交易被寫入區塊,以後就不能再重寫了。

我們可以看到,peer是存儲賬本和鏈碼的,orderer完全不會存儲這些。每一筆交易到達orderer時,orderer只是機械的將交易打包進區塊,而不會理會交易的價值,額度等。這是Fabric的一個重要特性,所有交易都會按照一個嚴格的順序進行整理,沒有交易會被拋棄掉。

到第二階段結束時,我們可以了解到orderer的責任就是進行必要的,簡單的收集交易更新提議,將他們排序,打包進區塊,准備分發出去。

過程3認證

最後一個交易工作流程是分發和驗證從orderer到peer的區塊,如果驗證成功,將會被提交到賬本中。

特別的,在每個peer中,在區塊中的每一筆交易在更新到賬本之前都是驗證過的,以保證所有交易都是由相關的組織背書過的。失敗的交易會保留,作為日後審查用,並不會更新到賬本中。

Orderer除了在過程2中的打包角色外,在過程3中還負責分發區塊到peer節點。在這個例子中,O1分發區塊到P1和P2。P1處理區塊2,然後將區塊2添加到P1的賬本L1中。同時,P2處理區塊2,然後將區塊2添加到P2的賬本L1中。一旦操作完成,賬本L1在P1和P2中都被更新了,每個Peer都可以向連接到他們的應用程序發送處理結果。

Orderer向連接到他的Peer分發區塊是過程3的開始。連接到orderer節點的某個渠道的peer,會收到orderer生成的新區塊的一份拷貝。每個peer節點都會獨立的處理收到的區塊,但所有peer處理區塊的方式都是相同的。採用這種方式,不同peer中的賬本可以達成共識。並不是所有的peer都必須連接到orderer節點,peer和peer之間可以通過gossip協議來傳遞區塊,這樣peer也可以獨立的處理相同區塊。

收到一個區塊後,peer會按照交易在區塊中出現的順序依次處理。對於每一筆交易,peer會按照生成這筆交易的鏈碼背書策略檢查交易是否被與之相關組織的背書。例如,某些交易可能只需要一個組織背書,而另一些交易需要多個組織同時背書才有效。這個驗證過程驗證了所有相關組織產生的結果或者輸出是否一致。同時請注意,第三階段的驗證和第一階段不同,階段一隻是應用程序收到背書節點的響應,判斷是否需要發送交易提議。如果應用程序發送錯誤的交易,違反了背書策略,在第三階段的驗證過程中peer還是可以拒絕本次交易。

如果交易背書正確,peer將嘗試把交易提交到賬本中。為了能寫賬本,peer必須進行賬本一致性檢查,保證當前賬本的狀態與賬本更新後的狀態一致。這個狀態並不總會是一致的,即使交易擁有完整的背書。舉個栗子,另外一筆交易可能已經更新了賬本中的同一個資產,以至於我們正要更新的交易將永遠不會被寫入賬本。這樣的話,每個節點中的賬本必須通過網路保持共識,每個節點的驗證方式是一樣的。

在peer驗證完每筆獨立交易後,將更新賬本。失敗的交易會保存下來作為審查資料。這意味著peer中的區塊和從orderer中收到的區塊一致,除了區塊中指示交易成功或失敗的標志。

我們也要注意到,第三階段並沒有執行鏈碼,這一步只會在第一階段完成,這很重要。這意味著鏈碼只在背書節點可用,而不是整個網路中都可用,這保證了鏈碼在背書組織中的安全及私密。這和收到鏈碼的執行結果不同,執行結果會分享到所有在Channel里的peer,不論他是否能背書交易。背書節點的這種設計方式是為了方便擴展。

最後,每次區塊被提交到peer的賬本中時,這個peer會生成對應的事件。區塊事件包含區塊的所有內容,而區塊交易事件只包含簡要信息,比如每筆區塊中的交易是否有效。由鏈碼的執行而產生的鏈碼事件也可以在這個時候發布。應用程序可以注冊這些事件,當這些事件發生時,可以收到通知。這些通知在交易工作流程的第三階段和最後階段完成。

總的來說,我們可以知道第三階段由orderer產生的區塊被不斷地同步到賬本中。區塊中交易的嚴格排序能讓每個peer在區塊鏈網路中始終如一地驗證交易並提交到賬本中。

Orderer和共識

整個交易工作流程被稱為共識,因為所有peer都認同交易的排序和內容,在執行過程中由orderer節點來協調。共識是多步驟的過程,應用程序只會在共識過程結束時收到通知,但通知的時間在不同的peer上可能不同。

我們將會在後面更多的探討orderer,現在,把orderer僅僅當做從應用程序收集、分發賬本更新提議到peer,由peer進行驗證及更新賬本的過程。

超級賬本什麼時候出的

2017年3月。超級賬本是一個旨在推動區塊鏈跨行業應用的開源項目,由Linux基金會在2015年12月主導發起,於2017年3月底正式推出。基金會,是指利用自然人、法人或者其他組織捐贈的財產,以從事公益事業為目的,按照本條例的規定成立的非營利性法人。

什麼是超級賬本?

超級賬本(hyperledger)是Linux基金會於2015年發起的推進區塊鏈數字技術和交易驗證的開源項目。通過創建通用的分布式賬本技術,協助組織擴展、建立行業專屬應用程序、平台和硬體系統來支持成員各自的交易業務。

什麼叫區塊鏈經濟區塊鏈經濟最重要的是賬本

1、在區塊鏈經濟中不得不提到的就是賬本,在每一個鏈上都有一個區塊,賬本也是無處不在的,同時這些賬本並不是只記錄交易,而是由一些規律的數據組合而成的。

2、從根本上來看,賬本描繪了經濟和社會關系。人們對事實及其變化達成一致(即對賬本內容達成共識,以及對賬本的精確性充分信任)是市場資本主義的基石。制度加密經濟學給了我們一種工具用來理解區塊鏈革命正在發生什麼,以及我們無法預測的事情。

3、區塊鏈經濟也是區塊鏈技術帶來的一種現象,目前很多企業都採用了區塊鏈技術,所以利用區塊鏈技術產生的價值利益就可被稱為是區塊鏈經濟,大環境下的經濟體系也在發生變化,這些系統中離不開的都是賬本,所以區塊鏈經濟有必然存在的價值。

『陸』 什麼是賬本區塊鏈,區塊鏈中的賬本

區塊鏈技術通俗講解本質是分布式賬本

什麼是區塊鏈技術?簡單解釋一下區塊鏈是什麼。2019年伊始,一種新的貨幣開始進入數字貨幣的行列,並逐漸吸引了眾多數字貨幣玩家的目光,那就是區塊鏈科技。但是有人發現網上關於它的消息真的少得可憐,這不僅引起了很多人的疑惑,這是什麼,為什麼這么神秘?區塊鏈是比特幣最早的基礎技術,目前全世界都在研究,可以廣泛應用於金融等各個領域。

基本原理編輯

區塊鏈的基本原理不難理解。基本概念包括:

交易:導致賬簿狀態發生變化的操作,如增加一條記錄;

區塊:記錄一段時間內發生的交易和狀態結果,是對當前賬簿狀態的共識;

鏈式:由塊按照發生順序串聯而成,是整個狀態變化的日誌記錄。

如果把區塊鏈看成一個狀態機,每一次事務都是一次改變狀態的嘗試,而每次協商一致產生的塊就是參與者。

闡述編輯

用通俗的話來闡述:如果我們假設資料庫是一本賬本,那麼讀寫資料庫就可以看作是一種記賬的行為。區塊鏈技術的原理是在一段時間內找出最快最好的記賬人,這個人來記賬,然後把賬本上的這一頁信息發給整個系統的其他所有人。這相當於將資料庫中的所有記錄都進行了更改,並發送到整個網路中的每一個其他節點,因此區塊鏈技術也稱為分布式賬本。

什麼是「區塊鏈」?

區塊鏈有兩個含義:

1、區塊鏈(Blockchain)是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法。

2、區塊鏈是比特幣的底層技術,像一個資料庫賬本,記載所有的交易記錄。這項技術也因其安全、便捷的特性逐漸得到了銀行與金融業的關注。

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

廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。

區塊鏈中的超級賬本是什麼?

賬本(Ledger)是具有一定格式與若干賬頁組成,以會計憑證為依據,對所有經濟業務進行序時分類記錄的本籍,也就是通常我們所說的賬冊。區塊鏈表示一種特有的數據記錄格式,區塊鏈就是「區塊+鏈」,所謂的區塊就是數據塊的意思,每一個區塊之間通過某個標志連接起來,從而形成一條鏈。

超級賬本

Hyperledger(中文名為超級賬本,統稱為Hyperledger)是Linux基金會於2015發起的推進區塊鏈數字技術和交易驗證的開源項目。Hyperledger的目標是讓成員共同合作、共建開放平台以滿足來自多個不同行業各種用戶的需求,同時能大大簡化業務流程。Hyperledge啲創始成員有IBM、Intel、思科等大公司。截至本書完稿時已經加入Hyperledge啲機構和公司已經超過183個,並高速增長中。

Hyperledger項目成初Linux基金會已經收到了多個不同的代碼庫,包括IBM代碼庫(一定程度上受以太坊啟發),還有DAH(BitsofProof比特幣代碼庫)和Sockstream代碼庫(是比特幣代碼庫的擴展)。除此之外還有DigitalAsset和Ripple等貢獻的代碼。隨著行業的發展,單一的項目已經無法滿足業務的需求,因此Hyperledger逐步由一個單一的項目發展成了一個項目組。目前Hyperiedger已經不是某個具體的技術,而是代表一組區塊鏈技術框架的集合。截至目前,Hyperledger項目組中一共包含9個正式項目和50多個這些正式項目的相關模塊。

鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。

金窩窩所說的區塊鏈分布式記賬是什麼意思?

金窩窩所說的區塊鏈分布式記賬是什麼意思?,該怎樣去理解金窩窩區塊鏈技術的分布式記賬?

區塊鏈技術也稱為分布式賬本,通俗的來講,如果我們把資料庫假設成一本賬本,讀寫資料庫就可以看做一種記賬的行為,區塊鏈技術的原理就是在一段時間內找出記賬最快最好的人,由這個人來記賬,然後將賬本的這一頁信息發給整個系統里的其他所有人。這也就相當於改變資料庫所有的記錄,發給全網的其他每個節點,不僅可保證數據安全,還可以保證數據的真實性,從而提升社會信用度。

金窩窩的區塊鏈技術所說的分布式記賬有什麼特點?,如何簡單理解金窩窩網路科技的區塊鏈技術的分布式記賬功能?

區塊鏈技術採用了分布式記賬的模式,不論是在登記結算場景的實時對賬能力,還是在數據存證場景上的不可篡改能力,都可以為溯源、防偽、供應鏈場景提供有力的保障。而金窩窩是以區塊鏈技術源頭來保證產品數據安全。

我們該如何理解金窩窩區塊鏈技術的分布式記賬?

分布式存儲是一種數據存儲技術,通過網路使用每台機器上的磁碟空間,並將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散的存儲在網路中的各個角落。

金窩窩區塊鏈技術中的分布式儲存是什麼?

重慶金窩窩分析研究區塊鏈技術中的分布式儲存如下:

一是區塊鏈每個節點都按照塊鏈式結構存儲完整的數據,傳統分布式存儲一般是將數據按照一定的規則分成多份進行存儲。

二是區塊鏈每個節點存儲都是獨立的、地位等同的,依靠共識機制保證存儲的一致性,而傳統分布式存儲一般是通過中心節點往其他備份節點同步數據。

金窩窩是如何解釋區塊鏈即分布式賬本模式的?

區塊鏈技術也稱為分布式賬本,通俗的來講,如果我們把資料庫假設成一本賬本,讀寫資料庫就可以看做一種記賬的行為,區塊鏈技術的原理就是在一段時間內找出記賬最快最好的人,由這個人來記賬,然後將賬本的這一頁信息發給整個系統里的其他所有人。這也就相當於改變資料庫所有的記錄,發給全網的其他每個節點,不僅可保證數據安全,還可以保證數據的真實性,從而提升社會信用度。

區塊鏈的信任來自於底層技術,即用歷史信息換得現行的信任。這是一種低成本的信用機制,從誕生到慢慢地茁壯成長,即區塊鏈,必然會得到關注和推廣。

區塊鏈的分布式記賬是什麼意思?

這個問題問的好,我舉個例子吧,比如我在銀行存了100元,這個存錢的數據只記錄在銀行的資料庫,別人無法獲取,即「中心式記賬」。而區塊鏈是是分布式記賬,是一種新的信息記錄技術,而且是「加密的」「分布式的」,數據不存在一個中心了,而是在全網的計算機上都存一次。比如我向你轉了100元,我會向全網所有的計算機都喊一嗓子,大家一起記一下賬,即「分布式記賬」。

金窩窩區塊鏈技術中的分布式的儲存是什麼?

重慶金窩窩分析:大數據,指無法在一定時間范圍內用常規軟體工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。

大數據需要應對海量化和快增長的存儲,這要求底層硬體架構和文件系統在性價比上要大大高於傳統技術,能夠彈性擴張存儲容量。

金窩窩網路:區塊鏈中的分布式儲存是怎樣的?

金窩窩網路分析:在區塊鏈中,數據被存儲在不同計算機上,不僅實現了去中心化,還擁有高度的加密性和安全性,同時也降低了成本。

而且如果你的電腦有多餘的存儲空間,你甚至還可以把多餘的存儲容量租出去,一舉多得。

閱讀全文

與區塊鏈超級賬本實例相關的資料

熱點內容
比特幣匪夷所思 瀏覽:74
值得入手的虛擬貨幣 瀏覽:440
比特幣開發過程 瀏覽:772
比特幣是哪個國家在玩 瀏覽:160
區塊鏈超級賬本實例 瀏覽:651
數字貨幣幫助網路信息犯罪 瀏覽:959
買了假的比特幣地址 瀏覽:586
btc是什麼的簡寫 瀏覽:217
什麼是比特幣什麼是礦機 瀏覽:225
btc3月大跌原因 瀏覽:942
比特幣交易私密 瀏覽:352
建行數字貨幣天源迪科 瀏覽:301
數字貨幣的硬體產品 瀏覽:39
自我有一萬枚比特幣 瀏覽:405
區塊鏈比特幣錢包 瀏覽:887
區塊鏈應用場景視頻 瀏覽:852
1台電腦多久能挖1比特幣 瀏覽:306
華大基因區塊鏈 瀏覽:649
星火礦池交易 瀏覽:260
比特幣發錯地址還能追回來 瀏覽:27