A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小痞痞 高级黑马   /  2013-12-6 17:13  /  866 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编者按:本文来自苟振兴投稿,一个写了15年程序的老码农,擅长嵌入式、多媒体开发,现居济南,大家可以加他微信water_e和他交流讨论。比特币最近实在太热了,我们有从经济角度进行理解,那不妨再看看从技术角度又是如何理解的。

这几天看到新闻,BTC 居然卖到好几千人民币了,ORZ,这个世界好疯狂,真是程序员在改变世界啊。比特币现在的价格,正应了那句老话,欲让其毁灭,必先让其疯狂。

先看看比特币为什么没有想象中靠谱。

我这个不懂金融的程序员都知道,所有的货币都要有依托,美元之前被叫做美金,依托的是黄金,后来不需要和黄金挂钩了,依托的是山姆大叔的飞机导弹和航母。比特币有什么可依托的吗?坦白来说,啥都木有。没有依托最大的问题就是货币的价值和唯一性。

因为比特币不是唯一的,还有其他种种去中心花的虚拟货币,只不过比特币是发展最早,被炒作到大众传播的货币而已。在面对同类货币的竞争时,美元有黄金、大棒可以维护其地位,比特币有什么核心优势可以和其他虚拟货币竞争的吗?坦白来说,也没有。

如果比特币真想他们想的赢得了竞争还好,如果失败了,这部分投资只能是血本无归。所以现在比特币的持有者,只能自吹喇叭,自抬轿子:比特币是革命性的,其他的都是山寨。不过他们忽略了一点,比特币只是个实验品,是个革命性设想的最初实现,直白来说,只是个自娱自乐的工具。

去中心化的货币设想,确实是个疯狂而伟大的主意,可以说很超前,很乌托邦,这个就不用累牍了,从大众媒体上听到最多的就是这个。我相信未来一定会成功,但肯定不是在比特币这个实验品身上。

接下来说说为什么比特币只是个实验品。

首先比特币的技术实现方式并没有外界传说中的那样神奇。可能对于大众来说,对其工作原理看起来玄而又玄,不过对于程序员来说,那都不算是盘菜。除了对帐户做非对称加密外,核心解决客户端之间信任的手段就是 hash、hash、再 hash,hash 上一亿次,看哪次 hash 出来骰子更可爱。这就是所谓解决工作量证明的 hashcash。

就像前面说的,比特币现有的体系为了保证安全和可信,要求在做交易确认的时候,让所有的计算机不停的根据一堆相对固定数据外加一个随机数算 hash 值,那个 hash 值的前 10 位是 0,并且这个随机数足够大,就认为谁的结果是可信的。为了达到这个结果,机器必须不停的更换随机数,因为 hash 的结果前 10 位为 0 的几率太小了,以此就保证了整个过程花费了足够多的时间,这个 hash 结果就是扔出的骰子。

从技术角度来将,这个设定可以解决问题,但实际应用却是很疯狂的,因为扔骰子的结果会伴随着奖励,谁扔的最好,谁就会获得系统提供的 50 比特币奖励,系统每天大概会提供 3500 枚比特币的奖励,按照现在的比特币汇率大约是数千万人民币。如果真的比特币被世界认可,会有数以万计的计算机为了奖励去扔这个无聊的骰子,包括 Intel、AMD、台积电的厂商也会专门设计生产专用 CPU 去做并行计算的解决方案。

而目的呢?还是为了这无聊的 hash 算法,并且这种专门架构的机器什么都不能做,只能去扔骰子,因为这样才能提高性能。有人会去设计、生产这种专门扔骰子的机器吗?有的,现在已经有了,不过只是些不入流的小厂家在做。但如果全世界都去做,还有比这更搞笑的事情吗?

为什么不把这个运算能力放在更有价值的地方,先别着急断言 SETI、Folding 这些分布式运算的结果不容易验证,算法总能想到的,再不及去算算质数也比全世界都去扔骰子强太多了。去中心化的网络系统需要解决信任问题,现有比特币的做法是最简单也是最笨甚至是最不安全的方式,也只有一个实验品才会使用这样的方式来做。

比特币现有的安全设计,主要使用了 sha-256、secp256k1,这些当前被认为安全的加密算法,理由也很充分银行、金融机构包括 NSA 也都再用。但是其中忽略了最主要的一点,在于中心化的系统中(现有的银行),用这些足够了,因为中心化可以随时修正、升级系统。

但在于这种非中心化的金融系统中,这些环节中任意一个被攻破,对于整个体系来说都是崩溃式的。就像山东大学的王晓云老师在碰撞攻破 md5 之前,大家都认为 md5 是安全有效的,但是攻破以后呢,就看出谁在裸奔了。设想一下,如果 secp256k1 被攻破,相当于你可以拿到了所有人的银行密码和卡号,并且这个银行还不能挂失,所有的货币连废纸都不如。不要说私钥无法破解,量子计算机破解私钥只是产业化的时间问题。

除了上面提到的东西,比特币还有很多不完善的地方。比如说私钥的保存,如果你是个比特币的持有者,一定要小心保护好你的硬盘,因为上面有你的帐户私钥,这个是唯一可以证明这笔钱属于你的印鉴。在 PC 升级要更换硬盘时请借鉴越狱第一集中男一号对自己硬盘的处理,一定要砸烂、烧掉、再扔湖里。因为别人一旦拿到这个私钥,这笔钱就不属于你了。

从技术上讲,只是把文件删除甚至格式化硬盘,都无法保护,物理消除是最根本的。另外不要把这个私钥保存或者法不在云呀、邮箱呀等等任何地方,网络管理员一个正则表达式就能把这些东西都找到,然后这笔钱就不是你的了。此外现在所有的比特币交易网站都是不安全的,他们只承担道德责任,从法律上讲他们可以任意的把你帐户的钱转移走,并可以让你无法追查。

此外使用比特币付款时,收款方想要安全的确认完成,大约需要一个小时,你还觉得这东西不是实验品吗?如果我去咖啡馆买杯咖啡,收款员需要用验钞机看一下,等 1 小时再告诉我结果,你猜我们谁会先疯掉。只是买笔咖啡还好,如果付款数额足够大,是可以有足够的成本,通过超强的运算能力和伪造的网络,欺骗收款方验证通过,完成一次虚假的交易的。

前面说了这么多比特币的问题,肯定有人会想,有问题比特币不能一点点修正吗?但这正是去中心化的货币最大的难题。协议、规则一旦确定很难做出更改,特别是网络节点越来越大时,没有一个独裁的中央节点,所能进行的改动只能是小修小补。核心是无法被改动的,一旦改动就会出现分裂。另外帐户私钥部分的基础设定,是压根无法更改的,只能祈祷私钥无法被攻破,量子计算机无法商业化。

想想 Bill Gates 在 30 年前激动的说的那句话:“640KB 内存对全世界都够了”,想想现在一台便宜的多核智能手机也就几百块钱,就能知道摩尔定律的威力。在 IT 这个行当,我们的每个想法和决定,在历史看来可能都是可笑的。看看 IT 圈子里的大牛们,有谁看好比特币,沃兹、大门、卡马克...... 真正明白人都是不屑一顾。现在号称有全世界 10% 比特币的是那 2 个和扎克伯格打官司的双胞胎,地道的投机者。

比特币很酷,但现在把这玩意当真的,都是不求甚解或者不懂装懂的伪极客。比特币这处闹剧确实也是看点多多,程序员展现了自己对理想和自由的情怀,投机者表现了对金钱的渴望,一如既往表现出无知无畏的态度。做为看客,我们看个热闹就好了。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马