Channel在Fabric中是为了区分不同业务的。一个Channel对应一个区块链,可以认为对应一个实际环境中的账本。业务相关的参与方工作在一个区块链上,也即工作在一个Channel上。一个Fabric网络可以支持多个Channel,互不影响。
传统的区块链网络,一般就是一个网络一个区块链。所有节点都在操作同一个区块链。Fabric对其进行了延伸,允许在一个网络内,混合部署多条区块链(对应多个Channel)。
之所以这么做是因为,Fabric主要定位在联盟链,是授权参与的,需要更多的权限控制与隔离。比如多个参与方有多条业务线,利用传统的思路,那就需要独立部署多个区块链网络,且要分开管理。
Fabric提供了不同的思路,在一个Fabric网络之上,参与方可以建立多个Channel(多个区块链),对应不同的业务线,相互之间独立且权限隔离。同时又共享底层的计算资源。
Fabric网络内,所有的MSP都是以Channel为单位的。也就是所有的权限校验,查询、交易,都以Channel为单位,从而保证了链间隔离。