Skip to content

Mining and blockchain

CryptoManiac edited this page Jan 29, 2014 · 7 revisions

Mining is a term referring to the generation of new blocks for Novacoin blockchain. It's required to provide confirmations for transactions and protect a history of operations.

How is it supposed to work?

All miners have a copy of every unconfirmed valid transaction in own transactions pool. Normally mining process is performed in the four stages:

  1. Get a set of transactions from transactions pool;
  2. Calculate a merkle tree hash for this set of transactions;
  3. Create block header template and link it with this set of transactions using its merkle tree hash;
  4. Try to find suitable proof hash for block header created before.

Getting a proof is quite a difficult operation, the difficulty depends on the current number of participants. Each block header is linked to previous block header, so we have linked list of block headers, and a list consistency is guaranteed by difficulty. This linked list is also known as blockchain.

What can be used as a proof?

The only required property of proof is that it's extremely difficult to obtain, but very easy to check. There are a lot of proof concepts in existance, such as proof-of-work, proof-of-stake or proof-of-burn. Novacoin uses proof-of-stake and proof-of-work.