I am new to blockchain technology, so sorry if I am using incorrect terminology. This is not a Bitcoin question, but a general blockchain question.
Imagine a theoretical blockchain that uses a gradual work test, instead of finding just one
nonce that gives a hash smaller than the
target, you have to find 10
nonces that give hashes that are smaller than
target * 10.
(Edit: a more complicated algorithm can be used, for example, the first hash includes the block header and the first nonce, the second hash includes the
block-header, the second nonce and the previous hash, etc., so the calculation of the hashes cannot be done in parallel).
If you discovered 9/10 good then, you will try to find the last nonce even if some other miner has already published a complete block.
This type of blockchain will encourage arbitrary mining holders, where two miners publish a mined block with the same hash of the previous block (that is, the same index in the chain), which looks like this:
B1 ←- B2 ←- B3 ←- B4
The way in which the current block chains (which I know) solve this problem is by letting the miners choose which of the forks to continue, and because only the longest block chain is the "true block chain", all Miners will eventually work on a single fork, and all work done on the other holders will be in vain.
Now imagine that each block could contain more than 1 hash of the previous block. For example, a new miner might try to extract a block such as:
B1 ←- B2 ←- B3 ←- B4 ←- B5
+----- B4' ←---+
With an important condition: transactions in B4 should not contradict transactions in B4 & # 39; (without double expense, etc.). Assuming there are many unrelated transactions in the mempool, this will be a very common scenario.
You can even encourage miners to include more hashes from previous blocks in the next block. For example, if the miner of B4 & # 39; realizes that B4 has already been published, he may offer to pay a fee to the following miners (of B5) who also include B4 & # 39 ;.
This algorithm will be much more energy efficient (in the case of a gradual work test) because miners can continue to mine the same block even if some other miner has already found a good block. You can extract more transactions in parallel without increasing the block size. It is different from choosing an easier hash function (for the work test), because it has no effect on the length of the blockchain or the speed of growth.
Do you know any blockchain / cryptocurrency proof of work that does something similar, like a blockchain that can be divided and merged? I know that IOTA is not using blockchain at all, but I never delved into the details.