① 区块和区块链
一段时间内的交易打成的一个包称为区块,比特币全网平均每10分钟产生一个区块,每一个区块都链接到上一个区块,依次相连形成区块链。
② 以区块为单位同步交易数据
区块从1开始编号,因此节点A连接节点B后,只要检查双方的区块编号高度,就能方便地同步交易数据。例如节点A自己的区块高度是100,发现节点B的区块高度是110,则只要向B请求同步101~110这10个区块即可。
③ 打包区块的奖励
为保证有节点打包比特币交易,比特币规则规定:打包交易的节点将获得比特币作为酬劳。
A、打包奖励的一部分来自交易创建者支付的交易手续费(每KB交易大小100~1000聪手续费)。
B、另一部分来自初始2100万个比特币的分发,最开始奖励是每个区块50比特币,之后每经过21万个区块(约4年时间)奖励将减半一次,直到2140年左右区块奖励不足1聪为止,此时区块奖励总和为2100万比特币,这就是比特币2100万总量的来源(准确地说是 20999999.97690000个)。
2140年后打包奖励将只来自于交易创建者支付的交易手续费。
5.2、挖矿设备的演变
① CPU:最早的矿工使用CPU进行挖矿,挖矿速度在M级别(1M=1000K=10^6=每秒100万次哈希运算)。
② 显卡矿机:显卡有数百个计算核心(流处理器),因此速度相当于数百个CPU,挖矿速度在百M级别。由于ATI和NVIDIA显卡的架构不同,同档次A卡流处理器数量远超过N卡,因此A卡在挖矿上有巨大优势,专业矿工往往用H61B等有6个PCI-E插槽的主板,插上5-6张ATI 7850等高端显卡,组成矿机群挖矿。
③ 集成电路矿机:随着比特币价格的不断上扬,挖矿越来越有利可图,集成电路矿机随之出现,矿机使用专门设计的,只能做挖矿哈希运算的芯片,因此在挖矿速度和功耗上较CPU和显卡这样的通用计算设备有很大的优势,代价则是除了挖矿和做电暖器以外什么都做不了。CPU和显卡在挖矿产出不够电费被淘汰后,还能当普通电脑用;而矿机被淘汰后,除了少数人有免费电可以继续挖外,就只能当电暖器或报废了。
① 货币的本质不是信用,只有本身毫无价值的纸币才需要信用背书,为了强迫公众使用纸币,政府还规定了纸币的法偿性和强制性。从来没有人为黄金背书,也没人规定黄金的法偿性和强制性,强迫公众使用黄金,但黄金作为货币却横贯数千年,超过任何由政府背书的纸币。
② 货币的本质甚至不是价值,黄金从前6世纪开始就被作为货币使用,黄金的工业价值则是近代的产物。黄金有装饰价值,是因为黄金是高价货币,所以被作为首饰显示身份;而不是因为作为首饰有价值,所以能作为货币。就像铝在早期很昂贵时拿破仑三世用铝碗显示身份一样。
贝币则更为明显——除了能作为货币使用,能为交易提供便利外,贝币没有任何其它用处。 ③ 货币的本质既不是信用,也不是使用价值,而是共识。公众认为黄金作为货币,能为交易提供便利,愿意在交易中使用黄金,那黄金就是货币。政府只能规定黄金是不是法定货币,而不能规定黄金是不是货币。就算政府下《通知》规定 “黄金不由货币当局发行,不具有法偿性与强制性等货币属性,并不是真正意义的货币”,黄金也还是货币。
① 比特币是开源的,任何开发者都可以为这个项目做出贡献,数以百计的高手都对比特币代码做出了贡献。有关比特币开发的讨论在Github和sourceforge上的比特币-开发的邮件列表上进行。稍为非正式的开发讨论在rc.freenode.net#bitcoin-dev上进行(web界面, 历史记录)。
② 比特币目前有6名 核心开发者(有权修改Github上项目 github.com/bitcoin/bitcoin 代码的开发人员)。除非社区达成了基本一致的意见,且Bitcoin Core开发组也达成了一致的意见,否则Bitcoin Core开发组不会更新任何规则。因为反对者若拒绝升级,数量又没有少到可以忽略不计,那就将造成比特币分裂成两个版本,造成混乱,商家停用和币价大跌,损害所有持币人的利益。
③ “基本一致的意见”指在社区论坛进行讨论,包括一些民意调查投票,来让所有人了解目前是否达成了基本一致的意见,但判断则是由Bitcoin Core开发组做出,如果Bitcoin Core开发组认为已经达成了基本一致的意见,那他就会发布新版本。新版本一般会内置一个触发条件,例如在xx日期之后,如果最近xxx个区块中有95%都使用了新版本,那新版本就将生效。
举两个最浅显的例子: ① 如果比特币用户(比特币持币者、交易所、钱包、支付等比特币使用者)决定把比特币挖矿由目前的POW改为POS,那么矿工在这件事上有投票权吗?
显然没有,矿工(银行领工资的记账员)等于被比特币用户(银行股东)解雇了,矿工当然可以继续在旧的区块链上继续挖矿(记账),不过旧的区块链已被废弃,所有比特币用户都换到到了新的区块链上,没有比特币用户会承认矿工挖出的币,矿工只是在自娱自乐而已。
② 如果99.99%的矿工决定把比特币挖矿由每区块25币改为每区块250币,那么矿工在这件事上有投票权吗?能做到吗?
显然没有,矿工当然可以分叉到新区块链上挖矿,给自己记每区块250币的工资,但是没有任何比特币用户会承认矿工挖出的币。哪怕旧区块链上只有0.01%的算力,新区块链上有99.99%的算力,矿工也只是在自娱自乐而已。
② 矿工对比特币网络的攻击
目前比特币市值约220亿元,全网435P算力的矿机价值约9亿(简单假设所有矿机都是1.15T/2400元的蚂蚁S5),也就是说目前使用4.5亿元的矿机即可对市值220亿元的比特币网络发起51%攻击。如果通过租用矿机/算力,通过矿池免手续费控制算力等方式,51%攻击的成本还会更低。除了51%攻击外,矿工还可能通过拒绝服务(不打包任何交易)+分叉攻击(一旦有正常的打包交易区块,就将其分叉)的方法,让比特币的任何交易都无法确认。