Riepilogo semplice
I tempi di blocco medi sono in aumento a causa della bomba di difficoltà (nota anche come " era glaciale ") e stanno lentamente accelerando. Questo PEI propone di ritardare la bomba di difficoltà per altri 4.000.000 di blocchi (~ 611 giorni).
Astratto
A partire
MUIR_GLACIER_FORK_BLKNUM
dal cliente calcolerà la difficoltà sulla base di un numero di blocco falso che suggerisce al cliente che la bomba di difficoltà sta regolando 9 milioni di blocchi più tardi rispetto alla forcella Homestead, che è anche 7 milioni di blocchi più tardi rispetto alla forcella Bisanzio e 4 milioni di blocchi più tardi di la forchetta di Costantinopoli.Motivazione
La bomba di difficoltà ha ripreso a farsi notare il 5 ottobre 2019 al blocco 8.600.000. I tempi di blocco sono stati in media di circa 13,1 secondi e ora a partire da 8.900.000 di blocchi sono circa 14,3 secondi. Questo inizierà ad accelerare esponenzialmente ogni 100.000 blocchi. Stimare l'impatto aggiunto della bomba di difficoltà sui tempi di blocco mostra che vedremo 20 blocchi di tempo verso la fine di dicembre 2019 e 30 + tempi di blocco a partire da febbraio 2020. Ciò inizierà a rendere la catena gonfia e più costosa da usare. È meglio ritardare di nuovo la bomba di difficoltà intorno al momento del lancio previsto del gadget di finalità Eth2.
specificazione
Rilassare la difficoltà con il numero di blocco falso
Ai fini di
calc_difficulty
, è sufficiente sostituire l'uso di block.number
, come utilizzato nella componente esponenziale dell'era glaciale, con la formula:fake_block_number = max(0, block.number - 9_000_000) if block.number >= MUIR_GLACIER_FORK_BLKNUM else block.number
Fondamento logico
Ciò ritarderà l'era glaciale di 52 milioni di secondi (circa 611 giorni), quindi la catena tornerebbe a 20 secondi di blocco nel luglio 2021. È importante notare che questo spinge l'era glaciale 4.000.000 di blocchi da ~ blocco 8.800.000 NON da quando questo EIP è attivato in una forcella.
Compatibilità con le versioni precedenti
Questo PEI non è compatibile con le versioni precedenti e introduce incompatibilità all'indietro nel calcolo della difficoltà. Pertanto, dovrebbe essere incluso in un hardfork programmato a un determinato numero di blocco. Si suggerisce di includere questo PEI poco dopo il fork di Istanbul.
Casi test
I casi di test devono essere creati una volta che le specifiche devono essere accettate dagli sviluppatori o implementate dai clienti.
Implementazione
L'implementazione nella sua logica non differisce da EIP-649 o EIP-1234 ; un'implementazione per Parity-Ethereum è disponibile in parity-ethereum # 9187 .