关于底层P2P网络底层通信协议节点通信,INVE互联价值有哪些技术创新?

【图文】P2P网络概述_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
P2P网络概述
&&实用的P2P资料
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢该文章内容可能包含未经证实信息,如您已证实,请点击举报,了解更多内容请查看
区块链网络安全及防御技术研究综述
曾几何时,区块链还只是比特币背后一种默默无闻的底层技术。今时今日,这一技术已脱胎而出,成为各行各业关注的焦点。
提起区块链,总绕不开其最关键的几大技术要素:P2P网络通信、信息加解密、共识机制以及交易验证机制,其中,P2P网络通信技术是保证区块链网络稳定、高效运行的基础。本专题将重点分析基于P2P网络通信技术的区块链网络所面临的安全风险与挑战。
区块链网络安全成为新研究热点
近年来,区块链技术逐渐进入人们的视野,各行各业都开始争相研发基于区块链网络的应用系统,以期抢占先机。我们不难预料,随着各类应用系统的问世,区块链网络将在人们的网络体验中扮演越来越重要的角色,甚至对人们的生活习惯乃至思维模式产生深远影响。
然而,在区块链网络自身发展与完善的同时,还面临着来自多个方面的安全威胁,因此,区块链网络安全成为了一个新的研究热点。
区块链网络面临的一些主要安全威胁有:由信息共享导致的、路由攻击、存取攻击、行为不一致攻击、目标节点过载攻击、穿越防火墙以及新型网络病毒的传播。虽然研究者已经提出了安全通信、信任管理等机制来防御上述攻击,但由于区块链网络自身特性所限,区块链网络安全仍然是一个很有挑战的研究领域,同时也具有非常广泛的应用前景。充分研究区块链网络中各种可能的攻击和防御措施,对于实现有效的区块链网络监管尤为重要。
区块链网络概述
区块链网络是一种分布式网络,在这种网络中,所有的节点都是对等的,各节点具有相同的责任与能力以协同完成任务,每一个节点既能充当网络服务的请求者,又能对其他节点的请求做出响应。对等节点之间通过直接互联共享、处理器资源、存储资源甚至高速缓存资源等,无须依赖集中式服务器。
区块链网络一般具有如下特点:
1.非中心化:网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行。
2. 可扩展性:在区块链网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩展,理论上其扩展性几乎是无限的。
3. 健壮性:由于服务是分散在各个节点之间进行的,部分节点在遭到破坏时对其它部分的影响很小。
4. 隐私保护:在区块链网络中,由于信息的传输分散在各节点之间进行,而无需经过某个特定的中间环节,大大降低了用户隐私信息被窃听和泄漏的可能性。
5. 负载均衡:在区块链网络环境下,由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,资源分布在多个节点,更好地实现了整个网络的负载均衡。
与传统C/S模式相比,区块链网络取消了服务器。所有节点在逻辑上是对等的,每个节点既充当服务器为其他节点提供服务,也充当客户端享用其他节点提供的服务。节点越多,区块链网络的性能就越好,稳定性就越高。图1分别给出了区块链系统与C/S系统的结构示意图。
区块链网络攻击研究
区块链网络是一种开放的、不受限制的网络,各区块链节点对整个网络的了解是十分有限的,每个区块链节点只需维护邻居节点的信息,并进行实时更新,就可以保证整个网络正常运行。也正因为如此,区块链网络的安全问题也特别突出:恶意节点通过伪装自己,可自由加入或离开区块链网络,并可利用区块链节点的局限性来发动攻击或破坏网络的完整性。
目前,针对区块链网络的Sybil攻击、Eclipse攻击、DDoS(Distributed Denial of Service,分布式拒绝服务)攻击等的相关研究在国际国内获得了广泛关注。
Sybil攻击通过向区块链网络中引入多个恶意构造的节点来达到控制整个层叠网络的目的,它可以被用于监控发布和搜索流量、隔离特定共享内容等;Eclipse攻击的目的是将若干个目标节点从区块链网络中隔离出去,劫持其通信信息,控制其网络行为。DDoS攻击的目标是单个区块链网络节点,占用甚至耗尽其资源(如CPU、带宽等),使其不能正常提供服务。
揭开几种区块链网络常见攻击方式的神秘面纱
重点讲解上述三种攻击方式的原理,以供有关机构参考,在开发基于区块链网络的应用系统时采取措施加强防范。
基于区块链网络的 Sybil攻击
Sybil攻击最初是由Douceur在点对点网络环境中提出的,他指出这种攻击破坏了分布式存储系统中的冗余机制,并提出直接身份验证和间接身份验证两种验证方式。后来,Chris Karlof等人指出Sybil攻击对传感器网络中的路由机制同样存在着威胁。
Sybil攻击,又称女巫攻击,是指一个恶意结点非法地对外呈现出多个身份,通常把该结点的这些身份称为Sybil结点。Sybil攻击方式主要有以下几种类型:直接通信、间接通信、伪造身份、盗用身份、同时攻击、非同时攻击。
在区块链网络中,用户创建新身份或者新节点是不需要代价的,攻击者可以利用这一漏洞发动Sybil攻击,伪造自己的身份加入网络,在掌握了若干节点或节点身份之后,随意做出一些恶意的行为。例如误导正常节点的路由表,降低区块链网络节点的查找效率;或者在网络中传输非授权文件,破坏网络中文件共享安全,消耗节点间的连接资源等,而且不用担心自己会受到影响。图2示出了在区块链网络中攻击者进行Sybil攻击的原理。
Sybil攻击对区块链网络的影响主要体现在以下几个方面:
1. 虚假节点加入:在遵循区块链网络协议的基础上,任何网络节点都可以向区块链网络发送节点加入请求消息;收到请求消息的区块链节点会立即做出响应,回复其邻居节点信息。利用这个过程,Sybil攻击者就可以获取大量的区块链网络节点信息来分析区块链网络拓扑,以便更高效地对区块链网络进行攻击或破坏。
2. 误导区块链网络节点的路由选择:节点间路由信息的实时交互是保证区块链网络正常运行的关键因素之一。节点只需定时地向其邻居节点宣告自己的在线情况,就能保证自己被邻居节点加入到其路由表中。恶意的Sybil入侵者通过这个过程,可以入侵正常区块链节点的路由表,误导其路由选择,大大降低区块链节点的路由更新和节点查找效率,极端情况下,会导致Eclipse攻击。
3. 虚假资布:Sybil攻击者一旦入侵区块链网络节点的路由表,就可以随意发布自己的虚假资源。区块链网络的目的是实现用户间资源的分布式共享,如果网络中充斥着大量的虚假资源,那么在用户看来,这将是无法接受的。
基于区块链网络的Eclipse攻击
Moritz Steiner等人在Kad网络中提出了Eclipse攻击,并且给出了该攻击的原理。Eclipse攻击是指攻击者通过侵占节点的路由表,将足够多的虚假节点添加到某些节点的邻居节点集合中,从而将这些节点“隔离”于正常区块链网络之外。当节点受到Eclipse攻击时,节点的大部分对外联系都会被恶意节点所控制,由此恶意节点得以进一步实施路由欺骗、存储污染、拒绝服务以及ID劫持等攻击行为。因此,Eclipse攻击对区块链网络的威胁非常严重。
区块链网络的正常运行依赖于区块链节点间路由信息的共享。Eclipse攻击者通过不断地向区块链节点发送路由表更新消息来影响区块链节点的路由表,试图使普通节点的路由表充满虚假节点。当区块链节点的路由表中虚假节点占据了较高的比例时,它对区块链网络的正常行为,包括路由查找或者资源搜索,都将被恶意节点所隔绝开,这也是这种攻击被称为月食攻击的原因。图3示出了在区块链网络中攻击者进行Eclipse攻击的原理。
Eclipse攻击和Sybil攻击密切相关,它需要较多的Sybil攻击节点相配合。为了实现对特定区块链节点群的Eclipse攻击,攻击者必须首先设置足够多的Sybil攻击节点,并且向区块链网络宣称它们是“正常”的节点,然后使用这些Sybil节点与正常的区块链节点通信,入侵其路由表,最终把它们从区块链网络中隔离出去。
Eclipse攻击对区块链网络的影响十分重大。对于区块链网络来说,Eclipse攻击破坏了网络的拓扑结构,减少了节点数目,使得区块链共享的效率大大降低,在极端情况下,它能完全控制整个区块链网络,把它分隔成若干个区块链网络区域。对于受害的区块链节点来说,它们在未知的情况下脱离了区块链网络,所有区块链网络请求消息都会被攻击者劫持,所以它们得到的回复信息大部分都是虚假的,无法进行正常的资源共享或下载。
基于区块链网络的DDoS攻击
DDoS攻击是一种对区块链网络安全威胁最大的攻击技术之一,它指借助于C/S技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动攻击,从而成倍地提高拒绝服务攻击的威力。
传统的DDoS攻击分为两步:第一步利用病毒、木马、缓冲区溢出等攻击手段入侵大量主机,形成僵尸网络;第二部通过僵尸网络发起DoS攻击。常用的攻击工具包括:Trinoo、TFN、TFN2K、Stacheldraht等。由于各种条件限制,攻击的第一步成为制约DDoS攻击规模和效果的关键。
新型的DDoS攻击不需要建立僵尸网络即可发动大规模攻击,不仅成本低、威力巨大,而且还能确保攻击者的隐秘性。图4示出了在区块链网络中攻击者进行DDoS攻击的原理。
区块链网络中具有数以百万计的同时在线用户数,这些节点提供了大量的可用资源,例如分布式存储和网络带宽。如果利用这些资源作为一个发起大型DDoS攻击的放大平台,就不必入侵区块链网络节点所运行的主机,只需要在层叠网络(应用层)中将其控制即可。理论上说,将区块链网络作为DDoS攻击引擎,如果该网络中有一百万个在线用户,则可以将攻击放大一百万倍甚至更多。
基于区块链的被动DDoS攻击通过修改区块链客户端或者服务器软件,被动地等待来自其它节点的查询请求,再通过返回虚假响应来达到攻击效果。通常情况下,会采取一些放大措施来增强攻击效果,如:部署多个攻击节点、在一个响应消息中多次包含目标主机、结合其它协议或者实现漏洞等。这种攻击利用了区块链网络协议中基于“取(pull)”的机制。被动攻击属于非侵扰式,对区块链网络流量影响不大,通常只能利用到局部的区块链节点。
Sybil攻击是Eclipse攻击成功实施的基础。Sybil攻击的目标是单个物理节点在区块链网络上产生大量不同的身份,成功的Sybil攻击可以使发动Eclipse攻击变得更为容易。对单个节点进行DDoS攻击的前提是向区块链网络发布大量的虚假消息或被动地做出虚假响应,Eclipse攻击可以帮助攻击者劫持网络节点间传递的信息,增大成功实施DDoS攻击的可能性。
Sybil攻击只是冒充单个区块链网络节点,对区块链网络的影响是比较小的;Eclipse攻击使得部分区块链节点脱离区块链网络,这对受攻击的节点来说是无法接受的;DDoS攻击的目的是大量占用受害节点的资源,使其无法正常提供服务,因此DDoS攻击对区块链网络的影响是致命的。
黑客攻击下,如何确保区块链网络的安全?
详细分析针对这三种攻击方式的防御研究现状,以共同维护区块链网络安全。
区块链网络安全防御研究
近年来,针对上述对区块链网络的攻击方式,研究者提出了安全通信、信任管理等若干防御机制。
1. 基于区块链网络的Sybil攻击防御研究
自从Sybil攻击出现以来,针对其防御工作的研究一直都没有中断过。对Sybil攻击的防御措施,大致可以归为以下几类:
(1)信任认证:目前它被认为是防御Sybil攻击最通用的方法。通过一个授权中心,只有经过信任认证的节点才能加入区块链网络,共享和下载资源。研究者提出了以下几种主要方法:利用EigenTrust算法,根据节点之间的信誉值从网络中隔离信誉值较小的恶意节点,从而减小Sybil攻击的影响;根据信任度模型提出信任转移方法,即每个节点主动创建其邻居节点的信任度信息,节点在进行共享信息交换时,也交换节点的信任度信息,去除信任度低的节点。有研究者提出,只有经过信任验证,才能完全消除Sybil攻击的影响,而且这是仅有的方法。
(2)资源测试:资源测试通过检测节点拥有资源(计算资源、存储资源、网络带宽等)的多少来验证节点的有效性,减弱Sybil攻击。研究者提出了以下几种主要方法:在使用DHT进行查询的过程中,尽量使用不同的节点集合,以确保至少有一部分查询结果是可用的,进而减缓Sybil攻击对网络性能的影响;基于稳定性和ID差异性等特点对节点ID进行检测与分类,然后充分利用区块链网络的分布式特性,利用一种名为Self-Registation的方法,以减缓Sybil攻击的可能性。
(3)提高节点加入网络的代价:通过限制节点的加入过程,例如只有具有一定计算能力的节点才能加入区块链网络,来减小Sybil攻击的可能性。研究者提出了以下几种主要方法:针对节点身份的认证方案,利用通过增加节点获取身份代价的方法,来尽可能地减少Sybil攻击;基于小世界模型提出了一种Sybil攻击防御机制,亦即将Sybil攻击团体的发现归结为最大流/最小割问题,引入虚拟节点并利用爬行器找到Sybil攻击团体,进而将其与系统分开,从而减少Sybil攻击节点的数量,弱化Sybil攻击的影响。
2. 基于区块链网络的Eclipse攻击防御研究
目前,大多数针对Eclipse攻击的防御措施主要体现在攻击检测、攻击容忍和攻击限制3种方法上。
(1)恶意节点检测:有研究者认为,当拥有有限资源的恶意用户发动大范围的Eclipse攻击时,恶意节点的入度一般要高于网络中正常节点入度的平均值。基于这一事实,可以要求正常节点仅仅选择那些入度低于某一阈值的节点作为邻居节点,尽可能地限制恶意节点对正常节点的攻击。
(2)攻击容忍,主要包括路由冗余与路由重置:一些研究者提出了一种通过在Pastry和Tapestry路由表中添加冗余表项的方法,来增加恶意节点占据路由表的难度,以减缓Eclipse攻击的危害。
也有研究者提出了一种使用两个路由表进行路由的方法,一个路由表是优化路由表,另一个是验证路由表。通常情况下,节点优先使用路由效率相对较高的优化路由表进行路由,在路由检测失败的时候则依靠验证路由表通过安全冗余路由来重新进行路由。
使用双路由表的方法由于优化路由表的毒化程度会不断加剧而具有一定的脆弱性,因此另有研究者提出了一种通过诱发网络抖动来防御Eclipse攻击的方法,即周期性地将优化路由表重置为验证路由表,而在大部分情况下使用优化路由表进行路由更新。
(3)攻击限制:有研究者提出一种通过外部验证服务来解决Eclipse攻击问题的方法,即通过使用验证服务来对节点ID进行签名,防止攻击者随意选择生成自己的节点ID并生成大量的节点,这样攻击者无法控制自己的节点在ID空间中的位置,亦无法侵占目标节点路由表的特定位置,也就无法成功实施Eclipse攻击。
另有研究者提出不仅要对节点加入进行限制,还要对路由协议做出改进,要求网络中的所有消息都沿着特定的区域进行转发,以避免恶意节点产生的假消息在网络中传输。
3. 基于区块链网络的DDoS攻击防御研究
基于区块链网络的DDoS攻击是一种应用层攻击,相对于网络层攻击而言,其更难于检测和防御。当前,针对基于区块链网络的DDoS攻击的防御技术主要包括基于验证的方法、基于成员管理的方法、基于信誉的方法和受害者端的方法。
还有研究者提出了直接验证和多点验证方法。直接验证是指节点获得节点C的信息后,直接发送消息到C,以验证C的存在以及其是否能够对请求做出响应;多点验证中节点并不直接发送消息到C,而是等到从其它m个节点中获得C的信息后再使用之。
(2)基于成员管理的防御方法:是指改进区块链系统的通信架构,改变成员间的合作关系,从而防御其被用来进行DDoS攻击。有研究者分析了无结构区块链网络内部的泛洪DDoS攻击,并提出针对“坏”节点的检测和防御机制OLICE,其基本思想是区块链网络的所有节点通过与其它r跳内邻居的协作来管理其直接邻居的查询行为,进而识别出可能的恶意节点。另有研究者提出通过在极端节点层平衡查询流量来限制Gnutella的查询泛洪攻击。
(3)基于信誉的防御方法:是指在区块链节点之间建立信誉机制,根据交互历史和预期,确定节点消息的可信度。有研究者根据观察发现,攻击者会针对同一标题广播大量版本消息,并且每个攻击者容易使用相邻网段进行攻击,每个区块链节点自身维护本地信誉列表,忽略信誉值低的节点。另外,有研究者还提出可以将黑名单机制引入到信誉管理中。
(4)受害者端的防御方法:是指通过在受害者端采取和部署特定的防御措施,过滤攻击报文,来减轻其被攻击的影响。有研究者将应用层上的DDoS攻击进行抽象建模,并提出了在受害者端建立攻防结合的防御机制DOW,其结合异常检测方法与代价方法,来降低攻击会话速率、攻击请求速率。
另有研究者提出了一种加速方法,该方法针对应用层DDoS攻击,以网络带宽作为代价,采用了以攻代守的策略,鼓励客户端发送更多请求。还有研究者认为网络管理员清楚下游主机具体提供了哪些服务,提出了在受害者端的上游进行包过滤的方法,也有研究者提出了由怀疑指派机制和DDoS弹回调度器组成的一种防御机制。
本专题共分三大部分,第一部分概述了区块链网络的基本概念与特点;第二部分重点介绍了目前对区块链网络安全威胁最大的3种攻击方式:Sybil攻击、Eclipse攻击和DDoS攻击;第三部分详细分析了针对这3种攻击的防御研究现状。
从上述分析来看,区块链网络安全及其防御等各方面的技术尚未成熟,还存在许多问题亟待解决。同时,基于区块链网络的应用正处于不断地发展之中,新的安全及防御问题将无法避免,还需大量研究。
(整理自《计算机科学》)
&本文长度:500字,建议阅读时长:6min最近沉迷类似于《007系列》、《谍影重重系列》这样的动作片,发现电影中特工在处理任务时,有一点和投机交易非常类似————以防御为主,攻击为辅。刚进入投机交易行业的交易者,通常会以攻击为主,防御为辅的策略(或者是完全没有防御策略),进行交易,而这样的策略会让他们犯了『交易过大头寸』的错误,如果特工们在面对敌人的时候,只想着攻击,而忽略防御来保护自己的生命,那...&所谓外汇交易技术面分析,是指通过各种技术指标对以往价格和交易量数据进行研究,从而预测未来的价格走向。此类型分析侧重于图表与公式的构成,以捕获主要和次要的趋势,并通过估测市场周期长短,识别买入/卖出机会,根据您选择的时间跨度,可以选择日内(5分钟、15分钟、每小时),也可以选择每周或每月的技术分析图表。  与基本面分析不同的是,技术面分析是可以完全忽略基本面因素,只在市场价格变化的基础上进行研究。在...&ATM机,又被称作“自动柜员机”,在日常生活中比较常见,如果说有人告诉你他可以让ATM机自动吐钱,或许你只会说他是白日做梦。而安全专家会告诉你,这并非痴人说梦,早在2010年的国际顶级黑客大会BlackHat现场,来自美国的著名黑客巴纳拜·杰克(见图)利用他独创黑客技术令自动提款机狂吐钞票,一跃成为全球最牛的“明星黑客”,而同样是在BlackHat现场,2016年威斯顿·黑客(WestonHeck...&爱财之家aicaihome1月13日,上线不到一周的基金公司小程序悄然出现变化。21世纪经济记者注意到,包括“建信基金+”、“广发基智理财”、“华夏基金通”、“银华赢在定投”等4个基金公司小程序已经暂停服务,若从小程序界面端直接搜索上述小程序号,则已经没有相关结果显示。上述4家基金公司的小程序与南方基金旗下的“南方基金微理财”、嘉实基金旗下的“嘉实逐流英雄汇”、工银瑞信旗下的“工银基金优选“属于最...&
公众号推荐
上海最大的房地产日刊 服务三十万都市中产
我公司主要做健康管理咨询(医疗、诊疗项目
以独特的视角来审视当前的热点,用特有的语
点评各种新闻,点评各电商有趣资讯!
专注香港保险的金融资讯平台,分享金融财经
汽车知识,新车,二手车,评估,分期,汽车
送财帮手每天分享最新关于钱的事情
阳光时代律师事务所专注于能源环境领域,专
蒙城在线(www.mczx.cn)是蒙城
股市风云变幻,汇市大浪淘金,一点通致力于您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
P2P网络中基于依赖关系的更新传输机制及其实现.pdf 68页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
协同软件主要是所有各种不同的人员在一个互相协同的环境当
中进行工作,完成一个相同的项目。它的特点主要是以团队协作和项
目管理为目标,把各种分散的资源整合在一起,形成一个共享信息系
统。通过网络实现协同工作,以达到数据的传输、数据的共享以及数
据的编辑和查阅功能。协同应用的前提是建立一个强大的信息沟通平
台,在底层通信基础上建立的一个逻辑的信息传递平台,保证信息能
实现无差错的、即时的、一致的传递。
协作应用中如何实现数据更新的一致性是本文研究的核心问题。
实现更新的一致性主要涉及两个方面:第一是各个数据副本的组织策
略以及如何在副本之间传播数据更新,第二是更新数据传播到达目标
节点后如何保证多个副本的数据是一致的。
针对上述问题本文提出了基于依赖关系的更新传输机制,并在此
机制下实现了三步确认的更新模型。主要内容包括:
1)定义数据的一致性语义。不同的协作应用对一致性的要求是不一
样的,主要存在三个一致性语义标准:本地一致,依赖关系,全局一
致。对更新数据包之间的关系的确认,更新包的关系主要包括交换关
系、冲突关系、依赖关系。 阐述了更新包的关系与数据一致性之间
的内在联系。
2),分析了更新机制实现的关键技术,从更新的发送、传输和接收上
阿述了实现协作应用中数据更新交互的解决方法。详细分析了更新的
发起中涉及到的并行更新操作的发现机制,以及更新传输中的
epidemiC传播模型。
3)提出了基于依赖关系的更新机制,在分析协作应用的交互的基础
上,实现了基于依赖关系的三步确认的更新模型。在P2P网络中,实
现了三步确认更新传播模型在实际应用中的雏形,并提出了在广域网
下的改进方法。
最后,简要的总结了研究成果,指出了三步确认的更新模型在实
际应用的不足,并进行了展望。
关键词:协同软件、数据一致性、更新机制、依赖关系、三步确认模
CollaborationSoftwareiSthat
ofdifferentto
circumstanceandtoachieveacommon characteristicistaketeam-work
project.Its
resource to
projectmanagementobjective,integrateseparated together
ashareinformation
system.Implememcooperationthrough
editanddataconsult.The
providetransmission,datashare,data
ofcollaboration istobuilda
ofinformation
precondition
application
information
intercoursewhich
deliveryplatform communication,
ensuretheinformationbedelivered
andconsistent.
no—faulty,instant
正在加载中,请稍后...Blockchain can be Blocked(比特币网络通讯底层漏洞详解)
本帖最后由 微位科技 于
14:14 编辑
现在可见的几乎所有加密货币和区块链的讨论都源于中本聪的白皮书:《比特币:一种点对点的电子现金系统》Bitcoin: A Peer-to-Peer Electronic Cash System (Satoshi Nakamoto)。
2008 年11月1日,一个密码学邮件组收到了
邮箱发出的这份白皮书,日,中本聪的个人电脑里挖出了50个比特币,并在创世区块里留下一句永不可修改的话: “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(日,财政大臣正处于实施第二轮银行紧急援助的边缘)。”
当时正是英国的财政大臣达林被迫考虑第二次出手纾解银行危机的时刻,这句话是泰晤士报当天的头版文章标题。区块链的时间戳服务和存在证明,让第一个区块链产生的时间和当时正发生的事件被永久性的保留了下来。
日出现了最早的交易所汇率:1美元=1309.03比特币。十年后比特币的价格已经超过8000美元,按照2017年峰值的最高价20000美元一枚计算,2100万枚比特币的市值达4200亿美元,外加各种山寨币、分叉币,加密货币总规模已经突破万亿美元。比特币带给我们最大的冲击是原来哈耶克的创想可行,技术可以超越现有政府的框架实现“非国家化的货币”并开始流通。
在币值飞涨的疯狂年代,已经很少人再去翻看中本聪的白皮书。仅有九页的白皮书只是一套技术方案,所有的篇幅都是为了探讨一个“币”的实现,超越软件技术本身,我们去细加审视更本质的问题:比特币的“去中心化”是否彻底,是否真正成为了一个权力分散且完全自治的系统?白皮书中是否还有哪些缺陷,是中本聪默认忽略又事实存在的假性前提。
去中心化=大多数人正义[白皮书摘要]:本文提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构。虽然数字签名(Digital signatures)部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付(double-spending)的话,那么这种系统也就失去了存在的价值。我们在此提出一种解决方案,使现金系统在点对点的环境下运行,并防止双重支付问题。该网络通过随机散列(hashing)对全部交易加上时间戳(timestamps),将它们合并入一个不断延伸的基于随机散列的工作量证明(proof-of-work)的链条作为交易记录,除非重新完成全部的工作量证明,否者已经形成的交易记录将不可更改。最长的链条不仅将作为被观察到的事件序列(sequence)的证明,而且被看做是包含CPU最大计算工作量的链。
只要绝大多数的CPU计算能力都没有打算合作起来对全网进行攻击,那么诚实的节点将会生成最长的、超过攻击者的链条。这个系统本身需要的基础设施非常少。信息尽最大努力在全网传播即可,节点(nodes)可以随时离开和重新加入网络,并将最长的工作量证明链条作为在该节点离线期间发生的交易的证明。
细读比特币白皮书,你会发现中本聪的“去中心化”背后的潜台词是“大多数人正义”,共识机制是比特币的核心理念。
建立一套“去中心化的P2P支付系统”,没有中心(中介)的支付系统,要避免“双花”(双重支付double-spending)如何核对记账?答案是通过共识机制:用密码原理和工作量证明(Pow)代替中心化权威信用。
产生一条新的交易记录时永远有先后顺序,即便是双花也总有先后顺序,同一用户不可能同时创造两笔交易。比特币首先引入了基于时间戳的随机散列,让其形成前后相关的序列,比特币的交易记录就是一个时间序列的链条。这就是为什么称之为区块链的原因。
要避免双花,我们只需要证明其中一条链有效即可,并且将其记录到交易链条上,其他的交易就是无效的了。要证明其中一条是有效又不允许中心化从存在,只有一个办法:发动所有人参与这项活动,进行“多数人的正义”。
POW 共识算法正是为了解决谁是大多数的问题,“大多数”的决定表达为最长的链。新区块进行节点广播,一旦有节点收到了这个区块的广播,会按照“当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性”的规则进行验证。
验证通过后,这个节点就不会再接受别的节点的同样区块了。同时这个节点会终止自己正在进行的包含同样交易的区块计算,也就说不会在进行无用功了,节点在这个区块基础上启动新的交易区块计算,如此往复,形成链条。
由于网络延迟,如果同时有几个节点互相收到交易区块,记录同样的链条(分叉),该僵局的打破要等到下一个工作量证明发现。通过一段时间运行,总有一条区块链时序最长,作为最终被认可的链条。比特币区块链就是在不停的分叉、抛弃、又分叉、又合并的过程。
共识机制替代中介信任,那么我们探讨一下极端情况下可能会出现什么问题?
假想的灾难让我们一起头脑风暴一场假想的灾难:
2018年某一天下午15:30,中国的海底光纤突然出现故障,国际出口被阻断。整个比特币网络仍旧正常运转:国内的矿池、矿场币照样挖;国外的矿场、交易所继续正常挖币和交易。只是不知不觉间,中国的比特币网络和国际比特币网络被撕裂为两个子网。
17:40,故障后2个小时,光纤故障排除,国际出口复通。
在故障期间,中国境内的算力形成一个链,境外的算力形成另外一条支链。按照共识机制,就看哪条链的长度更长,而长度较短的另一链会被淘汰,即这条被淘汰的支链上产生的所有交易需要重新核算,同时记账奖励将被作废。
由于中国国内的算力占比高达70%,国外链毫无意外会被淘汰,这将为比特币带来灭顶之灾:在故障发生的两个多小时,境外矿场的算力成果被销毁了,海外所有的比特币交易面临重新核算,大家该收到的比特币没收到,该支出的没支出,整个比特币上的商业活动被瘫痪。
大规模通讯中断会将比特币网络撕裂为算力悬殊的两个分支,那么最优的策略是故障发生那刻起,整个比特币网络立即停摆,直到故障修复。否则如果保持隔离状态继续运行,复通合并时就会出现更棘手的瘫痪。
为防止支链带来的干扰造成损失,比特币一笔交易至少需要 6 个区块的确认,一个区块时间是10分钟,6个区块就是一小时。假如故障导致的网络隔断超过一小时,就会给交易带来冲击,隔断时间越长冲击越大。
人们对比特币容灾能力的讨论,更多地关注于分布式的多节点存储备份,忽略了共识机制本身造成的隔离和吞没效应。
这样的假想并非天方夜谭,就在 2018年3 月30日,非洲国家毛里塔尼亚由于海底电缆被切断,造成全国范围内彻底断网时间长达 2 天,该起事件还同时影响数个周边国家,断网噩梦首次在现实中上演,说明全球范围内的网络基础设施并非人们想象的安全。
实际上,全球大约 97% 以上的网络数据通过海底电缆传输,但各国出于军事目的而进行的海底电缆附近活动并不在少数。2013 年,有 3 名潜水员在埃及被捕,他们被指控为涉嫌切断海底电缆。
而在军事战略家的理论中,全面切断海底电缆,影响该国军事通信能力,对敌方造成经济损失和瘫痪性灾难,也不失为一种重要的备选打击手段。
并且,能让比特币陷入瘫痪的可能还不止天灾。
算力垄断≠51%攻击目前对比特币的信仰建立在全网51%算力难以企及上,然而最近人们越来越多开始担忧,掌握大规模ASIC矿机的矿场事实上已经垄断了51%算力。
根据《麻省理工科技评论》在 日发布的最新研究表明,比特币和以太坊都属于开放区块链系统,即原则上任何人都可以成为矿工,但因为这样的架构特性,自然形成了相应的组织集中挖矿资源。
基于每周一次的统计,排名前四名的比特币挖掘活动就占整个系统挖掘活动的 53%;而以太坊挖掘活动的中心化程度甚至更加稳固,前 3 大矿机占整体系统每周平均挖掘活动高达 61%。算力垄断是否已经动摇了比特币“去中心化”的特性?
答案是否定的。51%攻击不会来自生态内。
这是因为矿场巨头们虽然集中控制了算力,但他们按照游戏规则,付出了大量硬件投资和电费消耗。如果发动51%攻击,整个系统的价值就会崩溃,那么攻击获得的比特币就没有任何意义了。
51%攻击必然来自于体系外。
从假想天灾我们可以得到一点启发,发动51%攻击不一定要靠控制算力,影响网络层可能是成本更低,更可实现的方式。下面发散列举一些可能性:
大规模的黑客攻击行动,控制主干网络设备的路由策略,发动BGP攻击。网络设备商的后门权限。针对核心路由器0day漏洞的蠕虫病毒在传播过程中,有意或无意地封闭了国际出口。电信运营商的国际出口通讯故障。国家防火墙的限制和阻断。
以上类似天灾的场景中,发动者都可以是体系外的成员,并且不需要耗费大量硬件和电力资源投入,只需要控制网络层就可以轻松实现。这就暴露出比特币和所有加密货币最致命的缺陷:网络层天然高度中心化。
被忽略的默认前提:信道安全区块链的底层是P2P网络通信技术,区块链本质上是一个基于P2P的价值传输协议。
比特币采用了基于国际互联网(Internet)的P2P(peer-to-peer)网络架构。P2P是指位于同一网络中的每台计算机都彼此对等,各个节点共同提供网络服务,不存在任何“特殊”节点。每个网络节点以“扁平(flat)”的拓扑结构相互连通。在P2P网络中不存在任何服务端(server)、中央化的服务、以及层级结构。P2P网络的节点之间交互运作、协同处理:每个节点在对外提供服务的同时也使用网络中其他节点所提供的服务。
早期的国际互联网就是P2P网络架构的一个典型用例:IP网络中的各个节点完全平等。当今的互联网架构具有分层架构,但是IP协议仍然保留了扁平拓扑的结构。在比特币之外,规模最大也最成功的P2P技术应用是在文件分享领域:Napster是该领域的先锋,BitTorrent是其架构的最新演变。
“比特币网络”是按照比特币P2P协议运行的一系列节点的集合。除了比特币P2P协议之外,比特币网络中也包含其他协议。例如Stratum协议就被应用于挖矿、以及轻量级或移动端比特币钱包之中。网关(gateway)路由服务器提供这些协议,使用比特币P2P协议接入比特币网络,并把网络拓展到运行其他协议的各个节点。例如,Stratum服务器通过Stratum协议将所有的Stratum挖矿节点连接至比特币主网络、并将Stratum协议桥接(bridge)至比特币P2P协议之上。我们使用“扩展比特币网络(extended bitcoin network)”指代所有包含比特币P2P协议、矿池挖矿协议、Stratum协议以及其他连接比特币系统组件相关协议的整体网络结构。
运行比特币P2P协议的比特币主网络由大约个运行着不同版本比特币核心客户端(Bitcoin Core)的监听节点、以及几百个运行着各类比特币P2P协议的应用(例如BitcoinJ、Libbitcoin、btcd等)的节点组成。比特币P2P网络中的一小部分节点也是挖矿节点,它们竞争挖矿、验证交易、并创建新的区块。
比特节点通常采用TCP协议、使用8333端口(该端口号通常是比特币所使用的,除8333端口外也可以指定使用其他端口)与已知的对等节点建立连接。
P2P网络只是为所有节点提供了信息交换的方式,做事的还是共识算法和加密算法。但接收方必须信任,数据区块的传送过程中没有被任何中间方改变破坏。这实际上需要一个“信道安全”的前提保证(这是中本聪没有明确提出,又默认必须的条件):
我们信任区块链软件,相信它在运行中不受破坏,而传输的是非伪造的数据。
我们信任运行区块链软件的运行系统,它在运行中不受破坏,而传输的是非伪造的数据;
我们信任为系统提供网络的中央处理机,相信它不受破坏,而传输的是非伪造的数据。
这种信任,基于“网络中立化”而产生。然而,互联网的传输和承载网建设,属于高度资本性投资。因此,所有的互联网基础建设,均来自通讯企业高额投资,而互联网服务,均由各大ISP及其分销商提供。
这便带来了一个相对矛盾的问题:“去中心化”的分布式系统,承载于中心化的互联网服务之上,但却并未被广泛意识到,这种天然的高度中心化的底层传输网络,对“去中心化”的互联网产品有着轻而易举的打击实力和控制能力。
从比特币的协议细节便可看出,其对传输层的攻击并未充分防范。比特币的传输协议报头都是明文,且规律恒定,其报文开头4个字节就是0xF9BEB4D9。相信中本聪在设计协议时,将大部分精力都集中在交易过程的密码学设计上。因为对区块链而言,传输数据是否加密,并不影响交易本身的有效性:中间人即使窃取了报文,亦无法让篡改后的交易数据被其他节点接纳。
但这种高度自信、过分依赖于信道安全性的协议,在网络底层发动的攻击中,便显得格外脆弱。愈合攻击便是一种足以瓦解比特币信仰的攻击手段。
愈合攻击Merge attack :有趣的是,“区块链”Blockchain一词本不是白皮书中的原生词汇,尽管原文中提及“区块”Block达67次,提及“链”Chain的有27次,但中本聪从未将Blockchain合并在一起。Block既有“块”的意思,但不要忘了它同时还是另外一个含义:“限制、阻碍”。人们也许有意忽略,Blockchain can be blocked。
区块链的核心是共识机制,共识是分布式系统经过网络传输“投票”决策模式,干预和影响分布式系统的承载网络。我们发现,在特定场景下,恶意地利用共识机制,可以间接影响、左右“共识”的预期结果,造成共识破裂。鉴于攻击过程涉及到区块链网络的撕裂与修复,我们将此方法称之为“愈合攻击”。
愈合攻击,简而言之,是先通过“撕裂”,将区块链网络隔离成能超过“共识阈值”(比如POW的51%)的两个独立链条,然后间隔一定时间(超过交易确认时间)后,让两个链条“愈合”,利用合并对冲来强制抛弃其中一条已有大量交易的链条。
愈合攻击实际上是分区攻击(Partition attack)+延迟攻击(Delay attack)的连续组合攻击手段,其破坏力远超DDos攻击和IP封堵。
针对节点、矿工的DDos、封堵ip地址等攻击方式,其影响力是短暂的。无论对任何IP地址发动DDos攻击,被攻击者都是有感知的,因为节点和矿工将立即意识到,自己无法和任何人通信。被攻击者很快可以切换IP的方式应对。攻击对整个区块链网络造成的破坏并不明显,因为节点在切换IP后,仍得以与其他节点进行通信,确保了交易确认,不会导致区块链网络带来毁灭性影响。
愈合攻击直接撕裂网络,形成两个大局域网。两个网内的节点均可以相互通信,并无断网感知,也就无从采取防范措施。它利用网络层,在愈合的一刻使“共识机制”崩溃:假如节点全部遵守“Code is Law”,则必然出现分链被吞没;不遵守代码约定,则需人为分叉,进而颠覆信仰。更致命的是,愈合攻击可以高效率地反复进行,分治对冲,比特币网络就就会瘫痪。
愈合攻击并不仅针对比特币网络有效,对于以太坊等加密数字货币,同样有着致命威胁,尽管以太坊在通讯协议上进行了一定程度的加密,但这仅仅是为了保护智能合约的安全,并不是以消除通讯协议的识别特征为目标的加密。只要根据其网络通讯中长链接、冗余心跳机制等数据和行为特性,攻击者仍然可以精准打击,通过隔离网络,发动愈合攻击。
因此,无论是哪种数字货币,只要没有在通讯底层从数据和行为上抹去特征,便难逃愈合攻击的火力覆盖。近年来广受炒作的山寨币,包括莱特币、门罗币、比特币现金、量子链等则更不能幸免。声称尚未被攻击过,远远不能够作为具有防破坏性的理论证明。
进一步来看,所有的共识算法,包括POW、POS、DPOS,都需要保证传输无干扰。因为分布式系统的共识算法本质上都是在信道安全的前提下,解决一致性和正确性问题。而信道安全前提一旦不成立,共识算法保障的“一致性”和“正确性”将瓦解。
BGP劫持愈合攻击是瓦解区块链的技术手段,实施愈合攻击,最常用的是BGP劫持。什么是BGP劫持呢?
正常的矿机与矿池的通讯应该包括这几个步骤:
矿机 -& 网络运营商A -& 网络运营商B -& 网络运营商… -& 矿池
由于比特币矿池的跨地域性,在矿机和矿池之间的网络运营商(ISP)可能有数个作为跳转。这是极不安全的,任何一个环节的都有可能被黑客通过边界网关协议(BGP)劫持。
边界网关协议(BGP)是因特网的关键组成部分,用于确定路由路径。BGP劫持,即利用BGP操纵因特网路由路径。无论是网络犯罪分子还是国家防火墙,都可以利用这种技术来达到自己的目的,如误导和拦截流量等。
BGP是一种网络协议,用于交换因特网上各网络之间的路由信息。一般情况下,它用来确定在独立运营的网络或自治系统之间路由数据的最佳路径。 因此,它也常常用来寻找从ISP到ISP路由数据的路径。需要注意的是,BGP不是用来传输数据的,而是用来确定最高效的路由路径的。 实际的传输工作,是由其他协议来完成的,例如TCP/IP协议栈。
配图1.png (26.27 KB, 下载次数: 0)
6&天前 上传
[size=14.6667px]现在,假设我需要发送数据到世界的另一端。最终,这些数据肯定会离开我的ISP所控制的网络,因此,必然就会用到BGP。 当然,路由路径是无法通过单独一个自治系统来决定的,这需要其他的BGP对等端或邻居的参与才行。 这些对等端是些已经通过手工配置为共享路由信息的自治系统。当自治系统学习新路由的时候,这些信息就会进一步传播到其他对等端。 通过梳理从BGP对等端收集来的路由信息,处理这些数据的路由器就能够找出最佳路径。这些最佳路径是参考多种因素综合得出的,包括距离以及路由器管理员实现的配置设置等。 由于传播路由的对等端是手工配置的,因此有必要入侵一台边界路由器来广播外部BGP通告,从而实现因特网级别的BGP劫持。尽管这做起来非常困难,但是BGP劫持攻击确实已经出现在现实世界之中了。
配图2.png (37.31 KB, 下载次数: 0)
6&天前 上传
因为BGP决定了数据从源端到目的地端的传输方式,所以,必须要关注该协议的安全性。通过操纵BGP,攻击者可以按照自己的意愿来修改数据的传输路线,从而达到拦截或者修改数据的目的。 为了劫持因特网级别的BGP,需要配置一个边界路由器,让它发送含有未分配给它的前缀的通告。
如果恶意通告比合法通告还要具体,或者声称提供更短的路径,那么流量就可能被定向到攻击者那里去。 攻击者经常利用弃用的前缀来进行劫持,以免引起合法属主的关注。通过广播含有虚假前缀的通告,受攻击的路由器可能会污染其他路由器的路由信息库。 在污染了其他路由器之后,恶意路由信息可能会进一步传播到别的路由器中,或自治系统,甚至主干因特网上。
最近几年来,已经有多起BGP劫持攻击被记录在案:
比较著名的就是13年巴基斯坦屏蔽Youtube的事件。由于巴基斯坦电信部门错误地把屏蔽youtube加到了BGP上,导致该协议上的所有AS都被屏蔽了。换句话说,全世界其他所有国家的人都无法上Youtube了,因为数据包都涌向巴基斯坦了,而巴基斯坦恰恰屏蔽了Youtube。
在Renesys记载的案例中,2013年BGP劫持技术曾经用来重新路由数据,使其在到达目的地之前,先经过任意指定的国家。 其中,一个攻击案例中的数据流量,在到达起目的地之前,竟然先绕道墨西哥至美国,然后转至白俄罗斯。通过散布虚假BGP广播,白俄罗斯的ISP成功将非法路由传播到了因特网上。 在这个案例中,很可能是一种公司或国家间谍行为。不过,有迹象说明,即使非国家级别的对手,照样也能够发动BGP劫持攻击。
2014年Dell SecureWorks分析的一个案例中,BGP劫持被用来拦截比特币矿机到采矿池服务器的链接。通过将流量重路由至攻击者控制的矿池,攻击者就能够窃取受害者的比特币。 这次攻击在两月内收集到了价值$83,000的比特币。
在2015年7月,监视软件供应商Hacking Team被黑,泄露的内部邮件表明,在2013年,意大利政府曾经与Hacking Team有关合作,同时,意大利的一家ISP也购买过该公司的BGP劫持服务。 由于托管Hacking Team指令控制服务器的IP被阻断之后,该服务器已经离线,因此该恶意软件与指令控制服务器的连接也一直保持不可达状态。通过公布托管该指令控制服务器的虚假IP前缀,Hacking Team竟然又恢复了对受害者机器的访问能力。 这是第一个记载在册的西方国家政府使用BGP劫持的案例。
致命伤: “拜占庭将军问题”&“两军问题”比特币是分布式系统一次空前的社会实验,也被称为解决”拜占庭将军“问题的成功实例。在此强烈建议大家百度或者维基一下理论原型。
拜占庭将军问题是2013年图灵奖得主 Leslie Lamport 在 1980 年的论文 The Byzantine Generals Problem 中提出的分布式领域的容错问题,这是分布式领域最复杂、最严格的容错模型。Lamport是分布式系统的祖师爷级的大师,这个故事也广为流传:
拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。
拜占庭将军问题不去考虑信差是否会被截获或无法传递信息等问题。Lamport已经证明,在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。另一个比“拜占庭将军问题”更基础,更广为人知的是“两军问题”Two Generals’ Problem:
两支军队,分别由两个将军领导,正在准备攻击一个坚固的城市。两支军队都驻扎在城市旁边的两个不同的山谷里。两军之间隔着第三个山谷,两个将军想要通讯的唯一方法就是穿过第三个山谷传送信件。问题是,第三个山谷被城市的守卫敌军占据,并且经此传送的信件可能会被守卫敌军截获。虽然两个将军商量好要同时对城市发起攻击,但是他们没有约定特定的攻击时间。为了保证取胜,他们必须同时发起攻击,否则任何单独发起攻击的军队都有可能全军覆没。他们必须互相通信来决定一个同时攻击时间,并且同意在那个时间发起攻击。两个将军彼此之间要知道另一个将军知道自己同意了作战计划。
两军问题是阐述在一个不可靠的通信链路上试图通过通信以达成一致是存在缺陷的和困难的,这个问题经常出现在计算机网络入门课程中,用于阐释TCP协议不能保证通信两端状态的一致性。不过两军问题同样适用于任何有可能通信失败情况下的两点通信。
对比两个故事,我们会发现两军问题和拜占庭将军问题有一定的相似性,但必须注意的是,信差得经过敌人的山谷,在这过程中他可能被捕,也就是说,两军问题中信道是不可靠的,并且其中没有叛徒之说,这就是两军问题和拜占庭将军问题的根本性不同。
两军问题是在计算机通信领域首个被证明无解的问题,由此也可推论出,信道不可靠条件下的“拜占庭将军问题”也同样无解。
这意味着我们传输信息时仍然可能出现丢失、监听或篡改的情况。也许只有未来的“量子通讯”可能解决加密通信的问题。
搁置各种加密货币共识算法的优劣争论,我们必须看到本质问题,是共识算法离不开信道安全前提。
比特币在理论上的缺陷,就是出在网络通讯层的安全上。人们过高的着迷于区块链这种技术在时间戳签名、哈希链等密码学上的贡献,而忽略了其作为分布式系统的网络层安全。事实上这种技术还在早期阶段,尽管十年来比特币曾被上百次的预言死亡而仍健在,但作为科学和技术的本体,是更不应被盲目迷信的。
网络通讯混淆协议BSO比特币的信仰建立在彻底去中心化的大前提下:整个体系公平、自治,不依赖也不需要现有的中心化机构介入,甚至也无法介入。因此,评价一个加密货币成功的标准必须在于是否彻底去中心化,中本聪理想化的忽略了网络的中心化现实,任何不彻底的“中心化”残余之处,都可能成为击垮整个比特币的“阿琉克斯之踵”。
比特币要实现彻底去中心化,承载价值网络之名,就必须运行于安全的网络上,成为加密到底层通讯协议的全加密货币。现实的网络世界,完全安全、透明、中立的网络通讯是不存在的。量子通讯从理论到落地仍需假以时日。现实的思路是立足当下技术之可为,从安全和成本制衡的角度,改良和重新设计区块链的P2P通讯协议,使工程学所能实现的安全量级大大超过现实可用于监听、拦截、破坏区块链通讯所要付出的成本代价。
以太坊和一些加密货币开始使用加密通讯协议,这是一个好的开始。然而这些协议仍留有很多痕迹。在2018年初,移动互联网系统与应用安全国家实验室举办的一场通讯加密数据识别邀请赛中,几乎所有的加密货币通讯数据全被识别了出来。
我们认为需要重新设计一种更优的区块链通讯混淆协议BSO(Blockchain Security Obscure Protocol),协议设计思想是让P2P网路在通讯传输时无明显特征,混淆在一般的网络通讯中。增加网络层寻识特征的难度,提高网络层识别、篡改或拦截的成本,从而保护区块链网络通讯的安全性。
混淆协议属于一种安全对抗工程,一般有两种对抗方向,一种是正面对抗,通过设计一种新的强加密协议,让中间人无法通过分析流量内容识别出应用业务,但是新协议本身的特点,容易成为被针对的特征;另一种是迂回对抗,将应用业务的流量伪装成和互联网中绝大部分正常流量一样的协议,并且同时是一种合法的加密协议,从协议特征、内容加密就可以做到难以从流量上被针对识别。
BSO混淆协议只是一个起步,未来混淆和机器学习将是一个在长期对抗中共同演进的技术,而区块链网络可以通过不断软分叉方式不断完善,健壮起来。
分布式网络治理和监控
区块链生长于网络之上,算力节点在网络上的分布生态是一个未被足够关注的问题。分布式系统的共识离不开信道安全,甚至需要网络保护。
运行在区块链上的数据,资产,应当如同承载在互联网上的信息一样,被全世界所有国家的政府、网络管理机构、运营商来保护,并承诺安全。
所有的加密货币和区块链应用,必须争取获得获得国家和政府的认可、监管并且保护。因为加密货币并不像看上去那样,可以无法无天无人可管,又令管制机构无可奈何。可能不需更多的国家跨国联手,一两个超级大国足以让整个加密货币世界停摆。以网管链,以链治币,区块链的监管将绝不是空话。
从事区块链、加密货币研究的企业、机构,更应该呼吁和推动政府部门尽快出台相关法律法规和监管政策,规范、保护并约束一个良好的生态环境。
另一个维度,区块链是需要运维的。这个观点与追求“维持开放、无需权限和分布式”的理念似乎有点格格不入。但当千百亿资本涌入那些加密货币,专业的攻击者也会盯上这片“无主之地”。在去中心化的理念下,传统的运维手段几乎都不再适用,需要探索原创性的技术资源。用分布式的监控模式,去监控分布式网络和节点的健康状态,是我们认为可欲可行的。这将是一个类似比特币挖矿一样,宏大而广阔的工程:在不同的国家、运营商,部署足够多的监控节点,来反复检测线路健壮程度,是否通畅,是否被劫持。以比特币为例,如果可以提高对劫持的预警灵敏度,以至于在不可逆的6个区块确认前,及时采取措施,也是一条可以避免愈合攻击的发生的方案。而这样的一套类似“晴雨表”的分布式节点的监控设施,将是区块链必须的基础设施之一。
信仰代码哈耶克终身都在反对人为建构的秩序,认为人类理性不及,需要由市场自生自发的秩序来认知和管理世界,并提出了《货币的去国家化》的开创性构想,他在序言写下:“当下的政治必然性不应当是经济学家关注的问题。他的任务应当是像我不厌其烦地重复过的那样,是从今天的政治角度看来不可行的政策,具有政治上的可能性。决定此时此刻应当做什么,这是政治家而不是经济学家的任务···(《货币的非国家化》第二版,1978年)”
作为技术开发者,引起我们共鸣的是:应从技术的角度探求,使得今天可能在政治上不可能的事情具有政治上的可能性。剩下的交给政治家。最后,期待人们仍可以回到对代码的信仰上。在它完善之后。
附录:致谢和参与者
由衷的感谢下面的人,他们慷慨的分享和贡献了他们的时间和见解:
Satoshi Nakamoto Bitcoin: A Peer-to-Peer Electronic Cash System 2008
Zach Julian An Overview of BGP Hijacking AUGUST 17, 2015
Dave Hudson Look back to Satoshi's White Paper to Find the Essence of Blockchain 2016
Maria Apostolaki,Aviv Zohar,Laurent Vanbever Hijacking Bitcoin: Routing Attacks on Cryptocurrencies May 2017
Liang Wang,Kevin P. Dyer,Aditya Akella,Thomas Ristenpart,Thomas Shrimpton Seeing through Network-Protocol Obfuscation
Adem Efe Gencer, Soumya Basu, Ittay Eyal, Robbert van Renesse, and Emin Gün Sirer Decentralization in Bitcoin and Ethereum Networks
Byron Gibson Bitcoin and the byzantine generals problem
Tan Qingfeng, Shi Jinqiao, Fang Binxing, Guo Li, Zhang Wentao, Wang Xuebin, Wei Bingjie Towards Measuring Unobservability in Anonymous Communication Systems
Zhu Yixiang,Li Ziyang,Liang Yingfeng,Chen Yexuan,Wang Si,Eleven zhang,Jiang Zhuojian Security analysis and improvement of Blockchain network communication focus on Bitcoin 2018

我要回帖

更多关于 dubbo底层通信 的文章

 

随机推荐