您现在的位置是:首页 > 比特币 > 比特币指南比特币指南
什么是双花攻击,如何解决双花问题
2019-06-19来源:作者:经济常识笔记栏目:比特币指南
简介双花攻击是一个最为常见,并且能够威胁系统运转的攻击。举个简单例子来讲,比特币在进行转账交易的时候,用户与商户之间建立了连接,将钱转给了商户,在进行转账的这个过程中,钱仍然归属用户,利用这段时间,这钱是不是可以转账给其他人?
关于区块链系统,我们经常会不断听到一些热门的词,从一开始的区块链“去中心化”、“不可篡改”,再到“侧链”、“闪电网络”、“双花攻击”等等,而针对这些技术上的探讨,有助于帮助我们更好的了解“区块链”的特征。今天,我们就来聊聊“双花攻击”是如何在区块链系统中操作的。
双花攻击是一个最为常见,并且能够威胁系统运转的攻击。比如,之前比特币黄金曾遭受此攻击,大约有388000左右的BTG被双花。
那么,我们该如何理解这个双花攻击呢?举个简单例子来讲,比特币在进行转账交易的时候,用户与商户之间建立了连接,将钱转给了商户,在进行转账的这个过程中,钱仍然归属用户,利用这段时间,这钱是不是可以转账给其他人?
一、如何正确看待双花?
圈内人最喜欢这种有话题感的内容,“双花”的出现,让一些人找到了数字资产交易的漏洞,开始想着心思如何利用漏洞?还有一部分人想看看存有漏洞的系统,是否还能安全进行数字资产交易?
所谓的“双花”攻击,其实就是指将用户所持有的数字资产中的余额,进行多次的交易行为。
它在数字资产交易过程中是如何做到的呢?
假设第一条交易已经生成,攻击者在交易成功前,再次生成一个新的区块,让新的区块比交易的那个区块速度更快,这样就能获得两次的交易过程,等同于这份交易中的数字资产被合理运用了两次。
我们去追寻导致这个问题所发生的原因,才发现,在区块链系统中,最长的那条链就是最有效的链。
在我们现实生活中就不会出现这种情况,这还是与数字资产的虚拟性相关的,毕竟每一次交易过程,都是生成一串特定的字符。而在数字资产交易过程中,用户所支付的数字资产从转账开始到确认成功,还需要一段时间来进行确认,这才让攻击者有机可乘。
这也是“去中心化”系统所带来的一系列问题。
二、如何解决双花问题?
双花问题最需要解决的问题,其实就是时间的问题。如何在用户发起交易的过程中,去记录第一笔交易的时间和攻击者发出交易的时间,来选择最长链,这是解决该问题的关键。
在区块链系统中,我们会经常听到一个词——时间戳。我们就以它为代表,举例说明如何解决双花问题?
首先,我们要了解时间戳的概念。用最简单的方式来讲,就是对每一笔交易进行了盖章确认,并记录了交易发起的时间。类似于生活中,最为常见的买卖双方签订合同,有双方的签名以及合同生效的时间。
也就是说,通过时间戳,用户发起的每一笔交易都能有时间记录,当攻击者在交易过程中发起交易时,系统能够分辨出交易发起的时间,根据时间顺序来看,就能够迅速确认第一笔交易时间。
这样一来,就不会存在最长链就是最有效链的情况。
总结
随着区块链技术的不断发展,人们对技术上的需求也越来越高,正如现在的区块链已经不是当初只是人人谈概念的阶段,出现相应的问题,都在不断的探索和求解。就像双花问题的发生,能通过时间戳来解决,同样,在发展阶段中出现的任何漏洞,都会找到合适的解决方案。
双花攻击是一个最为常见,并且能够威胁系统运转的攻击。比如,之前比特币黄金曾遭受此攻击,大约有388000左右的BTG被双花。
那么,我们该如何理解这个双花攻击呢?举个简单例子来讲,比特币在进行转账交易的时候,用户与商户之间建立了连接,将钱转给了商户,在进行转账的这个过程中,钱仍然归属用户,利用这段时间,这钱是不是可以转账给其他人?
一、如何正确看待双花?
圈内人最喜欢这种有话题感的内容,“双花”的出现,让一些人找到了数字资产交易的漏洞,开始想着心思如何利用漏洞?还有一部分人想看看存有漏洞的系统,是否还能安全进行数字资产交易?
所谓的“双花”攻击,其实就是指将用户所持有的数字资产中的余额,进行多次的交易行为。
它在数字资产交易过程中是如何做到的呢?
假设第一条交易已经生成,攻击者在交易成功前,再次生成一个新的区块,让新的区块比交易的那个区块速度更快,这样就能获得两次的交易过程,等同于这份交易中的数字资产被合理运用了两次。
我们去追寻导致这个问题所发生的原因,才发现,在区块链系统中,最长的那条链就是最有效的链。
在我们现实生活中就不会出现这种情况,这还是与数字资产的虚拟性相关的,毕竟每一次交易过程,都是生成一串特定的字符。而在数字资产交易过程中,用户所支付的数字资产从转账开始到确认成功,还需要一段时间来进行确认,这才让攻击者有机可乘。
这也是“去中心化”系统所带来的一系列问题。
二、如何解决双花问题?
双花问题最需要解决的问题,其实就是时间的问题。如何在用户发起交易的过程中,去记录第一笔交易的时间和攻击者发出交易的时间,来选择最长链,这是解决该问题的关键。
在区块链系统中,我们会经常听到一个词——时间戳。我们就以它为代表,举例说明如何解决双花问题?
首先,我们要了解时间戳的概念。用最简单的方式来讲,就是对每一笔交易进行了盖章确认,并记录了交易发起的时间。类似于生活中,最为常见的买卖双方签订合同,有双方的签名以及合同生效的时间。
也就是说,通过时间戳,用户发起的每一笔交易都能有时间记录,当攻击者在交易过程中发起交易时,系统能够分辨出交易发起的时间,根据时间顺序来看,就能够迅速确认第一笔交易时间。
这样一来,就不会存在最长链就是最有效链的情况。
总结
随着区块链技术的不断发展,人们对技术上的需求也越来越高,正如现在的区块链已经不是当初只是人人谈概念的阶段,出现相应的问题,都在不断的探索和求解。就像双花问题的发生,能通过时间戳来解决,同样,在发展阶段中出现的任何漏洞,都会找到合适的解决方案。
很赞哦! ()
相关文章
随机图文
-
比特币怎么挖出来的
比特币怎么挖出来的 原理了解一下! 很多人都知道,比特币除了可以通过交易获得,还可以挖出来,也就是经常说的“挖矿”,很多人对此的认识不多,那么比特币怎么挖出来的?下文就来带大家了解一下。1、比特 -
比特币51%攻击是什么「新手必读」
51%攻击是什么:所谓51%攻击,就是说在整个比特币网络中有人的算力超过了全网的51%,利用算力优势撤销自己已经发生的付款交易。如果比特币51%攻击发生,就会破坏其去中心化的特性,同时也让网络处在几种攻击风险之下。 -
如何获得比特币——李钧《比特币》
刚接触到比特币的人都对它能兑换金钱表示很诧异,进而会寻求获得比特币的途径,一般来说获得比特币的方法有3种:开动挖矿机挖掘,从交易平台买入,用产品和服务换取 -
比特币究竟应何运而生
回顾货币的历史并逐步引导比特币出场——只有了解现代货币体系究竟如何运行,才能更好地理解比特币这种新型数字资产为何会腾空出世。其实在比特币之前就已经存在加密货币,但却因为无法解决分布式共识和双重支付问题而未能得到推广——例如无法解决货币创造环节的准确性的B-money