简体   繁体   English

Hyperledger Fabric区块链重组或分叉

[英]Hyperledger Fabric blockchain reorganization or fork

This is a more theoretical question than a practical one, but I was thinking on possible attacks in Hyperledger Fabric. 这是一个比实际问题更具理论性的问题,但我正在思考Hyperledger Fabric中可能存在的攻击。

On a high level, orderers are the block makers, and the whole blockchain is eventually maintained by the peers. 在较高的层面上,orderers是块制造商,整个区块链最终由同行维护。 The consensus algorithm is executed among the orderers (which might tolerate up to a certain number of byzantine orderers if the consensus is byzantine fault tolerant). 共识算法在订货人之间执行(如果共识是拜占庭容错的话,可以容忍多达一定数量的拜占庭订货人)。

But what happens if some peers are compromised? 但如果某些同行受到损害会发生什么? What would happen if an attacker subverts more than half of the peers in the system? 如果攻击者破坏了系统中超过一半的同行,会发生什么? Could it result in a chain fork or reorganization? 它会导致链式分叉或重组吗?

It depends on your endorsement policy. 这取决于您的认可政策。 For example, if you requires a AND (b OR C) for a certain type of transactions, where b and c are comprised, they can do no harm to a , as a would reject transactions that have not been signed by it. 例如,如果您对某种类型的交易需要a AND (b OR C) ,其中包含b c,则它们不会a造成损害,因为a会拒绝尚未由其签名的交易。 (obviously b and c may commit the transactions but they are malicious in this case and the behavior can be arbitrary) (显然bc可以提交交易,但在这种情况下它们是恶意的 ,行为可以是任意的)

Keep in mind that Fabric is a permissioned blockchain , and you need to define policies according to your business requirements. 请记住,Fabric是一个经过许可的区块链 ,您需要根据业务需求定义策略。

It turns out that in fact all of the peers can be Byzantine (same for the clients as well). 事实证明,事实上所有的同伴都可以是拜占庭式的(同样也适用于客户)。

This is precisely stated in the Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains paper, section 3.5 (Trust and Fault Model). 这在Hyperledger Fabric:Permissioned Blockchains的分布式操作系统文章,第3.5节(信任和故障模型)中有详细说明。 The integrity of HLF relies solely on the orderers. HLF的完整性完全依赖于订货人。 This is because even if all peers collude and try to rewrite history in the blockchain, they won't be able to produce signed blocks (as the orderers are the only entities that can make blocks). 这是因为即使所有对等方串通并尝试重写区块链中的历史记录,它们也无法生成签名块(因为订购者是唯一可以制作块的实体)。

The best they can do is to try to delete blocks, but even with the presence of a single honest peer, that peer will show a "longer" history of blocks which will be the accepted one. 他们能做的最好的就是尝试删除块,但即使有一个诚实的对等的情况下,同行会显示块,这将是一个公认的“长”的历史。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM