比特币科普4:安全问题,比特币会被恶意攻击致死么?

119次阅读
没有评论

共计 4350 个字符,预计需要花费 11 分钟才能阅读完成。

比特币从诞生第一天就伴随着各种质疑,在长达 8 年的成长过程中,没有上百次,至少也有几十次被宣布“死亡”,然而它还是挺过来了,而且还屡创新高,相信国人最近更是深有感触,在中国的强力打压下,比特币已经快重回巅峰了。

 

在众多质疑声中,普通大众最关心的是监管问题,总觉得比特币抢了央行的铸币权,去中心化的理念打了中心化组织的脸,最终一定会被监管致死!

可我却不以为然,历史上从来没有什么事情是因为监管和打压而消失的,如果有,那也是暂时的!

一个事物消失在历史的长河中,只有两种可能:
1,我们真的不需要;
2,这个事物真的不符合客观规律和历史进程!

而比特币,个人认为是我们既需要,又符合规律的新事物。

 

那么,我们是否还应该继续关注政策?肯定应该,因为可以借助政策做波段赚钱。但是如果因为害怕监管而不敢投资比特币,那就有点悲剧了。所以,与其天天担心政策,不如多学一些比特币、区块链和货币与金融的基础知识,把信仰和勇气建立在知识上。同时,更多的应该关注比特币本身的问题,这世界上,能彻底搞死比特币的,只有比特币自己!

 

那么比特币本身,最大的问题有两个:
1,安全问题
2,性能问题

目前我还没有特别深入比特币的代码,所以谈性能问题肯定就是吹牛逼,但后面我一定会去看的,到时候再分享,本文先来谈一下安全问题。

 

比特币的安全问题主要包含以下几个方面:

1,交易安全

2,钱包安全

3,加密算法安全

4,区块内容安全

5,51% 算力攻击

 

1,交易安全问题:

比特币虽然采用了非对称加密、共识机制、区块链等一些列技术保障了交易的安全、可信和可追踪,但问题是,如果一笔交易的错误是人为造成的怎么办?比如我填写转账地址的时候,填错了一个字母?其实如果你填写的地址完全不存在于比特币网络,转账是不会成功的,但如果你这个地址正好是另外一个人的地址,那么抱歉:

第一,系统不知道另外一个人到底是谁;

第二,就算知道那个人是谁,人家拒不还款,你也没办法,更悲剧的是,那个人很可能还是个外国人!

 

所以,我们在享受比特币世界的自由空气与个人财产隐私权时,代价就是自己要有对自己负责的能力,你应该自己想办法确保输入的地址一定不会错,而如果输入错了,你应该第一个想到的就是骂自己,第一反应应该是如何避免这种情况再次发生,这其实是逼着每个一人学习和进步!

 

当然,不可否认的是,有些人基因里就是马虎型选手,为了解决这些人的客观问题,肯定会出现中心化的中介结构,你把比特币充值到他们那里,他们帮你处理支付和转账问题,他们还能通过发行代币进而减轻比特币网络的压力。有人肯定会质疑,这样的话,为啥不干脆用代币?还要比特币干啥?其实并不是,就像支付宝并没有动摇法币的地位,只是让法币交易更加便捷而已。

 

2,钱包安全问题:

如果不是最近国内监管风云巨变,我还意识不到这个问题的严重性,相信大部人的数字资产平时都是存放在交易所,这里首先就有个风险,如果交易所被攻击,或者卷款跑路,那么所有投资者必然损失惨重。

但这个担心我相信是阶段性的,只是在行业还没有规范的情况下才会发生,不然同样的问题,我可以说,如果支付宝被攻击或者跑路,你怎么办?交易所和支付宝其实都是中心化商业机构,不同的只是,支付宝成熟,交易所还不成熟。所以这个问题,靠时间就能解决,现在无解。

 

但是,最近的监管风暴,直接导致国内所有交易所命运成谜,恐慌必然导致很多人希望把资产从交易所里弄到自己的钱包里管理,可一旦你决定这么做,尤其是如果你还准备自己管理比特币客户端的时候,那一个大大的钱包安全问题就在前面等着你了。

 

借这个机会,做一个小科普:很多人可能不知道,当你用钱包客户端从自己的地址 A 向地址 B 转账 10 个比特币的时候,假如你的地址上现在有 12 个比特币,系统会 12 个全部转给 B,然后再给你退回来 2 个。更神奇的是,给你退回来时,签名的私钥还跟之前的不一样。比特币的客户端私钥文件是 Wallet.dat,一般藏在 C 盘 Appdata 目录下。初始创建 100 个密钥,你每次交易使用掉一个,同时自动创建一个新的,永远保持 100 个。如果你在备份 Wallet.dat 之后,又进行了 2 笔新的交易,这时候 Wallet.dat 中就会又更换掉两个私钥。假如不幸这时候客户端崩溃了,需要重装,但是你却用了之前备份的 Wallet.dat 进行恢复,那么最近的两笔交易涉及的比特币,你将会全部丢失!

 

上面用一个科普小知识和一个小细节透析了钱包的安全问题,其实,还有更多问题,比如硬盘坏了,电脑丢了,备份文件丢了,电脑被黑了,重装系统把 C 盘格式化了 ……

 

好在这些问题,很多可以通过技术来规避,现在最常见的一种方案是“离线钱包”解决方案,主要原理是,将私钥存放在一台不联网的设备里,而公钥则存放在联网的电脑里。当需要交易的时候,先在联网的电脑里下单,然后把交易单拷贝到不联网的电脑里用私钥签名,然后再把签名后的交易拿回联网的电脑里广播。这样可以保障存放私钥的电脑最大程度的安全!这里不理解什么叫私钥和公钥的朋友,参考我的另一篇文章《比特币科普 2:非对称加密技术》。

 

总之,比特币钱包安全,对于所有自己管理资产的朋友绝对是个大问题,甚至会是一个永久的问题,就像互联里病毒和杀毒软件的关系一样,永远博弈下去!

 

3,加密算法安全问题:

在之前的文章里,我详细解释过非对称加密和共识机制的原理,相信大部分人应该都能看懂。我们可以看到,从黑客的角度,非对称加密已经不可能从规则上突破,只有暴力破解(一个一个试)的方法,然而想破解比特币依赖的 SHA-256 和 ECC 椭圆加密算法(都是非对称的),就算把当今最先进的计算机弄到一起,短时间里也难以破解。

 

然而,破解技术也是不停进步的,计算机更是朝着量子方向发展,谁能保证非对称加密算法永远是安全的?提出这个问题是有道理的,不对的是,我们用动态和发展的眼光看待破解技术,却用静止的眼光看待加密技术和比特币,这种双标就不对了。其实在真实的历史上,加密技术一直都是走在破解技术前面的,而每次新旧更替的过程,一般是大家先发现一个破解当今加密技术的可能性,然后一堆人开始研究论证这个可能性,这个时候,对应的加密技术研究者也是同步跟进的,如果真的论证可行,同步的加密技术就会立刻升级。

 

那么有没有可能,加密算法在没有任何前兆的情况下,被瞬间破解了?如果这种极端情况发生,会怎样呢?对于比特币来说,首当其冲是挖矿,一笔交易需要矿工们确认后才会放入区块进行全网广播,而前面的文章里也讲过了,区块的产生是靠寻找一个特定哈希散列值的方式进行的,如果 SHA-256 被破解,那么,攻击者可以在两组不同的信息里推出相同的信息摘要,进而在极短的时间内找到这个特定的随机值,从而比正常的矿工更快的挖到区块,这将导致保证比特币体系公平的工作量证明机制彻底崩塌!

 

是的,真实的世界里,总是这么危机四伏,我们在某种意义上,都是温水里的一只小青蛙。当今世界几乎主要的军用和商用互联网,都是依靠非对称加密算法保障信息安全的,如果谁真的能不吭不响的破解了这个算法,然后他却第一个想到的是捣鼓比特币的矿机,那我们是该高兴呢?还是该高兴呢 ^_^。

 

4,区块内容安全问题:

这个问题很多普通人可能没意识到,比特币网络里的每一个区块,在产生的时候,不但包含交易信息,还能手动输入一些信息,比如中本聪在创世区块里,留下了这么一句话:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,这应该是一句讽刺时下银行的话。

 

草根互联网从业者应该能敏感的意识到我要讲的问题了吧?在某些国家,某些话是绝对不能说的;某些人的营销手段也是无孔不入的。而面对这样一个全新的,全球性质的,跟货币直接绑定在一起的,可能会爆发的信息和营销载体,各国法律都要经受一次严重的挑战,同时比特币可能也会因此而面临一次打击,甚至是调整。

 

5,51% 算力攻击问题:

相信这个问题应该是稍微了解一些比特币的普通大众最关心的问题之一,其实这个问题从比特币白皮书阶段就有人质疑了。

首先解释下何为 51% 算力攻击,假如 A 发起了一笔向 B 的转账请求,同时种种原因,相同的资金 A 也发给了 C,那么在最新区块创建时,这两笔交易是冲突的,那么区块链就会分叉,分叉后,所有的矿工会根据签名和交易信息继续确认,并把新的区块跟在分叉区块后面。最后得到确认最多,最长的那个链条将会胜出和成交。

 

根据这个原理,如果有人拥有超过 51% 的算力,他就可以决定支持哪条分叉,进而人为的改变区块链的规则,具体他将 可以做到

1,修改自己最新的交易记录,使自己拥有双重支付的能力。

2,阻止最新的区块确认,甚至是阻止全部交易。

3,阻止部分或者全部矿工开采到任何有效的新区块。

 

先别慌,再看下他 不能做到 的:

1,修改其他人的交易记录。

2,阻止交易请求发出。他能阻止的只是确认交易,而不是别人发出交易的动作。

3,改变每个区块产生的比特币数量。

4,凭空产生比特币。

5,把不属于他的比特币发送给自己或者他人。

 

怎么样,看了他不能做的,是不是就没那么慌了?

因为我们可以看到,他可以通过 51% 算力攻击为自己谋利,甚至扰乱比特币网络正常运行,但是他无法破坏已有的信息,更无法觊觎别人的财产。

所以,这个罪魁祸首伏法后,比特币网络依然可以继续正常运行下去,而这次灾难造成的恶劣影响,将会让每一个比特币参与者永记心间,警钟长鸣!

 

上面已然假设的是最坏的情况,那么这个最坏的情况会不会发生呢?

可能永远都不会发生,因为比特币的世界总算力正在急速膨胀和分化,几乎没有任何个人和单个组织能够发起 51% 算力攻击。

如果有,他会发现,如果把这 51% 的算力不是用来攻击比特币,而是用来挖矿,然后控制比特币的定价权,这样收益会远远大于击溃比特币。

人类的世界,没有永远的朋友或者敌人,只有永恒的利益!

 

综上,我们可以看到,比特币确实有不少自己的问题,就像这个世界上没有哪个人和哪个组织是完美的。

然而只要基础是牢固的,方向是对的,全球去中心化货币和财产安全是我们真正需要的,那么未来的道路上,方法总比困难多!

 

→2017.10.4 于 上海

 

后记一:9 年后再看本文,基本没啥大问题。但小问题有两个:1、钱包安全这块儿,现在几乎很少有人会自己在电脑上管理比特币客户端了,基本都是直接装浏览器插件钱包或者手机钱包,个别大佬会用硬件钱包。这些管理方案都比直接管理客户端简单很多,但安全问题依然还是没有完全解决。2、内容安全这块儿,确实闹出过小问题,但大的问题一直没发生过。看来之前是有点过虑了,整个行业为了自身的发展,确实很少人主动把行业往火坑里推,在区块上写不该写的内容,而且即便写了,大家也一般不会主动大肆传播。
→2026.2.7 于 新加坡

正文完
 0
评论(没有评论)

寂寞火山个人博客

文章搜索