常见问题

总论

 

什么是比特币?

比特币是一种虚拟货币体系的基本单位,在通常用来标识商品或服务价值时简写为”BTC”,例如“100BTC”。比特币并不是一个有形的实物,它只是一组关联了比特币地址的数字。

我如何获取比特币?

有三种方式可以获取比特币:
1、从类似于MtGox这样的交易商处购买;
2、在你提供商品或服务时接受比特币作为支付手段;
3、制造一个新的比特币区块(目前产出一个区块包含50比特币)。

新的比特币是如何制造出来的?

新的比特币是由网络节点在完成一个特定数学问题计算之后生产出的。这些数学计算需要相当的运算能力才能完成,并能够通过生成有效运算工作的证明来检验。在比特币网络中运算难度是自动调节的,在最初的四年里会有10,500,000个BTC被制造出来,这个数值每四年减半,所以在第四到第八年中会有5,250,000个BTC被制造,在第8到第12年中会生产2,625,000个BTC,以此类推。因此最终比特币的数额会趋近于21,000,000个BTC。

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

现存一共有多少比特币?

区块的总数乘以每个区块的比特币值就是现存的比特币总数。每个区块的币值在最初的210,000个区块中是50BTC,之后210,000区块是每区块25BTC,然后是12.5BTC 、6.25BTC,以此类推

比特币的可分割性如何?

技术上讲,目前的数据结构下一个比特币可以被分割到8位小数,所以0.00000001BTC是目前的最小单位。如果将来有需要的话,再考虑更小的分割单位。

生产规模减半的设计在生产数额极小的时候如何可行?

届时生产的奖励会从 0.00000001 BTC变为0,然后将不再有新的比特币被生产出来。

但请注意在目前的规则下需要大约100年这一情况才成为实际问题,而比特币在那之前可能已经有了相当的改变。

产出所有的比特币需要多久?

最后一个产出比特币的区块将是#6,929,999号区块,这大约会在公元2140年前后发生。届时流通中比特币的总数将恒定维持在20,999,999,9769 BTC。

即使比特币的允许精度从目前的8位小数扩展,最终流通中的比特币将总是略低于2100万(假定其他参数不变)。例如,如果引入16位小数精度,最终的比特币总额将是20999999.999999999496 BTC。

如果不再有新的比特币生成,会有新的区块产生吗?

当然!即使是在比特币生成的空间被封死之前,交易费的存在也会使制作新区块比制作新硬币更加有利可图。在比特币生成空间耗尽之后,维持比特币经济存在的全部因素将来自交易费。假定届时人们一直使用比特币的话,在#6,929,999号区块之后还会有新的区块被生成。

如果没有新的比特币生成,如果过去的比特币丢失了怎么办?这会不会成为大问题?

不会,根据供求原则,比特币的供给减少之后剩下的比特币价值将会因市场需求而呈现更高的价值。购买相同商品所需的比特币数量将会降低。如果商品标价普遍降低到1BTC以下,届时系统将会把小数点位右移调整若干位以适应普遍情况。

如果每一宗交易都向全网用户广播,比特币系统会不会过于笨重?

比特币系统协议允许轻量级的客户端使用比特币而无需下载全部交易历史。当流量增加后这个情况会日益突出,比特币概念的实施会持续发展,全网节点将在适当的时候成为为更加专门的服务。通过对软件的一些修改,并使用业界通用的硬件构建全网节点(一定数量的机柜即可)。值得指出的是万事达卡网络系统也是建构在类似于比特币的P2P广播机制上的。

为什么我收了钱之后要等10分钟才能使用?

这是因为10分钟是用来寻找一个区块所消耗的平均时间。运气好的时候实际所用的时间也可能显著低于10分钟,10分钟是一个平均数概念。

区块(在GUI里显示为“确认”)是比特币系统用来达成所有权共识的途径。一旦一个区块被寻获而所有人都同意你拥有这些比特币,你就能使用它。在那之前,有可能有的人会尝试欺骗系统。一个交易拥有的确认信息越多,则风险越少。6个区块确认或者1个小时就足以让交易逆转无法产生。为什么是10分钟?这是Satoshi权衡选择的时间段。考虑到了新区块在全网广播的时间以及被消耗的无效劳动。

我需要花10分钟来购买比特币或者出售商品换取比特币吗?

只要交易涉及金额不高的话,无需等待确认也是可行的。

为什么我的比特币地址始终在变?

每当你的比特币地址收到一笔交易款,比特币网络就改变你的地址。这是为了鼓励你对新交易使用新地址以提高匿名性。你所有的旧有地址依旧可用,你可以在settings -> your receiving address 查看。

采矿

什么是采矿?

所谓采矿只是一种形象的说法。采矿实际上是通过消耗计算能力去寻找有效的block并创造新的比特币的过程。

从技术上说,采矿是计算之前的交易链块的hashnonce。如果哈希值小于当前的difficulty,就会形成一个新的交易链块,采矿人同时会获得50个新创建的比特币作为回报。如果哈希值不小于当前的难度系数,一个新的nonce将被使用,再去计算新的哈希值。以上过程被每一个矿工每秒钟重复成千上万甚至百万次。

我挖了很久都没有获得任何新比特币,出了什么问题?

在比特币网络运行的早期,任何人都可以通过普通的CPU去找到新的交易链块。随着越来越多的人加入到采矿队伍,寻找新交易链块的难度系数随之大幅提高到用普通CPU平均可能需要几年才能找到一个有效的交易链块的程度。唯一可承受的或者有时效的采矿方法是使用高端显卡和特殊的软件(参见为何GPU采矿比CPU快)。由于CPU采矿越来越没有意义,比特币客户端软件在未来可能会删除这个功能。

采矿的计算过程是否用在某些有意义的计算上了?

由于采矿完全是比特币网络内部的事情,因此计算过程也是基于比特币网络进行的,与任何分布式计算项目无关。采矿的过程实际上是比特币网络的基础,起到了保护比特币网络的作用,因此是有用的,并不是无意义的计算。

这难道不算浪费能源?

在创建一个自由的货币系统上消耗能源很难说是浪费。同时,对于现时世界上的各种货币系统,比如银行或者信用卡公司,其运行都要消耗大量的能源,而且比比特币网络要多得多。

为何不使用对于其他方面也有用途的计算?

为了保证比特币网络系统的安全,使用的计算需要有一些必不可少的特性。这些特性与其他一般用途的计算有冲突。

为什么A卡挖矿比N卡快?

官方wiki的解释:

  1. 就GPU构架来讲, A卡的ALU单元比N卡多得多。在这点上,A卡要快上2-3倍
  2. 挖矿算法是基于SHA-256的,这个算法会有大量的位操作“right-rotate”,对于这个操作,A卡原生只需要1个硬件指令,而N卡需要用3个硬件指令来模拟。在这点上,A卡又要快上1.7倍。

综合两点,在挖矿运算上,A卡的性能要比N卡快上3-5倍。N卡在游戏方面的性能不错,但是挖矿还是要用A卡。