マイニング関数
マイニング成功で新たなブロックを発行したマイナーが、ビットコインを報酬として得られます。
報酬となるトランザクションには送信者はなく新たに発行されたことになります。
ビットコインは、新規ブロックが21万個増えるごとにマイニングの成功報酬として発行されるビットコインが半分になります。
これは、約4年ごとに生じ半減期といいます。
@app.route('/mine', methods=['GET'])
def mine():
# We run the proof of work algorithm to get the next proof...
last_block = blockchain.last_block
proof = blockchain.proof_of_work(last_block)
# We must receive a reward for finding the proof.
# The sender is "0" to signify that this node has mined a new coin.
blockchain.new_transaction(
sender="0",
recipient=node_identifier,
amount=1,
)
# Forge the new Block by adding it to the chain
previous_hash = blockchain.hash(last_block)
block = blockchain.new_block(proof, previous_hash)
response = {
'message': "New Block Forged",
'index': block['index'],
'transactions': block['transactions'],
'proof': block['proof'],
'previous_hash': block['previous_hash'],
}
return jsonify(response), 200

2008年11月、metzdowd.comにナカモトサトシにより投稿された論文
ブロックチェーン
ビットコインは送信アドレス(Tx)に対するデジタル署名によって保護されており、一定時間(10分)ごとに、すべての取引記録を分散台帳に追加します。