Skip to content

Commit

Permalink
added blocks from the future
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinhammond committed Sep 7, 2024
1 parent 1bf9e98 commit ad880fe
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
42 changes: 42 additions & 0 deletions blog/2024-09-07-incident.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Blocks from the future
slug: 2024-09-07-incident
authors: kevinhammond
tags: [security,consensus]
hide_table_of_contents: false
---

## Blocks from the future

We identified two issues relating to "blocks from the future".

1. Blocks from the near future
2. Blocks from the far future

While blocks from the near future have been known to occur on mainnet as a result of clock skew/misconfiguration,
there are no known instances on mainnet of blocks from the far future. In both cases, restarting an affected
node would resolve the issue.

### What is meant by a Block from the Future?

A node considers a block to be from the future if its slot is ahead of
the current slot. Ouroboros Praos mandates that all chains containing
blocks from the future (at that time) are ignored during chain
selection. As Praos assumes that all nodes have access to perfectly
synchronized clocks, this will never cause nodes to disregard blocks
that have been minted by other honest nodes. In an actual real-world
deployment, this assumption is unrealistic due to the imperfections of
protocols like NTP as well as leap seconds.

The issues that were identified meant that blocks from the future could potentially be
used by malicious actors to create denial-of-service attacks.

Both issues were fixed by Cardano node 8.8 or later, and were eradicated at the Chang hard fork.


### Further Details


[Report on Blocks from the Near Future](https://)

[Report on Blocks from the Far Future](https://)
1 change: 1 addition & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ const config = {
{ to: 'tags/performance-tracing', label: 'Performance & Tracing' },
{ to: 'reports/tags/benchmarking-reports', label: 'Benchmarking Reports' },
{ to: 'tags/incident', label: 'Incident Reports' },
{ to: 'tags/security', label: 'Security Reports' },

],
},
Expand Down

0 comments on commit ad880fe

Please sign in to comment.