添加【金融之家】为好友

扫描二维码

或添加QQ 【724996599】成为为好友

满足以下场景,获得更高通过率:

1. 新融资求报道

2. 新公司求报道

3. 新产品求报道

4. 金融新闻爆料

我知道了

如有投稿需求,请发邮件至 tougao@jrzj.com

会有专人和您联系

我知道了

区块链共识中的加密对手:概述

来源: 首页 > 众筹

2018-11-21 00:02:31 
想象我们生活在一个人人都诚实的世界。这难道不会达成共识的情况变得更容易吗?乌托邦离现实还很远,这就是为什么我们有计算机安全技术、加密货币原语以及最近的区块链协议。
人类本质上是复杂的,他们的行为也是如此。因此,处理许多交互的协议是一项相当具有挑战性的任务。每个人都受到一系列独特因素的刺激,因此对刺激的反应也不同。因此,找出适用于大多数人类的一套正确的方法,是设计一种算法以就共同世界观(即共识协议)达成一致意见的重要一步。

在协商共识协议中,任何超出节点预期行为且不遵守协议的行为都被认为是恶意的。大量恶意活动可能会破坏协议的基本假设,并阻止协议参与者达成一致意见。这导致共识或区块链协议在最好的情况下被迫停止(有时称为活性失败)。在最坏的情况下,恶意的参与者可能会对多个不一致的视图产生错误的协议,甚至会导致已经达成的协议(安全故障)的倒退。这种情况需要昂贵的外部干预来重新启动共识算法。因此,使用正确的假设集创建协议是至关重要的,以便避免昂贵的操作。

开发的第一套共识协议倾向于在简单的对抗性假设下运行。我们的目标只是通过假设一个没有恶意参与者的环境,让预先确定的节点集达成一致。这是一个微不足道的问题,一旦设计了这样的协议,下一步自然就是改进它们。不能处理任何类型的错误或恶意操作的协议在某些设置(如internet)中是不切实际的。这些协议要求提前知道所有参与的节点,并要求所有这些节点保持在线状态,同时始终诚实行事,以便协议正确终止。但这是不切实际的,因为即使一个节点因为不稳定的通信通道而离线,它也可能阻止共识。

无论是光缆还是互联网本身都无法提供足够可靠的通信渠道。在断电或网断开的情况下,系统将失效。


为了构建一个在不稳定环境中实际上更有利的系统,系统必须至少允许节点脱机。它不能假设所有节点都是完全诚实的。因此,通过创建被称为“对手”的恶意行为者,最早应该假定哪种类型的安全漏洞协议能够容忍。

对手的类型

对对手进行分类的第一种方法是基于对手所能采取的最有力的行动。这类最简单的对手只是会永久离线的节点。这种节点的协议偏离行为被称为崩溃故障。当互联网连接中出现任何形式的中断或终止时,节点就会脱机。期望全球多个节点在互联网上一直在线是不切实际的,因为任何断电都可能导致节点离线。如果互联网上的数据包被丢弃或延迟发送,节点也可能在几秒钟内失去同步。互联网本身还不够安全,只能以“尽我所能”的方式提供数据包。因此,期望所有的信息都能及时交换,所有节点都保持在线状态是不合理的。因此,容错协议在开发实际工作的共识算法方面发挥了重要作用。

下一个迭代的协议处理可能是窃听用户之间发送消息的对手。这些对手可能会通过阅读不打算与任何人分享的信息来侵犯通信各方的隐私。这些对手被称为被动对手。这种类型的对手的目标是在监听了多轮协议后冒充诚实的参与者。这些对手对那些本应传输机密信息的协议构成了威胁。这些敌人也是一种威胁,因为少数不诚实的人能够影响大多数诚实人所同意的价值,因为少数人可以模仿其他诚实的人。这些类型的对手在20世纪70年代和80年代被研究过。加密货币和其公钥基础设施是用于在被动对抗模型中保持隐私、数据完整性和安全性的技术。

很自然地,下一步是用协议来处理那些可以利用他们收集的信息来任意行动的对手。这可能包括发送错误或冲突的消息。这些对手被称为拜占庭或活跃的对手。拜占庭这个词来源于莱斯利·兰波特1982年写的一篇里程碑式的论文,叫做“拜占庭将军问题”。这篇论文描述了围绕一个城市的拜占庭军队面临的共识问题,他们试图就是否应该进攻或撤退达成一致。当他们试图达成协议时,他们面临着信息被删除、复制和修改的问题。不诚实的将军们的目的是为了确保军队在战争中败下阵来,他们使一部分进攻,另一部分撤退,或者干脆不采取行动。尽管存在所有这些挑战,但所有诚实将军的目标都是以一种共同的方式行事。


攻击还是不攻击?

类似地,任何公共区块链共识协议都必须能够增长,并且在任意攻击的情况下保持一致。某些应用程序的用户可能不希望某些事务被记录在区块链上,也可能会积极采取恶意行动,并试图审查这些事务。这些例子包括前面运行的攻击、双重攻击和交易审查攻击,以防止支付渠道的结算。一旦有一个依赖于区块链的巨大金融生态系统存在,并且协议需要能够容忍这些攻击,才能使其在大范围内实际可用,那么也就是说这些攻击是可以预见的。因此,公共区块链共识协议必须是拜占庭容错协议。

然而,对手的力量不仅仅是对手所能采取的最激烈的行动。它还需要考虑对手的行动生效所需的时间,或者对手破坏不同参与者所需的时间。

另一种对对手进行分类的方法是,对手在决定了要腐败的对象之后,多久才能腐败另一个节点。如果对手可以瞬间腐蚀参与者,那么对手就被称为“强适应性”。在“静态”对抗性模型中,在协议执行开始之前