区块链挖矿

挖矿

挖矿最初的意图是使比特币,离散稳定,网络一致以及没有一个权威中心。而挖矿所获得的奖励仅仅是刺激挖矿者来维护一个稳定的网络。挖矿报酬来自创建区块而获得交易小费以及获得新产生的比特币。挖矿产生新比特币的速率每四年会减小一次。在2009年1月开始时候的比特币奖励是50个每块,而且会在2012年11月减少到25……依据公式,比特币奖励将会爆炸性减少直到大约2140年,此时所有的比特币(20.99999998百万)将被完全发掘。从那时后,将不会产生新的比特币。
最初,最先计算出区块的挖矿者获得的小费主要通过产生的新比特币,但逐渐的,新的比特币将不断被挖掘。直到2040年新区块所产生新的比特币数量将减少到0。而挖矿者奖励的小费通过提成(也就是一场交易中,比特币总共的输入减去输出的差值及是小费)。此时的小费比率是0.5%。

在下面的例子中,我们将介绍到底总共有多少比特币将被解决并产生

start_block-reward = 50
reward_interval = 210000

def max_money():
    current_reward = 50 * 10**8
    total = 0
    while current_reward > 0:
        total += reward_interval * current_reward
        current_reward /= 2
    return total

print "Total BTC to ever be created: ", max_money(), "Satoshis"

在python中运行上述例子,得到结果不列举出来了



分布式共识


在区块链中,每个人都能够是权威中心,但是如果有一个人不够诚信,那么我们应该相信谁呢?而设计者中本聪则设计了一个关于所有人的,没有中心权威的共识。

而比特币去中性化共识通过下面四个要求体现:

  • 每个节点独立通过账单标准的理解去独立验证每个交易。
  • 通过挖矿节点独立聚合交易放进新的区块,并且联结证明计算通过验证公式算法
  • 通过每个节点独立验证新的区块并且装配到链中
  • 通过每个节点的独立选择,而积累最多计算验证链通过验证公式




挖掘区块


通过本节,我们将学会使用不同的电子哈希函数在比特币系统不同的方面。哈希SHA256是一个被用来在比特币挖矿的函数。做一个最简单的阐述,挖矿是重复的改变一个参数并且对区块头重复的进行哈希运算。知道哈希结果匹配声明目标。而且哈希不能提前的被决定。或者说一个模式能够被发现去创建特殊的哈希值。而哈希功能的特殊性则意味着仅有的方法是不断的产生哈希结果比配一个已经声明的目标。随机修改输入直到哈希结果正好满足。

  • 证明工作算法
    一个哈希算法输入一个随机长度数据并且产生一个固定长度的结果。对于一个输入,哈希结果将总是通过相同的哈希算法能够容易被每个人计算验证。而电子哈希算法的关键特征是不能通过计算发现两个不同输入产生相同的手印。
    使用SHA256,输出结果长度总是256bits。接下来,我们将介绍通过Python借口计算SHA256哈希短语
import hashlib
print hashlib.sha256("I am Satoshi Nakamoto").hexdigest()

你可能感兴趣的:(大数据算法)