所以据我所知,比特币的PoW容易受到51%的攻击,但作为一个分布式系统,它也容易受到BFT的1/3攻击,对吧?我认为数学上已经证明,在一个分布式系统中,如果有超过1/3的坏节点一起协作,那么无论发生什么,都不能安全地达成正确的共识?
因此,对于比特币来说,有两种可能的攻击场景,一种是如果一个miner节点的计算能力始终超过整个网络的51%,那么它可以无限期地加倍消费,基本上可以无限量地使用现金。
另一种情况是,如果整个网络中超过1/3的节点是坏人,他们与修改过的恶意节点代码一起工作,那么他们可能会阻止正确的块被接受,并使其他人无法知道哪个是正确的最长链,从而阻止处理和记录有效的事务。
我的理解正确吗?
工作证明
共识
分享
改进这个问题
跟随
7月26日4:58问
hellopeach公司
16733青铜徽章
“坏人如何与恶意代码协同工作”?比特币网络没有节点的概念(无法识别它们),这就是为什么有工作证明的原因JBaczuk 2018年7月26日5:19
JBaczuk,好吧,也许他们可以用僵尸网络或其他东西传播成千上万的恶意修改比特币客户端?这是一个P2P网络,如果你认为“节点”这个词不准确,那么可能是“节点”?例如,如果目前世界上有100万比特币客户端在运行,而其中有34万个客户端在运行恶意代码,那就意味着我们将无法安全地就什么是正确的最长链达成共识,对吗?我认为拜占庭将军的问题适用于所有分布式系统,包括比特币,对吗你好,2018年7月26日6:00
怎样才能阻止其他66万人接受最长的连锁店JBaczuk 2018年7月26日13:54
添加评论
5个答案
6
所以据我所知,比特币的PoW容易受到51%的攻击,但作为一个分布式系统,它也容易受到BFT的1/3攻击,对吧?
不,比特币并不是一个传统意义上的“共识系统”:它从来不会达到一个至少在理论上不能倒退的状态。从理论上讲,今天的积木可能会在几年后被拆除,但在比特币中,随着时间的推移,其计算难度会增加。
因此,不可能达成共识的结果通常不适用。
另一种是,如果整个网络中超过1/3的节点是坏人,与修改过的恶意节点代码一起工作,那么它们就有可能阻止正确的块被接受。
不。只要攻击者不设法划分诚实节点的图形,他们就可以控制(比如说)99%的节点,网络将继续正常运行。在发生分区的节点数量上没有什么神奇的阈值,你只需要有一个诚实的节点就可以完全正常工作。
分享
另一种情况是,如果整个网络中超过1/3的节点是坏人,他们与修改过的恶意节点代码一起工作,那么他们可能会阻止正确的块被接受,并使其他人无法知道哪个是正确的最长链,从而阻止处理和记录有效的事务。
网络上的矿工连接非常好(请参阅:光纤中继网络),因此任何数量的恶意节点都无法停止矿工之间新数据块的中继。
对于常规节点,如果您的节点仅连接到恶意节点,则可能存在风险。有几个内置的保护措施来帮助缓解这种情况,但它仍然是一种可能性。有关Sybil攻击风险和缓解策略的详细概述,请参阅bitcoin.it。
如果怀疑自己受到Sybil攻击,可以强制节点连接到自己选择的对等节点。作为一个例子,一个矿工或是一个值得信赖和公众熟知的同行可能是一个很好的选择。但这种情况很少见,我实际上不知道有任何用户因为Sybil攻击而损失资金的案例。
分享
改进这个答案
跟随
7月26日9点36分答复
奇特里克
15.5k33金徽章1616银徽章4141铜徽章
我不明白你的意思,你好像在暗示每个矿工都和其他矿工有联系?这意味着如果有10000个矿工,那么每个矿工至少连接到9999个对等点?我想拜占庭将军的问题不适用,如果你能保证好人之间有某种可靠的联系你好,2018年7月30日6:24
矿工们使用光纤快速中继网络互相广播数据块。通常,单个矿工将连接到池,而这些池将连接到光纤。加入此网络的恶意节点数量不会影响已连接的矿工。这不是有足够的“好人”的问题,只是节点的原始数量无关紧要,只要所有诚实的节点没有完全分开chytrik 2018年7月30日6:57
我想这正是我要说的?如果好人之间有可靠的联系,那么拜占庭式的一般问题就不适用了。这就是你所描述的纤维你好,2018年7月30日11:37
一般来说是的,但是光纤只被矿工用来传递新的数据块信息,所以我只想指出,对于挖掘节点,它提供了良好的连接性。非挖掘节点也很重要,不要使用光纤。作为G。Maxwell在上面回答说,即使99%的节点是恶意的,只要有一个诚实的节点就足够了。通常的BFT规则,似乎你问不一定适用于比特币系统。例如,没有1/3阈值chytrik 2018年7月30日17:42
添加评论
0
拜占庭将军问题的状态为任意m,算法OM(m)达到共识,如果有超过3m的将军,最多m叛徒。
此外,当组成网络的大多数行动者决定一个国家时,就达成了共识。请参阅了解区块链基础。
比特币通过工作证明解决了这个问题。工作证明算法的难度会定期调整,以便网络最终计算出可接受的解需要10分钟。当找到此解决方案时,它会在整个网络中传播,任何参与(非恶意)的节点都将始终接受最长的链(完成工作最多的一个)。
因此,如果超过1/3的节点在伪造事务并进行证明工作,那么平均而言,其他69%的计算能力将超过攻击者,并且始终能够生成更长的链。它本质上是一场解决下一个障碍的竞赛,这就是为什么成功攻击需要超过50%的时间。
我强烈建议阅读Satoshis的电子邮件和比特币白皮书
分享
改进这个答案
跟随
回复时间:7月26日14:20
JBaczuk公司
676011金徽章99银徽章2525铜徽章
如果有1/3的节点是恶意的,只是不传播他们自己的矿工的解决方案,那么其他一些非恶意节点就不会得到解决方案,并被“困”在恶意节点控制的网络中,这难道不存在风险吗?我的意思是,信息传播本身在分布式系统中不容易出现拜占庭将军的问题吗你好,2018年7月30日6:16
如果发生这种情况,那么1/3的节点将不会被更新。另外2/3就可以了。这并不意味着网络无法继续,新的节点将无法加入。你仍然可以调查网络中最长的链条,找到“公认的真相”。我不确定我们是否在讨论同一个问题,但我认为gmaxwell的回答是有帮助的,比特币不是一个传统的共识网络JBaczuk 2018年7月30日12:00
PoW和BFT解决不同的问题。有几个区别:
BFT假设节点(aka miners)是预先知道的。PoW/Nakamoto共识允许任何人成为节点(矿工)。
BFT假设节点不会随时间变化。PoW/Nakamoto共识并不作出这种假设。
BFT不允许使用叉子。PoW/NC允许在正常情况下临时分叉(没有人会突然积累大量散列能力)。PoW/NC甚至允许有人将比特币的整个历史重写回block 1,前提是他们能够积累足够的哈希能力。
这使得比较这两种算法变得很困难——就像比较一种在排序列表中查找数字的算法和一种在未排序列表中查找数字的算法一样。
分享
改进这个答案
跟随
7月5日19:46编辑
7月4日19:55回答
姚翔
9655青铜徽章
添加评论
-1
拜占庭将军问题经常被用来说明比特币网络的安全机制,但这种类比并不完全。
在经典的拜占庭将军问题中,有明确定义的将军数量,所有将军都行使相同的投票权,而比特币是一个开放的点对点网络,任何人都可以连接。
这就是为什么他们开发了PoW算法,其工作原理不同于经典的拜占庭共识发现。
分享