Skip to content

Commit b874977

Browse files
authored
Fixes Flashtestations' table of contents (#392)
1 parent 58dd338 commit b874977

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

specs/flashtestations.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
- [**`TDReport`**](#tdreport)
1616
- [**`DCAPEndorsements`**](#dcapendorsements)
1717
- [**`RegisteredTEE`**](#registeredtee)
18-
- [Extended Registration Data](#extended-registration-data)
18+
- [**`Extended Registration Data`**](#extended-registration-data)
1919
- [System Architecture](#system-architecture)
2020
- [TEE Attestation Mechanism](#tee-attestation-mechanism)
2121
- [Intel TDX DCAP Attestation](#intel-tdx-dcap-attestation)
@@ -41,17 +41,16 @@
4141
- [Logged Information](#logged-information)
4242
- [Implementation Approach](#implementation-approach)
4343
- [Relationship with Registry](#relationship-with-registry)
44-
- [Block Builder TEE Proofs](#block-builder-tee-proofs)
45-
- [Core Mechanism](#core-mechanism)
46-
- [Block Building Process](#block-building-process)
47-
- [Verification Contract](#verification-contract)
48-
- [Security Properties](#security-properties)
49-
- [Integration with Rollup Systems](#integration-with-rollup-systems)
5044
- [Security Assumptions](#security-assumptions)
5145
- [Rationale](#rationale)
5246
- [Replacement Model](#replacement-model)
5347
- [Gas Optimization](#gas-optimization)
5448
- [Separation of Concerns](#separation-of-concerns)
49+
- [Block Builder TEE Proofs](#block-builder-tee-proofs)
50+
- [Core Mechanism](#core-mechanism)
51+
- [Block Building Process](#block-building-process)
52+
- [Verification Contract](#verification-contract)
53+
- [Security Properties](#security-properties)
5554

5655

5756
# Abstract
@@ -296,7 +295,7 @@ class RegisteredTEE():
296295
- `extendedRegistrationData`: The application-specific attested data, reserved for future upgrades
297296
- `isValid`: True upon first registration, and false after a quote invalidation
298297

299-
### Extended Registration Data
298+
### **`Extended Registration Data`**
300299

301300
The protocol supports binding additional application-specific data to TEE attestations through the `extendedRegistrationData` field. This enables applications to attest to configuration, public keys, or other data alongside the TEE identity.
302301

@@ -380,10 +379,10 @@ The registry operates on these key abstractions:
380379

381380
1. **TEE-controlled address**: The address extracted from the quote's report data field ([TDReport.ReportData](#tdreport)), whose private key was generated inside the TEE and is used to interact with onchain contracts.
382381
2. **Parsed Quote**: A struct containing the verified and attested data. It contains the quote in its raw form as well as extracted values which are often used and required such as the workloadId.
383-
382+
384383
2.1 **Attestation Quote**: The raw attestation data provided during registration that contains the cryptographic proof of the TEE's state. This quote is stored in the parse quote struct for later verification and revocation.
385-
386-
2.2 **Workload Identity (`workloadId`)**: A 32-byte hash derived from TDX measurement registers (as defined in [Workload Identity Derivation](#workload-identity-derivation)) that uniquely identifies a specific piece of code and its configuration running in a TDX environment.
384+
385+
2.2 **Workload Identity (`workloadId`)**: An application-specific 32-byte hash derived from TDX measurement registers that uniquely identifies a specific piece of code and its configuration running in a TDX environment.
387386

388387
### Key Relationship Model
389388

@@ -464,17 +463,17 @@ This approach provides a clean, straightforward way to manage attestation validi
464463

465464
## Policy Layer: Flexible Authorization
466465

467-
The Policy layer sits above the Flashtestation Registry and provides a more flexible authorization mechanism.
466+
The Policy layer sits above the Flashtestation Registry and provides a more flexible authorization mechanism. It's realized by Policy contracts, possibly using the same registry.
468467

469468
### Policy Abstraction
470469

471-
A Policy is simply a named authorization mapping of addresses, implemented through a mapping of TEE registration data for the address and governable WorkloadIds.
470+
A Policy is simply a contract authorizing addresses through allowlisting WorkloadIds derived from TEE registration data.
472471

473472
```
474473
Policy: [teeAddress -> **`RegisteredTEE`**] -> [**`RegisteredTEE`** -> **`WorkloadId`**] -> [**`WorkloadId`** -> bool]
475474
```
476475

477-
This abstraction allows contracts to reference a policy (e.g., "L2-BlockBuilding-Production") rather than specific workloads, enabling governance to update which workloads are acceptable without modifying contract code.
476+
This allows downstream contracts and products to reference a policy contract by address rather than managing specific workloads.
478477

479478
### Workload Metadata
480479

0 commit comments

Comments
 (0)