Blockchain mining difficulty values
Blockchain is an integrated application of distributed data storage, peer-to-peer transmission, consensus mechanisms, cryptographic algorithms, and other computer technologies, with a tamper-evident, traceable distributed ledger maintained by the crowd.
Miners: the workers responsible for packaging transaction information into the blockchain
To address the unfriendly environment of miners packaging transactions to produce blocks, blockchains use a consensus mechanism, which means that one miner is chosen to produce in each blockchain and other miner nodes synchronize blocks.
How does the consensus mechanism decide which miner to choose to package a deal with.
Bitcoin: POW uses arithmetic consensus
Each block in the Bitcoin blockchain has a difficulty value that determines how many hash operations a miner needs to go through to produce a legitimate block. The miner finds a hash of a specific specification by using the SHA256 hash function, which constantly transforms the block header for hashing by adjusting the random number.
That is, it satisfies.
The maximum target value is a constant value.
Ethernet: POS adopts appointed proof of interest
Ether to avoid wasting power resources and time costs in POW by using proof-of-equity in Ether, i.e.
This is where H is some hash function; t is the UTC timestamp; Bprev refers to the previous block; and balance(A) represents the balance of the account A amount.
Using the amount of Ether owned by an account and the length of time to determine the nodes to keep track of, this omits the waste of resources caused by competing bookkeeping.
The difficulty value of blockchain mining varies with the current network conditions of the blockchain at.
Bitcoin Update Difficulty Values.
Adjusted for the ratio of actual time to desired time (bitcoin now generates a block every 10 minutes)
New Difficulty Value = Old Difficulty Value * ( Hours spent in last 2016 blocks / 20160 minutes )
Ether difficulty update.
The design objectives of the difficulty update rule are as follows.
-Fast updates: the time between blocks should adjust quickly as the hash arithmetic increases or decreases.
-Low volatility: if the Hash arithmetic is constant, then the difficulty should not fluctuate dramatically.
-Simplicity: the implementation of the algorithm should be relatively simple.
-Low memory: the algorithm should not rely on too many blocks of history and should use as few "memory variables" as possible. (a) Assuming that there are ten up-to-date blocks, sum the memory variables stored in the heads of these ten blocks, all of which are available for computation by the algorithm.
-Non-exploitability: algorithms should not give miners the ability to tamper too much with timestamps or mining pools, repeatedly adding or removing arithmetic to maximize their returns.