必读网 - 人生必读的书

TXT下载此书 | 书籍信息


(双击鼠标开启屏幕滚动,鼠标上下控制速度) 返回首页
选择背景色:
浏览字体:[ ]  
字体颜色: 双击鼠标滚屏: (1最慢,10最快)

比特币:一个虚幻而真实的金融世界

_3 李钧(当代)
这样也不能绝对保证鲍伯不作弊,但如果鲍伯想作弊,他就必须事先找到一奇一偶两个数,它们按照上面的运算能得到一样的结果。这个难度取决于上面算法的难度。
在密码学中,这种会丢掉一部分信息的加密方式被称为“单向加密”,也叫作哈希算法。
一个可靠的哈希算法至少需要满足下面几个条件:
1.对于给定的数据M,很容易算出哈希值X = F(M);
2.根据X很难算出M;
3.很难找到M和N令F(M)=F(N)。
真实世界的哈希算法比上面的过程要复杂得多,但原理是类似的。而且即使对于很长一段数据,仅仅改变一个字母,也会造成二次哈希结果的巨大差异。被认为安全且在互联网中被广泛使用的哈希算法包括MD5(消息摘要算法第五版)、SHA-256等。比如“1 234”使用MD5算法计算的结果是“81DC9BDB52D04DC20036DBD8313ED055”,而用SHA-256算法计算出的结果是“03AC674216F3E15C761EE1A5E255F067953623C8B388B4459E13F97→←8D7C846F4”。哈希算法的结果长度都是固定的,从上面看,MD5的结果长度为32个字符,SHA-256则达到64个字符,所以SHA-256看起来更安全一些,更难找到能算出相同结果的M和N。
这种单向加密算法并不能用来进行普通的信息传输,更多是用来进行传输结果的准确性验证。很多下载网站都提供了下载文件的原始MD5值供校验,以防止文件被病毒修改。常用的BT(比特流)下载也是通过特定的哈希算法来确认每一部分数据是否下载完成。
非对称加密
现在我们来看一下在真正要进行信息传输的情况下应该怎么办。
同样假设爱丽丝和鲍伯要通过互联网传输一份绝密情报,那么,如何阻止第三方在网络上截获信息呢?如果是一般情况,可能的步骤是使用文件压缩工具,比如WinRAR对文件进行加密压缩,然后通过电子邮件或者QQ把加密的文件发过去,为了更安全,或许还会发短信或者打电话把解压密码告诉对方。但是作为绝密情报传输的操作人,面对的可能是国家机器,所有的网络和通信工具都处于被监听状态,如果按照上面的过程,依然会造成信息泄露。如果想办法把密码加密后再发过去,但是给密码加密的方式又该如何确定呢?如果爱丽丝和鲍伯事先认识,或许可以见面并约定将出生日期加上手机号作为密码,但更多情形下,双方并没有可以利用的公共秘密。
传统密码世界一直需要面对这样一个看似死循环的无解问题。这里我们有两种思路可以尝试解决。
第一种,专门设计一个秘密的加密算法,使对方即使拿到密码也没有办法解密。如果是绝对的军事需求、能邀请高水平的数学家来确认算法的安全性,这样确实没有问题。但如果是互联网通用技术,如果不公开算法的细节,恐怕没有人肯使用。密码学世界有一个柯克霍夫原则:即使密码系统的任何细节已为人熟知,只要密钥(key)未泄露,它也应是安全的。无论是在战争时期还是和平时期,都不能把保密的希望寄托于系统或算法的秘密性。机械可以拆解,软件可以反编译。密码系统的所有细节总会被有心人一一拆解。这个时候,如果系统符合柯克霍夫原则,那么即使对手拆解了系统但不知道密钥,他也没有办法破译加密的信息。满足这种严苛条件的密码系统才是安全的。
第二种方法更绝。要是有一种加密系统,加密和解密使用不同的密码,假设有2个密码A和B,使用A对数据M进行加密得到加密数据X = F(A,M)。但是,知道A和X无法解密出M,必须用另一个密码B使得数据还原M = F(B,X)。爱丽丝只需公布密码A,鲍伯使用公开渠道拿到的A对情报进行加密,再通过任意方式发给爱丽丝进行解密,这样一来,即使所有的通信被监听,对手也不可能拿到情报。当然,这里依然有一个缺陷,即鲍伯如何确定自己拿到的密码A确实是爱丽丝给出的,而没有被别人替换掉,不过这是另一个关于可信认证的话题,暂时不在这里讨论。
如果使用我们设想的这些神奇加密算法,似乎问题就可以迎刃而解了,但问题是,这样的技术存在吗?听上去似乎并不可能,因为从直觉上判断,知道了加密方法就一定知道解密方法,只需要反过来计算就可以了。加密方法和解密方法是否可能不对称?
有可能!我们来看一个小时候经常在《趣味数学》这类书里看到的数学小魔术:让对方任意想一个三位数,并把这个数和91相乘,然后说出乘积的最后三位数,就可以猜出对方想的是什么数字。比如对方想的是123,那么对方就计算出123×91=11 193,并把结果的末三位193告诉我。看起来,这么做似乎损失了不少信息,我可能没法反推出原来的数。不过,我仍然有办法:只需要把对方告诉我的结果乘以11,乘积的末三位就是对方刚开始想的数字了。可以验证一下,193×11=2 123,末三位正是对方所想的秘密数字!其实道理很简单,91乘以11等于1 001,而任何一个三位数乘以1 001后,末三位显然都不变(例如123乘以1 001就等于123 123)。先让对方用他所想的数字乘以91,假设乘积为X;我再在X的基础上乘以11,其结果相当于我俩合作把原数乘以了1 001,末三位自然就变了回去。X乘以11后的末三位是什么只与X的末三位有关,因此,对方只需要告诉我X的末三位就行了,这并不会丢失信息。知道原理后,我们可以构造一个定义域和值域更大的加密解密系统。比如,任意一个数字乘以400 000 001后,末八位都不变,而400 000 001=19 801×20 201,于是你乘以19 801,我乘以20 201,一个加密解密不对称的系统就构造好了。我们甚至还可以构造一个更大的系统:4 000 000 000 000 000 000 000 000 000 001=1 199 481 995 446 957×3 334 772 856 269 093,这样我们就成功构造了一个30位的加密系统。这是一件非常酷的事情,任何人都可以按照这个方法加密一个数字,但是只有自己才知道怎么把所得的密文变回去。
但如果仅仅按照上面的思路,如果对方知道原理,知道我要构造出带很多0的数,根据19 801和8位算法这两个条件其实可以比较容易地穷举出400 000 001这个目标值。要解决这个问题,我们来看看真实世界是怎么处理的。
RSA算法与椭圆曲线算法
直到1976年以前,所有的加密方法都是同一种模式:
1.甲方选择某一种加密规则,对信息进行加密;
2.乙方使用同一种规则,对信息进行解密。
由于加密和解密使用同一种规则(简称“密钥”),这被称为“对称加密算法”。这种加密模式有一个最大的弱点:甲方必须把加密规则告诉乙方,否则无法解密。这样一来,保存和传递密钥就成了最让人头疼的问题。尤其是人数多了之后,每两个人都要互相商量一个密钥,复杂性大大提高,而传递密钥则带来更高的安全风险。
直到1977年,李维斯特、沙米尔和艾德曼设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫作RSA算法。直到现在,RSA算法一直是应用最广泛的非对称加密算法。毫不夸张地说,只要有计算机网络的地方,就有RSA算法。这种算法为什么这么晚才出现?或许类似的技术一直隐藏在“二战”的迷雾中不为人知。
这一非对称加密模式的流程如下:
1.乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
2.甲方获取乙方的公钥,然后用它对信息进行加密。
3.乙方得到加密的信息后,用私钥解密。
由于公钥加密的信息只有私钥解得开,因此只要私钥不泄露,通信过程就是安全的。
RSA算法为什么更加安全呢?在数学世界里,有一些公认的、需要消耗极大计算量才能得出结果的难题,比如大数因式分解问题、离散对数问题、椭圆曲线问题。RSA算法正是用到了大数分解这一相当犀利的不对称难题。比如对于我们上面构造过的30位加密系统:
4 000 000 000 000 000 000 000 000 000 001=1 199 481 995 446 957×3 334 772 856 269 093
反过来算乘积非常容易,但是要把4 000 000 000 000 000 000 000 000 000 001分解成后面两个乘数,在没有计算机的时代几乎不可能成功!而一旦数字长达数百位,即使是超级计算机也需要耗费海量的时间来计算才有可能,下面给出两个近年来的大数分解记录。
大数因式分解记录RSA200,一个共有200位的非特殊数字,在2005年,计算机花了18个月时间才把它分解成两个素数。2007年3月6日,一个国际组织打破了这个保持了两年之久的纪录,来自3个机构(洛桑联邦理工学院、波恩大学、日本电话电报公司)的计算机集群在经历了11个月的计算后,终于成功地把一个有名的很难分解的大数——2^1039-1分解为素数因子。消息爆出后,一个匿名人士在网上贴出了下面的等式:
2^1039-1=p7×p80×p227
p7=5 080 711
p80=558 536 666 199 362 912 607 492 046 583 159 449 686 465 270 184→ ←886 376 480 100\52 346 319 853 288 374 753
p227=207 581 819 464 423 827 645 704 813 703 594 695 162 939 708 007→ ←395 209 881 208\387 037 927 290 903 246 793 823 431 438 841 448→ ←348 825 340 533 447 691 122 230\281 583 276 965 253 760 914 101→ ←891 052 419 938 993 341 097 116 243 589 620 659\72 167 481 161 749→ ←004 803 659 735 573 409 253 205 425 523 689
其中p7是已知的,p80×p227则大概是人类已经分解的最大整数(307个十进制位)。
椭圆曲线算法(ECC)则是另一种著名的非对称算法,在比特币体系里占据重要地位,是比特币钱包安全性的密码学基石,也是比特币被称为密码学货币(Cryptography)的原因。
ECC各方面的性能和RSA比起来几乎完胜:
1.安全性能更高。比如160位ECC与1 024位RSA有相等的安全强度。
2.计算量小,处理速度比RSA快得多。
3.存储空间占用小。密钥尺寸和系统参数与RSA相比要小得多。
4.带宽要求低。
ECC的这些特点使它逐渐取代RSA,成为通用的公钥加密算法。
比特币初接触:客户端的使用方式
客户端下载
首次使用比特币需要先下载客户端,可以在g上选择不同种类的钱包软件。目前,钱包软件包括电脑钱包、手机钱包和在线钱包。从易用性和传承性的角度考虑,这一部分将以最早出现的客户端Bitcoin-QT为例。
下载、安装后,Bitcoin-QT首次运行时需要花费一段较长时间进行数据同步,目前同步的数据量在10G左右。之所以有这么大的数据量,是因为Bitcoin-QT会下载比特币有史以来的所有交易记录(有些轻量级客户端可直接从网络实时查询结果,无须同步如此庞大的文件)。待数据同步完毕,“余额”和“未确认”项显示的数据就是最新数据。
比特币地址
将Bitcoin-Qt切换到“接收”菜单,可以看到软件已经自动生成了一个地址,那一长串乱码般的字符就是我们的收款账号。至于这一长串东西是什么意义,凭什么作为账号,后文会统一回答。
比特币支付
为了支付,我们需要创建一个目标地址。可以在“接收”菜单下通过“新建地址”功能直接创建一个标签为“test”的新地址。然后,在“发送”菜单下填上新创建的地址和要发送的金额,点击“发送”,这笔“钱”就发出去了。待网络确认完成,将发送到我们的新账户“test”上。在“交易记录”菜单下就可以看到我们的操作记录以及网络确认次数,当确认次数达到6次,此次交易便宣告成功。
如果需要用手机钱包支付,手工输入这么一长串地址显然是令人担心的(其实输入错误肯定无法发送成功,因为错误的地址无法通过特定的算法验证)为解决这一问题,Bitcoin-QT提供了二维码的操作方式,直接用“接收”菜单的“显示二维码”功能就可以另存为图片并把二维码发给对方,让对方通过手机扫描的方式直接支付,甚至可以直接填上希望支付的金额并生成带额度和消息的二维码。
因为每个比特币地址上的金额流水全部是公开的,如果希望保密或者区分不同的付款人,可以为每个人单独生成一个地址并提供给对方,而不是像现实银行账户那样,要求对方增加一个尾数用于确认。在这里,每个人都可以为自己创建任意数量的账户(地址)。
备份钱包
比特币的钱包数据是保存在本地电脑上的,万一出现系统崩溃或者中毒事件,导致数据丢失该怎么办?Bitcoin-QT提供了钱包文件备份功能,点击“文件”菜单下的“备份钱包”就可以把钱包文件导出,保存到安全的地方。而恢复钱包也比较方便,只需把备份文件拷贝回上面的目录,重新打开Bitcoin-QT就可以看到备份钱包中的金额了。
加密钱包
在通常情况下,如果你的钱包文件被别人拿到,那么对方将拥有你所有额度的绝对支配权。这太危险了,尤其是当电脑中毒时。
Bitcoin-QT同样考虑到了这个问题,其应对之策就是支持给钱包加密。在“设置”菜单下的“加密钱包”选项里可以设置密码,钱包加密功能会保护所有在该钱包中生成的比特币账号。这个密码类似支付宝的支付密码,付款时需要输入,这样即使对方偷走了钱包文件也只能看余额而不能转账。
比特币再深入
上面简单介绍了比特币的使用,接下来,我们会思考一些更深入的原理问题,比如在一个没有中心的系统中如何产生有中心的效果,并将看到前面大段的密码学知识是如何建立起整个比特币系统的。
去中心化思想
百度百科“比特币”词条是这样定义比特币的:比特币是一种由开源的P2P(Peer-To-Peer,点对点)软件产生的电子货币,是一种网络虚拟货币。比特币不依靠特定货币机构发行,它通过特定算法的大量计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。
这段描述充斥着计算机技术界的行话,但其最核心的思想很清晰——去中心化。去中心化的意思就是不由某个人或某个群体主导一切,而是大家集体参与、共同决定。在沟通方式低效的年代,这是一件非常奢侈的事情,但由于能够保障所有人的权利、及时纠正可能的错误,所以人类社会形态也遵从这个思想,从中心化不断迈向去中心化。
进入互联网时代,由于沟通的便利性得到极大提升,去中心化思想开始在各领域迅速扩张,任何人都可以在网络上表达自己的观点或创造内容。比如在读这本书时,你可能就一边翻着百度百科的词条,一边在豆瓣书评里吐槽,同时还可能在微博里搜索别人是怎么评价比特币的。总而言之,在去中心化的世界里,所有人都是平等的,你可以给9分的电影打2分,但无法因此把9分拉低到哪怕8.9分;你可以宣传自己,但无法封杀别人的观点。
“比特币之父”中本聪在设计比特币模型时就将其设定成去中心化,其P2P网络模型和Facebook的架构类似。事实上,当技术条件成熟时,把去中心化的思想引入任何领域都将引爆群体智慧,都意味着这个领域将发生颠覆性的变革,正如博客之于出版、微博之于媒体、Facebook之于社交、网游之于娱乐、选票之于政治。就连极度中心化的苹果也是因其去中心化的开发平台App Store(应用商店)而大获成功。比特币则悄悄打开了金融业去中心化的第一扇窗户,这是第一个没有中央银行的货币体系,其货币的发行总量、发行速度、支付验证方式在一开始就由去中心化的数学模型设定。
P2P架构和安全通信
上网时,我们经常遇到的是C/S架构(客户机/服务器架构),例如新浪微博。这种架构的原理就是,大家一起连接到m,所有信息都储存在新浪服务器上,我们通过服务器中转信息进行交流。这种架构的优点是简单快捷,但容易受到攻击。假如黑客把新浪微博黑了,或者新浪微博关了,整个体系就崩溃了。
还有一种架构叫P2P架构,例如下载工具电驴就属于这一种。这种架构的特点是:服务器并不是必要条件,每台联网电脑都是一个独立的个体,通过网络联到其他几台甚至成百上千台电脑,最后全球的电脑形成一个密密麻麻的网络。P2P网络的一大特点就是,一旦启动,就无法关闭。
在这个P2P网络上的所有电脑都直接或者间接地联通起来,某个节点上发出的信息最终可以扩散到全球所有的节点。举例而言,A在中国,B在美国,A和B的联通方式可以是直接连接,也可以是通过位于欧洲的C的电脑搭桥间接地连接。
P2P网络的联通不成问题,但是信任的问题比较突出。例如,A发出一条信息,目标对象是B,B通过P2P网络最终接收到此信息——可以是直接从A电脑传递过来的,也可能是通过多台电脑转手传递过来的——B会产生两个问题:第一,这条信息到底是不是A电脑发送的?第二,信息传递过程中如何确保不被帮忙传递信息的C、D甚至更多人偷窥到信息原始内容。
这就回到了我们讲过的非对称加密技术。在刚才的例子中,假如A要发送一条信息给B,确保这个信息只有B才能解密,那么A就用B的公钥(公钥是公开的,整个P2P网络都知道B的公钥)加密原始信息,这条信息传播到整个P2P网络,虽然所有电脑都有B的公钥,但是用公钥无法解密这条信息,最后B收到这条信息,用自己的私钥就能够轻松地解密这一信息。
那么,A怎么证明自己是这条信息的发送者呢?在网络上,任何人都可以把自己伪装成任何人,B收到信息时,可能传递信息给B的那台电脑会声称它就是A,那么B是否就轻易相信那台电脑就是A呢?不能,因为很可能是那台电脑伪装成A。
A要想证明给B的信息是由自己发出的,只需完成下面这两个步骤:第一步,用A的私钥对原始信息做第一层加密;第二步,在上一步获得的数据基础上再用B的公钥做第二层加密。第一层加密的目的是为了证明这个信息是由A加密并发出的,因为只有A的私钥才能完成这样的加密,这一步也叫作数字签名;第二层加密的目的是确保信息只有B能够解密,因为B的私钥只有B电脑才有。
B收到这个加密的信息后,以相反的顺序做两次解密操作即可:第一步,用B的私钥解密收到的信息;第二步,在第一步获得的数据基础上用A的公钥再次解密。第一步顺利完成,可以确保信息只有B自己能够解密,其他人是无法解密的;第二步顺利完成,B就获得了原始信息,同时也表明这条信息确实是由A的私钥加密生成,排除了是被别人伪造的可能。
有了这一技术保障,即使在匿名的互联网环境中,我们也不必再纠结于通信的安全性,而可以将注意力集中在比特币的体系架构上来。
比特币的本质
在网络上浏览比特币相关的网页时,总是可以看到各种印着“B”符号的硬币,仿佛那就是比特币。实际上,那只是爱好者自己铸造的玩具,和比特币没有丝毫关系。比特币并不是任何有形的硬币,也不是大家想象的一段数据,同样也没有办法把某些比特币从整个系统中分离出来。比特币的本质是一个互相验证的公开记账系统,其工作就是记录所有账户发生的交易。每个账号的每一笔资金流动都被记录在账本里。而且,每个人手上都有一份完整的账本,每个人都可以独立统计出比特币有史以来每个账号的每一笔流动,当然,也能算出任意账号当前的余额是多少。
这里最关键的一点在于:每人手上都有完整的账本,这个系统里没有任何人拥有唯一决定权。这意味着没有人可以决定向这个系统增加货币或者改变规则,因为个体的修改会被整个网络否决。除非有人可以修改50%以上的人手上的账本,这就是比特币系统里所谓的51%攻击。
比特币客户端Bitcoin-QT启动时会进行大量的数据同步,Bitcoin-QT只告诉我们说这是在进行数据同步,但我们并不知道这是什么数据以及为什么要这么做。实际上,同步的是比特币世界的所有交易记录,这部分数据保障了整个体系的去中心化和每个客户端的一切知情权。而不需要下载交易数据的轻客户端,如Electrum则是去几个提供交易数据查询功能的服务器查询特定账号的记录,由于这些数据全部是公开的且带有严密的校验,任何查询服务器都没有必要也不可能伪造数据。所以,即使轻客户端带来了部分中心化效果,实际上对全局的去中心化并没有什么影响。
比特币还有几个令人十分困惑的问题,就是我的地址里拥有的那些币究竟在哪里?备份钱包是把里面的币备份了吗?在现实中,我们知道钱是什么,因为可以直接掏出来看;我们也知道自己的钱在哪里,要么是现金,要么存在银行,要么在诸如证券交易所一类的机构。而比特币系统只是所有交易的记录,这里只关心某个账号里是否有币、有多少币,而币本身是抽象的,大家并不知道它具体是个什么东西。某个地址拥有的比特币数额存在每个人的客户端数据里,大家都知道你有币就可以了。所以当我们备份钱包时,其实只是在备份对自己比特币地址的所有权。
地址是什么
在现实生活中,如果需要一个银行账户,就需要去银行排队开户,然后拿到银行分配的一串数字账号,之后才能使用银行功能。而在比特币体系里,我们的账户似乎并不需要谁来开设,本地客户端自动生成即可;我们不需要向任何第三方公布,对方就可以直接向我们的账户转账;账户的形式也非常奇特,比如1H4AG73nXz5to9zWkH4GUZEH1Nuey8EVjJ。
刚接触比特币的用户印象最深的大概就是这一长串乱码般的地址,它给人的第一感觉是不明觉厉[3],第二反应就是特别容易输入错误。幸运的是,绝大部分时候并不需要手工输入比特币地址,通常是通过复制粘贴或者二维码扫描的方式。即便万一需要手工输入,比特币地址的校验机制也会提醒你账号不正常,以免出错。
可是,这一串地址到底是什么?会不会和别人的重复?
这里先回忆一下前面讲过的非对称加密技术。简单来说就是通过一套数学办法,产生一对密钥A和B,若使用A加密一份数据,必须使用B来解密;而使用B来加密数据,则必须用A才能解开;而且根据A可以很轻松地计算出B,反过来则不行。A就叫私钥,B叫公钥。顾名思义,A是保密的,B是公开的。
所以,比特币地址其实就是一套非对称技术的公钥,这套技术就是椭圆曲线算法,而和公钥对应的私钥实际上就在钱包文件里藏着。因为公钥和私钥需要使用特殊的算法成对生成,所以比特币地址不能像普通密码一样人为设置,而且看起来也没有什么规律。按照私钥保密、公钥公开的原理,比特币地址可以告知任何人,但钱包文件则必须妥善保管,一旦丢失,钱包就不安全了,而且由于整套体系的去中心化和匿名性,没有任何人有权力或能力找回丢失的比特币。
至于地址有多少,会不会和别人的重合?可以这么形容:如果每粒沙子里面都有一个地球,那么地址数大概等于地球上所有沙子里面的地球的沙子数的总和。如果你幸运地生成了一个有余额的其他人的地址,那你真的是太幸运了!如果愿意,这笔比特币就归你了!
支付的背后
由于比特币不存在现金交易的概念,一切交易都依靠账户间的转移,所以比特币的支付概念类似于银行转账。先看一下银行的转账过程:我们首先需要填写对方的账号和转账金额,本地一般会先检查一下余额是否充足,如果充足就把这个转账请求发送到银行数据中心,银行确认密码、U盾、对方账号等信息正确后,就把保存在银行数据库中的本地账号减去一个金额,同时给对方账号加上一个金额,然后返回成功或失败的信息。
当存在银行这一官方机构时,上面的操作过程安全可靠,但比特币体系中并不存在任何类似于银行的这种可信机构,这里每个人都是平等的,同时每个人都不一定是可信的。事实上,比特币的转账机制也很简单。
假设A有100个比特币,他要转账给B。那么A写一条信息:从A的地址转账100个比特币到B的地址,然后用自己钱包里的私钥加密并将其传播到整个比特币网络上,网络上的人都用A的地址(公钥)解密验证这条信息确实是由A发出,而通过历史交易数据计算出A的地址确实拥有100个比特币,于是整个网络公认此次转账操作,A钱包中存款减少100个比特币,B钱包中存款增加100个比特币。
非对称加密技术可以使这个转账过程顺利实现,一切看起来都非常完美,但是其中有4个隐藏的问题:
1.整个网络这么大,什么时候才算转账成功?
2.上面说的是转账体系,那么货币创造体系是怎样的?没有央行负责统一发行,A的100个比特币最初是从哪里来的?
3.A如果作弊怎么办?方法一:A如果没有100个比特币而发出转账信息,整个网络则不理会他,因为大家都拥有网络中所有的交易信息,一计算就会发现A根本没有那么多钱,因此转账无效。方法二:A确实有100个比特币,但他同时向网络发出两个转账信息,一个是转账100个比特币给B,另一个是转账100个比特币给C。由于网络上电脑非常多,网络传递也有随机性,所以有的电脑是先收到转账给B的信息,有的电脑是先收到转账给C的信息,那么最终这个网络以哪条信息为准?
4.所有账户余额都是基于历史记录算出来的,那么如何确保历史记录安全而完整?假如有人要攻击比特币体系,他没有办法伪造他人转账信息,但作为比特币体系中的一员,他如果恶意删除自己的部分历史转账记录会怎样?
比特币系统创造性地发明了“挖矿”的概念,一举解决了上述4个问题。
天才的挖矿
挖矿是比特币体系里让新人特别费解的事情,居然可以从网络上挖出比特币,从哪里挖?拿什么挖?挖矿的本质是什么?
比特币的本质就是一个互相验证的公开记账系统,而挖矿的本质就是争夺记账权!从工作内容来看,挖矿就是将过去一段时间内发生的、尚未经过网络公认的交易信息收集、检验、确认,最后打包加密成为一个无法被篡改的交易记录块,从而成为这个比特币网络上公认的已经完成的交易记录,永久保存。
在比特币的世界里,大约每10分钟就会在公开账本上记录一个数据块,这个数据块里包含了这10分钟内全球被验证的交易。所有的挖矿电脑都在尝试打包这个数据块并提交,但以谁提交的为最终结果则是需要争夺的。
争夺记账权有什么好处?最终成功生成那个交易记录块的人,可以获得伴随这些交易而生成的交易费用外加一笔额外的报酬。交易费用一般都是转出资金方自愿提供给挖矿者的,因此不是系统新增的货币;额外的报酬是新生成的比特币,这就是比特币系统新增货币的方式。
比特币的有限性就由额外报酬的数量控制。依据比特币系统的设置,大约每10分钟可以生产一个交易记录块,最初每生产一个交易记录块可以获得50个比特币的额外报酬,这意味着比特币网络每天增加7 200个比特币,但是该报酬每隔4年就会减半,因此最终整个系统中最多只能有2 100万个比特币。目前已经经历了第一次减半,当前每个记录块的收益是25个比特币。截至2013年7月14日,被生产出来的比特币一共是1 140万个。
随着整个网络计算能力越来越强,截至2013年7月中旬,整个比特币网络的算力已经超过世界前500位超级计算机总和的20倍以上,而且这个算力还在飞速上涨。普通电脑的算力几乎没有任何机会抢到记账权。于是,“矿工”(参与者)们就自己构建矿池模式,和游戏组队打BOSS(难度较大、奖励较高且出现在最后的关键时刻的人物或怪物)一样,如果矿池抢到了记账权,那么就按照计算贡献来分配这次获得的收益。
那么,电脑是靠什么机制争夺记账权?在算力急速上升的情况下,它们又是如何使整个网络的交易记录块生成速度,保持在10分钟左右一个?事实上,电脑是在玩一个叫哈希的密码游戏,更具体点就是SHA-256算法。大家比的就是,在10分钟内谁能找到一个值和上一个数据块的哈希值以及10分钟内验证过的新交易记录合起来可以算出最小的哈希值。算出最小哈希值的那个人就抢到了记账权。同样,至少要小于某个值才有转发权,这个值越小,对应的就是比特币网络的难度系数越高。由于哈希值的结果相当随机,无法预知大小,所以只能不断苦算,纯粹是拼算力。如果在这10分钟内没能抢到记账权,那之前的努力就白费了,拿到新的区块后会重新进入下一轮。
之所以计算时要加上上一个数据块的哈希值,是因为这样一来,所有的数据块就被组成了一条可以从前到后不断验证的数据链条。修改中间任何一个数据块的任何交易记录,都会导致之后的所有数据块的哈希值验证失败;如果企图在修改记录后重新找一个合理值算出符合条件的哈希值并重新打包,那也意味着之后所有的数据块都需要重新寻找那个值来重算哈希值,其计算速度还必须比整个比特币网络更快,只有这样才能让网络接受你的结果,这就意味着攻击者要拥有超过整个比特币网络正义部分的算力,换句话说,要使用超过整个网络50%以上的算力才能保证攻击有效。当找到一个有效的哈希值时,就要迅速把生成的数据块转发出去,其他矿工收到后,认为这个数据块更优秀,就会以这个块为基础进行下一轮的计算。如果期间收到更小哈希值的数据块,首先考虑数据链长度,其次是哈希值更小,抛弃之前的结果,在新的基础上继续开展下一轮计算。
刚刚提到了一个很重要的概念——转发权。挖矿的难度是全网自动调整的,其依据是之前若干数据块生成的平均速度:如果低于10分钟,就把难度提高;如果高于10分钟,就自动把难度降低。这是一个默认规则,每个客户端都会独立判断并遵守,并不需要统一调度和安排。如果不遵守,你计算出来的数据块哈希值就达不到要求,也就无法得到其他矿工的认同。难度提升很简单,就是降低哈希值的下限。由于哈希算法的特性,这会使计算量呈指数上升。当找到一个可以算出达到标准的哈希值的数字后,就可以把算出的数据块广播出去,寻求其他矿工的认同。对于一次比特币交易来说,如果你的交易单正好在这个数据块中,就意味着获得了一次确认。当其他矿工在有你交易的数据块上继续工作并把数据链延长时,每延长一个块就意味着多得到一次确认。比特币网络的规则是,若一笔交易获得了6次确认,就认为这个交易已经得到了全网的认同,可以认定为有效。
有人可能会反驳说,如果我准备6台电脑,为我的虚假交易确认6次有效,不就可以在短时间内成功骗到别人吗?对不起,当挖矿难度变高,企图用普通电脑为别人确认交易几乎是不可能的。所以,在比特币诞生初期,Bitcoin-QT甚至自带了挖矿功能,随着全网算力的提高,这个功能纯粹鸡肋,就取消了。
比特币的其他特性
比特币作为纯粹的互联网产物,由于其纯数据特性,故而具有一些和现实货币迥异的、极具颠覆性的特点,为我们带来了另一个维度的思考。
匿名和公开
由于没有传统世界银行的开户行角色,比特币系统是纯匿名的。虽然我们可以根据本地完整的交易记录查询每个账号的流水信息,但无法将账号和现实的人对应起来。只要愿意,每个人都几乎可以拥有无数个地址。同样,没有任何人有权力操纵他人账号上的比特币。这是在人类历史上,第一次从技术上保障了私人财产的神圣不可侵犯、不可追踪、不可冻结。
然而,虽然比特币系统是匿名的,但若某个组织愿意公开自己的比特币账号,那么整个网络都可以随时追踪到该账号的所有流水信息。每一笔的到账时间、数额和支出都可以清晰地看到,相当于直接查询银行内部原始账单!对于非政府组织来说,这有助于大幅降低账目维护成本,而且能够保证百分百透明。2013年芦山地震时,壹基金就曾接受比特币捐赠,其比特币账目在网络上清晰可查。
纸钱包和脑钱包
只要拥有对应的私钥,就意味着拥有特定比特币地址上比特币的所有权。我们通常将私钥藏在钱包文件里,事实上,它经过编码也只是一个字符串,只是比地址略长一些,我们完全可以把它抄下来或者制成二维码打印到一张纸上,然后放到相对安全的保险柜里。那个字符串就承载了你全部的比特币财富!
基于比特币的一个更有意思的创造是脑钱包,其神奇之处完全超乎想象!在正常情况下,私钥和比特币地址一样难记,而在g上,通过一句话就可以生成一对公钥和私钥。只要能记住这句话,你就可以根据它再次生成私钥,在任何有网络连接的地方提取比特币。这意味着可以把自己所有的财富储存在大脑里,而不依赖任何外在的东西。但是,生成脑钱包一定要尽量选一句全球唯一的话,不然“撞车”的机会就会大大增加。当然,这其实并不难,比如想一句:木匠张小明和老婆赵小花的小儿子叫波波。这样一句话大概是很难被别人也想到的。不过由于加入了人工因素,被猜中的概率大大增加,所以脑钱包并不是特别推荐,除非你明白自己在干什么。
可证明和不可证明
想象一下,假如你使用的是脑钱包,这个世界上将没有任何证据可以证明你拥有这么一笔钱。除非失忆或者死亡,否则这笔钱将一直存在。
同样,非对称数字签名技术可以轻易证明你拥有某个地址上的财富。只需使用私钥加密一条信息并发布出来,大家就可以确认你对该账户的拥有权,而无须把私钥公开,这同样适用于证明一笔匿名支付确实是你操作的。Bitcoin-QT客户端自带这个功能。
丢失不可找回
由于比特币去中心化以及几乎不可破解的特性,如果丢失了钱包文件(私钥),就意味着这个账号上的比特币彻底丢失了,神仙也无能为力。这里可没有拿身份证找回这码事。
当然,如果只是钱包文件的密码忘记了,那还可以尝试暴力破解;但若是钱包文件丢了,那就彻底没辙了。要知道,即使在真实世界里,许多特工的生命安全都是建立在椭圆曲线算法的强壮性上。
[3]不明觉厉,网络用语,意思是“虽然不明白是什么,但好像很厉害的样子”。
“天下熙熙,皆为利来;天下攘攘,皆为利往。”在《史记·货殖列传》中,司马迁深入阐述了经济利益对人类的强大吸引力。比特币起源于神秘创始人中本聪对于不需第三方监管的电子支付技术的革命性实验,经由开源社区、矿工、交易所、使用者等多方参与者的共同努力,最终形成了一个涉及数十万人、规模达数十亿美元的“货币独立王国”。围绕比特币的“铸造”、流通、兑换与支付,这一“货币独立王国”聚拢大量的利益相关者,构建了自己独特的权力契约,更打造出了日益成熟的生态圈。
比特币既非最早,亦非唯一的虚拟物品生态圈,游戏道具、虚拟币乃至电子优惠券都有自己的生态圈。但作为一类无机构控制、无第三方监管、可直接与法币双向流通、去中心化的货币,比特币与其他虚拟物品存在显著差别,因而其生态圈表现出完全不同的结构,内涵也更加丰富。
04 比特币生态圈
比特币流通链
从一个比特币生产、储存、流通、兑换、支付的完整过程出发,我们逐一分析每个环节涉及的各项服务、机构与利益,可对比特币流通链的构成形成一个全局性的认识。
图1 比特币操作流程图
图1是一个典型的比特币操作流程图,假设一个从未接触过比特币的新手要玩比特币,他首先需要了解如何获取比特币的问题。获取比特币的方法一般有3种:挖矿、购买以及接受他人的转账。挖矿需要拥有相应的软件与硬件,是一个庞大的产业链;购买要么通过线下进行,要么通过网上的交易所,也是一个庞大的产业链。
在获得比特币之后,要对比特币进行存储以便日后使用,这就涉及钱包问题。而使用比特币的途径无外乎3种:转账,即把自己的比特币直接转给他人;兑换,即把比特币兑换为法定货币(如美元、欧元、人民币等)或其他虚拟币,如莱特币(Litecoin)、XRP币(Ripple币)等;兑付,指转账与兑换的结合,即对于不接受比特币的交易方,可把比特币先转账给支持实时兑换技术的第三方,然后由第三方把比特币实时兑换为交易方愿意接受的货币并完成支付。
需要强调的是,上述各个环节并非泾渭分明,相互之间经常有所交叉和重叠,但是这些环节均涉及大量的服务机构与人员,并由此构成了比特币生态圈的主体。
前提
无论是挖矿还是购买,在获得比特币之前,用户都需要先生成一个比特币地址,以便把得到的比特币转入该地址,真正获得所有权。而比特币地址需要通过特定的软件生成,因此下载一个比特币客户端是体验比特币的首要前提。比特币客户端一般由开源社区开发,并无偿提供给用户使用。这里涉及的主要实体就是比特币开源社区,由软件开发、测试人员组成,几乎没有直接的经济利益诉求,依靠分享和奉献精神支撑比特币体系的运行。
挖矿
挖矿是生产比特币的唯一途径,也是所有比特币的根本来源。它首先涉及挖矿软件,这些软件可直接从网上下载、安装,一般由开源社区或个体开发者提供,矿工可免费使用。
由于早期参与者少,全网算力很低,个人通过计算机的显卡甚至CPU(中央处理器)便可轻易挖到比特币。随着大量矿工的加入,全网算力持续飙升,个人通过普通的计算机直接挖到比特币的概率急剧下降,目前几乎完全没有可能。这就催生了两个相关的产业:比特币矿机和矿池。
比特币矿机的目的是,针对挖矿算法进行硬件设计和优化,早期的矿机侧重于对多个显卡的支持,使得一台计算机可以提供尽可能高的GPU(图形处理器)运算能力。随着竞争的加剧,专用的挖矿芯片诞生,矿机的争夺已经深入计算机芯片设计与制造层面。而矿机产业也细化为两个子领域,一个是ASIC(专用集成电路)芯片的研制,一个是外围设备的配套与整合。矿机产业的成本较高,一般采用公司化机制运作,有的靠出售硬件获利,有的靠自产自用挖矿获利。其衍生产业为矿机租赁,通过向矿工出租矿机获利。
即使拥有了专用矿机,单个矿工或机构还是很难凭一己之力抢得比特币的记账权。因为在形式上,比特币的记账权每次只能被一个矿工获得,参与竞争的其他矿工则颗粒无收。因此,独立挖矿者的失败风险巨大而机会成本高企。为了改变这种局面,有人构建了比特币矿池,集中大量的矿工和设备共同挖矿。矿池的实质是把每次抢夺记账权的运算量依照算力分配至池中的各个计算机,这些计算机合并起来作为一个异常强大的“虚拟矿工”与池外的其他矿工或矿池争夺记账权,成功的概率大大提升。如果成功挖到比特币,矿池将依据事先约定的规则向各个矿工分配收益。矿池的创建者和维护者大多依靠手续费(每次成功挖掘后的抽成)获利,也有个别免费的矿池把挖到的比特币完全分配给矿工。
购买
直接向他人购买比特币是获得比特币最简单、最直接的方式,省去了挖矿的烦琐。购买少量比特币可以通过网上交易所(如Mt.Gox或Bitstamp等),这也是比特币生态圈最先商业化的一个环节,数量众多的交易所依靠收取交易手续费获利。每日通过交易所公开转手的比特币总量都在万枚以上。值得注意的是,通过交易所获得的比特币大都存储在交易所的账户里,如同银行的存款,只是数字而不是钞票。要真正获得这些比特币的所有权,用户需要通过交易所的提现功能把相应数量的比特币转移至自己的比特币地址上妥善保存。
如果要一次性购买成千上万个比特币,那么网上交易所并不是最佳途径,因为公开交易的市场容量有限,一次性购买额过大很可能会引起比特币价格飙升,进而给购买者带来不必要的经济损失。大额交易通常在线下进行,若购买者认识比特币的足量持有者,二人可商定价格和付款方式直接进行交易。通常情况下,购买者会选择找一个可靠中间人,向中间人表达购买意愿、数量与价格(此价格一般会略贵于当前公开的市场交易价),并约定付款方式(可能需要提前付款),中间人认可后向矿工或矿池发出购买邀约,矿工或矿池把此后一段时间内新挖到的比特币直接交付给购买者,或者交由中间人代转。中间人通过收取相应的手续费获利。
存储
比特币的官方客户端自带比特币存储功能,即“软件钱包”,也可通过钱包备份功能把比特币备份在硬盘或其他存储设备上。为保障钱包的安全,一般推荐用户对备份文件进行加密。
由于软件钱包依赖于本地的存储介质,使用起来并不方便,因此部分网站(如Blockchain、Bips)提供了在线钱包功能。其实质是由网站代为维护你的钱包数据,便于你随时随地使用比特币。但是由于你所有的比特币信息都存储在网站上,对于在线钱包网站的选择需要慎之又慎,以免上当受骗。在线钱包一般是交易平台或比特币支付网站提供的附加功能,用户基本上都可以免费使用。
无论是软件钱包还是在线钱包,都存储着用户的公钥(比特币地址)和私钥,如果这些数据被损坏,同时用户又忘记了自己的公钥和私钥(事实上,除抄写下来外,用户几乎不可能记得那么长的字符串),那么钱包里的比特币就再也没有办法取回来了。为了避免这种情况,可以考虑使用之前介绍的比特币纸钱包和脑钱包。
转账
比特币官方客户端自带转账功能,但是由于比特币机制的设计,每次转账需要确认6次才能确保绝对安全,而每次确认需要等待10分钟,所以完整的6次确认最短也要花费一个小时,非常不便。尽管一些网站或者软件支持少于6次的确认,但所花时间仍然较长,比起当前接近实时到账的网银或第三方支付来说,速度成为其一大劣势,也严重影响使用体验。
为了解决这一问题,许多比特币支付公司提供了解决方案。其基本思路是用户把比特币充值进网站,由网站统一管理。例如用户A在某支付网站的账户中拥有20个比特币,他向同样拥有该网站账户的用户B转账10个比特币。网站验证用户A确实有10个以上的比特币“储蓄”后,就直接把A的比特币数量减去10个,把B账户里的比特币增加10个即可,中间根本不需要进行真实的比特币转账,因为A、B的比特币都由该网站托管,其道理与银行相同。这种转账服务一般作为比特币支付解决方案的一部分,由专门的商业化公司提供,公司收取相应的手续费作为自己的收入来源。
许多时候,转账的目的是支付,而支付是为了完成购买。比特币购物也是比特币生态圈里非常重要的一环,其线下运作形式类似于现金支付,线上运作形式则类似于电子商务,只是商家和用户都接受使用比特币进行交易罢了。而对于不接受比特币的商家,现在也有了妥善的解决方案,将在“兑付”环节详加说明。
兑换
兑换的方法和途径与购买类似。不过购买环节的兑换侧重于法币与比特币的兑换,而在此处,还可以指比特币与其他虚拟货币的兑换,如莱特币、XRP币等。这里涉及的实体机构同样是线上交易所,例如,Mt.Gox和Bitstamp主要支持法币与比特币的兑换,而BTC-e还支持比特币与多种虚拟货币之间的兑换。同样,这些交易所通过收取手续费获利。
兑付
兑付其实包含了两个环节,即兑换和支付,二者在时间上紧密连接在一起,共同完成一次交易。举个简单的例子,用户A想用比特币购买商家B的某件物品,而商家B不愿意接受比特币,那么用户A只能把比特币先兑换成法币,再把法币支付给商家B,这一过程相当繁琐,对于比特币的推广来说是个障碍。
为了解决这一问题,比特币支付公司可作为支付中介,使用程序把A的比特币实时兑换为法币后自动转账给B。这一过程对A、B均透明且灵活。如果A和B愿意使用同一种货币,支付中介直接转账即可;如果不愿意,支付中介先进行实时兑换然后支付。这种中介模式甚至超越了比特币支付的范畴,可在任意两种货币之间进行,操作简单,用户体验良好,因而颇受用户和商家的青睐,成为当前比特币生态圈中比较热门的领域。比特币支付公司同样通过收取交易手续费获利。
从上述介绍中,我们基本上已经可以获得比特币流通链的大致面貌。在流通链的货币“发行”环节,存在着矿机和矿池;围绕购买环节,则存在着交易所和中间人;各种钱包服务在比特币的存储方面发挥着重要作用;比特币支付服务和电子商务使得比特币走入现实世界,与实体物品建立联系;比特币基金会、开源社区、比特币信息服务和金融服务对整个生态起着重要的支持作用,所有这一切构成了比特币生态圈(见图2)。
图2 比特币生态圈
比特币基金会
比特币基金会成立于2012年8月,其目的是通过标准化、保护和推进开源协议,促进比特币的全球增长。作为一家非营利性公司和中立协作论坛,比特币基金会采用类似于Linux基金会和Tor(第二代洋葱路由匿名代理网络)项目的开源机构运作机制。具体而言,其主要任务包括:
标准化比特币:支持比特币基础设施的建设,包括赞助核心开发团队持续改进比特币软件来维持比特币的优异特性,使其得到更多的尊重、信任,提高接受度;
保护比特币:维护、改善并从法律上保护比特币协议的完整性;
推广比特币:作为比特币社区的意见表达渠道,宣讲比特币的技术与理念,澄清公众对比特币的误解、曲解和误传,提高比特币的声誉。
比特币基金会的成员分为3类:个人、企业和基金会创始人,目前由一个5人董事会管理。这5人的席位也相应的分为3类,其中2个席位来自个人成员,2个来自企业成员,1个来自创始人成员。按照基金会的章程,董事会每两年一届,期满后重新选举董事会成员。
目前,比特币基金会的企业成员有38个(包括2个白金会员和36个银牌会员),个人成员有500余人(包括200多位终身会员和300多位年费会员)。这些成员囊括了比特币生态圈的主要公司、机构和个人,具有广泛的代表性。入基金会需要缴纳相应的费用(这些费用必须用比特币支付),比特币基金会主要依靠会员费和捐助运作。
比特币基金会成立以来,在推广、保护、维护比特币方面不遗余力,例如不定期发布比特币软件更新通知、征集比特币技术/项目提案、召开比特币大会、在各种会议上宣传比特币、对某些比特币事件进行评价和回应等。由于这些努力,比特币基金会在比特币社区中享有很高的声誉,被称为比特币的“半官方”机构。
该基金会近期比较著名的两件事当推2013年5月底美国加州的禁止令事件、8月与美国联邦政府的对话。已在第一章有过详细介绍,此处不再赘述。
比特币交易所
由于比特币尚未被广泛接受,还不能在现实世界中自由使用,所以那些拥有比特币的人经常希望能把比特币兑换成法币,获得“摸得着”的财富;而许多爱好者想拥有比特币却又不想挖矿,用法币购买比特币便成为自然诉求。有需求、有供给,比特币交易所便应运而生,目前已发展成比特币世界的重要一环,是联系比特币虚拟世界与法币现实世界的桥梁。当前国外著名的比特币交易所有Mt.Gox、Bitstamp和BTC-e等。
Mt.Gox
作为最负盛名、最大的比特币交易所,Mt.Gox于2010年7月17日在日本成立,当时的比特币价格每个还不到5美分。由于成立较早,Mt.Gox发展得很快,其交易量一度占据全球线上比特币交易总量的80%以上,在比特币的兑换方面几乎具有决定性的力量,是整个比特币市场的风向标。而比特币历史上的几次价格暴跌也都与Mt.Gox大有关联。
2011年6月19日,Mt.Gox上出现了令人震惊的超低卖出价,一分钟内,比特币价格从每个17美元跌至每个10美元,几分钟后甚至狂跌至每个0.013 4美元。最终结果是,26.1万个比特币以每个1美分的价格成交。虽然30分钟后比特币的价格重回每个13美元,但是此事严重打击了比特币参与者的信心,比特币的价格随之一路走低,到当年11月份曾一度跌至每个2美元。这一事件的原因是一个拥有大量比特币的Mt.Gox账户被黑客攻破,Mt.Gox为此事歇业一周。
2013年,比特币最引人瞩目的暴跌当属4月11日,那一天下跌近60%。据Mt.Gox官方解释,起因是比特币的交易过于活跃、新用户数量增加过快使得交易系统不堪重负而出现延迟。而这一情况被用户误认为是黑客攻击,因而引发恐慌性抛售并最终导致价格暴跌。Mt.Gox为此暂停交易12个小时。
Mt.Gox平台的功能纯粹、操作简单,主要包括如下功能:
交易:该功能又包含交易(买卖比特币)、资金选项(对账户进行充值或提现)、账号历史(可以查看自己的充值、提现和交易记录)、结账按钮(为商家生成“结账”按钮,便于比特币支付)。
商家工具:主要供商家使用,一般用户用不到该功能。
安全中心:主要帮助用户增强账户的安全性,用户可以在这里添加自己的YubiKey(一种身份认证的硬件)或者软件认证器,然后选择登录、提现和进入安全中心时所愿意使用的附加安全措施。
设置:用户可在此设置一些个性化信息、修改密码或申请认证。Mt.Gox的用户身份分为未验证、已验证和受信3种。如果想向账户充值或提现,用户必须向Mt.Gox提交相关材料,获得已验证或受信身份。
常见问题:该功能连接Mt.Gox的客户支持和论坛,用户可以在这里查看常见问题,也可以向客服提交服务请求。值得注意的是,由于Mt.Gox的客户支持与论坛采用同一账户系统,用户提交请求后,需要重新注册一个论坛账号方能查看自己的请求与客服的回复。
新闻:Mt.Gox的官方新闻区。
作为第一大比特币交易商,Mt.Gox在2013年经历了严酷的监管压力。3月,美国财政部下属的FinCEN要求为比特币或其他虚拟货币提供经纪或转账服务的业务必须进行注册,意在对比特币交易进行监管。5月,美国国土安全局获得法院的许可,冻结了Mt.Gox的两个银行账户,查封资金超过290万美元。国土安全局通告称查封的原因是Mt.Gox的首席执行官马克·卡佩勒斯没有如实告知这两个银行账户的用途是货币兑换。此外,Mt.Gox的网络支付平台Dwolla也因受到影响而关闭。6月初,FinCEN再次重申比特币交易需要遵守的规则,继续对Mt.Gox施压。
与此同时,Mt.Gox与其战略合作伙伴CoinLab(比特币孵化器公司)闹翻,CoinLab宣称Mt.Gox违反了一项赋予CoinLab北美市场独占权的合同条款,并且不允许他们按合同约定将现有的美国、加拿大客户从Mt.Gox转移到CoinLab。CoinLab要求赔偿7 500万美元的经济损失。在内外交迫的情况下,Mt.Gox不得不采取务实策略,于6月26日向FinCEN提交注册申请,该申请于6月28日被批准,Mt.Gox获得MSB牌照,终于走上了“合法化”的道路。
Bitstamp
位于斯洛文尼亚的Bitstamp是第二大比特币交易所,成立于2011年8月。Bitstamp的特点是比特币的价格一般比Mt.Gox略低(10%左右),手续费也稍低一些——Mt.Gox的初始交易手续费为0.6%,Bitstamp为0.5%。因此对于要购买比特币的人来说,在Bitstamp上交易比Mt.Gox要划算;而对于出售比特币的人来说,其提现也较Mt.Gox方便。凭借这些差异性优势,Bitstamp逐渐发展壮大。
Bitstamp平台的功能也比较简单、直接,包括:
概览:主要展示当前的市场交易情况和Bitstamp近期新闻。
账户:包括与账户余额、交易、未完成订单、安全、设置、支持、验证账户、账户历史有关的全部功能。
买/卖:主要用于比特币交易,但用户也可以在这里购买XRP币,只是Bitstamp的XRP币价格比Ripple官网高,购买时需谨慎。
订单簿:展示当前的比特币市场深度信息和所有买家、卖家的出价信息。
充值:从外部银行、平台或钱包把比特币、XRP币或现金充入Bitstamp平台的用户账户。
提现:把Bitstamp平台用户账户中的比特币、XRP币或现金提取至外部银行、平台或钱包。
Bitstamp比Mt.Gox多了一项购买XRP币的功能(只能买不能卖),事实上它也是Ripple网络的最大网关。由于Ripple网络本身并不提供充值、提现功能,用户在Ripple网络上进行支付或交易时,需要先把比特币、XRP币或美元转入一个网关,然后把网关里的钱再转入Ripple网络(除XRP币外,这些货币并未真正转入Ripple网络,只是在记账形式上有所变化)。Ripple网络上比特币、XRP币、美元三者之间的兑换,Bitstamp网关占到了90%以上的份额。
作为比特币兑换界的第二大商家,Bitstamp一直与Mt.Gox明争暗斗。事实上二者近期就上演出了一场比特币价格的激烈暗战。2013年6~7月,Mt.Gox为配合FinCEN的注册工作,暂时关闭了提现通道,此举再次引起用户的恐慌,导致比特币价格持续下跌。作为风向标的Mt.Gox比特币价格自然影响到Bitstamp,其平台上的价格也随之下跌。但与此同时,Bitstamp竭力阻止比特币价格下跌,希望能够尽量缩小二者的价差,甚至期待超过Mt.Gox比特币的价格,以便吸引Mt.Gox平台上的比特币持有者转到自家平台上进行交易,进而一举击溃Mt.Gox。
二者的价格曾一度非常接近,但随着两周后Mt.Gox重新开放提现通道,比特币社区的恐慌情绪释放完毕,比特币的价格又开始稳步攀升,二者之间的价差亦再次拉开。经过这次较量,Bitstamp虽未能击败Mt.Gox,却也明显削弱了后者的优势。目前,这两个平台每日比特币交易量的对比已经不如之前那么夸张,一般处于1∶1~2∶1之间(之前可达3∶1~4∶1甚至更高)。
尽管Bitstamp近期的发展势头良好,但Mt.Gox被美国政府强制注册之后,Bitstamp很可能会面临类似的监管压力。Bitstamp也明智地在6月份关闭了美元的代码充值和转让通道(这一通道不透明、难以追踪,容易滋生洗钱、偷漏税等违法交易)。由于它在美国没有银行账号,开户行在欧洲,交易使用的法币又主要是美元,等于同时给美国和欧洲的货币监管当局出了难题。
BTC-e
BTC-e也是一家老牌虚拟货币兑换所,由俄罗斯人开办,其特点是兼收并蓄,支持的虚拟货币种类很多,一度是莱特币的头号交易平台,在比特币兑换方面也有一定的地位。由于其交易手续费低、入金(充值)/出金(提现)便利,自由主义气氛比较浓厚,常被视为冒险家的乐园,许多新型的山寨币都以能上BTC-e交易平台为荣。
目前可在BTC-e上交易的虚拟货币包括比特币、莱特币、域名币、NVC(Novacoin)、TRC(Terracoin)、PPC(PPcoin)和FTC(FeatherCoin)等,种类全面。但是与Mt.Gox和Bitstamp的单一性相比,BTC-e由于对山寨币过于开放,而用户又很难了解某个新型山寨币的来龙去脉,因此需要承受一定的风险。在BTC-e平台上曾多次出现某个新虚拟币上架,欺骗了一些用户之后,又被下架的情况——用户的损失当然无人负责。
此外,BTC-e的安全问题也曾受到诟病。例如,2012年2月,有人就发出警报称BTC-e存在严重漏洞;2012年7月,BTC-e被黑客攻破,大约损失了4 500个比特币,BTC-e不得不暂停交易并赔偿用户的损失。而用户密码被破解、虚拟币被盗的事件在BTC-e平台上也时有耳闻。因此,普通用户在BTC-e上交易山寨币时需要格外小心,避免陷入骗局或者成为黑客的打劫目标。
矿池与矿机
返回书籍页