iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 30
0

我們以上討論了 3 種分佈式分類賬技術(DLT)。
從不同層面展示了技術差異:程式語言、架構、智能合約、共識機制及隱私問題。

以太坊使用內建的程式語言 Solidity 並運行在以太坊虛擬機(EVM)上。
以太坊區塊鏈存有隱私問題,在網路中的節點都會獲得交易的副本,需自行對重要資料加密。

Fabric 中使用鏈代碼(Chaincode),使用 Golang 編寫,在 docker 容器內執行。
所有用戶都需要註冊成員資格服務,以獲得具有訪問和交易權限的憑證,以解決隱私問題。
提供可插拔的共識機制,允許在佈署期間選擇演算法,預設為 PBFT 實現拜占庭容錯(BFT)。

Corda 使用 Kotlin,運行於 JVM 的編程語言,可整合 Java 等主流語言開發。
採用變形的區塊鏈機制,使得交易從批次處理改為獨立交易執行,從而提高了交易即時性。

容錯機制

以太坊的所有交易都是不可變的,即使發生衝突和分歧的情況下,交易也無法恢復。
Corda 具有退回(Rollback)功能,如果出現意外錯誤,可以由非驗證公證人退回交易。
Hyperledger Fabric,目前沒有提供解決衝突的明確方法。

結論

以太坊建立在公開鏈架構上,Hyperledger 較為通用,Corda 則專注在金融領域。

以太坊簡易而容易理解,也因如此在公開鏈架構上,須面對更多擴展性和隱私問題。
Fabric 透過使用 BFT 演算法,並以較細顆粒度的訪問控制,解決了擴展性性和隱私問題。
Corda 透過交易級別的共識機制,解決了隱私和擴展性問題,更適合金融領域。


上一篇
R3 Corda:Plugins and APIs
系列文
區塊鏈開發(Blockchain/DLT Application Development)30

尚未有邦友留言

立即登入留言