区块链共识协议中的密码学敌手,Part-1

ETH区块大康2019-02-12 23:53:08  阅读 -评论 0  阅读原文

假设我们生活在一个没有谎言的世界里,那么一群人之间是否更容易达成共识?乌托邦毕竟是脱离现实的,这就是为什么会出现计算机安全技术、密码学原语,以及最近的区块链协议。

人类本质上是复杂的,我们的行为也是如此。因此,要创建多人交互的协议是个极具挑战性的任务。每个人都会受到一组特定因素的激励,因此对激励的反应也不同。因此,要设计一种能够符合普遍世界观的算法(即共识协议),最关键的是找到一组适用于绝大多数人的正确设想。

在共识协议中,凡是非预期的节点行为或是违反协议的行为都被认为是恶意的。破坏力较高的恶意行为有可能会打破协议的基本设想,并阻碍参与者达成共识。这会导致共识协议或区块链协议会停留在极端状态(有时被称为活性失败(liveness failure))。最坏的情况是,作恶者可能导致全网在多个不一致的视角达成伪共识,甚至推翻之前已经达成的共识,即安全性失败(safetyfailures)。如果遇到这类情况,就需要通过外部干预来重启共识算法,这会带来高昂的成本。因此,为了将运行成本降到最低,最关键的是要在一组正确设想的基础上创建协议。

-从左到右敌手破坏力递增-

最开始的共识协议是基于简单理想的运行环境创建的,它们的目标仅仅是在没有作恶者的环境中,预先设定的一组节点可以达成共识。这是最简单的一类共识协议,一旦设计出来,下一步自然就是进行优化。在互联网之类的场景中,要部署无法处理任何故障或是恶意行为的协议是不现实的。这类共识协议需要预先知道网络中的所有参与节点,而且这些节点必须是诚实的,而且要保持在线,以便协议能够正确地输出共识。这种协议并不实用,因为就算节点是因为通信通道不稳定掉线的,也会阻碍共识的达成。

不管是光纤还是互联网都无法提供足够稳定的通信通道。如果出现停电或是掉线的情况,整个系统都可能奔溃。

因此,要创建一个更加适用于不稳定环境的系统,至少要允许节点掉线,不能假设所有节点都是完全诚实的。因此,就有了最早期的以假设存在作恶者(即,敌手)来判断协议可以容忍哪几类安全漏洞的容错算法。

敌手类型

第一类对敌手进行分类方法是基于它们的最高破坏力。最简单的一类敌手是永久离线的节点。这种脱离协议的节点行为被称为 宕机故障(crash fault) 。每当网络连接中断或终止的时候,就会出现节点掉线的问题。要指望全世界的节点都永久保持在线是不现实的,因为一旦停电,节点就会掉线。如果数据包在传播过程中出现延时或丢包的情况,节点也会在这几秒钟内失去同步。网络本身就缺乏足够的安全性,一直都是以"尽力而为"的方式在运行。因此,希望所有信息都能及时交换且节点始终保持在线是不合理的。 因此,在实用型共识算法的发展过程中,能够容忍宕机故障的协议起到了重要作用,因为这类算法能在互联网上部署了。

下一代共识协议对付的是监听用户之间消息的敌手。这类敌手会读取通信方之间私密消息,从而侵犯它们的隐私性。这类敌手被称为 被动式敌手(passive adversaries)。其目的是在对协议进行数轮监听之后伪装成诚实的参与方。这类敌手对于私密信息传输协议构成了威胁,因为通过伪装成诚实的参与方,少数恶意者可以影响多数诚实的参与方之间的共识。 在 20 世纪 70 和 80 年代,人们对这类敌手进行了研究,使用了加密和公钥基础设施等技术保护被动式敌手模型中参与方的隐私性、数据完整性和安全性。

接下来,共识协议要对付的就是能够利用收集到的信息肆意妄为的敌手,这类敌手的行为包括发送错误或冲突的消息。这类敌手被称为拜占庭敌手(Byzantine adversaries)或主动式敌手(active adversaries)。其中,"拜占庭"一词源自 Leslie Lamport 在 1982 年发表的标志性论文《拜占庭将军问题》。这篇论文阐述的共识问题有如下设定,假设有几支拜占庭军队围城,试图就一起进攻还是撤退的作战策略达成共识。在达成协议的过程中,他们面临消息丢失、消息被复制和被篡改的问题。可能还会有不靠谱的信差将消息传错顺序,也可能会有叛将向其它队伍发送冲突的消息。叛将会向一些将军中传递进攻的命令,向另一些传递撤退或原地待命的消息,从而确保拜占庭军队输掉这场战役。尽管存在上述挑战,所有忠将的目标是行动一致。

-打还是不打?-

同样地,无论会遭遇什么样的攻击,所有公链共识协议必须不断发展,并且始终如一。有些应用的用户可能不想让某些交易上链,从而会做出恶意行为,设法审查这些交易。这类恶意行为包括抢先交易(Front-running)攻击、双花攻击,还有阻碍支付结算的交易审查攻击等等。凡是搭建在区块链之上的大型金融生态系统都会面临这些攻击,其共识协议要能够容忍这些攻击,从而实现大规模的应用。因此,公链共识协议必须实现拜占庭容错。

然而,敌手的威力不仅在于恶意攻击的力度,还在于攻击生效或拉拢其他网络参与者所需的时间长短。

另一种对敌手进行分类的方法是基于成功拉拢某个选定节点所需的时间长短。能够瞬时拉拢参与者的敌手被称为"强适应型敌手"。在"静态"敌手模型中,敌手在协议开始执行之前就可以选定他想要拉拢的参与者。之后就回天乏术了。能够在少许时间内拉拢参与者的敌手被称为"温和适应型敌手"。对于敌手来说,拉拢参与者所需的时间跟验证者和委员的选举流程有关。

敌手的威力也与其算力和存储限制紧密相关。如果敌手拥有的资源量是固定的,我们就可以设想出一种计算上安全的模型。大多数协议的常见设想是存在一种多项式有界敌手。也就是说,敌手无法在一个多项式值的步骤/时间/空间内破坏协议内的任何原语。再说白点,敌手能够破坏协议安全性的概率非常小。通常来说,敌手得花上 50 到 60 年以上的时间才能破坏协议内的原语,这种程度的安全性才足够高。另一方面,如果敌手具有极其强大的财力和权力,这个协议必须在统计学层面上是安全的。也就是说,即使敌手拥有无尽的算力,花上 10 亿年也无法破坏协议。实际使用的密码学原语大多数仅仅实现了计算层面上的安全。这种程度的安全性在量子计算机普及之前都是足够高的。

经济敌手

我们已经在算力和存储方面做出了设想。这些设想都着眼于已经决定进行攻击的作恶者。所有的公链共识协议都要复杂得多,而且它们对付的敌手通常不仅限于有意作恶者。对于那些想要持久发展的公链协议来说,从经济角度设想参与者对激励机制的反应也是很重要的一点。这些经济设想非常重要,因为这是激励参与者诚实行事并遵守协议规则的首要因素。所有系统都含有三类参与者。第一类是经济理性参与者,第二类是利他主义参与者,而第三类是非理性恶意参与者。大多数区块链协议在经济激励机制的设计上有所欠缺,无法促使经济理性的参与者永远遵守协议(校注:也就是说某个设计不良的激励机制导致理性参与者破坏协议反而更能获利),使得一些攻击手段无法仅仅归咎于协议的技术层面。

接下来,在本文的第二部分,我们会对一些协议进行分析,我们之前已经发表过《除中本聪共识外的其他共识协议的元分析》一文,从每个协议应对敌手的适应性出发,对这些协议进行了研究。如果你想要更详细地了解这些敌手模型的由来,不妨阅读一下每个协议的随机数生成方案(编者注:中译本见文末超链接《区块链中的随机数》)。

要想设计出安全的系统,了解敌手模型至关重要。在人类行为的建模和区块链协议的创建方面,我们仍需付出很多努力。 虽然我们已经取得了很多成果,但是仍然存在一些敌手未得到解决,它们对我们所创建的系统有致命的威胁。 正如 Vitalik 所说:"密码经济学就好像一群智商为 5 的人想要控制一群智商为 150 的人"。人类行为总是很难建模,不过随着密码经济学之类的领域出现,我们在设计系统之时更能捕捉到人类复杂性的多个层次。 即便如此,在密码经济学领域之外,依然存在很多解决方案。 将新领域的开发和旧概念的复用巧妙结合起来,将产生一些新的敌手建模方法,并有助于设计出更安全的系统。


推特:@aparnalocked

致谢:特此感谢 Zubin Koticha、Alexis Gauba 和 Sunny Aggarwal 在我撰写本文的过程中对我的帮助。

原文链接: https://medium.com/mechanism-labs/cryptographic-ad...
作者: Aparna Krishnan
翻译&校对: 闵敏 & Elisa

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

    参与讨论 (0 人参与讨论)

    相关推荐

    比特币有什么缺点?

    1.交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。2.交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。3.价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比

    业务中使用区块链的四种方式

    业务中使用区块链的四种方式

    暴走时评:区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。 区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。越来越多的个人和企

    区块链:法定数字货币技术路线的必然选择

    区块链:法定数字货币技术路线的必然选择

    在人类发展史上,货币的进化从未停止。从物物交换,到金属铸币,再到纸质货币,以及当前正在发展的数字货币正在向着越来越便捷的方向进化。 比特币的出世起初并未带来轰动,但是最近几年其价格惊人的爬高创造出了一个个造富神话,引起各国政府及监管机构的关注。虽然金融专家普遍认为它只是一种资产,而非货币,但是,其背后的区块链(Blockchain)技术引起了包括各大金融机构、政府、企业及学术界的浓厚兴趣,未

    用区块链记录证书,证明真伪,墨尔本大学迈出了第一步

    用区块链记录证书,证明真伪,墨尔本大学迈出了第一步

    墨尔本大学宣布发起区块链认证和审核计划,允许通过一种隐私、安全且持久的方式验证学生的证书。 墨尔本大学正在试验一个区块链记录维护项目,允许接收者(即学生)存储他们的证书,出于核验目的,第三方也能访问这个系统。Learning Machine是这个发布系统的开发者,他们采用的是麻省理工媒体实验室(MIT Media Lab)在2016年提交的Blockcerts开源代码。 墨尔本大学副校长格雷

    日本IT巨头富士通联合日本“三大行”开发区块链p2p资金转移系统

    日本IT巨头富士通(Fujitsu)与三家大型银行已经宣布计划试点一项基于区块链创建的点对点资金转移系统。 通过与日本三大行——瑞穗金融集团,三井住友金融集团和三菱UFJ金融集团——的合作,富士通将现场试验一种基于云的区块链平台,用于在个体之间发送资金,并开发一款智能手机APP来提高这个系统的可用性。 从理论上讲,这个平台将把三大行的客户法定货币账户与这个区块链系统相连接。客户然后将能够使用这

    动画科普:什么是比特币?

    动画科普:什么是比特币?

    比特币(Bitcoin,简写BTC)概念由中本聪(化名)提出,是一种点对点、去中心化的数字资产;2009年,中本聪打包了第一个区块,并获得50枚比特币的挖矿奖励,挖矿奖励每4年减半一次,按此计算,比特币预计2140年发行完毕,总量为2100万枚。 随着比特币的发展,比特币逐渐受到认可:德国为全球首个接受比特币支付的国家;微软、戴尔等知名企业也纷纷接受比特币支付。 举个栗子,你能直接用比特币买到

    3分钟理解什么是公有链、私有链、联盟链、许可链

    不同的区块链有着不同的内涵和功能,在区块链领域经常出现的公有链、私有链、联盟链、许可链,这些又都代表什么意思呢? 公有链 公有链是指全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是完全去中心化的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。比特币、以太坊都是典型的公有链。 私

    区块链是比特币的底层技术,但似乎两者已走上不同的道路

    区块链是比特币的底层技术,但似乎两者已走上不同的道路

    比特币的出现带来了一项新的技术——区块链,不过区块链和比特币似乎已走上了两条不一样道路,作为技术的区块链被越来越多的人所看好,而性质偏向于投资的比特币似乎被更多人看衰。 成也萧何败也萧何 比特币火爆的原因是其拥有去中心化、全世界流通、专属所有权、低交易费用、无隐藏成本、跨平台挖掘的特性,这些特性促使比特币成为了很多人关注的焦点。之后众多庄家的入局让比特币一瞬间成为了热门投资产业,但这几大特

    麦妖榜
    更新日期 2019-08-18
    排名用户贡献值
    1牛市来了24651
    2BitettFan24162
    3等待的宿命23810
    4六叶树20310
    5区块大康19866
    6linjm122718775
    7天下无双16192
    8lizhen00215280
    9让时间淡忘14552
    10yelanyi050511301
    返回顶部 ↑