美文网首页井英俱乐部阿Q茶馆
学习使我快乐番外篇二十三:安全相关(3)

学习使我快乐番外篇二十三:安全相关(3)

作者: 7451762bf1b8 | 来源:发表于2018-09-20 21:47 被阅读6次

今天本小白继续学习白墨子实验室的系列文章,区块链底层安全。本篇主要介绍了区块链底层的通常架构,以及底层主要层级的安全问题,以及白墨子实验室的解决思路。


一、区块链底层安全问题

通常的区块链,基本是由几个层级构成,对于区块链的基本架构,目前已经有比较统一的共识。一个典型的区块链分层架构如下图所示。

在这几个主要层级中,数据层、网络层、共识层,为通常意义上的区块链底层,这三个层面的安全需要如下:

1. “数据层”是区块链底层安全的核心。以分布式账本为主的底层数据是区块链安全运行的核心,区块链底层安全工作的最终归宿都是为了维护底层数据的安全、完整和无误。只要底层账本数据没有问题,那么可以认为区块链的安全是有基本保障的,相反,一旦底层数据出现错误,那么所有安全工作的成果都是差评。

2. “网络层”是区块链底层安全的基础。从结构上来看,区块链本质上是一个“分布式的P2P网络”,所有节点之间的消息传递、数据同步全都依赖于P2P网络的通信机制。这个网络层一旦出现安全问题,则区块链的安全基础会被动摇,所以,我们说网络层是区块链安全的基础。区块链底层的安全,一定要构建在一个强健、稳定的网络基础之上的。

3. “共识层”是区块链底层安全的关键。“共识”是区块链技术的核心概念之一,前面提到过的底层账本数据就是“共识的结果”。底层账本数据的重要性我们前面已经强调过,为了达成一个让众多节点公认的“正确的结果”,前提就是共识机制的安全性。区块链底层数据由于各种安全机制的保护,难以被直接攻破,因此很多攻击者将目光转向产生底层数据的共识机制,企图通过对共识机制的操纵,达到更改底层数据的目的。这也使得对共识层的安全防护日益重要,成为区块链底层安全的关键所在。

从上面的分析可以看出,如果底层不安全,上层的安全将是沙上筑塔。如果区块链底层不安全,那么像转账、智能合约、包括最上层的应用都将处于高风险之中。因为上层的各种应用,都是基于底层提供的各种基础服务运行的,并通过底层传输各种数据。底层的不安全,必将给上层带来极大的安全风险。有些安全风险在上层可以采取打补丁的办法弥补,但是会造成应用的臃肿和复杂化;而有些安全风险是上层完全无法弥补的,只能从底层来解决。

二、安全是设计出来的

白墨子实验室有一个重要的理念,即安全是设计出来的。需要从产品的设计之初就纳入考虑范畴,从整体框架的设计上就要融入安全的思想,而不能一开始不管不顾,只管多拉快跑,妄图事后再通过打补丁的方式提升安全水平。因为系统的基本设计一旦定型,遇到安全问题再打补丁不仅费时费力,而且很多问题已经无法在现有框架内解决,除非把整个系统推倒重来。因此,安全设计是必须的,就像房子的地基一样,如果地基都没有建好,后面的安全机制都是空谈。

区块链时代最大的变化就是从中心化单机环境变成了去中心化的分布式环境。一个区块链平台经常涉及几十万甚至上百万的节点,与传统环境相比,更新升级的难度超出想象。一旦出现问题,需要更新整个网络,让每一个节点都打补丁,这个时间成本与经济成本都较高。

在区块链时代,网络的更新升级有一个新的名词,叫做“分叉”。这是因为区块链平台的更新是需要全网节点协调一直,才能完成更新任务。由于分布式环境的复杂性,有时候无法达成全员一致,这样就会导致同一个网络中运行不同的系统,这种不一致就是所谓的“分叉”。

分布式的环境使得区块链的安全问题在运行后的解决方面,难度较中心化的环境相比有很大提升,在分布式环境中,进行安全改造和升级是比较繁琐的事情,所以与其在后期打补丁甚至分叉,不如在开始设计时就把安全问题考虑进来,实现最大限度的减少安全隐患,确保区块链的安全稳定。

三、比特币的成功经验

白墨子实验室以比特币进行了举例说明。比特币平台的一大特色是创始人中本聪是安全人员出身,因此比特币在设计之初对安全考虑得非常全面、设计得非常周到,甚至很多地方为了安全舍弃了很多非核心的功能。

举个小例子,实现比特币平台,不可避免地要用到大量的密码算法及其算法库。江湖传言,现在网络上公开的相当比例的密码学相关开源算法库,都有NSA(National Security Agency,美国国家安全局)内置的后门,但中本大神选择的算法库,正好完美地避开了NSA的陷阱,这难道只是一个巧合吗?我们更相信这是中本聪举手投足之间展露的安全大师的风范。

比特币平台是自出现以来安全事件最少见、安全补丁打得最少的区块链平台,作为第一代区块链平台,用户可能对比特币平台有这样那样的不满,但对比特币平台的安全能力从来是非常信赖的,而比特币平台也确实没有辜负用户的信赖。这也是白墨子一直倡导的核心安全理念:“安全的系统是设计出来的,而不是打补丁修改出来的”。

总结比特币平台在安全方面的成功经验,主要有以下几点:

系统设计之初即融入安全思想,为区块链平台先天注入安全基因;

“如无必要,勿增实体”的奥卡姆剃刀定律,不在核心目标之外做画蛇添足的事;

涉及到核心安全方案时,要慎重取巧,甚至宁拙勿巧。

“在继承中创新,在创新中发展”,白墨子认为这应当是面对比特币这一区块链技术老前辈的正确态度。在未来,安全问题的重要性会提到越来越高的层面,引起更多的重视,相信在未来以白墨子实验室为代表的区块链安全团队会发挥越来越重要的作用。

相关文章

网友评论

本文标题:学习使我快乐番外篇二十三:安全相关(3)

本文链接:https://www.haomeiwen.com/subject/yaconftx.html