按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
幌衷谑切畔⒓际跏贝忍乇胰丛诟粗蒲堑薄に姑苡�18世纪所说的愚蠢。”就连比特币的支持者也不甚了解这一设计思想。米塞斯圈的一位专栏作者撰文称,比特币穷兵黩武地堆积算力,跟孔雀进化出华丽的尾巴、爱尔兰大鹿进化出3。6米的大角一样,是囚徒博弈的最佳选择,这在生物学上叫作累赘原理'8'。这种解读当然很无厘头,与比特币“计算即权力”的设计思想相去甚远。
既然比特币网络拥有堪称人类有史以来最大的算力集合,为何不把这些算力用于蛋白质折叠、寻找外星人、寻找素数等功在千秋的科学计算呢?素数币便是这样一个自称“非能源效率”的山寨币,它企图将算力用做寻找素数的科学计算。它的发明人雄心勃勃地写道,“加密货币目前已经分道扬镳为两条道路,一种是能源密集型,一种是环保节能型。我相信,在未来较长一段时间内(5年以上),环保节能型货币将因其成本优势而开始挑战能源密集型货币。素数币第一次引入非哈希现金的工作量证明机制,使得算力不仅仅用来制造区块链,还提供额外的潜在科学价值。”
很遗憾,既要用算力来保障P2P货币安全性,又要用算力来做有用的科学计算,这是一个二律背反。比特币社区的计算机工程师认为,把“难度可调”的NP难度问题(比如SHA…256算法)嵌入蛋白质折叠算法是可能的,使计算蛋白质折叠问题成为挖矿的一个副产品。挖矿除了生产货币之外,还能产生社会效益。但这种貌似“有用的”的工作量证明算法实际上会对区块链的安全性构成威胁。试想一下,使用比特币挖矿算法来进行蛋白质折叠、寻找外星人、寻找素数等分布式计算,比特币的安全性根基(没有任何节点可以控制全网大部分算力)就崩溃了。因为分布式计算的工作量是可叠加的,随着工作量证明功能的“有用部分”的增长,攻击成功的可能性也在增长。即使你一个区块也没找到,你完成的工作量仍然对别人有用,黑客可利用你完成的这部分工作量降低网络攻击的成本。所以,理想的设计是矿工完成的工作量对其他人来说是无用的,这样才能保证他们扔掉的计算量是一个与硬件成本、电力、运气或带宽有关的商品。
为此,素数币做了一定改进,设计了一个非可重用性的工作量证书,即一个区块上的工作量证书不能用于其他区块。为实现此点,它将素数链连接到的区块头哈希除以父级区块头的哈希所得的商作为工作量证书。工作量证书与区块的哈希值一同嵌入子区块中,这样不仅能够防止工作量证书被篡改,同时可以避免产生一个可在多个区块上重复使用的工作量证书。这种改进的效果是,将一万个人同时挖一个坑的游戏变成了一万个人同时挖一万个坑的游戏,任何人完成的寻找素数工作量都只能为己所用,素数币的计算资源并未用于分布式计算,计算成果未能实现全网共享,计算负载也未能在节点中平衡。可见,它本质上仍然是一种能源密集型货币,与它“非能源效率”的设计初衷相悖。
还有一个严重的问题是,素数在数轴上的分布是不均匀的,位数越大则越稀少,寻找难度呈指数增长,工作量证明却需要难度平滑增长。这意味着越到后面,素数币的交易越难确认,甚至不能确认。素数币的解决方案是用一种费马测试的改进版进行素性测试,这样可以提高效率,节省计算时间,但这是一种不完备的筛选,因为费马测试是基于费马小定理的逆定理,而该定理已经被证明不成立,费马素性测试得到的是伪素数,素数币寻找到的坎宁安链越到后面越不可信,其寻找素数的所谓“潜在科学价值”恐怕也只能停留在“潜在”这一步了。
一些人将山寨币之于比特币的关系,视作其他贵金属之于黄金的关系,比如莱特币就用心良苦地把货币总量设计为比特币的4倍,企图像白银锚住黄金价格一样,锚住比特币的汇率。莱特币的推广词就是:如果说比特币是数字金币,那么莱特币就是数字银币。还有羽毛币把货币总量设计为莱特币的4倍,试图成为数字铜币。这种想法似乎过于一厢情愿了,因为元素周期表上的元素终究是有限的,而山寨币却可无穷复制,层出不穷的模仿者最终只能稀释所有模仿者的价值。自2013年5月以来,社区以每天两三种的速度发布新的山寨币,几乎所有山寨币都呈下跌走势,虚拟货币PPcoin从最高的0。003比特币跌到0。001 4比特币,虚拟货币Yacoin从最高0。000 6比特币跌到0。000 15比特币,还有更多的不知名山寨币走向价值归零或退市的穷途末路。
就目前市面上出现的山寨币或其他虚拟货币来看,尚未发现有价值的技术创新。其实,就算后来者涌现出突破性的技术创新,比特币社区也很容易就能加以借鉴,将之添加至比特币核心协议,并升级客户端。“没有护城河,才是终极护城河。”一个比特币迷在微博上如是说。比特币是像车轮一样的发明,重复发明轮子是徒劳无益的,因为世界本质上只需要一种数字货币。但山寨币的存在并不是毫无意义,它的存在有助于比特币的自身进化。由于比特币生态已经蔚为大观,社区对每次可能导致“硬分岔”的协议升级都非常慎重,山寨币则可以充当小白鼠。比如,彩色币、零币等应用可以率先添加进莱特币等山寨币的协议,如果获得成功,转而应用于比特币中,这将大大降低协议升级、软件更新所带来的“硬分岔”风险。
比特币会内部崩溃吗
与传统的层次分明的金字塔组织方式不同,比特币因其去中心化的P2P网络结构而开启了一种开放式的信息组织与进化模式:没有命令,只有很弱的组织,相当于蚂蚁筑巢。比特币社区继承了开源社区的传统,用倾听取代强权,用沟通取代命令,用协商取代控制。比特币社区唯一官方意义的组织是比特币基金会,仿照Linux(一种开源的操作系统)基金会的模式建立,依靠用户捐助的比特币维持运营,负责组织比特币核心协议的完善、客户端的升级、安全性的监督、法律事务以及与政府机构的接触等。
比特币社区也不存在真正意义上的领袖,加文·安德烈森被视作中本聪的继承者,他是比特币社区的仲裁者和架构师,同时负责协调比特币核心程序的优化。安德烈森成为比特币社区领导者的过程非常简单。起初他向中本聪提交优化比特币核心系统的代码,中本聪逐渐对他的代码有了信任。有一天,中本聪问他是否可以将其邮箱地址放在比特币的主页上,安德烈森同意了。从此,比特币主页上中本聪的邮箱地址被安德烈森的邮箱地址取代,项目的领导者象征性地过渡给了安德烈森,中本聪则退到了幕后,甚至消失了。中本聪与安德烈森都不能对比特币社区发号施令,与普通开发者的唯一区别是,他们拥有一个可以在客户端添加警报的密钥。
比特币社区信奉海盗式的民主,每个节点都可用自己的算力进行投票,任何针对客户端的改进、协议的修改与添加都将置于算力投票的监督范畴内,只有被全网51%以上的算力接受的改进才能真正视作有效。与海盗社会一样,差劲的领导者很快就会被社区抛弃。历史上曾有一伙海盗在某趟航程中更换了13个船长,其中有个叫本杰明·霍尼戈的船长,手下们罢免他的原因居然是他“拒绝攻打和劫掠英国船只”。试想一下,若比特币社区真的存在一个为所欲为的“船长”,比如安德烈森在客户端里加入某种后门程序,可以让他轻易地挖到比特币,或者他独断专行,执意推行被社区多数人反对的协议升级,那么用户完全可以无视其发布的程序,采用社区其他程序开发者的程序交易比特币或挖矿即可。
中本聪认为,20世纪90年代以来,Beenz、Flooz等虚拟货币先驱的失败主要是由其中心化的组织结构造成的。其主要原因是,一旦为虚拟货币信用背书的公司倒闭,或保管总账的中央服务器被黑客攻破,该虚拟货币就将面临信用破产与内部崩溃的风险。所以,他将比特币设计为全分布式拓扑结构,这也是人类历史上第一次尝试去中心化、不再依赖对中央发行机构的信任的货币系统。一般认为,全分布式拓扑结构具有良好的可扩展性、鲁棒性和自组织性,像蚂蚁社会一样,拥有不可思议的自我修复能力。
科幻小说《马姨》构思了这样一个故事情节:有人用蚁群设计了一个自组织的机器智能“马姨”,以蚂蚁个体的本能行为执行计算机指令,并通过代码手册与人进行交流,在整体上表现出一定的机器智能。主人公从蚁群中赶走一些个体,但惊奇地发现“马姨”的运行一切正常。
比特币就是这样一个具有强鲁棒性的系统,每时每刻都有大量节点频繁地加入或退出,但丝毫不影响全局结构的稳定性。比特币社区里有人打趣道:“这就好比在诺克斯堡'9'周围每隔10英尺安排一个武装狙击手,仅仅是用来保护一袋分币钢镚儿。让这些狙击手一半回家休息,这袋钢镚儿的安全性丝毫不会降低。”
同样,从技术上关闭比特币相当困难。2009年2月,中本聪在IRC(互联网中继聊天)频道写道:“政府擅长击溃Napster(一种在线音乐服务)那样拥有中央控制的网络,但是Gnutella和Tor这样完全P2P的网络看起来依旧安枕无忧。”
值得一提的是,另一个自称分布式的虚拟货币Ripple在网络结构上与比特币有着本质的区别。比特币网络结构符合随机网络特征,节点连接是随机的,大部分节点的连接数目大致相同,即节点的分布方式遵循钟形的泊松分布,存在一个特征性的“平均数”。连接数比平均数高许多或低许多的节点都极少,随着连接数的增大,其概率呈指数级迅速递减。而Ripple网络更类似于无尺度网络'10',它引入“共识”机制,通过特殊节点的投票对交易进行验证和确认。而这些特殊节点往往拥有大量的连接,大部分普通节点的连接数却很少,节点连接数符合齐普夫定律'11'。这种特殊节点的存在使得Ripple网络对意外故障有强大的承受能力,但面对协同性攻击时则十分脆弱。研究表明,面对蓄意的协同攻击时,只要5%~10%的集散节点(拥有大量连接的节点)被移除,无尺度网络就将彻底瘫痪。
更糟糕的是,Ripple客户端为加快确认速度,不需要下载区块链,而是在普通节点上舍弃已经验证过的总账本链,只保留最近的已验证总账本和一个指向历史总账本的链接,显然,那些保管历史总账本的服务器就成了它的软肋。
尽管Opencoin公司小心地隐藏了服务器端源代码,但对于黑客来说,找到通往服务器之门并不是一个技术问题,而是一个经济学问题。随着Ripple网络的交易额逐渐上升,黑客对它的欲望也越来越强烈。2013年6月,Ripple连续发生多起在线钱包失窃事件,虽然这些失窃可能都是用户密码设置的疏忽所致,而不是来自系统攻击,但这也表明,一大波黑客正在向Ripple袭来。7月,Ripple平台遭遇分布式拒绝服务攻击,黑客从一个账号向另外一个账号发起大量小额转账操作,让Ripple平台的服务器无法响应和支撑其他用户正常的交易请求,造成Ripple服务中断长达十几个小时。
可见,在抗攻击问题上,Ripple与过去的Beenz、Flooz等虚拟货币以及“自由美元”等私铸货币并无本质上的不同,这也难怪一个资深用户讽刺Ripple说,疯子就是一遍一遍做同样的事,却期待不同的结果。
但是,既然比特币出于安全性、健壮性考虑,致力于建设去中心化的全分布式结构,中本聪为什么亲自设计了中心化的矿池呢?目前,BTCGuild、50BTC、ASICMiner三大矿池已经占据全网64%的算力,这意味着三大矿池若联手,将足以对比特币网络发起51%攻击。黑客丹·卡明斯基在2013年比特币大会上表示,比特币网络存在系统性风险。反对者却认为,矿池的存在是对比特币安全性的增强。
矿池对比特币网络的组织有什么作用呢?凯文·凯利在《技术元素》一书里提出了一个思想:“只从底部出发还不够。”即使是互联网最大的开放性自组织工程维基百科,也不是完全自下而上的组织形式。维基百科的维护者设计了严密的条框来防止网络小白任意修改词条,超级管理员可以采用精英编辑的建议单方面屏蔽他们。凯文·凯利认为,在网络经济中,真正的商业和组织艺术不在于控制包括“每个节点”的群体,而是在最佳时间为每一个利基市场找到底层和顶层的最佳组织。矿池的存在可以让比特币网络对安全预警、漏洞修复的反应更敏感和高效。
2013年3月,比特币0。7版和0。8版客户端因区块大小限制的不同而导致不兼容,互不承认对方的有效性,比特币网络面临分裂的危险局面。比特币社区发出警报之后,几大矿池迅速响应社区的呼吁,将客户端切换到了旧版本,仅用了几个小时便化解了这次危机。试想一下,若没有矿池的存在,全网几百万个节点需要在短时间内同时切换客户端才能避免这一危机,这恐怕是不现实的。
在比特币的工作量证明机制中,算力即投票权,算力越大,权力越大,责任也就越大。所以,在比特币基金会的成员名单上,你看到各大矿池的管理者的名字也就不足为奇了。中本聪认为,如果是用节点数即IP地址的多少来决定谁是大多数,那么拥有分配大量IP地址权力的人,比如僵尸网络,就有可能主宰比特币网络。而工作量证明机制的本质是一CPU一票——计算即权力。拥有更高算力的人更有责任保障全网的安全,因为比特币的挖矿激励机制使得在非合作博弈中存在一个纳什均衡,即把算力用于诚实挖矿较用于发起双重支付攻击获得的回报更高。
2013年4月,BTCGuild矿池的算力份额一度接近全网的一半,引发了社区对51%攻击的担忧。为此,BTCGuild的管理员Eleuthria(网名)主动限制了算力的增长,规定如果矿池算力超过了45%,将移除所有基于getwork协议(一种直接连接到矿池挖矿的协议)的服务器,并关闭新用户注册,直到算力回到40%以下。
矿池拥有者杜绝51%攻击的意愿比普通用户更强,Eleuthria在社区发帖说:“显然,我不能等到矿池算力份额到了49。9%时才采取措施,即使51%攻击只有在控制它的人决定这样做时才会发生。”一个理性的决策者绝对不会把可兑现成真金白银的算力用来发起回报有限的51%攻击。退一步说,即使部分矿池拥有者是疯子,他们无视利益的大小,执意对比特币网络发起攻击,比特币社区发出警报之后,矿池用户只需停止运行矿机或切换至普通方式挖矿,便可让疯狂矿池的阴谋落空。毕竟矿池只是承担计算任务分发与挖矿奖励分配的平台,而不是矿机的真正拥有者。
比特币会成为标准吗
如果说开源操作系统Linux就像芬兰史诗《卡勒瓦拉》那样不断完善,由最初的约1 000行代码,经黑客社区的义务贡献,成长为目前规模达100万行的庞大系统,那么,今天的比特币正沿袭这条英雄史诗之路,像远古的巨茎植物一样不断向天空生长。在过去的3年中,共有120多位程序员为Bitcoin…QT提交了5 000多次代码改进,为比特币开发应用程序与网站的程序员更是逾千。比特币核心协议在不断地自我完善,而零币、彩色币、域名币、分布式合同、智能资产等新的拓展协议也试图添加进比特币核心代码,或在比特币协议基础之上构建延伸至其他领域的应用。这是一座真正的通天塔!
传说巴比伦塔直插云霄,希望通往天堂。上帝为之震怒,为惩罚这些狂妄的人,便让建筑巴比伦塔的人们使用不同的语言,因语言的不通,还没完工的巴比伦塔很快就被废弃了。也许未来货币也将面临同样的问题,比特币越来越像是一个开放式的基础平台,但它会成为虚拟货币世界的通用语言吗?
如前所述,比特币提供了3个层次的开放性,使货币与金融成为程序员施展创造才华的天堂,以比特币为基础平台,可提供数不胜数的更高层次的服务,例如资金混合、货币兑换、财务管理与预警、市场数据分析、计量服务等。如果将比特币视作互联网的IP协议,那么就不单会有类似TCP的API和协议扩展,还会有在此之上的协议层提供的各种服务,类似互联网的SMTP、HTTP等应用层协议。比如利用底层的分布式总账,开发者推出了存在性证明、期货合约、数字版权等应用。正如Group合伙人安德烈亚斯所言:“货币作为一项服务,通过开放的、灵活的、强大的API构成一个完整的经济体系,一切都只是一个JSON(一种轻量级的数据交换格式)请求。如果�