Skip to content

A curated list of resources for learning about Trusted Execution Environments (TEEs) in the context of blockchains.

License

Notifications You must be signed in to change notification settings

dineshpinto/awesome-tee-blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 

Repository files navigation

Awesome TEE Blockchain

Awesome

A curated list of resources for learning about Trusted Execution Environments (TEEs) and their applications in the blockchain space. This list includes foundational concepts, specific technologies, applications, security considerations, research, code, articles, videos, and more.

Contributions are welcome!

Table of Contents

  1. What are TEEs?
  2. Why TEEs in Blockchain?
  3. Core Concepts & Technologies
  4. Blockchain Applications & Use Cases Leveraging TEEs
  5. Security Considerations & Attacks
  6. Learning Resources
  7. Code Repositories
  8. Community & Events

What are TEEs?

A Trusted Execution Environment (TEE) is a secure, isolated area within a device or network designed to protect sensitive data and code during execution. It's like a secure vault within your processor that:

  • Provides Isolation: Creates a protected space where sensitive code runs separately from the main system
  • Ensures Privacy: Keeps both code and data confidential during processing
  • Prevents Tampering: Maintains security even if the main system is compromised
  • Proves Execution: Generates cryptographic proofs that verify the code ran correctly
  • Enables Trust: Allows remote parties to verify computational integrity

A rough analogy is to think of it as a secure room with unbreakable walls, where computations happen privately and everyone can verify the results without seeing inside.

Why TEEs in Blockchain?

TEEs offer compelling solutions to several challenges in the blockchain space:

  • Verifiable Off-Chain Computation: Performing complex computations off-chain within a TEE and submitting only the results and proof back to the chain enhances scalability and reduces gas costs.
  • Confidentiality: Running smart contracts or parts of protocols within a TEE can protect sensitive data (e.g., private transaction details, user data) from validators or observers.
  • MEV Mitigation: TEEs can be used to create encrypted mempools or fair ordering systems, preventing front-running and other MEV extraction strategies.
  • Key Management: TEEs offer hardware-level protection for private keys used in wallets or validators.

Core Concepts & Technologies

This section covers the foundational hardware, cloud services, and software frameworks enabling TEE usage.

Hardware Platforms

The underlying silicon providing TEE capabilities.

Intel

AMD

NVIDIA

ARM

OpenTitan

  • OpenTitan: open source project building a reference design and integration guidelines for silicon root of trust (RoT) chips.
  • Open source silicon root of trust GitHub - lowRISC/opentitan

Cloud TEE Offerings

Major cloud providers offering virtual machines or services utilizing TEE hardware.

Google Cloud

Amazon AWS

Microsoft Azure

TEE SDKs & Frameworks

Tools and libraries simplifying the development of applications running inside TEEs.

Blockchain Applications & Use Cases Leveraging TEEs

Examples of how TEEs are being used or proposed within the blockchain ecosystem.

AI

Block Building & MEV Mitigation

Bridging

Asset Management & Wallets

General Off-Chain Compute

Privacy & Confidentiality

Rollups & Coprocessors

Security Considerations & Attacks

Understanding the security guarantees and limitations of TEEs is crucial.

Learning Resources

Articles, papers, videos, and discussions diving deeper into TEEs and their blockchain intersection.

Introductory & Overview Articles

Technical Deep Dive Articles

Research Papers

2024

  • M. U. Sardar, A. Niemi, H. Tschofenig, and T. Fossati, "Towards Validation of TLS 1.3 Formal Model and Vulnerabilities in Intel's RA-TLS Protocol", 2024 - IEEE
  • J. Zhu, H. Yin, P. Deng, and S. Zhou, "Confidential Computing on nVIDIA H100 GPU: A Performance Benchmark Study", 2024 - arXiv
  • A. Sunny, N, Shrivastava, S. and R. Sarangi, "SecScale: A Scalable and Secure Trusted Execution Environment for Servers", 2024 - arXiv
  • H. Eichner, D. Ramage, K. Bonawitz, D. Huba et. al., "Confidential Federated Computations", 2024 - arXiv
  • X. Zhang, K. Qin, S. Qu, T. Wang, C. Zhang, and D. Gu "Teamwork Makes TEE Work: Open and Resilient Remote Attestation on Decentralized Trust", 2024 - arXiv

2023

  • Y. Xian, L. Zhou, J. Jiang, B. Wang, H. Huo, and P. Liu, "A Distributed Efficient Blockchain Oracle Scheme for Internet of Things", 2023 - arXiv
  • A. P. Kalapaaking, I. Khalil, M. S. Rahman, M. Atiquzzaman, X. Yi, and M. Almashor, "Blockchain-based Federated Learning with Secure Aggregation in Trusted Execution Environment for Internet-of-Things", 2023 - arXiv

2022

  • M. Schneider, R.J. Masti, S. Shinde, S. Capkun, and R. Perez, "SoK: Hardware-supported Trusted Execution Environments", 2022 - arXiv
  • R. Li, Q. Wang, Q. Wang, D. Galindo, and M. Ryan, "SoK: TEE-assisted Confidential Smart Contract", 2022 - arXiv
  • E. Puschner, T. Moos, S. Becker, C. Kison, A. Moradi, C. Paar, "Red Team vs. Blue Team: A Real-World Hardware Trojan Detection Case Study Across Four Modern CMOS Technology Generations", 2022 - Cryptology ePrint Archive
  • R. Karanjai, L. Xu, L. Chen, F. Zhang, Z. Gao, and W. Shi, "Lessons Learned from Blockchain Applications of Trusted Execution Environments and Implications for Future Research", 2022 - arXiv

2021

  • C. Liu, H. Guo, M. Xu, S. Wang, D. Yu, J. Yu, and X. Cheng, "Extending On-chain Trust to Off-chain -- Trustworthy Blockchain Data Collection using Trusted Execution Environment (TEE)", 2021 - arXiv
  • D. Natarajan, A. Loveless, W. Dai, and R. Dreslinski, “CHEX-MIX: Combining Homomorphic Encryption with Trusted Execution Environments for Two-party Oblivious Inference in the Cloud”, 2021. - Cryptology ePrint Archive

Pre-2020

  • Z. Bao, Q. Wang, W. Shi, L. Wang, H. Lei, and B. Chen, "When Blockchain Meets SGX: An Overview, Challenges, and Open Issues", 2020 - IEEE
  • R. Cheng, F. Zhang, J. Kos, W. He, N. Hynes, N. Johnson, A. Juels, and A. Miller, "Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts", 2019 - IEEE
  • G. Kaptchuk, I. Miers, and M. Green, "Giving State to the Stateless: Augmenting Trustworthy Computation with Ledgers" , 2017 - Cryptology ePrint Archive
  • J. Lind, O. Naor, I. Eyal, F. Kelbert, P. Pietzuch, and E. Gun Sirer, "Teechain: A Secure Payment Network with Asynchronous Blockchain Access", 2017. - arXiv

Videos

Conference Talks

Technical Presentations

Workshops & Tutorials

Tweet threads

Code Repositories

Software related to TEEs in the context of blockchain, libraries, and example implementations.

Awesome Lists & General Resources

Rust

Go

  • google/go-tpm-tools - Go packages built on go-tpm providing a high-level API for using TPMs
  • google/go-sev-guest - go-sev-guest offers a library to wrap the /dev/sev-guest device in Linux, as well as a library for attestation verification of fundamental components of an attestation report.
  • google/go-tdx-guest - go-tdx-guest offers a library to wrap the /dev/tdx-guest device in Linux, as well as a library for attestation verification of fundamental components of an attestation quote.
  • matter-labs/vault-auth-tee - Hashicorp Vault plugin for authenticating Trusted Execution Environments (TEE) like SGX enclaves
  • usbarmory/GoTEE - Go Trusted Execution Environment (TEE)
  • iotexproject/w3bstream - An offchain computing layer for DePIN verifiable data computation, supporting a variety of validity proofs including Zero Knowledge (ZK), Trusted Execution Environments (TEE), and Multi-party Computation (MPC)
  • oasisprotocol/oasis-core - Performant and Confidentiality-Preserving Smart Contracts + Blockchains
  • hyperledger/fabric-private-chaincode - FPC enables Confidential Chaincode Execution for Hyperledger Fabric using Intel SGX.

CPP

  • NixOS/nix - Nix, the purely functional package manager
  • microsoft/azure-tee-attestation-samples - Trusted Execution Environment examples leveraging attestations on Azure
  • lsds/Teechain - Teechain: A Secure Payment Network with Asynchronous Blockchain Access
  • skalenetwork/sgxwallet - sgxwallet is the first-ever opensource high-performance hardware secure crypto wallet that is based on Intel SGX technology. First opensource product on Intel SGX whitelist. Scales to 100,000+ transactions per second. Currently supports ETH and SKALE, and will support BTC in the future. Sgxwallet is under heavy development and use by SKALE network.
  • hyperledger-labs/private-data-objects - The Private Data Objects lab provides technology for confidentiality-preserving, off-chain smart contracts.

C

Python

TypeScript

Community & Events

Places to discuss, ask questions, and find events related to TEEs and Blockchain.

About

A curated list of resources for learning about Trusted Execution Environments (TEEs) in the context of blockchains.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published