区块链最长链攻击
⑴ 区块链为什么被扫盲(为什么区块链是骗局)
区块链被炒作得太厉害很多企业或受伤区块链被炒作得太厉害很多企业或受伤
据CNBC报道,本周,在荷兰阿姆斯特丹举办的Money20/20欧洲金融科技大会上,我听见有人说我们现在正处在区块链的炒作周期中。
一名代表对另一名代表说:“不管怎么样,我们就把它称作是区块链。这样的话,我们会弄到资金。”
不管这是个玩笑,还是有人真这么认为,都无所谓。但是,这种说法凸显了一个现实情况,那就是大大小小的企业经常以一种错误的方式使用“区块链”这个专业术语。
区块链是信息分布式存储的记账系统,其最大特色在于能够在没有信任基础的网络环境中不依赖中心平台的信任背书建立信任关系,其实际应用是从作为虚拟货币的比特币开始的。但是,区块链技术的应用又不仅仅限于虚拟货币。当前,在金融监管、数据共享、车联网等领域,在互联网金融、银行、保险、供应链金融、清结算中心等多个场景,区块链技术都有一定程度的应用。
有些企业只是奋不顾身地跳入区块链的炒作大潮,丝毫不计后果。
很多行业已经开始采用这种技术的原则,并将用该技术来解决自己的问题。有些企业进行了成功的试验。与此同时,有些企业只是奋不顾身地跳入区块链的炒作大潮,丝毫不计后果。一位风险投资家曾告诉我,有一家企业向他推销区块链,但该公司并没有实际应用该技术。这家初创企业并没有筹到资金。
令人遗憾的是,我所听到和提到的观点,在某种程度上是真的。让我们来看看那些增加了区块链元素并见证股价攀升的上市公司,以已于纳斯达克上市的金融科技公司Longfin为例,该公司收购了区块链解决方案服务提供商Zid,股价大涨2000%。区块链概念电商Overstock.com宣布大踏步迈向区块链。就连拥有100多年历史的伊士曼柯达公司也加入了加密货币的狂欢派对,宣布推出自己的加密货币“柯达币”,为数码摄影创建一个新平台。(对于我来说,影像产品及相关服务生产和供应商推出加密货币,简直太疯狂了。)
当然,有些企业在区块链技术方面做的非常好。不可否认,这种技术很有前途。荷兰国际集团和西班牙BBVA银行都曾对我说过,他们认为五年内区块链可能会在银行行业内普及。
尽管针对区块链的乐观情绪不断高涨,但是我们必须面对现实,因为采用这种技术仍需面临各种阻碍。其中一个主要担忧是,区块链是否能跨越不同的行业和企业。目前,一家银行可能正在用某种区块链解决方案,而另外一家企业可能用的是完全不同的区块链解决方案。尚不清楚不同的区块链能否协同工作。
此外,还有一个问题:某些程序是否需要区块链。
以拉高股价或筹集资金为目的,在企业名称中加入区块链的字眼,与互联网泡沫期间一些企业的做法存在相似之处。我们都知道互联网泡沫是如何结束的。
据报道,3月初,全球著名经济学家、纽约大学斯特恩商学院经济学教授努里埃尔o鲁比尼指出,加密货币背后的区块链技术是“有史以来被炒作最过度的技术之一”。
1月份,瑞信在报告中指出,区块链真正成熟的时间要等到2025年。在这份有关加密货币和区块链的重磅报告中,瑞信将区块链技术的发展分成了七个阶段,包括“理念形成”、“概念验证”、“原型”、“试验”、“生产并行”和“生产”。其中,第七阶段“生产”之后的2025年才是主流社会采用区块链的时间点。
换言之,现在距离区块链真正成熟还为时尚早。
区块链技术这东西真的会是后互联网时代吗?有什么体现?是的,区块链一定是后互联网时代必需的技术。
具体体现在它的不可篡改,以及去中心化特性能实现:
一、在互联网上,能传递价值和权益。
二、能够构建一套去中心化体系,使得多方主体之间能够互相信任。
第一点,在互联网上,能传递价值和权益。
我们都知道,在互联网上最容易做到复制和粘贴,我们可以很方便的传递信息,但是如果在互联网上传递价值,就有可能被盗以及被篡改信息。而有了区块链技术后,我们放在互联网上的信息,可以不被篡改,也不怕被盗。于是,就可以在互联网上传递价值和权益证明了。
传递价值的例子太多了,比如比特币就是一种数字资产可以随意通过互联网进行转账,而且并不需要一个中心化机构来管理。
但是传递权益证明怎么理解呢?比如说,我们去办政务,就经常遇到,我在一个部门的一个窗口,办一个手续,然后拿着这个纸质手续,再去找下一个部门的窗口。明明我们已经经历过互联网化这么多年,却还是要走这么多流程和办理各种纸质资料,这是为什么呢?
这是因为现在科技很发达,要篡改一些电子文件其实很容易,在没有结合区块链的情况下,要信任你提交的电子资料是比较难的。所以要让窗口部门了解到你是你本人,以及是你自己愿意来办的,往往就需要你带上身份证,然后亲自到现场填写资料,来确保这是你本人出自自己意愿来办理的,这样才不会出错。
而结合了区块链,再结合人脸识别,就可以做到,我在一个部门办好的手续,放到区块链上,另一个部门只需在区块链上查看便知道,我本人来办理过相关的前置手续,就可以接着办理了。
事实上,像广东佛山禅城区就已经在探索利用区块链技术,做得到政务“零跑腿”,足不出户就能办理政务业务了,极大的提高了处理的效益。
再来说说,第二点,能够构建一套去中心化体系,使得多方主体之间能够互相信任。在出现区块链以前,多个主体协作尤其是线上的协作是很难的。这也是为什么跨国转账一般要花好几天时间,并且费用很昂贵,百分之几的费用。因为跨国转账来说,不同银行的账本不一样,用的系统不一样,所以往往需要两家银行专门负责对外清结算的人员互相同步一下账本,才能转账成功。
有的人就说,那大家都用一套系统好了,那么问题来了,用谁的系统呢?用谁的,其他几家都不信任,因为谁的系统,往往就有权限修改,而且操作权都在对方手上,而且还不说隐私之类的问题了。
但是如果是用区块链开发的系统,就可以很好的解决这个问题,因为大家用的是同一套系统,而且各个节点之间的权限是一致的,没有任何一个主体能随意更改。
其实,在18年6月份,蚂蚁金服就已经利用区块链技术,做到了快速跨境汇款。三秒到账,费用也极低,可以忽略。
这种区块链带来的去中心化的解决方案,以建立一种与以往中心化不同的协作关系,解决了中心化难以逾越的一些问题,并且极大地提高了效率。
如果再从这个方向去延伸呢,大家想想我们所处的任何一家公司,总会是另一家公司的上游或者下游,就一定会与对方进行物资,资金,信息等等的一系列交互。那么是不是会发现很多流程往往都是为了信任而产生的,比如对方发来的信息,要确认,对方发来的物资要确认和检查,每次与对方进行新的动作的时候都会伴随不断地确认,反馈。而这些都是信任成本。
但是如果利用区块链,数据产生之后,就放到区块链上来,所有这条供应链上下游的企业都获取到数据,那么很多数据就不用反复确认,这样就可以极大的降低信任成本。同时,因为传递的是可信的数据。而数据一旦可信,在未来,机器与机器之间的交互就会减少非常多的麻烦了。(这又是另一个大的话题了)
区块链技术被广泛视为实现更安全的互联网的重要抓手——其优势主要来源于其技术原理与当前互联网结构的不同。在这篇文章中我们将为大家介绍,区块链会如何促进网络安全。
区块链技术是什么?
区块链技术是一个去中心化的分布式账本系统,你可以把任何数字资产放入区块链,无论任何行业。它使用一系列具有时间戳的不可变记录来保存信息,由计算机集群进行管理。通过这些记录可以跟踪不同的事务,这些记录通过区块来分隔,并由加密链连接。同时,数据并不属于某台计算机或某个个体,而是由整个系统内的多个用户共同拥有。
一旦信息得到确认,已被编码的数据就无法改变,将变成一个永久区块,添加到已经过验证的其他区块形成的链上。最初这一技术是为加密货币设计的,但现在我们可以看到,区块链技术在很多领域,特别是网络安全方面拥有巨大潜力,因为它可以用来防止网络攻击、数据泄露、身份盗窃或恶意交易,保持数据的私密性和安全性。
区块链作为一种更偏底层的技术,能够为不同行业提供有益的解决方案。它的主要特点是:
区块链拥有一个民主化的网络,没有中央权威。它是公共域,因此没有任何一个组织可以进入区块链系统来操纵任何信息。
区块链是一个去中心化的系统,不属于任何一个实体。区块链系统中的数据可以进行加密存储。
存储在区块链中的任何内容都是不可变的,可以防止人为篡改或操纵信息。例如,有了区块链,就可以举行一场完全透明的选举,并立即产生结果。人们完全可以在自己家里投票,投票结果就能够立即统计出来。
区块链是透明的——在区块链中构建和存储的任何东西都可以公开访问。存储在里面的数据也可以被追踪,对那些使用该系统的人来说,将形成一个更高标准的问责制度。
区块链技术如何推进网络安全?
物联网与边缘计算
随着物联网、边缘计算的发展,越来越多的数据分布在边缘计算和存储设备上,以进行实时、按需访问,也就是在更靠近数据源的位置处理和存储数据。区块链通过更严格的身份认证、改进的数据属性和流,以及更先进的记录管理系统,为物联网和工业物联网提供了一个安全的解决方案。
在物联网设备方面,区块链技术基于其去中心化的架构,能够为远程物联网设备提供安全性,保障其不受黑客攻击。智能合约可以为区块链环境下的交易提供安全验证,同时区块链可用于管理物联网活动。
数据访问控制
因为区块链最初设想的一个目标是能够实现公开访问,所以它并没有访问控制或限制。不过,如今各个行业都会通过使用私有区块链系统,来确保数据机密性以及安全访问控制。区块链的完全加密,能够确保外部无法访问数据——无论是部分还是全部数据,特别是在传输数据时。
DDoS攻击
分布式拒绝服务(DDoS)攻击的目标通常是一个服务器,该服务器会受到多个受感染的计算机系统的攻击,通过拒绝服务导致系统变慢,最终导致系统过载或崩溃。如果将区块链集成到安全系统中,目标计算机、服务器或网络将成为去中心化系统的一部分,可以保护这些机器不受攻击。
个人通信
使用基于区块链技术搭建的平台进行通信,企业可以获得更高的安全性,该技术可以抵御恶意攻击。无论在个人、企业还是高度机密的通信中,消费者都可以获得通信的保密性,无需担心网络攻击。区块链能比普通加密应用更好地处理公钥基础设施(PKI),因此现在有很多企业希望开发区块链私人通信应用。
公钥基础设施
如今人们更加注重保护电脑和在线凭证的安全,而区块链技术也可以在这方面提供帮助。PKI依赖第三方认证机构来保证通信应用程序、电子邮件和网站的安全。这些颁发、撤销或存储密钥对的发证机构,往往会成为黑客的目标,后者一般会使用伪造身份试图访问加密通信。当这些密钥被编码在区块链上时,它将生成虚假密钥或盗窃身份的可能最小化了,因为合法账户持有人的身份已经在应用程序上得到验证,任何入侵、欺骗或身份盗窃都可以立即识别出来。
域名系统
采用区块链方法去存储域名系统(DNS),可以全面提高安全性。因为它不再是单个的、存有风险的目标,可以阻止黑客搞垮DNS服务提供商的恶意活动。
区块链,网络安全的未来
随着我们不断加深对区块链的认识,越来越多的人投入到区块链技术的应用与研发,这项技术正在慢慢成熟。从过去这两年里,区块链在不同行业场景中应用的增加,以及国家对区块链这项技术的政策导向。区块链已经发生了巨大的改变,不再是加密货币的代名词。
区块链技术可能是因加密货币而生,但其价值绝不仅限于加密货币。区块链是一种安全可靠的技术,一旦融入主流安全措施,它可以为推进网络安全带来很多实际的好处。
随着黑客不断创造新的、更刁钻的数据窃取和攻击方式,网络安全的威胁在加剧,区块链技术很可能在未来几年成为网络安全的前沿。从一定程度上来说,如今的区块链正是网络安全的未来。
我的理解区块链是一种技术,互联网只是个载体或者信息整合的传播途径,不应该是互联网后时代。
区块链可以真正做到公正公开,发生过的事情记录下来不会被篡改。
区块链,去中心化,无法破解,唯一性无可替代
如何通俗解释区块链?
区块链就是一种去中心化的分布式账本数据库,这种分布式账本的好处就是,买家和卖家可直接交易,不需要任何中介。人人都有备份,哪怕你这份丢失了,也不受影响。
假如你们家里有个账本,让你来记账。在以前,就是爸爸妈妈把工资交给你,让你记到账本上。中间万一你贪吃,想买点好吃的,可能账本上的记录会少十几块,别人也不知道。
用区块链解决问题的方法:如果用全家总动员的方式记账,上述说的问题就不会有了,因为你在记账,你爸爸也在记账,你妈妈也在记账,他们都能看到总账,你不能改,爸爸妈妈也不能改,这样想买烟抽的爸爸和想贪吃的你都没办法啦。
(1)区块链最长链攻击扩展阅读:
区块链应用领域
1、金融领域
区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付。
2、物联网和物流领域
区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。该领域被认为是区块链一个很有前景的应用方向。
3、公益领域
区块链上存储的数据,高可靠且不可篡改,天然适合用在社会公益场景。公益流程中的相关信息,如捐赠项目、募集明细、资金流向、受助人反馈等,均可以存放于区块链上,并且有条件地进行透明公开公示,方便社会监督。
4、保险领域
在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。
真正的假币
⑵ 什么是51%算力攻击
关注比特币的朋友,想必听过51%算力攻击这个词,它到底是什么意思呢,发起这种攻击之后能做哪些“坏事”呢?
01
什么是51%算力攻击?
在比特币网络中,采用PoW共识机制来解决如何获得记账权的问题,采用“最长链共识”解决如何记账的问题。
所谓51%的攻击,就是利用比特币网络采用PoW竞争记账权和“最长链共识”的特点,使用算力优势生成一条更长的链“回滚”已经发生的“交易行为”。
51%是指算力占全网算力的51%,比特币网络需要通过哈希碰撞来匹配随机数从而获得记账权,算力衡量的是一台计算机每秒钟能进行哈希碰撞的次数。
算力越高,意味着每秒钟能进行越多次的哈希碰撞,即获得记账权的几率越高。
在理论上,如果掌握了50%以上的算力,就拥有了获得记账权的绝对优势,可以更快地生成区块,也拥有了篡改区块链数据的权利。
02
这种攻击能做哪些坏事?
在了解了51%算力攻击之后,你肯定好奇,这种攻击能做哪些坏事。
实际上,当恶意攻击者持有比特币全网占比比较高的算力时,即使尚未达到51%的比例,也可以制造相应的攻击,比较典型的就是双花问题。
假设A拥有51%的算力,在区块高度1127时,A转给B一个比特币的记录被矿工打包。
待交易确认后,A依靠51%的算力优势在区块高度1126后重新生成了一条“更长的链”,并在区块高度1127处又将该BTC转给C且该交易记录被打包,即该链包含了A将一个比特币转给C的记录。
根据“最长链共识”,包含给C转账记录的链成为主链,则A转给B的一个比特币则为“无效支付“。
若掌握了51%的算力,除了可以修改自己的交易记录外,还可以阻止区块确认部分交易,以及阻止部分矿工获得有效的记账权。
但是,拥有51%的算力也不是万能的,无法修改其他人的交易记录,也不能阻止交易的发出,更不能凭空产生BTC。
03
实例分析
我们可以用一笔虚拟交易来说明51%算力攻击问题:
1.攻击者拥有私钥privKey0001,私钥拥有对应可花费比特币10000个
2.当前区块的高度是88888
3.攻击者与商户交易了10000个比特币,在商户看到88889区块中包含了此次交易后,坐上飞机驾驶员位置,开走了商户一架飞机。
4.攻击者因为拥有较高算例,从88888区块再次计算区块(此时,排除自己的10000个比特币买飞机的交易),迅速的计算出了88889/88890/88891/88892......区块,其它节点拉取最长链节点的区块,同步了攻击者的含有恶意攻击的区块信息。
5.因为攻击者买飞机的交易没有被区块包含,因此,可以再次到商户那里买上一架飞机开走。
上面这个例子就是典型的51%算力攻击成功后,所产生的双花问题。
04
51%算力攻击真的有人做吗?
理论上来说,要执行51%算力攻击,首先需要拥有比网络其他矿工更强的算力。
这意味着要有非常多的挖矿设备,大量挖矿设备本身就会消耗大量的资金。
而且除了设备,还需要大量的电力能源消耗。
由于电价上涨以及能源需求的增加,在过去几年里获得足够的电力来运营矿场变得愈发地困难。
当比特币网络还很小的时候,或许有可能获得足够的电力来运行提供51%算力的设备,但随着时间的推移,比特币网络消耗的电力持续增长,攻击者需要获得大量电力才能成功执行攻击,这种可能性也就越来越小。
发动算力攻击也是为了有利可图,但从经济角度来看,51%算力攻击的成本太高,利润太少,无法产生大量资金,并且会有受到重大损失的风险。
由于所涉及的成本和风险,进行51%攻击确实没有任何意义,而诚实挖矿则有利可图的多。
05
在攻击面前的风险规避
虽然51%算力攻击可以撤销交易,但不可以在没有私钥的情况下,控制私钥对应的比特币地址,因此不能无(私钥)中生有交易。
所以对于51%算力攻击,交易支付者不仅不需要过度担心,而且在别人进行51%算力攻击时,你也有可能做一次双花商家。
但是交易接收者可就没有那么好的运气了,因此为了避免被别人51%算力攻击,可以多等几个区块生成后再进行交易。
但是反过来想一下,51%算力攻击是很不值得的一件事情。
攻击是为了利益,既然攻击者持有了这么高的算力,诚实的挖矿带来利益是不是更好?
而且攻击必然打击投资者对比特币系统信心,这对攻击者来说未必是一件好事。
⑶ 区块链是怎样防止数据篡改的
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
基于以上特点,这种数据存储技术是可以完美防止数据被篡改的可能性,在现实中也可以运用到很多领域之中,比我们的电子存证技术在电子合同签署上提供了更安全可靠的保证。
⑷ 浠ュお鍧婂備綍澶勭悊缃戠粶涓鑺傜偣鐨勫紓甯告儏鍐
浠ュお鍧婂備綍澶勭悊缃戠粶涓鑺傜偣鐨勫紓甯告儏鍐碉紵
浠ュお鍧婃槸鐩鍓嶆渶娴佽岀殑鍩轰簬鍖哄潡閾炬妧鏈鐨勬櫤鑳藉悎绾﹀钩鍙颁箣涓銆傚湪浠ュお鍧婄綉缁滀腑锛岃妭鐐圭殑鍋ュ悍鐘舵佸规暣涓缃戠粶鐨勮繍琛岄潪甯搁噸瑕併傚洜姝わ紝浠ュお鍧婂紑鍙戜汉鍛樺紑鍙戜簡涓浜涙満鍒舵潵澶勭悊缃戠粶涓鑺傜偣鐨勫紓甯告儏鍐点
涓绉嶅父瑙佺殑鑺傜偣鏁呴殰鏄鑺傜偣涓㈠け鍚屾ャ傝繖绉嶆儏鍐靛彂鐢熷湪鑺傜偣涓庡叾浠栬妭鐐逛箣闂寸殑鏁版嵁鍚屾ュ嚭鐜伴棶棰樻椂銆備互澶鍧婇氳繃浣跨敤鈥淕HOST鈥濆崗璁鏉ュ勭悊杩欑嶆儏鍐点侴HOST鍗忚灏嗗湪缃戠粶涓琚鏀惧純鐨勫尯鍧椾篃鑰冭檻鍦ㄥ唴锛屼粠鑰屽湪缃戠粶涓鍒涢犱竴涓鏇村姞瀹屾暣鐨勫尯鍧楅摼銆傝繖鏈夊姪浜庢彁楂樼綉缁滀腑鑺傜偣鐨勫悓姝ョ巼鍜屽彲闈犳э紝浠庤屽噺灏戜涪澶卞悓姝ョ殑鎯呭喌銆
鍙︿竴绉嶅彲鑳藉彂鐢熺殑鑺傜偣鏁呴殰鏄鈥滈摼鍒嗚傗(chainsplitting)銆傝繖绉嶆儏鍐靛彂鐢熷湪缃戠粶涓鏈夊お澶氱殑鍒嗗弶锛屽艰嚧涓嶅悓鐨勮妭鐐圭湅鍒颁笉鍚岀殑鍖哄潡閾俱備互澶鍧婁娇鐢ㄤ竴绉嶇О涓衡滄渶闀块摼瑙勫垯鈥濈殑鍗忚鏉ュ勭悊杩欑嶆儏鍐点傝ヨ勫垯绠鍗曞湴鎸囩ず浠ユ渶闀块摼涓哄噯锛屽嵆澶у氭暟鑺傜偣鐪嬪埌鐨勯摼鏄姝e父鐨勯摼銆
杩樻湁涓绉嶈妭鐐规晠闅滄槸鑺傜偣宕╂簝銆傝繖绉嶆儏鍐靛彂鐢熷湪鑺傜偣鐢变簬纭浠舵垨杞浠舵晠闅滆屽艰嚧鏃犳硶姝e父杩愯屻備互澶鍧婂勭悊杩欑嶆晠闅滅殑鏂瑰紡鏄浣跨敤鈥滃垎鏁e紡瀛樺偍鈥濄傚垎鏁e紡瀛樺偍鐨勬傚康鏄灏嗚妭鐐圭殑淇℃伅瀛樺偍鍦ㄧ綉缁滅殑澶氫釜鑺傜偣鍜屾湇鍔″櫒涓锛岃屼笉鏄鍗曚竴鐨勮妭鐐广傝繖鏍峰嵆浣夸竴涓鑺傜偣宕╂簝锛屾暟鎹浠嶇劧鍙浠ヤ粠鍏朵粬鑺傜偣鎭㈠嶏紝浣挎暣涓绯荤粺淇濇寔杩愯岀姸鎬併
鎬荤殑鏉ヨ达紝浠ュお鍧婂凡缁忓仛鍑轰簡鐩稿綋澶氱殑鍔鍔涙潵澶勭悊缃戠粶涓鑺傜偣鐨勫紓甯告儏鍐点傝繖绉嶆帾鏂芥湁鍔╀簬淇濇寔缃戠粶鐨勫仴搴疯繍琛岋紝骞跺炲己浜嗘暣涓浠ュお鍧婂钩鍙扮殑寮哄ぇ鎬ц兘銆
⑸ 比特币出现漏洞,手把手带你发起攻击,万一暴富了呢
针对所有的支付系统,有一种攻击方式叫作 双花攻击 。所谓双花攻击就是指一笔资金被花费多次,攻击者先将资金转出,获得收益后通过攻击的手段撤销该笔转账,让资金重新回到攻击者的账户上。那么我们能否对比特币发起双花攻击并从中获利呢?答案是肯定的!下面让我带你一起对比特币系统发起攻击。
在带领大家发起攻击之前,我们需要先了解一下比特币的转账原理,这是我们发起攻击的预备知识。
在比特币系统中,用户想要发起一笔转账,首先要把转账信息组装好,就像填写银行支票一样,写好付款方账户,收款方账户,转账金额,然后使用加密技术对转账信息签名,我们把这种签名好的转账请求叫作交易。交易被比特币系统处理以后,付款方的账户就会被扣除指定金额,收款方的账户就会增加指定金额。
用户的交易会被发送给比特币系统中的节点,节点收到交易后将其放在一个新的区块中,然后对这个区块进行哈希计算,也就是之前文章所说的计算数学题。哪一个节点优先计算出了这个区块的数学题答案,就获得了这个区块的打包权,被这个节点打包进区块的交易就相当于成交了,然后所有的节点会在新区块的基础上开始计算下一个区块的数学题。
知道了比特币的转账原理,下面我们就来看一下比特币的漏洞到底在哪里!
刚才我们说谁先算出答案谁负责打包区块,那如果有两个节点同时做出了同一个区块的答案该怎么办呢?为了解决这个问题,比特币系统设计了一个特殊的机制,叫作最长链原则。
通过上面的描述我们可以看出,比特币的这条链是有可能分叉的,分叉以后会以最长的链为准,那么在较短的分叉上的区块就被废弃了。 这不正为我们攻击比特币系统带来了可能性吗!
你可能已经想到了,既然比特币系统只认最长的那条链,我们是不是可以通过这样的方式对比特币进行双花攻击:
至此,你之前转出的比特币还在你的账户上,并且得到了你想要的东西,所以你的攻击成功了。
对比特币的攻击真的这么简单吗?答案当然是否定的!虽然我们说可以通过上述方法对比特币发起攻击,但是攻击是要付出代价的。
所以,如果你想要创建一个新的分叉,并且超过主链的区块长度,那么你需要比主链上所有节点的计算速度加在一起都要快。要想实现这样的结果,唯一的做法就是你要收买比特币系统中超过51%的节点算力,这就是比特币的51%攻击原理。
想要攻击比特币系统并不是不可能,但是需要付出的代价可能远远超过作恶所获得的收益。在比特币系统中,节点越多,算力越强,攻击比特币系统的成本就越高,比特币系统就越安全。比特币越安全,它的价值就越高,就会吸引更多的节点加入来竞争比特币奖励。更多的节点进一步促进了系统的安全性,这是一个正向循环。
51%攻击不只是针对比特币的,所有采用 工作量证明共识算法 的区块链都面临着这个问题。对于已经日趋成熟的比特币系统来说,攻击比特币确实是不划算的,而且随着系统节点的越来越多,攻击比特币几乎成为了不可能的事情。但是一些新的链,在其刚起步的时候节点和算力还不多,这种攻击确实是真实有效的,并且这种攻击事件时有发生。