Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Update progress report with slashing improvement #189

Merged
merged 1 commit into from
Oct 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions Docs/progress-report-oct-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,44 @@ However, for mainnet release, we should test out integration with actual restaki

- Test out multiple restaking solutions such as EigenLayer, [Karak](https://docs.karak.network/), or custom staking contracts if any, and let validators choose whatever solution they prefer.

### Improve lookahead security

**Problem:**

In the PoC, the first preconfirmer in the lookahead is tasked with submitting the lookahead for the next epoch and is slashed if they submit an invalid one ([doc](https://github.com/NethermindEth/Taiko-Preconf-AVS/blob/master/Docs/design-doc.md#lookahead-visibility)). However, if the profit from proposing Taiko blocks becomes higher than the slashing risk, this preconfirmer might submit an invalid lookahead to unfairly elect themselves as the preconfirmer for the entire next epoch.

**Solution:**

Subsequent preconfirmers can either:

- Attest to the initial lookahead, accepting the risk of slashing if the lookahead is invalid.
- Submit an alternative lookahead by staking additional funds (`C*X`, where `C` is the previous submitter stake and X is a multiplier) upon detecting an invalid submission by the first preconfirmer.

By the end of the epoch, the lookahead will have either:

- Attestations from all preconfirmers (say there are `N`) of the previous epoch, or
- `C*X^N` worth of stake from the final submitter.

Or some combination of the two.

```
S1 ---------------------------S2--------------..............------------S32---|
^ ^ ^
| | |
proposer Either propose The lookahead
submits an alternative of next epoch
invalid lookahead with has EITHER
lookahead C*X stake C*X^N stake
for next epoch OR backing it
with C stake "Attest" to the where N is num
previously submitted of preconfer in
lookahead and be exposed to current epoch
slashing of C stake. OR
N preconfers
attestations.
```


### Other Features

There are several other issues we would want to consider for the mainnet release, including but not limited to:
Expand Down
Loading