Quorum 企業級分布式賬本和智慧型合約平台

2021-09-08 16:02:16 字數 1593 閱讀 7192

blockchain, dlt, ethereum, quorum

區塊鏈架構師與開發者

以ethereum為代表的公有鏈平台工作於信任度較低的public internet,一般採用pow/pos等效率較低的共識機制。而企業業務環境下一般有更高的信任度,對網路許可管理、交易的私隱性以及吞吐量/延遲也有更高的要求。因此聯盟鏈和公有鏈相比有完全不同的設計關注點。

quorum是由摩根大通開發的企業級區塊鏈平台,它從以太坊的官方客戶端fork出**並對部分模組重新設計實現。通過新增交易隱私、節點許可管理等特性,將ethereum原有的共識演算法替換成可選的raft/ibft協議,quorum可以在適配ethereum開發工具鏈的同時,更好地服務於企業聯盟鏈場景。

在區塊鏈行業中,ethereum有較高的知名度和生態成熟度,被很多人當成區塊鏈/去中心化應用開發的首選平台。然而ethereum是針對公有鏈進行設計,雖然可以單獨部署私有網路,但很多特點不適合企業聯盟鏈場景。因此一些團隊選擇基於ethereum開發適合企業的區塊鏈平台,從而充分利用ethereum在社群和工具鏈等方面的優勢。

quorum的**fork自ethereum官方evm(ethereum virtual machine)之一go-ethereum,並跟進主要release的更新。而quorum對ethereum主要在以下方面進行了改進:

在公有鏈中,所有交易都是公開可見的,任何人都可以檢視ethereum主網路歷史某個區塊的交易。這種透明性也是公有鏈的特性之一,很多團隊基於區塊鏈的這一特性開發出公證/鑑證等服務。然而在企業對企業的交易環境中,很多時候需要保證交易的私隱性。即使在乙個企業聯盟內部,交易也只對發起的雙方可見。quorum對此新增了私有交易的支援。

quorum會將需要保證私隱性的交易標記為私有事務,其事務管理器會將交易內容載荷加密後進行替換。其他的quorum節點接受到交易時只能看到被加密過後的內容,而只有這次交易的參與者才能用自己的秘鑰解密私有事務,並將其儲存在本地的私有狀態資料庫中。

在公有鏈中,任何人都可以執行全節點進行挖礦,成為公有鏈網路的一部分。這種基於完全去中心化的設計方式跟企業業務有較大差異。在企業聯盟中,所有成員的身份都是已知的,節點的分布往往基於實際的商業規則進行考量。此外聯盟鏈需要相應的機制,對成員節點的加入、維護、退出等進行許可管理。

每個quorum節點可以通過維護乙份permissioned-nodes列表來元件乙個許可網路。該列表中維護了傳入/傳出節點的白名單,並配置相應的ip/埠/公鑰位址。

公有鏈處於信任度較低的公有網際網路中,且成員加入不需許可,往往面臨女巫攻擊的風險;此外公有鏈往往會設計相應的經濟機制用於激勵參與挖礦記賬的礦工。基於博弈的共識類協議(pow/pos等)應運而生。此類協議可以很好的解決公有鏈的問題,但在效能、效率方面有很多限制。

在聯盟鏈中所有成員身份已知節點數量有限,一般不會受到女巫攻擊威脅;且成員間通過商業達成合作,不需要設定挖礦激勵。因此可以採用更高效率的共識協議。quorum替換掉了ethereum原有的共識協議,並支援可選的raft/ istanbul bft協議,更具靈活性。

quorum為以太坊開發者提供了乙個平台,可以用solidity/truffle等熟悉的工具鏈構建乙個企業聯盟鏈。雖然在我們的實踐中,該平台仍存在一些缺陷,成熟度有待提公升。但我們建議區塊鏈架構師和開發者將該平台放到自己的評估備選中,持續觀察。

企業級分布式事務

轉至 事務由資源管理器 如dbms 本地管理 tx協議 應用或應用伺服器與事務管理器的介面 xa協議 全域性事務管理器與資源管理器的介面 缺點 jts ejb優點 侷限 jms與分布式事務 復合模式 對於共享資料系統,只能同時擁有以下三項中的兩個 理解如果為了保證資料一致性,將分割槽一側的節點設定為...

企業級分布式監控系統 zabbix

zabbix 是乙個企業級的分布式開源監控方案。zabbix重要的不是部署,而是學會操作使用,所以推薦大家進行一鍵部署。手動部署可參考官方文件 一鍵部署可參考 docker上一鍵部署 乙個監控系統執行的大概的流程是這樣的 zabbix agent需要安裝到被監控的主機上,它負責定期收集各項資料,併發...

分布式系統Quorum機制

write all read one write all read one 簡稱 waro 是一種最簡單的副本控制規則,顧名思義即在更新時寫所有的副本,只有在所有的副本上更新成功,才認為更新成功,從而保證所有的副本一致,這樣在讀取資料時可以讀任一副本上的資料。缺點 讀服務的可用性較高,但更新服務的可...