algorand / algorand/go-algorand

Enable proposing larger forward jumps for block timestamp

Ouverte
#5,426 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Team Scytale
Langage dominant
Go
Étoiles
1.4k
Forks
537
Merge moyen
1 j 7 h
PR mergées (30 j)
18

Description

_(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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.