O(1) TEE Registration Invalidations

Open
#46 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
solidity

Research direction

Start with FlashtestationRegistry.sol at invalidateAttestations and review the Automata verifyAndAttestOnChain call it currently requires. Then trace BlockBuilderPolicy:isAllowedPolicy and determine how vulnerable TCB information should be checked and used for cheap invalidation. Done means the flashtestations and Automata changes are defined and the invalidation path no longer requires verifying every full attestation on-chain.

Written by the indexing model from the issue text.

Description

v2

Context

In the event of a TCB Recovery , all of the TEE registrations that use that vulnerable TCB will need to be invalidated. If we don't do this, then those registered TDX devices could be used to put out fake but verifiable attestations and subvert the systems that use them

Problem

Our current process for invalidating these TEE registrations is costly; it requires calling invalidateAttestations all existing TEE registrations, which might be 10's of them since we plan to deploy a new TDX device every week. This operation is costly because it requires calling the Automata verifyAndAttestOnChain function and verifying the whole attestation onchain. This is also operationally a burdensome.

Potential Solution

We still need to nail down exactly what code within flashtestations and automata needs to change, but it's clear it's possible for each call to BlockBuilderPolicy:isAllowedPolicy to check if the workload's TEE registration is using a vulnerable TCB, and then use that information to invalidate the registration cheaply.

Dominant language
Solidity
Stars
4
Forks
4
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from flashbots/flashtestations

All issues in flashbots/flashtestations

Similar issues

More Blockchain issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.