热门标签 | 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来说,还需要打破一个全球的标准,仍有很长一段路要走。

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


推荐阅读
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • This request pertains to exporting the hosted_zone_id attribute associated with the aws_rds_cluster resource in Terraform configurations. The absence of this attribute can lead to issues when integrating DNS records with Route 53. ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 由二叉树到贪心算法
    二叉树很重要树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。单就面试而言,在 ... [详细]
  • 深入解析RDMA中的队列对(Queue Pair)
    本文将详细探讨RDMA架构中的关键组件——队列对(Queue Pair,简称QP),包括其基本概念、硬件与软件实现、QPC的作用、QPN的分配机制以及用户接口和状态机。通过这些内容,读者可以更全面地理解QP在RDMA通信中的重要性和工作原理。 ... [详细]
  • 本文介绍了一种基于选择排序思想的高效排序方法——堆排序。通过使用堆数据结构,堆排序能够在每次查找最大元素时显著提高效率。文章详细描述了堆排序的工作原理,并提供了完整的C语言代码实现。 ... [详细]
  • Go语言实现经典排序算法:归并排序
    本文介绍如何使用Go语言实现经典的归并排序算法,探讨其原理、代码实现及性能特点。适合Golang开发者和编程爱好者。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
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社区 版权所有