Translate

mercoledì 11 marzo 2020

EIP 2384: ritardo della bomba di difficoltà del ghiacciaio Muir

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_BLKNUMdal 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 .
Il copyright e i diritti connessi sono stati revocati tramite CC0 .