Hyperledger Cactus(一):架构初探
【摘要】 Hyperledger cactus 是一个区块链集成框架,能够在多个分布式账本上执行交易,最大的特点是灵活可插拔的架构,官方定义:SDK of SDKs。Cactus 现在已经支持的分布式账本有 Hyperledger Besu、Corda、Corda OS、Hyperledger Fabric、Go-Ethereum、Quorum、Hyperledger Sawtooth 等,均通过账本插件的...
Hyperledger cactus 是一个区块链集成框架,能够在多个分布式账本上执行交易,最大的特点是灵活可插拔的架构,官方定义:SDK of SDKs。
Cactus 现在已经支持的分布式账本有 Hyperledger Besu、Corda、Corda OS、Hyperledger Fabric、Go-Ethereum、Quorum、Hyperledger Sawtooth 等,均通过账本插件的方式实现。
对于分布式账本的操作支持部署账本、执行交易、获取共识协议、判断是否具有最终性,如下接口定义所示。
所有的分布式账本接入 cactus 都需要实现此接口
![](https://static001.geekbang.org/infoq/a5/a59323f594fec04a4098b8728a8485e8.png)
插件化的架构如下图所示:
![](https://static001.geekbang.org/infoq/5c/5c831367e182c419982e24fa80909856.png)
左下角的 business logic plugin 是业务逻辑插件,用于实现具体的业务逻辑,由 web 服务或者智能合约来实现,比如供应链溯源、时间哈希锁转移资产等等。
右下角的 validator 是具体连接分布式账本的模块,包括对上文的 IPluginLedgerConnector 的实现,一方面,validator 用于执行对区块链的操作,另一方面,validator 也会开启一个 monitor,监听区块链的事件和区块,用于验证交易是否成功。为了避免 validator 作恶,cactus 现有的安全机制也有对应的预防措施,比如 validator 是可以被关闭的,一旦发现 validator 作恶,可以在不改变部署架构的情况下关闭某些 validator,以及对于同一条区块链,可以部署多个 validator 由多个参与方共同构建,降低被攻击的风险。
评论