2

In case of solo mining - how are Monero blocks found and confirmed? If using monerod - let's say solo mining is started with start_mining somewalletaddress threadcount. What is the principle of block finding and confirmation? It would be nice to see a simplified step by step process.

3

It's pretty similar to Bitcoin:

First, a block template is created. This is a block skeleton, which looks like a block but is not actually valid due to not having a PoW hash which matches the current difficulty. This block template includes a coinbase tx to the address you specified, and a Merkle tree of the transations it includes.

Then, a loop will increment a nonce in the block and hash to see if the resulting hash comes within the difficulty limit. If yes, you found a block. If not, you continue. If you've searched the whole nonce space without finding a block and the chain still hasn't moved, you have to change something else (the set of transactions to include, or the block timestamp), then you can repeat over the nonce again.

Once a block is found, it's relayed to other nodes, and you resume mining on top of that new block.

If the chain changes while you're mining, you update according to the rules, ten resuming mining on top of the new chain tip.

  • So this process is done only by monerod daemon(s)? And all the network consist only of these daemons/nodes? – Ernestas Gruodis Mar 19 '18 at 18:01
  • Yes. Pools are a daemon making the template, sending it to miners, and miners sending back block candidates (a bit more, but the pool software filters). – user36303 Mar 19 '18 at 18:29

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.