我已经承担了研究区块链实施及其对我公司的风险的任务,但是我在任何地方都找不到。
答案 0 :(得分:3)
您的问题的答案(就像很多问题一样)是:“取决于上下文”。
Hyperledger Fabric是非常模块化的,这意味着可以定制许多东西来满足您的特定需求,可以选择的事情之一是您特定Fabric网络的共识算法,有关更多信息,请阅读官方文档。 :https://hyperledger-fabric.readthedocs.io/en/release-1.3/blockchain.html
当前,Fabric提供的用于生产的唯一共识算法是Kafka。从安全性上来说,也许更重要的是要了解Kafka不是Bizantine容错算法,但未来仍在为Fabric提供BFT算法。
多数攻击(通常称为> 50%或51%攻击)是指一个参与者(个人或团体)拥有超过一半的决定权(下一步将包含在区块链中)的想法。这对于防止完全不受网络参与者控制的完全公开的分散式网络非常重要,并且与工作量证明或权益证明共识算法更相关。
Hyperledger Fabric的目标更多是用于私有许可的网络,这意味着对网络参与者的更多控制(一定程度的集中化)。如果您的公司实施内部网络,而所有节点都将属于同一组织,那么DLT(分布式分类帐技术)或区块链技术可能不是最合适的。如果您的组织将成为其所属网络的财团或组织的一部分,但与其他组织或参与者进行交互,则根据用例,对于区块链协议而言,这种情况就更有意义了。
比方说,您的组织与其他3个组织组成一个联盟,因此组成了4个组织网络,您可以以任何交易都需要所有参与者批准的方式配置Fabric网络,这使得无法进行51%的攻击设计。由于这是一个私有网络,因此该财团控制谁可以成为网络的一部分,从而对可能的恶意参与者进行更多控制。
另一个重要的一点是,在分散的网络中,有51%的攻击是相关的,参与者之间彼此不信任。在管理员有权执行数据库(读/写/管理)的传统网络中,如果具有管理员权限的参与者恶意行为是可以执行的,因为它有权执行此操作,因此,按设计防止51%的攻击是不可能的。
最后要更直接地回答您的问题,是的,Hyperledger Fabric容易受到51%的攻击,但是如果网络设置正确且使用案例有意义,则可能性很小。
答案 1 :(得分:2)
最终取决于所使用的共识算法。回想一下Hyperledger Fabric支持可插拔共识。
因此,由于受支持的共识算法会随着时间的变化和发展,因此我将提供一个更通用的答案(而不是专注于Hyperledger Fabric的当前版本)。
如果使用崩溃容错算法(例如当前的Kafka),则51%的诚实多数就足够了(更确切地说,n / 2 + 1个节点)。
如果使用拜占庭式容错算法(在较旧版本中为PBFT,或者在未来计划使用BFT-smart),则需要66%的诚实多数(更确切地说,为2n / 3 + 1个节点)。
以上所有都是下限。一些共识算法需要“更严格”的诚实多数。