You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We define the following terms. The default epoch is an epoch whose document is used to generate new messages. We say that an epoch is active if messages corresponding to this epoch is accepted. The current epoch design looks like:
Epoch
Tag
Has Doc
Default
Is Active
n
katzenmint::currentEpoch
x
x
x
n-1
epochtime::Now
v
v
v
n-2
v
x
v
n-3
v
x
v
n-4
v
x
x
Maybe we can set the default epoch as n-2 (and set epochtime::Now = n-2). Using the newest doc (epoch n-1) as default has several downsides.
Servers need time to react to epoch progression. For example, they have to make new connections or re-authenticate connections with each other in order to transit epoch smoothly. It is easier for them to do so when the next default epoch has the document already there.
We know that servers using different default epochs will degrade the level of anonymity. If the default is the latest epoch, then there is no way for a delayed node to use the latest epoch because it does not have its document. So the problem is more severe. In contrast, if one set the default epoch as one with the second latest document, the servers can use other strategies to switch the default epoch, slightly mitigating the issue.
The text was updated successfully, but these errors were encountered:
We define the following terms. The default epoch is an epoch whose document is used to generate new messages. We say that an epoch is active if messages corresponding to this epoch is accepted. The current epoch design looks like:
Maybe we can set the default epoch as n-2 (and set epochtime::Now = n-2). Using the newest doc (epoch n-1) as default has several downsides.
The text was updated successfully, but these errors were encountered: