|
15 | 15 | - [**`TDReport`**](#tdreport) |
16 | 16 | - [**`DCAPEndorsements`**](#dcapendorsements) |
17 | 17 | - [**`RegisteredTEE`**](#registeredtee) |
18 | | - - [Extended Registration Data](#extended-registration-data) |
| 18 | + - [**`Extended Registration Data`**](#extended-registration-data) |
19 | 19 | - [System Architecture](#system-architecture) |
20 | 20 | - [TEE Attestation Mechanism](#tee-attestation-mechanism) |
21 | 21 | - [Intel TDX DCAP Attestation](#intel-tdx-dcap-attestation) |
|
41 | 41 | - [Logged Information](#logged-information) |
42 | 42 | - [Implementation Approach](#implementation-approach) |
43 | 43 | - [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) |
50 | 44 | - [Security Assumptions](#security-assumptions) |
51 | 45 | - [Rationale](#rationale) |
52 | 46 | - [Replacement Model](#replacement-model) |
53 | 47 | - [Gas Optimization](#gas-optimization) |
54 | 48 | - [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) |
55 | 54 |
|
56 | 55 |
|
57 | 56 | # Abstract |
@@ -296,7 +295,7 @@ class RegisteredTEE(): |
296 | 295 | - `extendedRegistrationData`: The application-specific attested data, reserved for future upgrades |
297 | 296 | - `isValid`: True upon first registration, and false after a quote invalidation |
298 | 297 |
|
299 | | -### Extended Registration Data |
| 298 | +### **`Extended Registration Data`** |
300 | 299 |
|
301 | 300 | 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. |
302 | 301 |
|
@@ -380,10 +379,10 @@ The registry operates on these key abstractions: |
380 | 379 |
|
381 | 380 | 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. |
382 | 381 | 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 | + |
384 | 383 | 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. |
387 | 386 |
|
388 | 387 | ### Key Relationship Model |
389 | 388 |
|
@@ -464,17 +463,17 @@ This approach provides a clean, straightforward way to manage attestation validi |
464 | 463 |
|
465 | 464 | ## Policy Layer: Flexible Authorization |
466 | 465 |
|
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. |
468 | 467 |
|
469 | 468 | ### Policy Abstraction |
470 | 469 |
|
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. |
472 | 471 |
|
473 | 472 | ``` |
474 | 473 | Policy: [teeAddress -> **`RegisteredTEE`**] -> [**`RegisteredTEE`** -> **`WorkloadId`**] -> [**`WorkloadId`** -> bool] |
475 | 474 | ``` |
476 | 475 |
|
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. |
478 | 477 |
|
479 | 478 | ### Workload Metadata |
480 | 479 |
|
|
0 commit comments