比特世界 第6期

时间:2022-06-21 02:08:50

比特世界 第6期

2013年四川芦山县地震后,223个比特币作为捐款汇入了壹基金账户,这是比特币第一次在中国成为捐赠物,也是这223个比特币让更多的中国人知道了比特币(Bitcoin)。其实在此之前已经有很多商业网站开始接受比特币,比如我们所熟悉的WordPress、Mega等网站。但是与我们所熟知的任何货币或者电子货币不同,比特币不是使用任何政府发行的货币兑换来的,而是通过开源P2P软件创造出的电子货币,也就是说它可以被任何一个拥有计算设备的人创造出来,或者说是“挖”出来。

电子货币对于很多人来说并不陌生,对于中国的网民,Q币就称得上是我们最熟悉的电子货币了。虽然Q币更多的是在腾讯的众多应用软件中使用,但是不可否认的是Q币在很多场合已经有了如真金白银般的重要性。在腾讯旗下的易迅网站中,虽然Q币还不能作为电子货币购物使用,但是有些商品的优惠中已经出现过购物送Q币的措施。相比之下,亚马逊美国在电子货币方面的尝试就走的更远一些。从5月份开始KindleFire用户将能够使用亚马逊货币(AmazonCoins)购买应用和游戏内的虚拟商品。在货币服务推出之时,亚马逊将会先向KindleFire用户免费发放价值“数千万美元”的虚拟货币来进行试用,用户试用之后可以通过亚马逊账号购买货币进行消费。毫无疑问,亚马逊推出虚拟货币不仅可以在一定程度上刺激用户的消费热情,而且开发者编写应用程序也会更加积极。

亚马逊币和Q币的相同点在于,它们主要都是通过用户使用真实货币兑换而来,其消费领域仅仅限于该公司所提供的多种网络服务中,并不能作为一种在网上流通的购物货币使用,可以把它们看做是中的筹码。从目前看来,比特币是流通最为广泛的电子货币,更重要的是比特币是在网络上创造出来的,虽然以前也有很多虚拟货币出现,但是从目前看来只有比特币有着较好的发展前景。

比特币的获得

比特币的获取可以用货币换取,而更多的人则是在用计算机或专用计算设备来获得比特币,也就是俗称的“挖矿”。比特币是一种由开源的P2P软件产生的电子货币,是一种网络虚拟货币。比特币不依靠特定货币机构发行,它通过特定的算法大量计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。比特币被设计为允许匿名的所有权与使用权,比特币既可以被以计算机文件的形式保存在个人电脑中,也可以储存在第三方托管服务机构。不管以何种形式保存,比特币都可以通过比特币地址发送给互联网上的任意一个人。P2P的分布式特性与不存在中央管理机制的设计确保了任何机构都不可能操控比特币的价值,或者制造通货膨胀。

比特币网络上的一台电脑,被称为“矿工”,当其察觉到一笔新的交易,并确认了交易的合法性,就将其加入到全体共同维持的所有已知交易的时间戳列表(被称为“区块链”),从而“确认”了该笔交易。由于区块链提供了清晰的证据,所以任何的重复支付都会被拒绝。

将一个区块加入到区块链中,被刻意设计成一个非常难的,需要时间和计算能力去处理的过程,所以本质上,如果没有超过余下所有比特币网络的计算能力,就不可能造出一个伪造的区块链。每一个区块都有一个散列值,这个值根据该区块的数据,由非常复杂的函数随机生成,复杂到根据输入无法预计输出是什么,创造一个区块的难度,就是要找到这个目标非常小的值的难度。矿工们因此需要不停的尝试虚变量,直到有一个矿工幸运的找到这个区块的散列值,那么这个区块就加入到了区块链,然后这个过程再一次重复。每个区块的值都会自动改变,每生成一个区块大概需要10分钟。

那么什么能促使矿工花费如此多的时间和计算力去生产区块呢?答案是生产出区块的人能得到奖励。这个奖励是双重的。首先,能够通过比特币网络得到一定数量的比特币(现在的奖励是50个比特币;这个值将会在2012年12月减半,并且每4年减半1次,总量不会超过2100万)。第二,能够得到区块中交易的手续费。网络会自动调节计算难度,保证每个区块的产出时间大概是10分钟。因此,参与的矿工越多,生产区块的难度就越大。挖矿除了是维持交易数据库的手段之外,也同时是比特币经济中生成比特币并分发给人们的唯一机制,你不可能通过任何投资交易、炒作来获得额外的比特币,只有通过挖矿这一劳动来获得比特币。

随着生成区块的难度逐步增加,挖矿变成一个碰运气的事情,单一节点要生成一个区块需要花费数年的时间(除非这个单一节点拥有大量的计算力)。为了激励计算力较低的用户继续参与挖矿,矿池就出现了。在一个矿池里,许多不同的人贡献出自己的计算力来生成一个区块,然后再根据每个人的贡献比例来分发奖励。通过这种方式,就不必等待数年的时间来得到那个50个比特币的奖励,小矿工能定期得到属于他们那部分的比特币奖励。一个share(贡献/股份)为一个矿池给客户端的一个合法的工作证明,这也同时是用来生成区块的工作证明,而获得没有这么复杂,只需要很少的时间就能达到一个share。

矿池挖矿方式

目前的几种不同方式如下:

1、 Slush方式:Slush矿池基于积分制,较老的shares将比新的shares拥有更低的权重,以减少一轮中切换矿池的投机分子。

2、 Pay-Per-Share方式:该方式可以立即为每一个share支付报酬。该支出来源于矿池现有的比特币资金,因此可以立即取现,而不用等待区块生成完毕或者确认。这样可以避免矿池运营者幕后操纵。这种方法减少了矿工的风险,但将风险转移给了矿池的运营者。运营者可以收取手续费来弥补这些风险可能造成的损失。

3、 Luke-Jr方式:该方式借用了其他方式的长处,如Slush方式一样,矿工需要提供工作证明来获得shares,如puddinpop方式一样,当区块生成时马上进行支付。但是不象之前的方式,针对一个区块的shares,会被再次利用于生成下一个区块。为了区分一下参与矿工的交易传输费用,只有当矿工的余额超过1BTC时才进行支付。如果没有达到1BTC,那么将在下一个区块生成时进行累计。如果矿工在一周内没有提供一个share,那么矿池会将剩下的余额进行支付,不管余额是多少。

4、 Triplemining方式:该方式是将一些中等大小矿池的计算力合并起来,然后将获得奖励的1%按照各个矿池计算力的比例分发给矿池运营者。

5、 P2Pool方式:P2Pool的挖矿节点工作在类似比特币区块链的一种shares链上。由于没有中心,所以也不会受到DoS攻击。和其他现有的矿池技术都不一样—每个节点工作的区块,都包括支付给前期shares的所有者以及该节点自己的比特币。99%的奖励(50BTC+交易费用)会平均分给矿工,另外0.5%会奖励给生成区块的人。

6、Puddinpop方式:一种使用“元哈希”技术的方式,使用特定的puddinpop挖矿软件,现在没有矿池用这种方式。

目前使用较多的方式为Pay-Per-Share,如和等均支持PPS,矿工使用起来也比较方便。

但从去中心化的角度来说,还是推荐P2Pool,避免了DoS攻击的同时,也防止个别矿池拥有超大的计算力而对比特币网络造成威胁。

如何存储比特币

怎么存储你的比特币?这是每一个比特币用户必须面对的一个重要问题。比特币让你有更多的自由与权力去控制你的钱。但是如果你一不小心就可能带来灾难性的损失。如果您选择保持完全独自的控制你的比特币,那就没有人能阻止你做一些愚蠢的事,有没有人来为你的错误买单。不会有Bitcoin的公司来电,并尝试确认你的合法拥有者的地址,这样他们也就不可能将丢失的比特币归还。但是,现在有基于Bitcoin创建的友好及安全的服务,或者中间方案,可以让用户免去自己操作wallets的风险。

在线钱包

在线钱包是迄今为止最简单的方式,可以从任何计算机访问你的比特币。但是在钱包服务商需要有足够的可信度。目前在线钱包主要有几个选择:

Instawallet

Instawallet是迄今为止设置最简单的在线钱包。当你去,将被重定向到一个随机URL页面,它绑定Bitcoin的地址。只要你能安全地存储URL,发送到该地址的所有比特币将出现在你的账户中,你可以使用它们。这项服务的主要缺点是安全性不好—如果任何人访问你的计算机,他们可以通过浏览器的历史记录来访问你的钱包。使用浏览器的隐私浏览模式是一个可能降低安全隐患的方式,但是这需要将URL存储在其他地方。但是你可以使用加密钱包或者记住其他在线钱包的账号、密码来取代它。这个在线钱包可非常方便的处理小的金额,即使是它的作者也不建议在这里存储任何大金额的资金。

Paytunia

Paytunia虽然拥有一个非常简约和易于使用的界面 ,但是比Instawallet的复杂性和安全性方面都更强。注册Paytunia和大多数其他网站一样简单,输入用户名,密码,然后电子邮件确认,就大功告成了。Paytunia还提供了一个集成的iPhone和Android移动应用程序。如果你不知道收款人的比特币地址,通过Paytunia可以选择发送比特币到他的电子邮件地址。

Blockchain

Blockchain是一个在线钱包和桌面客户端之间的混合软件方案,可以提供更高的安全性。不像alternatives,Blockchain是通过存储你的钱包的密匙和运行所必需的代码解密你的钱包并在浏览器上登录交易,所以Blockchain没有办法访问您的资金。客户端还提供了可以下载和备份你钱包到你的计算机,或印刷在纸张上。除此之外Blockchain提供了一些高级功能。如果已经创建了的密码,可以将其导入到Blockchain,等于将你的钱包备份在你的大脑中。它还采用了先进的离线模式,让你在没有网络连接下使用离线的钱包,可以签名交易,无论通过印刷或记忆。当然,Blockchain也为iPhone和Android提供了自己的集成的移动应用程序。

桌面客户端

桌面客户端是你下载到计算机上的简单的软件程序。他们提供了更高的安全性和控制,但是需要复杂的设置。有三个主要的客户选择。

标准Bitcoin的客户端,由于它的创造者是中本聪,也被称为聪客户端。这是第一个Bitcoin的客户端,并不断改进。客户端是一个完全的Bitcoin的网络节点,这意味着它可以连接到其他节点,既它能挖矿 ,也能帮助验证和存储交易信息。正因为如此,当安装完后必须下载整个(目前约7G)的区块链,这会占用几个小时的时间,并且每次启动客户端后,也需要几分钟的同步时间。你的私钥,经过数学计算的数据,使你可以使用存储在wallet.dat比特币地址里面的BTC。客户端提供是否加密wallet.dat的选项。客户端由Bitcoin的社区成员编写,开发过程是迄今为止最严密的审议和监督,因此它是最值得信赖的。它的特点是比较基本的,允许你创建地址来接收比特币,并将其发送到任何地址。

Armory是目前最先进的Bitcoin的客户端,它提供了一系列的功能,有的甚至比Blockchain还强大。除了任何Bitcoin的客户端都具有的标准功能外,它可以管理多个钱包,管理钱包加密,导入私钥,离线交易,甚至有一个功能,可以让你使用你的Bitcoin的地址作为公钥来对您的消息进行签名,使您可以创建任何人都可以验证的消息,并且不能篡改或伪造。但是你需要为享受这些便利支付软件使用费用。军械库客户端没有自己的网络功能,需要标准客户端在底层运行。它需要和标准客户端一起运行,至少需要2GB的RAM ,因此在配置较差的的计算机上运行比较困难。

Electrum是一个轻量级的桌面客户端,这意味着它不会下载完整的blockchain。相反,它需要服务器上做大量的工作。它允许您发送和接收比特币,但也有一些先进的功能:它可以从一个地址确定性产生的钱包,它提供了自己的离线交易签名功能。但是这些高级功能使用起来比较困难,因为它们只能通过命令行操作。

移动钱包

移动钱包介于在线和桌面客户端的之间,提供了相同的桌面客户端的功能,但也有一些不同的功能:先进的交易签名,可以通过扫描一个QR代码来获取接收地址并发送,当然你自己也能创造这样的QR码。

Paytunia的移动钱包与桌面客户端提供相同的功能,允许您发送比特币到一个比特币地址或电子邮件地址;并给你一个地址,通过这个地址,可以接收比特币。当然它也利用便利的移动特性,可以扫描和发送到一个QR码的编码地址和创建自己的QR码。

Blockchain的移动钱包是类似于桌面的钱包,但它只是提供了简化的接口用于接收和发送比特币。它也提供了QR码扫描和创建功能。和其他主要移动钱包一样,它有固定的钱包,里面有一个PIN选项,但此功能是很难找到的—它需要从Blockchain的桌面浏览器界面中添加第二个密码。此外,目前需要PIN码以及桌面计算机上的第二个密码才能访问你的手机客户端。这导致用户选择空的密码,而很多人可能会设置两个相同的密码。无论如何,它的主要优点是其桌面钱包被集成,允许您从两个不同应用程序的钱包中发送资金。

Bitcoin Spinner是一个独立的客户端钱包,因此并不需要使用任何类型的账户来保存您的私钥,而你的私钥就保存在设备上。您可以选择 base-58格式的纯文本或一个QR码来备份你的私钥,并强烈建议用户这样做;否则你手机上的数据一旦丢失就意味着您失去了您的资金。当然,它也包含了标准的QR码发送和接收功能。

离线钱包

比特币官方客户端从0.4.0版本开始支持钱包加密。加密的钱包在每次付款的时候,都会提示您输入密码。如果密码错误,客户端会拒绝付款。如果用最早备份的钱包(wallet.dat)替换回来,还是一样可以正常交易。考虑到比特币的原理应该也可得出结论,只要有私钥(钱包)存在,就可以证明你是这个钱包的合法拥有者,不管对这个钱包(核心就是某个地址对应的私钥)是进行了加密还是删除,都不能否定它。备份比特币钱包时,还需注意由于比特币支付找零机制的存在(比如把一个完整的100btc中的50btc发送给某个地址,系统会发送其中的50btc到对方的地址,并退回50btc到你客户端的一个新地址上,这个地址不会直接显示在你的地址列表中),每发送了100次比特币给其它地址或者使用了100个不同的地址接收比特币后,请重新备份钱包,否则后面交易退回的和接收到的比特币会永久丢失。除了给钱包加密外,用户还可以自行生成离线的纸钱包和脑钱包。

纸钱包即只要在未对钱包加密前通过在比特币官方客户端的调试窗口中的控制台输入:“dumpprivkey 你的比特币地址”(输入时不要带引号)来查看自己的私钥,然后把此私钥打印出来存放在某个地方再删除电脑上的钱包文件即可进行钱包的网络隔离。 脑钱包则是利用一段javascript脚本,针对用户自行设定的一个能永久记住的短语(一定要是特殊和唯一的,建议最少16个字符以上,中英文皆可),生成一对公钥和私钥,之后用户把所有比特币都转到此比特币地址(即公钥)上,以后只需要记住这个短语即可在任何时间任何地方还原自己的财富(除非你的短语不幸被其他人获知)。

为了确保绝对安全,Armory客户端将钱包和客户端进行分离,离线客户端内的钱包被严格地加密保护起来。在线客户端如果需要支付比特币,需要由掌握离线钱包的电脑进行签署,再通过在线客户端进行广播。

Blockchain.info虽然是在线钱包服务,但是每个用户的私钥都通过Java虚拟机在用户的网页浏览器内进行加密,blockchain.info只储存加密后的密钥文件。这样用户不必信任Blockchain.info的管理员,就可以放心将私钥交给他人管理。

骗局?

比特币曾经被指控为“庞氏骗局”,因为比特币的汇率在不断地上涨,而早期的比特币用户挖矿较为容易。比特币是一个庞氏骗局?比特币的用户用普通货币买入比特币,而如果想要变现比特币,就必须要有其他的用户愿意购买比特币,也就是说,要有新的比特币需求不断出现。对于很多人而言,这看上去非常像一个庞氏骗局。庞氏骗局是层压式推销方式的一种,参与者要先付一笔钱作为入会代价,而所赚的钱是来自其他新加入的参加者,而非公司本身透过业务所赚的钱。投资者通过吸引新的投资者加入付钱,以支付上线投资者,通常在短时间内获得回报。但随着更多人加入,资金流入不足,骗局泡沫爆破时,最下线的投资者便会蒙受金钱损失。庞氏骗局是指用新进入投资者的资金,为早期投资者支付收益。庞氏骗局的发起者通常都向新投资者承诺高收益、低风险。在很多庞氏骗局中,骗子努力地诱导新投资者进入,以便向早期的投资人支付收益,并用于自身的消费,而这些钱很少进行真实的投资。

比特币与之完全不同。至少理论上如此。比特币没有一个组织者掌握着用户的钱然后消失不见。比特币的用户自发地进行交易,几乎完全没有中介机构的存在,没有任何人可以直接从比特币不断扩大的人群中直接获利,除非汇率上涨。(而通过汇率上涨获利,和其他外汇投资没有太大区别。)而矿工获得的比特币,也是为了激励他们处理比特币交易,以维持比特币的安全。虽然很多投资者试图通过比特币价格波动来进行获利,但是这并不是比特币设计的目的,比特币本身只是一种支付系统。而比特币的核心开发人员,也一再明确地强调比特币只是一个“实验性”的项目,并反复提示投资比特币的风险。随着网络购物的普及,我们已经非常习惯使用网银来进行在线支付。与以往的购物方式不同的是,当我们在网络上买东西的时候,我们花出去的虽然仍旧是不同数量的货币,但是这些货币只是以数字方式显示在我们以及对方的账户中,交易中没有一张货币从买家的手中送出,卖家在自己的钱包中也不会看见钞票变多。真实的货币实际上存在银行,因为我们相信货币在银行并且可以在需要的时候可以支付、提取,所以人们才会使用网络(电子)银行。

人们能够一直知道银行安全保存的金钱里面有多少是他们的,并且,他们信任他们在银行账单上和他们电脑屏幕上看到的金钱数量,他们任何时候可以从银行得到的相应的钞票。他们确信,他们能够像接受纸币一样接受这些数字。想一想,这似乎跟纸币刚刚面世时候的遭遇一样,人们接受这些数字就像当初人们像接受金银一样接受纸币。

尽管如此,事实上,电脑的使用并没有改变这种系统的结构,这种结构基于一个中心权威机构(银行)负责保存用户账户信息。每个人不得不依靠这个权威机构的诚实(比如,说到他们总共保管了多少金钱,或者至少保持多少纸币可供所有着可用)。同样,每个人不得不在这个机构提供他/她的真实姓名来认证他们的身份,从而被允许取回他们的钞票或者转账给别人。

而比特币是一个可以自由转移的系统,它使用一种类似在线银行接口的方式,不过是匿名的并且不需要依赖一个中心权威机构来决定真伪。这些比特币需要消耗真实的资源(GPU时间和电力)来生产,所以它被看做是有价值的。各种货币发行制度都曾以某种方式规定了中央银行的黄金准备数量,但由于经济制度中的矛盾,经济活动规模的迅猛扩张,黄金准备占银行券发行总额的比例普遍锐减。货币发行制度过于依赖黄金准备,银行券的稳定只有依靠与黄金兑现来保障,必然导致货币流通数量不足,中央银行集中的黄金准备也无法应付剧烈波动的经济货币需求。因此,从1929至1933年世界经济危机以来,各国普遍实行不兑现的信用货币制度。这种信用货币形式上仍是银行券,但其实质已接近纸币,黄金已退出流通,信用货币不仅不能与黄金兑换,而且已不用黄金作为发行准备。既然货币的背后不再是黄金,那么创造比特币所消耗的资源,就像我们在现实中挖金矿差不多,付出一些、得到一些。比特币是由对等网络P2P的节点,在完成一个特定数学问题计算之后生产出的。这些数学计算需要相当的运算能力才能完成,并能够通过生成有效运算工作的证明来检验。在比特币网络中运算难度可以自动调节,在最初的四年里会有10,500,000比特币被制造出来,这个数值每四年减半,所以在第四到第八年中会有5,250,000比特币被制造,在第8到第12年中会生产2,625,000比特币,以此类推。因此最终比特币的数额会无限趋近于21,000,000比特币。

技术上讲,目前的数据结构下,一个比特币可以被分区到8位小数,所以0.00000001BTC是目前的最小单位。如果将来有需要的话,再考虑更小的分区单位。即使比特币的允许精度从目前的8位小数扩展,最终流通中的比特币将总是略低于2100万(假定其他参数不变)。

系统运行内建的机制会在平均大约每10分钟确认一个区块(block)。参与制造新比特币的人数变动,新比特币制造的难度也随之变动,这是将整个分布式网络作为一个整体来分析,分析的依据是之前2016个区块的制作时间。因此制造的难度与一定时间内全网投入制作工作的平均运算能力相关。单一个体“发现”新区块的可能性是创建在他的计算能力与全网计算能力的综合比较之上的。

区块的总数乘以每个区块的比特币值就是现存的比特币总数。每个区块的币值在最初的210,000个区块中是50BTC,之后210,000区块是每区块25BTC,然后是12.5BTC、6.25BTC,以此类推。最后一个产出比特币的区块将是#6,929,999号区块,这大约会在公元2140年前后发生。届时流通中比特币的总数将恒定维持在20999999.9769BTC。生产的奖励会从0.00000001BTC变为0,然后将不再有新的比特币被生产出来。

如何使用比特币

既然比特币目前看上去不像个骗局,那么就让我们来看看比特币到底可以为我们做些什么。除了挖点比特币作为自己的养老基金以外,目前比特币最好的消息来自eBay。eBay CEO约翰·多纳霍(John Donahoe)接受媒体采访时表示,这家电子商务巨头正在探索各种方式,希望将比特币整合到PayPal支付网络中。

和在银行开立账户一样,比特币里的对应概念为地址。每个人都可以有1个或若干个地址,该地址用来付账和收钱。每个地址都是一串以1开头的字符串,一个比特币账户由一对公钥和私钥唯一确定,要保存账户,只需要保存好私钥文件即可。虽然使用bitcoin的软件可以看到当前账户的余额,但和银行不一样,并没有一个地方维护每个地址的账面余额,它只能通过所有历史交易记录去实时推算账户余额。简单的说就是银行账户不一样的地方在于,银行会保存所有的交易记录和维护各个账户的账面余额,而bitcoin的交易记录则由整个P2P网络通过事先约定的协议共同维护。

当我与某人达成了交易,需要从地址A(自己的账户)向对方的地址B付账时,付账额为X,此时双方将向各个网络节点公告交易信息,告诉地址A向地址B付账,付账额为X。为了防止有第三方伪造该交易信息,该交易信息将使用地址A的私钥进行加密,此时接受到该交易信息的网络节点可以使用地址A的公钥进行验证该交易信息的确由A发出。当然交易软件会帮我们做这些事情,我们只需要在软件中输入相关参数即可。

那么网络节点收到交易信息后会做什么?历史上发生过的所有交易信息分为两类,一类为"验证过"的交易信息,即已经被验证过的交易信息,它保存在一连串的“blocks”里面。每个"block"的信息为前一个"bock"的ID(每个block的ID为该block的HASH码)和新增的交易信息(参见一个实际的block)。另外一类指那些还"未验证"的交易信息,上面刚刚付账的交易信息就属于此类。

当一个网络节点接收到新的未验证的交易信息之后(可能不止一条),由于该节点保存了历史上所有的交易信息,它可以推算中在当时每个地址的账面余额,从而可以推算出该交易信息是否有效,即付款的账户里是否有足够余额。在剔除掉无效的交易信息后,它首先取出最后一个"block"的ID,然后将这些未验证的交易信息和该ID组合在一起,再加上一个验证码,形成一个新的“block”。

上面构建一个新的block需要大量的计算工作,因为它需要计算验证码,使得上面的组合成为一个block,即该block的HASH码的前若干位为1。目前需要前13位为1(大致如此,不确定具体方式),这意味着如果通过枚举法生成block的话,平均枚举次数为1613。使用CPU资源生成block被称为“挖金矿”,因为生产该block将得到一定的奖励,该奖励信息已经被包含在这个block里面。

当一个网络节点生成一个新的block时,它将广播给其它的网络节点。但这个网络block并不一定会被网络接受,因为有可能有别的网络节点更早生产出了block,只有最早产生的那个block或者后续block最多的那个block有效,其余block不再作为下一个block的初始block。

当该笔支付信息分发到网络节点后,网络节点开始计算该交易是否有效(即账户余额是否足够支付),并试图生成包含该笔交易信息的blocks。当累计有6个blocks(1个直接blocks和5个后续blocks)包含该笔交易信息时,该交易信息被认为“验证过”,从而该交易被正式确认,对方可确认支付成功。

一个可能的问题为,我将地址A里面的余额都支付给地址B,同时又支付给地址C,如果只验证单比交易都是有效的。此时,我的作弊的方式为在真相大白之前产生6个仅包括B的block发给B,以及产生6个仅包含C的block发给C。由于我产生block所需要的CPU时间非常长,与全网络相比,这样作弊成功的概率微乎其微。

从上面描述可以看出,为了让交易信息有效,需要网络节点生成1个和5个后续block包含该交易信息,并且这样的block生成非常耗费CPU。那怎么样让其它网络节点尽快帮忙生产block呢?答案很简单,协议规定对生产出block的地址奖励BTC,以及交易双方承诺的手续费。目前生产出一个block的奖励为50BTC,未来每隔四年减半,比如2013年到2016年之间奖励为25BTC。

那么我刚完成的这个交易是匿名的么?是,也不是。所有BITCOIN的交易都是可见的,我们可以查到每个账户的所有交易记录,比如我的。但与银行货币体系不一样的地方在于,每个人的账户本身是匿名的,并且每个人可以开很多个账户。总的说来,所谓的匿名性没有宣称的那么好。bitcoin用来做黑市交易还有一个好处,它无法冻结。即便警方追踪到了某个bitcoin地址,除非根据网络地址追踪到交易所使用的电脑,否则还是毫无办法。

那么我现在如果收取了比特币,它会保值么?一般来说,在交易活动相当的情况下,货币的价值反比于货币的发行量。不像传统货币市场,央行可以决定货币发行量,bitcoin里没有一个中央的发行机构。只有通过生产block,才能获得一定数量的比特币。由于比特币总量是一定的,理论上比特币不会贬值。但是要相信这世界上投机商人的力量,黄金都能贬值,更何况比特币。顺便问一下,您股票解套了么?与股票相比,比特币目前价格只比峰值低50%,还算可以吧?

有个故事是这样的。2010年5月21日,一位昵称为 laszlo 的人在论坛上发帖,想出售10000比特币,要价50美元。但是,没有人买。不过,有人表示,愿意用价值25美元的比萨饼优惠券换这10000比特币。Laszlo答应了。如今(2013年5月)市价,10000比特币大概可以兑换 800万人民币。哦,价值800万的披萨。

如何做一个有效率的矿工

花费最少的时间来挖掘更多的财宝是每个矿工的终极梦想。就像魔兽中不是每锄头下去都能冒出奥术水晶一样,我们现在根本别想指望在短短几天就能够挖出一个比特币。

目前比特币的主要挖矿方式有三种,其一就是大家普遍使用的显卡挖矿,其次是FPGA矿机,最后是计算效率最高的ASIC矿机。

使用显示卡挖矿,我们首先需要确定的是你机器里安装的是一块AMD显示芯片的显卡。如果你不幸用的是NVIDIA芯片显示卡,那么忘记挖矿这个概念吧。根据维基百科的解释,就GPU构架来讲, AMD显卡的ALU单元比NVIDIA卡多得多。在这点上,A卡要快上2-3倍。挖矿算法是基于SHA-256的,这个算法会有大量的位操作“right-rotate”,对于这个操作,A卡原生只需要1个硬件指令,而N卡需要用3个硬件指令来模拟。在这点上,A卡又要快上1.7倍。所以在挖矿运算上,A卡的性能要比N卡快上3-5倍。

一有适当的利润,资本就会非常胆壮起来。只要有10%的利润,它就会到处被人使用;有20%,就会活泼起来;有50%,就会引起积极的冒险; 有100%,就会使人不顾一切法律;有 300%,就会使人不怕犯罪,甚至不怕绞首的危险。

资本论第一卷总结的真理放在比特币世界同样适用。比特币的市场表现逐渐的吸引了更多的早期玩家的加入。疯狂的升值,让大家不在像以前那么淡定,也有人开始研究如何挖掘到更多的比特币。比特币设计之初,就决定了每天比特币的总产量是有限的。你的运算能力越强大,获取比特币的概率就越大。这是一个充分竞争的自由市场。人们八仙过海,各显神通,用尽各种手段,提升自己的运算能力,以期挖出更多的比特币:黑客们,通过深埋地下的病毒木马,控制了大量计算机组成僵尸网络,来挖矿获取暴利;正道的Hacker们则研究发现,比特币挖矿所依赖的SHA-256哈希值运算,GPU(也就是显卡)的计算速度比CPU高成百甚至上千倍。然后,中国人来了。时至今日,也就是到2013年5月31日,在中国一共有85220个比特币节点,我们又一次站到了世界的巅峰。此时美国节点数为75258、德国30395。

为什么CPU和GPU在挖掘比特币的时候存在非常巨大的差距?

CPU(中央处理单元)是计算机的主要执行器件,根据程序代码来控制其他所有元件的运作。有的计算机拥有多个CPU,有的CPU拥有多核(这类似于多个CPU集成到一个物理封装上)。CPU通常是插在计算机主板上的可拆装部件,在上部有较大的金属散热片或风扇。

GPU(图形处理单元)是计算机视频渲染系统的一部分。很多时候GPU位于一块单独的电路板(也就是视频卡)供插入主板使用,GPU的典型功能是协助渲染三维图像以及处理视觉效果。也有很多电脑没有GPU,GPU不是必需的,不过在现代的电脑上GPU近似于标准配置,因为现在新的操作系统支持依靠GPU处理的增强视觉效果。例如Windows 7的半透明窗口,或Mac OS X图标在鼠标指针附近的凸起效果,这都是GPU的功劳。

GPU类似于CPU,但是它们内部的重要区别是各自适应自己的特殊专有任务,这些差异使得使用GPU进行比特币挖掘更为有利。一个典型的CPU核心可以在一个时钟周期内执行4个32位的指令(使用128位的SSE指令),而类似于AMD Radeo HD 5970这样的GPU可以每周期执行3200个32位指令(使用它的3200个算术逻辑单元或称流处理器)。这就是800倍于CPU的指令执行速度。截至2011年,最快的CPU拥有6核、8核或12核,以及多少高一点的时钟频率(2000-3000MHz ,而Radeon HD 5970是725MHz),但是这远远不足以弥补速度上的巨大差异。

CPU如同执行长官,它被设计为通过软件的操控作出决定,CPU能进行所有种类的数学运算,在每一个CPU里都有一个或多个算术逻辑单元(ALU),CPU同样非常适于快速的任务切换与逻辑判断。CPU也要处理其他的复杂事务,诸如不同程序间的优先级设定,向后兼容旧有代码等等。

GPU类似于劳工,GPU虽然也能做数学运算,但是它最主要的设计用途是进行视觉图形处理而不是执行者的角色。图形处理是大量的重复任务,因为它被安排对屏幕上大量的像素进行处理,为了更有效率的运算,图形处理器的巨大优势在于执行大量重复劳动,而不是快速的任务切换。GPU拥有大量的算术逻辑单元,数量远远超过CPU,这使得它在执行大批量的重复算术运算时远远胜于CPU。

一个形象的比喻是CPU如同一小组快速执行任务的精兵良将,GPU如同一大群相对迟缓的笨人,他们单个看上去并不那么精干快捷,但是被训练去做大量的重复劳动,而在整体的角度上可能就会更有效率。

GPU的算术逻辑单元ALU被分区为多组,每一组算术逻辑单元共享管理,这样组内成员就完成进行不同的任务,他们彼此协作集群完成那些单一环节变化很小的任务。比特币挖掘的背后是重复尝试Hash(散列)运算,这就是非常适合GPU的重复劳动,每一次运算尝试只改变被散列数据的一个数字。

AMD Radeon HD 5970为例,它有3200个流处理器,这可以理解成是3200个很笨的处理单元被训练用于大量重复劳动而不用做决策工作来打断工作流。这些处理单元构建于群组内,5970使用VLIW-5架构,也就相当于这3200个流处理器事实上是640个核,每个核能在一个时钟周期内处理5条指令。NVIDIA把这些核称为Cuba Cores,但他们不是VLIW,这意味着他们单位周期内的运算能力低些。这也是为什么仅仅比较显卡的核数来判定性能是不准确的原因,也是为什么NVIDIA在做SHA-256 hash的时候落后ATI这么多的原因。

算术逻辑单元ALU决定了比特币挖掘的效率,可用的ALU数目对最终的散列输出结果有直接影响。这就是为什么GPU在挖掘比特币的时候会比CPU高效很多的原因,因为比特币挖掘不需要CPU那样的决策任务,而只是重复的数学运算,比特币挖掘中唯一的决策任务是求证“我是否拥有一个有效的区块?”因此这样的任务很适合GPU完成。

起初,AMD为GPU设计了很多在相对低的时钟频率上(通常是1120-3200个算术逻辑单元运行于626-900MHz)运行的简单ALU填充器(VLIW架构),而Nvidia的微处理器架构包含相对少一些更复杂的算术逻辑单元,通过在更高的渲染时钟频率上(通常是448-1024个算术逻辑单元运行于1150-1544MHz)运行来补偿总体效率。因为VLIW和非VLIW架构的差异,NVIDIA每个ALU多占用更多面积的空间,这样每个芯片里的ALU数量就更低,比AMD更早地触及频率上的性能瓶颈。这在AMD那里就体现为单个ALU的运行优势:

AMD Radeon HD 6990: 3072 ALUs x 830 MHz = 2550 billion 32位指令/秒

NVIDIA GTX 590: 1024 ALUs x 1214 MHz = 1243 billion 32位指令/秒

这大致表现AMD和NVIDIA的GPU在全线产品上存在的2倍-3倍性能差异,这在跟ALU相关的GPU运算中表现明显,例如比特币挖掘、密码暴力破解等等。

此外,推荐使用AMD GPU的另一个原因在于挖掘算法基于SHA-256,它大量进行32位整数循环右移运算,这一操作在AMD GPU那里可以通过单一硬件指令实现,而在NVIDIA GPU那里需要三步硬件指令来模拟(2移+1加),仅这一条就为AMD带来额外的1.7倍运算效率优势(大约1900指令来执行SHA-256压缩操作,而不是NVIDIA的大约3250指令)。

专业矿机

目前的矿机焦点集中在ASIC矿机上。我们可以在市面上买到的是蝴蝶矿机,虽然跳票了很久,但是已经开始按照订单顺序发货。5G速度的蝴蝶矿机价格在274美元,这就意味着当蝴蝶矿机全面发货以后,挖矿的难度会进一步提升。

淘宝上可以买到的专业矿机主要集中在FPGA矿机,其速度从200-400M左右,可以叠加使用。其优势在于功耗较低,但是在ASIC浪潮来临之际,再投资买FPGA矿机就有些不明智了。

上一篇:HP Officejet Pro 3620喷墨多功能一体机 下一篇:严控USB设备,还我数据安全