拜占庭将军的问题是什么?


upfile

让我们想象一下,一群拜占庭将军想要攻击一座城市,他们将面临两个不同的问题:

每个将军及其军队在地理上相距甚远,因此通过中央集权指挥是不可行的,这使得协同作战极其困难。

被攻击的城市有一支巨大的军队,他们赢得胜利的唯一方法就是同时发起攻击。

为了使合作成功,城堡左侧的军队派出信使,向城堡右侧的军队发送周三攻击的信息。然而,假设右边的军队没有准备好进攻,并要求信使携带周五进攻的信息。信使需要通过穿越被攻击的城市返回左边的军队,那么问题就来了。在这个可怜的信使身上,可能会发生很多事情。例如,他可能会被抓获、泄露信息或被攻击的城市所取代。这将导致军队获得被篡改的信息,并使战斗计划失败。

以上例子对区块链具有明显的参考意义。区块链是一个巨大的网络,你如何相信它们?如果你想从钱包里给某人发送4枚以太币,你如何确认网上的某人不会篡改信息,并将4枚以太币改为40枚以太币?中国发明了工作量认证机制,以绕过拜占庭将军的问题。其操作原理是:假设左军想在周一向右军发送进攻信息,他们需要执行以下步骤:

首先,他们会添加初始文本nonce”,这个nonce任何随机16进制值都可以。

其次,它们将被添加nonce结果是哈希的文本。假设他们决定只在哈希结果的前五名为零时共享信息。

如果哈希结果符合条件,他们会让信使从哈希结果的信息开始。否则,他们将继续随机改变nonce值,直到得到预期的结果。这个过程不仅冗长耗时,而且占用了大量的计算能力。

如果敌人抓住信使并试图篡改信息,哈希的结果将根据哈希函数的特点发生剧烈变化。如果城市右侧的将军看到没有指定数量的信息,他们将停止攻击。

然而,这里可能有一个BUG。

哈希函数不是100%免碰撞。那么,如果城市里的敌人在获取信息后篡改新手小白,他必须通过不断的变化,看到硬币投机技能的变化nonce值,从指定数量的0开始,那该怎么办?虽然很耗时,但还是可行的。在这种情况下,将军可以使用数字的力量。

假设不是左将军向右将军发送信息,而是三个左将军向右将军发送信息。为了实现上述目的,他们可以制作自己的信息,然后哈希积累的信息。然后,添加哈希结果nonce值得之后,哈希又来了。这一次,他们希望以6个0开始生成信息。

显然,这将非常耗时。但这一次,如果信使被城市抓获,敌人想篡改信息并找到结果nonce价值可能需要无限长的时间,也可能需要几年例如,如果将军派出多个信使,城市可能会在计算过程中受到攻击和摧毁。

右边的将军要做的很简单。他们只需要给他们正确的东西nonce将值添加到信息中,然后比较结果是否匹配。将哈希串成字符串很容易。本质上,工作量证明的过程是:

寻找符合哈希目标的哈希目标nonce这是一个非常困难和耗时的过程。

然而,很容易验证结果中是否存在作恶行为。

DECENT/DCT是什么币?DECENT货币价格,官方网站
上一篇 2022年06月17日
NSD币/Nasdacoin是什么?NSD货币交易平台和官网
下一篇 2022年06月17日
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 liqiaoqiant@qq.com 举报,一经查实,本站将立刻删除。

相关推荐