链上信使协议

介绍

链上信使协议AMOP(Advanced Messages Onchain Protocol)系统旨在为联盟链提供一个安全高效的消息信道,联盟链中的各个机构,只要部署了区块链节点,无论是共识节点还是观察节点,均可使用AMOP进行通讯,AMOP有如下优势:   - 实时:AMOP消息不依赖区块链交易和共识,消息在节点间实时传输,延时在毫秒级。
- 可靠:AMOP消息传输时,自动寻找区块链网络中所有可行的链路进行通讯,只要收发双方至少有一个链路可用,消息就保证可达。
- 高效:AMOP消息结构简洁、处理逻辑高效,仅需少量cpu占用,能充分利用网络带宽。
- 安全:AMOP的所有通讯链路使用SSL加密,加密算法可配置,支持身份认证机制。 - 易用:使用AMOP时,无需在SDK做任何额外配置。

AMOP功能使用请参照Java SDK AMOP.

逻辑架构

以银行典型IDC架构为例,各区域概述:

普通话题

AMOP的消息收发基于话题(Topic)订阅机制,订阅者首先订阅一个话题,发送者往该话题发送消息,订阅者即可收到。

发送方式和内容

总共支持两种传播方式:

发送内容:

私有话题

在普通的配置下,任何一个订阅了某topic的接收者都能接受到发送者推送的消息。但在某些场景下,发送者只希望特定的接收者能接收到消息,不希望无关的接收者能任意的监听此topic。在此场景下,需要使用私有话题功能。

私有话题:对于特定的话题,发送者配置好期望的接受者的公钥,仅该公钥所对应的订阅者才能接收该私有话题的消息。

私有话题功能是自FISCO BCOS 2.1.0 之后新增的。使用过程如下:

私有话题的认证流程

假定链外系统1是话题消息发送者(消息发送端),链外系统2是话题订阅者(消息接收端)。私有话题的认证流程如下:

发送方式和内容

同样的私有话题支持单播和多播,发送文本和文件。

错误码