|
2 | 2 |
|
3 | 3 | ## Overview |
4 | 4 |
|
5 | | -Nillion Blacklight is a decentralised verification network designed to continuously verify workloads running inside Trusted Execution Environments (TEEs). The system is composed of three core components that work together to provide ongoing, credibly neutral verification. |
| 5 | +Nillion Blacklight is a decentralised verification network designed to continuously verify workloads running inside trusted execution environments (TEEs). The system is composed of three core components that work together to provide ongoing, credibly neutral verification. |
6 | 6 |
|
7 | 7 | * TEE Operators run workloads inside TEEs and submit proofs of liveness (that we call heartbeat transactions - HTXs). |
8 | 8 | * [**Nillion's Ethereum L2**](/blacklight/verify/network) coordinates verification, consensus, and rewards. Verification coordination is realised by the L2 assigning Blacklight nodes HTXs they should verify. |
9 | 9 | * Blacklight nodes independently challenge and verify TEE attestations. |
10 | 10 |
|
| 11 | +```mermaid |
| 12 | +%%{ |
| 13 | + init: { |
| 14 | + 'theme': 'base', |
| 15 | + 'themeVariables': { |
| 16 | + 'fontSize': '18px', |
| 17 | + 'primaryTextColor': '#000000', |
| 18 | + 'primaryBorderColor': '#000000', |
| 19 | + 'secondaryBorderColor': '#000000', |
| 20 | + 'tertiaryBorderColor': '#000000', |
| 21 | + 'edgeLabelBackground': '#DFDFDF' |
| 22 | + } |
| 23 | + } |
| 24 | + }%% |
| 25 | + graph TD |
| 26 | +
|
| 27 | + subgraph TEE_OPERATORS [<b style="color:#000000;">TEE Operators</b>] |
| 28 | + direction LR |
| 29 | + TEE_1[<b>TEE</b>] |
| 30 | + -.-TEE_2[<b>TEE</b>] |
| 31 | + -.-TEE_3[<b>TEE</b>] |
| 32 | + -.-TEE_4[<b>TEE</b>] |
| 33 | + -.-TEE_5[<b>TEE</b>] |
| 34 | + end |
| 35 | + TEE_OPERATORS:::COMPONENT_TOP |
| 36 | + classDef COLLECTION color:#888888,font-weight:bold |
| 37 | + TEE_OPERATORS:::COLLECTION |
| 38 | + style TEE_OPERATORS fill:#f5f5f5,stroke:#cccccc |
| 39 | + classDef TEE fill:#ffffff,stroke:#cccccc,color:#000000 |
| 40 | + TEE_1:::TEE |
| 41 | + TEE_2:::TEE |
| 42 | + TEE_3:::TEE |
| 43 | + TEE_4:::TEE |
| 44 | + TEE_5:::TEE |
| 45 | +
|
| 46 | + subgraph L2 [<b>Nillion Ethereum L2</b>] |
| 47 | + subgraph CONTRACTS [<b style="font-size:14px;">Smart Contracts</b>] |
| 48 | + STAKING[<b>Staking</b>] |
| 49 | + -.-SELECTION[<b>Selection</b>] |
| 50 | + -.-CONSENSUS[<b>Consensus Evaluation</b>] |
| 51 | + -.-REWARDS[<b>Rewards</b>] |
| 52 | + end |
| 53 | + end |
| 54 | + L2:::COMPONENT_LEFT |
| 55 | + style L2 fill:#f5f5f5,stroke:#cccccc,color:#000000 |
| 56 | + style CONTRACTS fill:#f5f5f5,stroke:#cccccc,color:#000000 |
| 57 | + classDef CONTRACT fill:#ffffff,stroke:#cccccc,color:#000000,font-size:12px |
| 58 | + STAKING:::CONTRACT |
| 59 | + SELECTION:::CONTRACT |
| 60 | + CONSENSUS:::CONTRACT |
| 61 | + REWARDS:::CONTRACT |
| 62 | +
|
| 63 | + subgraph BLACKLIGHT_NODES [<b>Blacklight Nodes</b>] |
| 64 | + direction LR |
| 65 | + NODE_1[<b>Node</b>] |
| 66 | + -.-NODE_2[<b>Node</b>] |
| 67 | + -.-NODE_3[<b>Node</b>] |
| 68 | + -.-NODE_4[<b>Node</b>] |
| 69 | + -.-NODE_5[<b>Node</b>] |
| 70 | + -.-NODE_6[<b>Node</b>] |
| 71 | + -.-NODE_7[<b>Node</b>] |
| 72 | + end |
| 73 | + BLACKLIGHT_NODES:::COMPONENT_RIGHT |
| 74 | + style BLACKLIGHT_NODES fill:#f5f5f5,stroke:#cccccc,color:#000000 |
| 75 | + classDef NODE fill:#ffffff,stroke:#cccccc,color:#000000 |
| 76 | + NODE_1:::NODE |
| 77 | + NODE_2:::NODE |
| 78 | + NODE_3:::NODE |
| 79 | + NODE_4:::NODE |
| 80 | + NODE_5:::NODE |
| 81 | + NODE_6:::NODE |
| 82 | + NODE_7:::NODE |
| 83 | +
|
| 84 | + classDef COMPONENT_TOP padding-left:10px,padding-right:410px |
| 85 | + classDef COMPONENT_LEFT stroke:#cccccc,padding-left:10px,padding-right:410px |
| 86 | + classDef COMPONENT_RIGHT stroke:#cccccc,padding-left:10px,padding-right:660px |
| 87 | +
|
| 88 | + TEE_OPERATORS --->|HTXs| L2 |
| 89 | + L2 --->|assignments| BLACKLIGHT_NODES |
| 90 | + L2 --->|rewards| BLACKLIGHT_NODES |
| 91 | + TEE_OPERATORS --->|attestations| BLACKLIGHT_NODES |
| 92 | + BLACKLIGHT_NODES --->|signed verifications| L2 |
| 93 | +
|
| 94 | + linkStyle default stroke-width:3px,stroke:#5555CC |
| 95 | + linkStyle 0,1,2,3,4,5,6,7,8,9,10,11,12 stroke-width:0px !important,stroke:transparent !important |
| 96 | +``` |
| 97 | + |
| 98 | +<br/> |
| 99 | + |
11 | 100 | Together, these components enable continuous, decentralised verification of TEE-backed workloads. In doing so, they act as a credibly neutral trust layer for TEEs. |
12 | 101 |
|
13 | 102 | The central concept underpinning Nillion Blacklight is that of the heartbeat transaction (HTX), a periodic, workload-level proof of liveness submitted by TEE operators that signals a workload is still running inside a real enclave and is ready to be independently verified by the network. |
|
0 commit comments