摘要:交易流程中的所有交易都是通過執行應用程序客戶端通過調用證書服務服務,進行注冊和登記,并獲取身份證書。交易結果在被簽名后與一個是否的背書結果一同返回,稱之為預案回復。發出消息,使得客戶端通過監聽知道哪些交易是有效的或無效的。
本文首發于深入淺出區塊鏈社區
原文鏈接:Fabric1.0 交易流程原文已更新,請讀者前往原文閱讀
這篇文章詳細介紹fabric的交易流程,以圖片加文字的形式呈現。
Fabric 1.0交易流程fabric中的所有交易都是通過chaincode執行
1.應用程序客戶端通過SDK調用證書服務(CA)服務,進行注冊和登記,并獲取身份證書。
2.應用程序客戶端通過SDK創建好交易提案(Proposal),交易提案把帶有本次交易要調用的合約標識、合約方法和參數信息以及客戶端簽名等信息發送給背書(Endorser)節點。
3.背書(Endorser)節點收到交易提案(Proposal)后,開始進行驗證,驗證的內容如下:
交易預案是完好的
該預案以前沒有提交過(防止重放攻擊)
攜帶的簽名是合法的
交易發起者是否滿足區塊鏈寫策略, 即ACL 權限檢查
滿足以上要求后,背書節點把’交易預案’作為輸入參數,調用chaincode中的函數,chaincode根據當前的賬本狀態計算出一個’交易結果’,該結果包括返回值,讀寫集。此時,區塊鏈賬本并不會被更新。’交易結果’在被簽名后與一個是/否的背書結果一同返回,稱之為’預案回復’。
4.應用程序客戶端收到背書(Endorser)節點返回的信息后,判斷提案結果是否一致,以及是否收到足夠多的背書節點返回的結果(參照指定的背書策略執行),如果沒有足夠的背書,則中止處理,這個交易就會被舍棄。否則,將交易提案、模擬交易結果和背書信息打包組成一個交易并簽名發給Orderer節點(一個排序服務)。
5.Orderer節點對來自客戶端(SDK)的交易信息進行共識排序,分通道對’交易消息’按時間排序,并按通道將交易打包成塊,發送給提交(Committer)節點。
6.提交(Committer)節點收到區塊后,會對區塊中的每筆交易進行校驗,檢查交易依賴的輸入輸出是否符合當前區塊鏈的狀態,驗證背書策略是否滿足,驗證完成后將區塊追加到本地的區塊鏈,更新賬本,并修改世界狀態。具體過程如下:
運行驗證邏輯(VSCC檢查背書策略)
在區塊中指明哪些交易是有效和無效的。
在內存或文件系統上把區塊加入區塊鏈
將區塊內的有效交易寫入狀態數據庫。
發出Event消息,使得客戶端通過SDK監聽知道哪些交易是有效的或無效的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24458.html
摘要:在中采用的共識算法是算法可以在信任程度較低的場景下避免拜占庭問題。但是由于算法本身特性限制,,才能容忍一個拜占庭節點,因此在版本下,節點數量至少是個。 作者: TopJohn原文連接:https://www.xuanzhangjiong.to... Fabric架構演變之路 Hyperledger Fabric是目前主流的開源聯盟鏈產品之一,自2016年5月12日開辟代碼倉庫之日起,...
摘要:技術上需要哪些特性去達到數據可信任以上面提出的清算系統為例,可能有人提出,雙方使用同一個分布式數據庫不就可以達到實時的數據同步了嘛。 前言Hyperledger Project 由Linux基金會創辦于2015年10月,是一個開源的區塊鏈研發孵化項目,致力于提供可協同開發以區塊鏈為底層的分布式賬本。旗下的Fabric項目目標為打造一個提供分布式賬本解決方案的平臺。 業務上所期望解決的問...
摘要:技術上需要哪些特性去達到數據可信任以上面提出的清算系統為例,可能有人提出,雙方使用同一個分布式數據庫不就可以達到實時的數據同步了嘛。 前言Hyperledger Project 由Linux基金會創辦于2015年10月,是一個開源的區塊鏈研發孵化項目,致力于提供可協同開發以區塊鏈為底層的分布式賬本。旗下的Fabric項目目標為打造一個提供分布式賬本解決方案的平臺。 業務上所期望解決的問...
摘要:兄弟連區塊鏈教程源代碼分析服務端,年下半年,區塊鏈行業正逐漸褪去發展之初的浮躁回歸理性,表面上看相關人才需求與身價似乎正在回落。源代碼筆記之服務端概述相關代碼在目錄下。,接口實現,即結構體及方法,以及服務端處理流程。 兄弟連區塊鏈教程Fabric1.0源代碼分析Peer(Endorser服務端),2018年下半年,區塊鏈行業正逐漸褪去發展之初的浮躁、回歸理性,表面上看相關人才需求與...
摘要:前言安裝筆記中的是一站式的運行例子具體做了什么我們這里一步一步分開來看參考資料網絡拓撲生成組織關系和身份證書設置環境變量檢查環境變量的生成確保自己在目錄下生成密鑰文件查看生成的密鑰目錄生成服務啟動區塊設 前言 Fabric v1.0.5安裝筆記 中的network_setup.sh up是一站式的運行,e 2e cli例子.具體做了什么,我們這里一步一步分開來看 參考資料: end-...
閱讀 2054·2021-10-08 10:04
閱讀 3079·2021-09-22 10:02
閱讀 2225·2019-08-30 15:56
閱讀 825·2019-08-30 15:54
閱讀 921·2019-08-30 15:54
閱讀 1276·2019-08-30 15:53
閱讀 2508·2019-08-30 11:21
閱讀 3557·2019-08-30 10:56