区块链双花现象
① 一句话解释区块链,你却为什么听不懂
区块链,现在这个概念异常火爆,几乎哪里都在讲,几乎人人都在谈。但是,真正懂的人似乎并不多。
你一定在网上看到过这样的文章:“X分钟告诉你什么是区块链”、“X张图讲清楚区块链”等等,但是看完后还是云里雾里。
你也一定听过,有人用一句话来解释区块链: 区块链,就是一个分布式账本。
确实是一句话,但是我知道,你还是没听懂。
你不懂什么是“分布式”,更不懂什么是“分布式账本”,尤其困惑的是:不就是个账本吗,怎么就成了要改变世界的技术了?
既然这样解释你听不懂,那么我尝试从另外一个角度来解释区块链。
当然,也是一句话。
让我们仔细想想,区块链技术无论多么高深莫测,也不过是一种工具而已, 只要是工具,就是用来解决某种问题的。
从这个角度说,区块链技术和你家里的榔头没有任何区别:榔头是种工具,要解决的问题就是墙上的钉子。
一种工具,如果它“ 是什么 ”很难解释清楚,那么就换个问题: 它解决了什么? 通过回答这个新问题,能否帮助我们最终理解这个工具?
举个例子:
艾卡哚司他尔(Epacadostater) 是一种极其复杂的分子化合物,代表了当今生物医学领域最高技术成果。如果讲定义,你几乎不可能给一个外行人说明白它是什么;但是从它所解决的问题出发,一句话就可以解释清楚这种神奇的药物: 它是一种治疗艾滋病的特效药物。
这次,我知道你一定懂了。不是因为你理解了 艾卡哚司他尔(Epacadostater) 的定义,而是因为你理解它所解决的问题:艾滋病。
所以,通过理解问题来理解工具,这种思维方式是完全可行的。
那么,区块链要解决的是什么问题?
简单的一句话解释: 区块链技术是一种解决双花问题的有效方案。
好吧,我承认骗你了,你还是没懂。不过先别打我,其实我们已经很接近了。
看看这两句话:
这两句话的关键在于:你明白 艾滋病 ,但你不懂“ 双花”问题 ,正是由于这种认知上的差异,导致你能听懂第一句,却听不懂第二句。
所以, 理解双花问题,是理解区块链的关键!
下面就解释下什么是“双花”问题”,虽然不是用一句话,但是也不难理解。
从我们日常用的微信开始,你一定熟悉下面两个场景:
表面看来,两种场景似乎差不多,但实际上,却有着巨大的差异!
你把照片发给别人,照片还在,但是发钱钱却没了,为什么?
也许你觉得本该如此:如果钱还在,人人岂不都有花不完的钱(梦想成真)!
不,这背后的道理一点都不平常。我来解释下为什么。
现在,我们每个人都要同时面对两个不同的世界:一个物理的现实世界,一个虚拟的网络世界(手机、电脑、互联网等),前者是由原子、分子组成,而后者的组成元素则是“数字”。我姑且把第二个世界称之为“数字世界”
“数字世界”是人类最伟大的发明之一,很多在现实世界中难以完成的任务,在“数字世界”中可以轻而易举的实现。
比如,在现实世界中,你有一张纸质照片,你希望分享给你远方的朋友,同时自己也想保留一份。要做到这点,你需要去照相馆复印,然后到邮局寄出。麻烦不说,还花时间。
而这一切在数字世界里,只需要你在手机上轻轻一点,一瞬间,你远方朋友就收到了这张照片。很方便。
为什么如此方便?
在现实世界中,分子原子是不容易复制的,也没有办法高速传输,而在数字世界里,数字极其容易复制,也可以高速传输(实际上,你在手机上发送照片,你是把这张照片的拷贝发出去,拷贝在数字世界是个很自然的事情)。
就是依赖这种特质,数字世界提供了远超现实世界的便利性,大大改变了我们的生活。
然而,人们发现这种便利性遇到一个巨大的困难: 如何在数字世界中传输“钱”?
在现实世界里,你把100元现金给你朋友,你的兜里自然少了这100元现金,而你朋友的兜里自然会多这100元现金。这种实物上的操作,不需要别人介入。
然而,在数字世界中,所有东西的组成元素都是数字,100元钱(或其他有价值的东西)和照片没有区别,都是数字。数字,就可以被轻易的复制和传输。
但是你显然不能用转照片的方法(复制数字拷贝)转钱,照片转走,你可以保留一份原件,但是钱转走了,你的钱不能保留。
换句话说, 数字世界中你的照片可以有无数份拷贝,而“钱”只能有一份。 “钱”在不同所有者之间流通的必须是它的“真身”,只是换了所有者而已,而不像照片一样可以有多个“分身”。
因为这种“唯一性”是和数字世界的天性不符,所以必须有额外的机制确保这点。否则,钱一旦可以被复制,那么你可以先把100元转给一个人,再把复制品转给其他人,等于一个100元被花了两次,这就是所谓的“双花问题(double spending)”。
综上,虽然“双花”问题可以让人人都有花不完的钱,但是,现代金融体系是绝对不能接受这点的。
怎么解决呢,之前的解决方案你很熟悉, 就是银行 ,由银行来负责记录每笔钱的所有者。
银行会给每人一个账户,在你交易完成后,银行会做如下操作:记录你的账户上少了100元,记录你朋友的账户上多了100元,100元只是换了所有者,并没有被复制。这里银行充当一个可信的中介。
但是银行系统有种种问题:
缓慢 ,转一笔钱可能要几天才能到账,这可不是数字世界该有的效率。
风险 ,银行对黑客攻击防不胜防。
昂贵 ,高昂的手续费,你懂得。
出于这些原因,我们不想让银行来做这个“中介”,那有没有其他办法,不需要任何中介,也能解决前面说的双花问题呢?
很长时间以来,答案是没有。
人们没有办法在一个没有银行的数字世界中解决双花问题。直到某天,一个天才想出了区块链技术,一切从此改变!
区块链技术就是解决双花问题的有效方案。它让人类第一次在交易方面充分享受到了数字世界的优势,快速、安全、可靠而且廉价。有了区块链技术,你可以像发送照片一样转账给朋友,更重要的是,整个过程中 ~没~有~银~行!
完美!
下面是这篇文章的总结:
1. 不要从区块链的定义来理解区块链,而要从它解决的问题入手。
2. 现实世界由分子和原子组成, 不容易复制和传输。
3. 数字世界一切皆由数字组成,解决了现实世界不易复制和传输的问题, 但是带来新的双花问题。
4. 构建一个以银行为中心的网络,可以解决数字世界的双花问题, 但是又带来其他问题:效率低,成本高,安全性差等。
5. 区块链技术,解决了上面的问题。一句话的解释就是:区块链,是一种工具,能够在去中心化的数字世界中解决双花问题。
希望读到这里,你可以通过理解“双花”问题来理解区块链是做什么的。至于区块链具体是如何工作的,我会在后续的文章给大家介绍。
最后,艾卡哚司他尔(Epacadostater)是我杜撰的,没有这种东西。
② ‘双花’攻击
什么是双花?
“双花”,即一笔钱被花了两次或者两次以上,也叫“双重支付”。通俗的理解,“双花攻击”(double spend attack)又叫“双重消费攻击”,即同一笔资金,通过某种方式被花费了两次,取得了超过该笔资金的服务。
在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。
双花是如何发生的?
众所周知,区块链节点始终都将最长的链条视为正确的链条,并持续工作和延长它。如果有两个节点同时广播不同版本的新区块,那么将在率先收到的区块基础上进行工作,但也会保留另外一个链条,以防后者变成最长的链条。等到下一个工作量证明被发现,其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营。
双花简单说就是花两次。双花是如何实现的呢?分为两种情况:
(1)在确认前的双花。零确认的交易本来就可能最后没有写入区块链。除非小额,最好至少等确认即可规避此类双花。
(2)在确认后的双花。这就要控制超50%算力才能实施。即类似于一个小分叉,将给一个商店的交易放入孤立区块中。这种确认后双花,很难实施,只是理论上可行。
双花攻击案例
2018年曾经发生了比特币黄金(BTG)的双花攻击。BTG当时是全球第27大加密货币,流通市值为50亿人民币。2018年5月16日以来,攻击者对BTG网络成功实施了双花攻击,谋取了超过38.8万的BTG的暴利。
攻击者控制BTG网络上51%以上的算力,控制算力期间,把一定数量的BTG发给自己在交易所的钱包,这条分支我们命名为分支A。同时,又把这些BTG发给另一个自己控制的钱包,这条分支我们命名为分支B。分支A上的交易被确认后,攻击者立马卖掉BTG,拿到现金。随后,攻击者在分支B上进行挖矿,由于其控制了51%以上的算力,很快分支B的长度就超过了分支A的长度,分支B就会成为主链,分支A上的交易就会被回滚恢复到上一次的状态。攻击者之前换成现金的那些BTG又回到了自己手里,这些BTG就是交易所的损失。这样,攻击者就凭借50%以上的算力控制,实现了同一笔加密货币的“双花”。
③ 区块链有多重要
区块链以其精巧的设计理念和思维,能够推进经济 社会 相关领域规则体系重构,改变人与人、人与组织、组织与组织之间的协作关系和利益分配机制;同时区块链技术能够有效解决“双花问题”,即避免同一笔数字资产因不当操作被重复使用的情况。
这为解决数字资产确权和交易流通提供了解决方案,可以突破制约数字发展的数字资产确权和双花等问题,构建形成适应数字经济发展的新型生产关系,这成为区块链技术最重要的价值所在。
01 减少交易中间环节,促进降本增效
经济 社会 生活各个领域存在大量寻租性中介组织,其中一些组织并不创造真实价值,而是仅仅通过对业务信息或数据的垄断谋取利益,人为增加了不必要的交易环节和成本。
通过区块链的创新应用,可以构建基于技术的经济行为自组织机制来代替部分中介机构的业务作用,可以大幅提升数据获取、共识形成、记账对账、价值传递的效率,进一步打通上下游产业链,大幅减少不必要的中介组织和中间环节,提升各行业供需有效对接效率,为 社会 公众和商事主体减负松绑,促进实体经济降本增效。
02 助力数字资产确权,激发创新活力
在数字经济时代,数据资源正变得越来越重要。2019年,我国已经正式将数据作为同劳动、资本、土地、知识、技术、管理同等重要的七大生产要素之一,推进建立数据要素市场制度。
但由于数据确权难、追溯难、利益分成难,数据还无法实现市场化高效配置和有序流通,严重制约数字经济的发展。
基于区块链的分布式、不可篡改、可追溯、透明性、多方维护、交叉验证等特性,数据权属可以被有效界定,数据流通能够被追踪监管、数据收益能够被合理分享,为数据生产要素及其他数字资产的高效市场化配置扫除障碍,有望扭转当下数据拥有、使用和利益分配日趋集中化的趋势,推动整个 社会 和数字经济向着更加可信、共享、均衡的方向发展,进一步释放数字经济创新活力。
03 缩短了信任的距离,拓展协作空间
人类近代生活方式的改变与进步,无不与科学技术的发展有着直接的关系。 科技 革命总是辩证地在扩展人类活动疆域的同时缩短彼此的距离。每一次重大的 科技 变革总是伴随着某种意义上“距离”坍塌,从而为人们带来了便利。
例如,交通工具的发明拓展了人类的活动半径缩短了人们地理上的距离;通信工具的发明拓展了人类的“对话”半径缩短了物理上的距离;互联网的发明拓展了人类获取信息的半径缩短了信息的距离;人工智能的发明拓展了认知的半径缩短了认知世界的距离。
区块链缩短信任的距离
如今,区块链为我们带来了一次新的半径拓展。区块链可以不依托权威中心和市场环境形成基于密码算法的信任机制,使得远隔万里、从未谋面乃至永不会谋面的陌生人能够建立信任关系,拓展了人类信任的半径,从而使得陌生人合作成为可能。
尤其是在一些市场机制不健全、信用体系缺失的地区和领域,区块链技术的价值更显珍贵。区块链技术使得陌生主体之间能够建立基于技术约束的生产关系,使得在陌生环境下开展商业合作成为可能,有望激发出一系列新的业务模式。
04 驱动互联网革命,加快价值传递
21世纪的头20年,人类 社会 经历了互联网的全面洗礼和再造,“互联网+”使得相关行业领域产生了天翻地覆的变化,人们的生活因互联网而更加便捷,经济活动因互联网而更加活跃, 社会 因互联网而更加公平开放。
然而,互联网主要解决的是信息的传播问题,信息内容的真假还难以判断,数字资产的转移还存在很多制约障碍。互联网在带来巨大便利的同时,也充斥着越来越多的虚假信息,甚至成为各种新型欺诈行为的温床,人们在越来越依赖互联网的同时,也越来越戒备互联网。
基于区块链技术可以构建基于技术约束的下一代可信任互联网,解决传统互联网的陌生人信任问题,将会让数字资产在互联网上高效地流通。基于区块链技术可以有效保护互联网上的数字资产和知识产权,人与人之间进行资产交易会如同发邮件一样便捷,人们会因为区块链技术的创新而对高度依赖的互联网放下戒备之心,互联网将诞生更多有价值的应用。
05 强化诚信体系约束,净化市场环境
区块链是构建信任的机器。通过推动区块链和实体经济深度融合,可打造便捷高效、公平竞争、稳定透明的市场环境。区块链技术不可篡改、可追索的技术特征可在市场机制不完善和诚信体系不健全的地区和领域发挥十分重要的信任机制创新作用。
在传统模式下,市场监管的工作量大、执行难度高,由于行政执法资源及监管手段的不足,被 社会 大众广为痛恨的老赖现象、假货现象、欺诈行为屡禁不止、难以杜绝。
区块链技术可形成无须中介机构和法律法规为前提条件的自组织和自监管机制,其分布式账本的不可篡改、不可抵赖、不可操控性事实上起到了对各类经济行为进行技术监管的作用。
这有利于解决中小企业贷款融资难、银行风控难等问题;通过全程记录商品生产和交易流通过程,大幅降低假冒伪劣、以次充好等各类市场欺诈行为,解决市场监管难等问题。
【本文来源于人民出版社出版的《信息化领域前沿热点技术通俗读本》】
④ 区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法
分叉
前面讲到了比特币通过区块链+工作量证明的独特设计来解决了时间顺序,但是不能保证在同一时刻有两个节点算出了正确的解,虽然这种可能性很低很低。这就带来了区块的分叉。
虽然说几乎同时有两个节点计算出这一数学问题的可能性微乎其微,但是仍然存在这样的可能性,所以分叉就以为着同一个区块的后面可能会跟上两个不同的区块。
规则的打破一直要到下一个区块被人解开。则会立即转向最长的区块,而那些短的区块则会被抛弃。数学问题使得区块很难被同时拆解。要连续发生多次更是困难。最终区块链会稳定下来。也就是说所有人对最后几个区块顺序达成共识。分叉意味着,譬如,若你的交易出现在较短的支链,它就会失去进入区块链的位置。一般而言,只代表他会回到未确认交易池。然后被纳入到下一个区块。
比特币网络如何解决分叉带来的双花支付
可惜,交易失去区块位置的潜在可能,给了本来定序系统防范的重复支付攻击机会。考虑下面的一个攻击者A,其首先用自己的比特币交换B节点的货物,其立即又支付给自己。然后其通过努力的制造更长的链条来让自己的支付替代掉B节点的支付,从而实现了双重支付,B节点既得不到钱,还失去了货物。
这时交易会退回到未确认池中,因为A节点已经利用参照同样的input交易取而代之。节点就会认为Bob的交易无效。因为已使用掉。
你可能会猜测A节点会预先的计算出一支区块链,然后抓住时机发布到网络。但是每个区块的数学谜题阻挡了这个可能性。如前面所诉,解开区块是猜测出一个随机数的过程。一旦得出答案,解出的哈希值就会成为指纹一样的区块识别。只要区块内容有一丁点变化,下一个区块的参考值就会完全不同。此机制的结果就是无法在区块链中置换区块。在得到前一个区块之前,下位区块无法被解开。前一个区块的指纹也是杂凑函数的引数之一。
同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。
如果有一台超级电脑,能够在区块解题中获胜?
即便是一台超级电脑,或者时几百上千台电脑也很难赢得解一个区块的胜利,因为竞争对手不是任一台电脑,而是整个比特币网络。你可以用买彩票来比拟。操作千百台电脑,如同买了千百张彩票一样。
51%攻击是指的什么
根据前面的例子,我们知道,要想有50%的概率领先其他人解题得到胜利,就需要掌握全网50%以上的算力。要连续领先他人解出区块,掌握的运算能力还需要高得多。所以区块链中的交易是受到数学竞赛所保护。恶意用户必须和整个网络较量。区块连接建立的结果,使得在支链越前方的交易越安全。恶意的用户必须在更长的时间赢过全网络,来达成重复支付,替换前面的区块链。所以,系统只有支端末尾易受到重复支付攻击。这也是为什么系统建议多等几个区块,才能确认收款成功。
个人博客:https://dreamerjonson.com/
⑤ “双花”是什么
POW算法是唯一经过时间检验运行较为稳定的算法,这从比特币诞生到现在的较稳定的运行就可以看出。
上次说到POW的共识算法的部分运作原理。把上次所讲的内容简单总结一下,那就是POW通过哈希加密算法解决了“凭什么帮你记账”的问题。
其实,POW共识算法的目的,是可以保证任意节点被入侵、篡改,其数据信息不会被其它节点所接受,换句话说,POW要通过运行机制保障主链的安全性。
因此,仅仅解决“凭什么帮你记账”的问题对一个成熟稳定的共识算法来讲还是远远不够的,它还需要解决其它一些问题,比如双花问题。
双花问题(Double Spending)即双重支付,是指一笔数字现金在交易中被重复使用的现象。我们都知道,数字现金的走向只能是线性的,也就是同一笔钱一次只能转给一个人,不能同时转给两个或者以上的人。一旦数字现金的走向发生了偏差,离开了线性轨道的约束,成为发散状态,那么双花问题就会出现。
举个例子,小明一早出门只带了10元钱,他来到肯德基吃早餐,点了10元的套餐,把钱付给了肯德基的收银员,这10元钱得到收银员的确认。小明吃完早餐出门,发现自己并没有吃饱(小明饭量有点大),抬头一看有个麦当劳,于是他走进麦当劳,想再点一个10元的汉堡。这时候,如果小明想用之前买肯德基套餐的那10元钱买麦当劳汉堡,可能吗?当然不可能。因为那10元钱是独一无二的(有编号),已经被花出去了。
但如果小明使用的不是现金,而是数字货币呢?这就另当别论。这是因为现金的复制成本太高(法律成本、制作成本等等),而数字货币则不然,它具有十分经济的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复利用的问题。
双花问题在有中介的前提下是不容易发生的,因为每次消费都要经过第三方(中介方)的确认才会完成,比如支付宝。
而比特币作为一个去中心化的点对点现金系统,是没有中介和第三方的,它主要依靠未花费的交易输出(UTXO)和时间戳两大利器来解决双花问题。
未花费的交易输出(UTXO)可以被简单地理解为一个用户拥有的比特币的余额。这个余额是无法伪造的,因为一个用户拥有的比特币实际上会被当作UTXO分散到数百个交易和数百个区块中。
双花问题是这样解决的:
首先每笔交易都要先确认对应的比特币之前的情况,要检查它是否存在于付款人的UTXO中。
其次,同一笔UTXO付出去,系统节点按照时间戳只会确认先接收到的那一笔。
最后,当两笔时间上很近的交易被不同节点确认,区块链将发生分叉。当其中一笔交易被6个节点确认后,它将获得最终的确认,成为最长链。
本文仅供学习参考之用,不构成任何投资建议。
⑥ 在区块链中,双花问题是什么问题呢
什么是双花问题呢?
双花问题,简单讲就是一笔钱能被花两次三次很多次。为什么双花问题会成为比特币系统里面一个这么重要的问题呢?
原因就在于:比特币,是虚拟货币,它是虚拟的,通过代码形式呈现出来的,是可以被复制下来的。一旦被攻破了代码漏洞,那么就可以循环使用同一笔比特币,这样一来,比特币这种“钱”就会变得很鸡肋。
我们想一下,要是一笔钱可以花很多次,你有500块钱,你去买一件500块钱的衣服,还能循环使用,再去买一双500块钱的鞋,这样一来,钱还能叫钱吗?
所以,中本聪在设定比特币系统的时候,他所有的技术手段基本上都是围绕着解决
“双花问题”的,来保护比特币作为一种货币,它自身的一个支付手段职能。
其实,这个双花问题在我们现在的中心化世界里面根本不是问题,因为有银行,钱的交易结算都是通过银行,很安全,有问题直接找银行。
但是,在去中心化世界里面呢,没有银行这样一个中心机构,还必须保证一笔钱只能花一次,怎么样实现在去中心化的前提下,杜绝“双花问题”呢,这是一个难题。
这里插一句,中本聪为什么如此执着的追求“去中心化”呢,自找烦恼吗?不是,他希望能够通过去中心化,来解决一些社会问题,其中最主要的问题就是:因为权力机构过量发行货币造成的通货膨胀。
所以,我们总结一下他的逻辑:中心化的货币增发导致通货膨胀——所以我们要实现去中心化——去中心化要面临很多问题,最大的问题是双花问题——所以我们要解决双花问题——怎么解决双花问题?
这里,中本聪就引入了UTXO和“时间戳”概念,依靠这两种手段来解决双花问题。
⑦ 区块链中,什么是51%算力攻击
比特币白皮书中,有过这样的表述:诚实节点控制算力的总和,大于有合作关系的攻击者算力的总和,该系统就是安全的。
换句说,当系统中有合作关系的恶意节点所控制的算力,超过诚实节点所控制的算力,系统就是有被攻击的风险。这种由恶意节点控制超过50%算力所发起的攻击,称为51%算力攻击(51% Attack)。
那是不是所有的加密货币系统都有可能遭遇51%算力攻击的风险呢?其实并不是的,只有基于PoW(工作量证明)共识机制的加密货币,才存在51%算力攻击,比如比特币、比特现金和目前阶段的以太坊等;而非PoW共识算法的加密货币则不存在51%算力攻击,如基于DPoS(委托权益证明)共识机制的EOS、TRON等。
在了解了51%算力攻击之后,你肯定好奇,这种攻击能做哪些坏事。
1、双花(Double Spending)。双花的意思是一份"钱"花了两次甚至多次。
51%算力攻击是如何做到双花的呢?假设小黑有666BTC,他把这些币支付的大白同时,也把这些币发到自己的另一钱包地址上。换一句话说,小黑的一份钱,同时转给两个人。最终,发给大白那笔交易先被得到了确认,并打包在区块高度为N的区块内。
这时,控制了超过50%算力的小黑,发起51%算力攻击。他通过重新组装第N个区块,将发给自己那笔交易打包进区块里,并持续在这条链上延展区块,由于算力的优势,这条量将成为最长合法链。这样小黑666BTC双花成功,大白钱包里的666BTC"不翼而飞"了。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
⑧ 女巫攻击与双花攻击
女巫攻击 的名字源于1973年由小说《Sybil》改编的同名电影。电影中的女主人公Sybil Dorsett患有分离性身份认同障碍,本身兼有16种人格。
区块链底层是 P2P网络 。网络中各个节点可以随时加入或退出,为了维持网络的有效性,一般一份数据常常需要部署在若干个分布式节点上。如果一个恶意节点伪装有多个身份就存在可获得全部数据的几率,下面我打个比方:
假设神龙造出了七颗龙珠,并且要将它们分别投放到地球的各个角落。于是神龙昭告天下,让每个洲来一个人领取龙珠。此时,精通乔装易容术的我分别假扮出七个不同地域的人来神龙这拿到了龙珠。本来神龙将龙珠放到世界不同的地方基配圆就是为了平衡各地方力量,但是由于我伪造了身份,成功地拿到了全部龙珠,控制了地球。
以上比喻就是女巫攻击的本质体现。
双花攻击是大多区块链加密数字货币都要面对的一种攻击手段。顾名思义,双花攻击就是一笔有效的钱被先后花了两次。
双花攻击的可行性完全是由于区块链的共识机制导致。拿比特币举例,由于比特币的POW共识机制属于最终一致性共识,一笔交易从发布到全网所有节点都达成统一确认需要一定时间,而攻击者就是利用这个时间间隙进行攻击。举个生活中的例子:
假如银行A有两个支行B和C。但是,这个银行的账目系统比较低效,支行B和C每过1个小时才会去主行A那里同步账本。我在主行A中存了100块钱,过了一个小时后支行B和C同步了账本,于是我在B和C中都可以查到我拥有100块钱。之后,我通过支行B用我的账户买了100块钱的好吃的,随即又通过支行C用我的账户卖唯买了100块钱好玩的。由于支行B和C之间做不到账目的随时同步,所以支行C在我去买好玩的时候依然认为我拥搏塌有100块钱。
以上就是双花攻击,并且“双花”永远是一种 流通货币 所要解决的首要问题。