這一篇文章將進入 Azure Blockchain Workbench 的世界,簡介一下它的架構。
這套服務整合了許多 Azure 的相關服務,包含以下:
1 Event Grid Topic
1 Service Bus Namespace
1 Application Insights
1 SQL Database (Standard S0)
2 App Services (Standard)
2 Azure Key Vaults
2 Azure Storage accounts (Standard LRS)
2 Virtual machine scale sets (for validator and worker nodes)
2 Virtual Networks
Optional: Azure Monitor
附上官網的架構圖:
可以看到架構圖後包含有 Ethereum 與待整合的 Hyperledger 及 Corda ,筆者大概在去年有用過Azure Hyperledger 的相關建構服務,但這次 Azure Blockchain Workbench 的目的是想要把三個區塊鏈主鏈整合在一起,可能目前技術面臨一些困難,所以從今年五月到現在仍然是待整合階段。
身份驗證:
Azure Blockchain Workbench 使用 Azure Active Directory (Azure AD) 來進行身份驗證,每次client端要與區塊鏈進行互動時都會經過 Azure AD,來管理使用者。
用戶端:
Azure Blockchain Workbench 會自動生成包含 web 、 mobile (iOS, Android),
閘道服務 API:
當此 API 接到請求時會轉發給off-chain SQL database,這些 DB 是 replica 的狀態且包含有 on-chain data,可以使用這個 Gateway service API 直接與區塊鏈互動,而不用透過用戶端 APP。
訊息中介:
使用Service Bus來達到 message broker 的功能,讓所有訊息統一在此處進行轉發,之後會有兩個consumer,來接收訊息,分別是 Database consumer (例如SQL database) 與 Storage consumer (Azure Storage)。
分散式帳本技術:
Distributed ledger technology (DLT),將要寫到區塊鏈之前的元資料(metadata),轉發到transaction builder(建立交易訊息),signer(私鑰簽發) 與 router(轉發到不同區塊鏈)。
DLT 監控者 與 Azure Monitor:
負責監控與紀錄區塊鏈與 Azure Blockchain Workbench 之間的訊息。
Azure SQL database:
上面存放了一些區塊鏈的資訊,讓使用者可以查詢相關區塊鏈資料。
Azure Storage:
存放了關於智能合約或是一些大容量的檔案。
下一篇將來實際使用一下。