区块链技术之殇——沦为黑客赚钱的工具
大咖观点 区块链技术之殇——沦为黑客赚钱的工具 大咖观点 | 2018-10-09 12:36 区块链技术之殇——沦为黑客赚钱的工具 菜鸟班主任

交易所频频被盗,fomo3d大奖被黑客利用bug获取,这些都在提醒我们区块链技术目前还不够成熟,存在许多技术问题,今天班主任就带大家了解区块链存在的技术问题。

导语


交易所频频被盗,fomo3d大奖被黑客利用bug获取,这些都在提醒我们区块链技术目前还不够成熟,存在许多技术问题,今天班主任就带大家了解区块链存在的技术问题。


区块链分叉


我们在前面区块链的扩容问题中讲到,区块链的扩容就需要升级,那么升级会不会出现问题呢?


在区块链中,数据是存储在节点中的。如果区块链升级,升级后的版本不能识别之前的版本,用户们又不会统一升级,可能就有一部分升了级,有一部分没升级,但大家还是在那记账、工作。这样,升级后的用户会产生新区块,没升级的也会产生新区块,区块链就有了分叉。


如果没升级的老节点完全无法接受新节点创建的区块,这就是硬分叉。而老节点如果能接受新节点区块,但却不能完全理解和验证新区块,那就是软分叉。


这也是为什么比特币的每次升级都会造成社区的激烈讨论。



什么是重放攻击?


重放攻击是黑客常用的一种攻击手段。是指攻击者将某个消息或者数据原封不动地多次发送给节点,如果节点多次接收信息或数据不能进行有效识别,就会有重放漏洞。


举个例子:张三去包子铺买包子。包子铺规定先付款再拿包子。张三用支付宝付款。他付完款后给一个服务员看,服务员给了他几个包子。然后张三又将这个付款信息给另一个服务员看,另一个服务员在不知情的情况下,又给了张三几个包子。如此重复进行,张三就获得了不少包子。而这家包子铺就遇到了重放攻击。


重放攻击在区块链上发生分叉时最容易出现。如果新老版本计算机互相不兼容, 黑客就可以将同样的信息先发给新版本用户,再发给旧版本用户,从而使区块链遭受重放攻击,造成损失。



“双花问题”如何解决?


张三去包子铺花了5元钱买包子,他出来后发现馒头店的馒头也不错,想买馒头,但摸口袋没钱了,他想用刚才在包子铺的那5元钱再买馒头, 可能吗?


这是不可能的,除非他把包子退给包子铺。


那如果张三用的不是现金,是数字货币呢,数字货币就是一些数据,他如果把数据复制下来再去使用呢。


这就出现了双重支付,也就是区块链的双花问题。在系统中,可能由于不当操作导致一笔数字资产被重复使用。


时间戳就是解决双花问题的关键。时间戳可以证明他已经在那个时间花掉了那笔钱,不能再用了。


区块链中大家都做算术题不是吗?如果有两个人同时解出了这道算术题,怎么解决呢?这也是区块链的双花问题。


区块链同样解决了这个问题:如果两个人同时上传,虽然这个概率非常小,但是如果发生,我们就要看最后哪一个区块的链条最先连接上6个区块,才能被确认成功,之后所有的区块都要在这个链上进行,另一条就失效。



什么是51%攻击问题?


大部分区块链现在看起来是通过谁算得快来争取记账权,生成区块的。但是,如果有一天,有一个节点练就了一种绝技,算得最准最快,每一次都是他获得记账权,生成区块,再如果他有坏心眼的话,那就麻烦了。


石头村原来是通过掷骰子来决定谁当会计,每个人掷6次,谁掷出的点数多谁当会计。 可是有一天,张三练就了一手绝活,每次都能掷出6点。而村里的其他人都竞争不过他,他就可以一直当这个会计,就可以做手脚。


当一个节点拥有了超过一半的算力,也就是对区块的绝对力量时,就可以说他拥有了一定的破坏能力,这就叫51%攻击。


51%攻击可以有以下一些场景:


1.实现双花攻击。比如他生成区块后,先不向别人广播,而是跑到交易所平台把自己的数字货币换成纸质币提出来。如果提出钱以后,区块链长度还没有变,而他构造的区块链长度已经是10了,他再广播出去,网络也会确认他的是正确的。这时钱已经取出来了,而他广播出去的区块却并没有提钱的记录,等于数字货币还在他的地址中。


2.自己有记账权,就可以阻止一些别人的交易。 


3.他能轻易阻止别的节点获得记账权,因为他有绝技。


一项新技术的诞生,注定会面临很多的问题,但是随着时间的推进,问题会越来越少,技术也越来越成熟。区块链现在还处于萌芽阶段,我们需要给与足够的耐心和支持,相信未来区块链一定会有颠覆世界的能力。


-END-

本文由菜鸟班主任投稿镜界财经,本文仅代表作者个人观点,文章非经授权请勿转载,

向镜界财经投稿,请点击投稿按钮,详情请参阅《镜界财经投稿须知》。

互联网人都在关注的微信号

难道你还没有关注?

立即评论