区块链可大致分为两类:许可制区块链和非许可制区块链,主要区别在选择参与者的方式不同。在非许可制区块链中,参与者可自行选择,但参与时必然消耗资源(在权益证明的情况下是金钱,在工作量证明的情况下是计算资源)。相比之下,许可制区块链依赖于某些外部选择过程的结果。所选参与者的身份可硬编码到软件中,或动态更新并加入。这两种情况下,选择参与者的权利通常都由机构或组织流程决定,例如通过行业联盟确定。
在非许可制区块链中,对等节点根据某种自动机制自荐加入,该机制并不明确依赖管理员。理性情况下,自荐过程应促进一致的奖励措施。也就是说,自荐参与者应该共担风险,这意味着区块链获得成功会给参与者带来经济利益
由于非许可制区块链设计为不需要管理员即可运行,因此特别适用于不需要依赖外部信任机构的场景。许多区块链应用程序适合在相对可控的环境中运行,此时如果引入外部可信机构将是有益且可接受的。
实用拜占庭容错协议(PBFT)
PBFT通过更复杂的协议方案和更高的通信开销实现了拜占庭容错
基于BFT的共识协议通常要求较高的网络连通性,所有节点都要向其他节点显示其真实身份。这种做法非常适合联盟链。联盟链的网络规模较小且事先已经知道参与者身份。