algorand / algorand/go-algorand

Enable proposing larger forward jumps for block timestamp

Abierto
#5,426 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Team Scytale
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

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.