Using TEEs without trusting them
Fan Zhang
Assistant Professor, Yale University
@0xfanzhang
SBC MEV Workshop, August 6th, 2024
completely
Trusted hardware: Isolated execution
SBC MEV Workshop 2024
2
Integrity
Other software and even OS cannot tamper with the control flow.
Confidentiality
Other sofware and even OS can learn nothing about the internal state.
Untrusted Operating System & Hypervisor
Untrusted Application Code
Untrusted Hardware
Trusted
Processor
Code & Data
“Enclave”
Trusted hardware: Remote attestation
SBC MEV Workshop 2024
3
attestation =
𝚺SGX[ Hash(X) || Data ]
It’s indeed X running in a genuine TEE.
Remote user
Program X
(group) signature by a hardware protected key
Mental model: trusted third party!
Use cases in Web3
SBC MEV Workshop 2024
4
SBC MEV Workshop 2024
5
Draft by Team Encumbrance: https://tinyurl.com/web2encumbrance
Just a small problem: TEEs aren’t perfect
SBC MEV Workshop 2024
6
If history tells us anything
SBC MEV Workshop 2024
7
Some cool ideas out there
SBC MEV Workshop 2024
8
This talk: two more ideas
SBC MEV Workshop 2024
9
ZIPNet: making DC nets cheap with (dis)Trusted Execution Environments.
SBC MEV Workshop 2024
10
https://eprint.iacr.org/2024/1227
Dining Cryptographers network (DC nets)
SBC MEV Workshop 2024
11
Important for dissent, activism, whistleblower, etc
Private digital payments
Pretty much any privacy system
Tradeoffs in DC net systems
SBC MEV Workshop 2024
12
ZIPNet’s use of TEEs
SBC MEV Workshop 2024
13
ZIPNet uses TEEs w/o trusting them completely
SBC MEV Workshop 2024
14
This talk: two more ideas
SBC MEV Workshop 2024
15
CrudiTEE: a Stick-and-Carrot approach to side channels (AFT’24)
SBC MEV Workshop 2024
16
The Stick-and-Carrot approach
SBC MEV Workshop 2024
17
Protocol skeleton of a CrudiTEE wallet
SBC MEV Workshop 2024
18
Key design questions
SBC MEV Workshop 2024
19
Summary
SBC MEV Workshop 2024
20
https://eprint.iacr.org/2024/1227
https://arxiv.org/abs/2407.16473 (AFT’24)