我是BCT的新手。我的问题是为什么我们在基于权限的块链网络中需要一个共识算法,例如PBFT,其中节点是可信节点。只是在节点发生故障或其他任何用例时才找到方法。任何人都可以解释基于许可的BCT网络中PBFT要求的场景。
答案 0 :(得分:1)
首先,您必须在系统中定义弹性。
您是否期望节点(即行为任意,偏离协议且可能有意损害系统的节点)发生拜占庭行为?还是只需要系统能够崩溃容错? (即,节点将进入睡眠,脱机状态或断开连接)。
如果您坚持较高的“拜占庭式”弹性,则很可能会查看PBFT变量共识,并假设您的系统已获得许可(即,只有具有正确凭据的节点才能参与共识协议)。在大多数情况下,“安全”和“实时”共识的要求是“诚实”节点的66%。另一方面,如果您仅假设崩溃容忍度,那么要求是51%的“在线”节点。
Hyperledger是一个真实的例子,其中某些框架仅容忍崩溃故障(例如Hyperledger Fabric),而其他框架也具有拜占庭式容错(例如Hyperledger Indy)。