algorand / algorand/go-algorand
Enable proposing larger forward jumps for block timestamp
- Lenguaje dominante
- Go
- Estrellas
- 1.4k
- Forks
- 537
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 17
Descripción
_(tentative)_
## Problem
Currently, two consecutive block timestamps cannot be more than 25 seconds apart. As a result of this, if the network ever experienced downtime and the block timestamp fell significantly behind real time, it would take time for the timestamp to catch back up to real time.
e.g. if the block timestamp fell 4 hours behind real time, it would take ~45 min to get back to current time:
(4 * 60 * 60 secs) / ((25 - 4) seconds caught up per round) = 685 rounds to catch up.
685*4 = 2740 secs = 45 min
## Solution
If block timestamp is more than 25 seconds behind the proposer's system time, they should be able to propose a larger jump forward. Voters will verify that the proposed block timestamp is within 25(?) seconds of their own system time, and more than 25 seconds beyond the previous block timestamp.
This may require a new mechanism, e.g. a flag that says "I'm proposing a jump in time" to go to this more sophisticated time-incrementing logic.
risk: if we do this, we will introduce a dependency on participants' system times. Our existing sytem does not depend on it.
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.