I want develop a new blockchain platform. But I have some problems understanding consensus protocols and mining. I have made research in documentations and blogs for this but all blogs described mining as solve a math problem or the riddle. Can someone who understands this work explain it technically in a simplified way? What is meant by the mathematic problem? What do CPUs and GPUs try to solve? Do the tasks solve the password of the encrypted files?
Essentially, if you've heard of things like the mod sign (%) then it's like doing that to a very large number to get a hash digest.
You first run a hash algorithm (this could be anything specific to the algorithm).
This hash essentially produces a very large number, you take a very large number and mod it with a smaller number and get a number that better fits the algorithm (as the "small" number is still a fairly large number it is fairly difficult to reverse engineer the hash).
If we came up with a large number of say 926843 and mod it with a prime number, say 7 (would be bigger in real life), you would end up with the value of 1 as your hashed number. You can't know that you started with 926483. Obviously if both numbers were bigger, the entropy of the large number is increased and so has a much wider range of values.
Essentially, when a block is mined, the smallest number that can be determined for the hash of the block is attempted to be discovered using randomely generated private keys (as I understand it).
For example, Ethereum has 18k nodes. Do each transaction need to be approved by at least 51% of these 18k nodes at Proof-of-work protocol? Is it enough to approve 51% of a certain part of these nodes?
I don't know how their system works, although Bitcoin was said to need 95% adoption in a hard fork protocol before it was considered it would be successful to convert to that protocol (though that might have just been polite). It merely takes one node to accept a transaction/block however it might get rejected by other transactions/blocks.
What are the cons of developing a blockchain platform with an easier hash-algorithm in terms of encryption difficulty and solvability?
How "easy" an algorithm is is a bit unspecific.
If it's an algorithm that is considered relatively collision free then producing a coin in that algorithm would be collision free and have a fairly secure blockchain.
If the algorithm is very easy to reverse engineer then the currency is at risk of attack.
An easier algorithm doesn't mean much though as the difficulty should adjust automatically for the currency to be successful (unless it's an LN currency).
Note: the first part of this post is an analogy, it may not be perfectly accurate but it's a useful representation of how the hashing algorithms work to find a block