热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(ang010ela)浅析区块链与安全

2018-02-14ang010ela浅析区块链与安全原文地址:http:www.4hou.comtechnology10315.html导语:本文介绍了区块链的一些基础知识,以及

2018-02-14 ang010ela 浅析区块链与安全
原文地址:http://www.4hou.com/technology/10315.html

导语:本文介绍了区块链的一些基础知识,以及区块链与安全相关的话题,阐述了区块链作为未来互联网的展望。

区块链改变了原有的数据和通信方式,对现有Internet架构提出了挑战,或许我们的架构正在改变。与传统的C/S模型相比,区块链是一种开放的、分布式的架构。对大多数人来说,区块链就是加密货币的代称。

公有vs.私有区块链

事实上有两种形式的区块链,一种是公有区块链,一种是私有区块链。比特币就属于公有区块链,而一些商业应用就属于私有区块链。与公有云和私有云类似,区分公有和私有区块链的就是谁能够加入到该网络中,运行一致的协议和维护共享的分类账本(ledger)。

透明性是公有区块链的另一个基本属性。个体在进行交易时是匿名的,而交易本身是可以被追踪的。这也就解释了为什么比特币注定是pseudonymous(使用笔名的)而不是anonymous(匿名的)。透明性意味着可以追踪可疑的交易并终止洗黑钱这类的服务,包括恶意代理用比特币进行勒索的活动。

相比而言,私有区块链是需要每个实体去识别自己的控制网络。加入私有区块链需要邀请,而私有区块链中的交易也是受管理的。与公有区块链相比,透明性就下降了。

分类账簿中的信息不向所有参与者公开,也不是所有参与者都可以读取。许多规则管理了存储和达成一致的过程,包括决定节点的角色。私有区块链有许多参与的节点,比如设备和用户。然而,这些一致性也是区块链成员进行管理和维护的。

公有区块链将密码学、分布式系统、经济学、博弈论、图论和政治学结合在一起,在这些学科中有一个微妙的平衡。而私有区块链对政治学的依赖程度比较低,也没有确保分类账簿安全的经济动机。在私有区块链中,使用传统的方法和加密技术来提供安全。

公有区块链的透明性也提供了一定级别的安全性,网络实际上是通过工作量证明(Proof of work, POW)来管理的。为了防止其他人向区块链中加入区块,攻击者必须在区块链中拥有51%以上的计算能力。而POW要求参与者解决一个复杂的密码学难题,才能向链中加入新的交易区块。

权益证明(proof of stake, POS)算法是用来让公有区块链在计算需求上更加高效,也可以减轻对动机的需求。基于POS的区块链以一种决定性的方式选择谁可以添加区块。这种方法目前是存有争议的,一些专家质疑在特定情况下解决争执的能力,也有人质疑POS算法抵抗区块链攻击的能力。

区块链和安全

在一项针对采用区块链技术企业的调查中,受访者最主要的安全挑战是不理解区块链的工作原理。

《(ang010ela)浅析区块链与安全》 最主要的安全挑战是不理解区块链的工作原理

在关于区块链如何影响安全的考虑中,Radware发现主要有对DNS的影响,基于区块链的控制和防止DDOS攻击的能力。

对DNS的影响

去中心化的,安全的DNS系统是DNS的改革方向,这主要源于针对Dyn的DDOS攻击以及对威胁landscape的影响。事实上,基于区块链的服务可以解决许多互联网目前所面临的可用性和性能的问题。许多前瞻者以及在研究基于区块链的解决方案来让DNS、Web站点和其他公共服务更加去中心化,更加安全。比如,Namecoin正在尝试创建一个基于公有区块链技术的可选的DNS系统。Namecoin用大量的比特币矿机来确保它自己可以抵御51%的攻击。

Namecoin背后的思想是一种全分布式的域名事务账本,每个用户都可以添加域名,但是该域名的维护也只能由其属主来维护。这个概念提供一种非监管的、开放的DNS架构,这种架构也引出一个新的问题。那就是我们如何防止恶意用户滥用这种服务呢?目前,我们所用的方法就是将C&C服务器和其他恶意服务器列入黑名单,但是对于开放的、非监管的系统,这并不是一种可以强制的方法。

市场上的网关解决方案选择将恶意域名加入黑名单。但是不同的网关产品与开放系统是不同步的。这也出现一个问题,那就是谁来维护、执行和监管这个黑名单。

控制混乱

那么是谁在控制区块链呢?这是一个非常重要的问题。公有区块链内在的限制就是不能认为是安全的,直到能够吸引大量的参与者加入链中。在区块链的工作量证明Proof of work中,抵御攻击的能力被设定为51%的计算量阈值。那如果恶意攻击者在区块链中获取了所有权会怎么样呢?所有链中计算量低于攻击者的都不能低于攻击。只有当所有区块链的参与者的计算能力足够大时,会让攻击变得成本极高, 也就能抵御攻击。

要在新的加密货币中建立可信度,首先要利用比特币中的计算能力。加密货币协作挖矿的边链正在覆盖出于安全考虑建立的区块链,但是动机仍然要矿机同意协作来挖取新货币。这就是为什么Namecoin一部分是DNS,一部分是可交易的货币。

抵御DDoS

这种新出现的平台的主要优势也是劣势。因为他们是完全分布式的而且本身就可以抵御DDOS攻击。但是,基于区块链的DNS需要每个参与者存储所有的域名目录和所有的历史记录。这对许多实体来说,是一种不切实际的需求。大家可以想象一个提供web服务的系统能够很容易的被客户端和设备访问,但是客户端系统和设备不想或不能存储区块链账本的所有目录。这样的web服务将分散的DNS服务聚集在一起。

细想加密货币,许多人都用手机等移动设备来进行交易。这样的话,事实上他们是没有加入在区块链的节点。他们使用一种提供对运行在后台的区块链的边界访问。2017年,许多加密货币交易都成为DDOS攻击的受害者,数据泄露都集中于这些加密货币交易网站的门户。

这些事件说明为了做到完全的分布式并拥抱新的基于区块链的Internet,每个设备都要在本地存储上存储全部的Internet DNS域名和完全的变更历史。另外一种选择就是,基于区块链的Internet必须倒退到依然易被攻击的大规模数据泄露和DDoS攻击的门户和网关。换句话说,变化地越多,可能变化越小。

未来是怎样?

区块链是一种新兴的技术,正在不断的发展中。看起来很适合加密货币交易和特定的商业应用,但是作为新Internet来说,还需要打破一个全球的标准,仍有很长一段路要走。

只有时间能告诉我们区块链是否能够以及能够多大程度上改变互联网。同时,要在关于区块链的乐观和怀疑中有一个平衡,用已有的一些技术来保护自己。


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 前面刚有AWS开战MongoDB,双方“隔空互呛”,这厢又曝出2亿+简历信息泄露——MongoDB的这场开年似乎“充实”得过分了些。长期以来,作为“最受欢迎的NoSQL数据库”,M ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有