这是一个比实际问题更具理论性的问题,但我正在思考Hyperledger Fabric中可能存在的攻击。
在较高的层面上,orderers是块制造商,整个区块链最终由同行维护。共识算法在订货人之间执行(如果共识是拜占庭容错的话,可以容忍多达一定数量的拜占庭订货人)。
但如果某些同行受到损害会发生什么?如果攻击者破坏了系统中超过一半的同行,会发生什么?它会导致链式分叉或重组吗?
这取决于您的认可政策。例如,如果您需要a AND (b OR C)
用于某种类型的交易,其中包含b和c,它们不会对a
造成任何损害,因为a
会拒绝尚未签署的交易。 (显然b
和c
可以提交交易,但在这种情况下它们是恶意的,行为可以是任意的)
请记住,Fabric是一个经过许可的区块链,您需要根据业务需求定义策略。
事实证明,事实上所有的同伴都可以是拜占庭式的(同样也适用于客户)。
这在Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains论文第3.5节(信任和故障模型)中有详细说明。 HLF的完整性完全依赖于订货人。这是因为即使所有对等方串通并尝试重写区块链中的历史记录,它们也无法生成签名块(因为订购者是唯一可以制作块的实体)。
他们可以做的最好的事情是尝试删除块,但即使存在一个诚实的对等体,该对等体也将显示块的“更长”历史,这将是可接受的块。