区块链学堂——区块链真的安全吗?

区块链学堂第23篇

在区块链的学术定义中,我们把区块链定义为一个非安全环境下,去中心化、采用非对称加密、和分布式存储的记账技术。

今天着重探讨一下区块链网络与传统网络相比在安全性方面的优势,并剖析这些安全优势的技术原理,以及带来的新的安全问题(非安全性)。

从区块链的定义中我们很容易得到几个与安全有关的重要信息,非安全环境下、非对称加密、分布式存储。下面一起来逐个剖析。

一、非安全环境

以公有链为例,区块链是一个开放式的网络形态,任何一个节点都可以自由加入或者退出,因为不需要授权和颁发许可证,区块链网络对每一个节点的行为和意图无从考证,没有人知道,某个节点是不是以攻击和破坏为目的加入网络的,任何一个节点都可能是破坏份子,所以区块链网络是在非安全环境下建立起来的。

二、区块链很安全

❶、非对称加密

非对称加密指的是加密和解密分别采用不同的密钥(公钥和私钥)。听起来很复杂,其实就是生活的技术化。

打个比方:张三要给王五转账,采用的平台是支付宝。

张三有个账户,这个必须公开,否则别人没办法转钱,这个账户就是公钥。张三自己还有一个转账密码,这个谁都不能说,就是私钥。同样王五也是如此。

转账过程是,王五把账户(公钥)给张三,张三登陆自己账户(公钥),输入自己密码(私钥)进行转账,成功后,通知王五,王五赶紧登陆账户(公钥),输入密码(私钥)查看钱已到账,再看转账人是张三(对方公钥),交易完成。

区块链采用非对称加密之后,可以这么理解,每一笔交易(订单)就是一封信,信封上的收信人名称谁都可以看到,但是信封里面的信(内容或订单数据),只有收信人本人才有打开阅读的权限,这样就可以有效防止泄露隐私数据。

❷、分布式记账

 不止于非对称加密,区块链网络最大的优势在于去中心化,和分布式存储。中心化的网络所有数据都存储在一个中心数据库中。以支付宝支付为例,交易记录只存储在支付宝的数据库中,一旦支付宝数据库被攻击、或支付宝数据库服务器出现故障无法恢复,所有基于支付宝的交易、支付宝中的资产都将冻结,这是风险因素之一,另外一个安全风险在于支付宝数据可以被篡改,拥有支付宝系统数据库管理权限的人(黑客或内部员工)是可以修改自己或他人的交易记录的,尽管支付宝会使用法律、和公司内部管理条例来约束员工的行为;会采用技术手段来对抗黑客攻击,但是中心化的数据库被篡改数据的可能性仍然客观存在。

而在区块链系统之下,没有集中式的数据库存储,而是采用分布式多节点存储,每笔交易,都有多份拷贝,假设有100个网络节点,就会有100份拷贝,黑客想要篡改数据,除非同时修改这100份拷贝,另外如果网络中有2个或者20、甚至30个节点出现故障,也不影响网络的正常运转。

区块链还有一个优势明显的特性,链上的区块以及数据,只能新增不能修改,也不能删除,篡改数据的可能性几乎为0,因为即使有人篡改了区块数据,是谁修改的,什么时间修改的都一清二楚,铤而走险的人将原形毕露。

三、区块链不安全

❶、无法保证匿名性

在区块链网络中,每个人或者每个节点,都有一串代表自己唯一身份的数字ID,所有人都可以是匿名的,但这仅仅只存在于区块链的网络世界中,一旦与现实世界发生联系,假设有一天可以用比特币在便利店购物,你的真实用户信息将会与比特币钱包地址产生关联,店员就可以把比特币支付地址和该用户的相貌、性别关联起来,如果是在淘宝上购物,快递公司还有可能会泄露买家的姓名、电话、家庭住址等隐私信息,匿名性将不复存在。

❷、无法保证隐私性

区块链是一个以链式结构存储的账本,溯源性在很多方面体现出了极大的优势,比如打击盗版、网络犯罪等破坏活动,但是也正因为区块链的溯源性,导致隐私可能被泄露,当每个人的网络活动(行为)都被公开记录在一个人人都可以随意访问的网络之中时,任何人都可以通过溯源窥探你在网络上的蛛丝马迹。显然,这侵犯了人们的隐私权,违背了人们的意愿,也是一个仍待探索的课题。

❸、智能合约漏洞

基于智能合约的分布式自治系统(DAOs)是当前一个炙手可热的概念,在众多领域相关应用也开始崭露头角,但是智能合约到目前为止并没有一套完整和成熟的标准,一旦把某个存在漏洞的智能合约部署到了区块链上,被黑客利用,后果不堪设想。

在2016年6月17日,被号称区块链业界最大的众筹项目TheDAO(被攻击前 拥有1亿美元左右资产)遭到攻击,导致300多万以太币资产被分离出TheDAO 资产池。遭受攻击的原因就是编写的智能合约存在着重大缺陷,TheDAO编写的智能合约中有一个splitDAO函数,攻击者通过此函数中的漏洞,重复利用自己的DAO资产来不断从TheDAO项目的资产池中分离DAO资产给自己。而由于theDAO项目是个完全去中心化自治组织系统,智能合约一经发布,则无法更改的特性,导致theDAO团队也束手无策。

这也从侧面说明,目前去中心化的自治组织(DAO)并不能完全自治,至少在自救(容错、修复错误)这点上还存在着很大的不可靠性,一旦智能合约出现漏洞,将可能带来灾难,这是不可忽视的风险之一。

四、安全相对论

区块链网络和传统的网络相比,在安全性方面有着天然的优势,非对称加密保证的交易数据的安全性;分布式存储和记账,显著降低了数据篡改、网络攻击、以及网络瘫痪的可能性。

与此同时,区块链又给我们带来了新的安全课题。

在区块链网络与传统网络发生联系时,用户信息和网络行为的隐私保护仍待解决,而在基于智能合约的分布式自治系统(DAOs)中,智能合约没有统一成熟的规范和标准,也给了不法份子可乘之机。

安全是一个相对的概念,没有任何技术能标榜自己是绝安全的,安全级别的高低取决于使用技术的人和环境,了解区块链的相对安全性,是提升对区块链认知的重要基础。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

Table-values parameter(TVP)系列之二: 利用DataTable将其作为参数传给SP

一,回顾         上一部分讲述了“在T-SQL中创建和使用TVP”,通过T-SQL建立如下的对象:         1)Tables ...

2069
来自专栏DT乱“码”

简单的考勤系统

连接数据库类 package com.lianrui.it; import java.sql.Connection; import java.sql.Driv...

3469
来自专栏玩转JavaEE

RestTemplate的逆袭之路,从发送请求到负载均衡

上篇文章我们详细的介绍了RestTemplate发送请求的问题,熟悉Spring的小伙伴可能会发现:RestTemplate不就是Spring提供的一个发送请求...

1.1K4
来自专栏闻道于事

商城项目整理(三)JDBC增删改查

商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: 1 create table TEST.GOODS_TABL...

5435
来自专栏菩提树下的杨过

winform中linkLabel的用法(示例)

private void Form1_Load(object sender, EventArgs e)         {             this...

1925
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2329
来自专栏跟着阿笨一起玩NET

[C#]工具类—FTP上传下载

  不错的文章:http://www.cnblogs.com/greatverve/archive/2012/03/03/csharp-ftp.html

1171
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

20410
来自专栏跟着阿笨一起玩NET

C#巧用Excel模版变成把Table打印出来

转载:http://blog.csdn.net/gwblue/article/details/38865525

1162
来自专栏C# 编程

C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用

//注意:请使用VS2010打开以下的源代码。 //源代码地址:http://pan.baidu.com/s/1j9WVR using System; usi...

2460

扫码关注云+社区