Recently I was reading lots of articles about bitcoin, etherium and blockchain in general.
I was just going deeper into bitcoin and at this point I understood that we have a sha256 hash function that is called on a block and the result is written down in the next block. But there is this mining and on many articles people write „the miner has to solve a special task“.

I will explain you whats meant by this special task.
The informations that we put into our new block are: hash of the previous block, the transactions and a random part.
And this random part contains the magic behind mining. The miner has to find a random number that changes the sha256 sum in a way that we have n-zeros in front.
If you never saw the hash of a bitcoin block than this is the right time.
If you want to see this in action… I wrote a little python script to test this and to get a feeling who long it talk to solve this special mining task.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from random import randint
import hashlib
import time
start_time = time.time()
myblock = {'mycontent': 'hello', 'random': 1}
def encrypt_string(hash_string):
sha_signature = hashlib.sha256(hash_string.encode()).hexdigest()
return sha_signature
while True:
myblock['random'] = randint(0, 100000000)
hash_string = str(myblock)
sha_signature = encrypt_string(hash_string)
pre = '000000'
if sha_signature[0:len(pre)] == pre:
print sha_signature
print myblock
print '--- %s seconds ---' % (time.time() - start_time)
break
As you probably know mining needs a lot of energy. And for what ? For some nice looking hashsums 😉