Skip to content

Commit

Permalink
Updated documentation with recent published works
Browse files Browse the repository at this point in the history
  • Loading branch information
zhenghaven committed Aug 29, 2024
1 parent 94f35dc commit f6832a3
Showing 1 changed file with 128 additions and 98 deletions.
226 changes: 128 additions & 98 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,134 @@
A wiki repo for Decent Framework, a framework for building secure distributed applications with enclaves.


## Essential Libraries
## Primary Projects

*(Ordered from most recent to oldest)*


### Publish/Subscribe system (Decentagram)

These are the implementations for the paper [Decentagram: Highly-Available Decentralized Publish/Subscribe Systems](https://doi.org/10.1109/DSN58291.2024.00037)

The paper can also be accessed via [https://dsn2024uq.github.io/Proceedings/pdfs/DSN2024-6rvE3SSpzFYmysif75Dkid/410500a274/410500a274.pdf](https://dsn2024uq.github.io/Proceedings/pdfs/DSN2024-6rvE3SSpzFYmysif75Dkid/410500a274/410500a274.pdf)


- Submitted Artifact
- This is the artifact package submitted to the DSN 2024 conference
- This artifact received the ***Distinguished Artifact Award*** from the DSN 2024 conference
- The formal DOI for this artifact is [https://doi.org/10.5281/zenodo.10224298](https://doi.org/10.5281/zenodo.10224298)
- Git Repo: [https://github.com/lsd-ucsc/Decentagram](https://github.com/lsd-ucsc/Decentagram)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/Decentagram/blob/main/LICENSE)
- Below are the major components of the Decentagram implementation
- On-chain Broker
- The on-chain broker for Decentagram
- Git Repo: [https://github.com/lsd-ucsc/decent-pubsub-onchain](https://github.com/lsd-ucsc/decent-pubsub-onchain)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/decent-pubsub-onchain/blob/main/LICENSE)
- Off-chain Broker
- Please refer to the *DecentEthereum* in
[Total Eclipse Detection](#total-eclipse-detection) section for more details
- Decent RA on-chain
- On-chain smart contract for Remote Attestations of secure enclaves
- Git Repo: [https://github.com/lsd-ucsc/decent-ra-onchain](https://github.com/lsd-ucsc/decent-ra-onchain)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/decent-ra-onchain/blob/main/LICENSE)
- DecentRevoker
- Automated revocation of Decent components by using Ethereum smart contracts
- off-chain broker
- The off-chain broker for DecentRevoker
- Git Repo: [https://github.com/lsd-ucsc/DecentRevoker](https://github.com/lsd-ucsc/DecentRevoker)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/DecentRevoker/blob/main/LICENSE)
- on-chain smart contract
- The on-chain smart contract for DecentRevoker
- Git Repo: [https://github.com/lsd-ucsc/decent-revoker-onchain](https://github.com/lsd-ucsc/decent-revoker-onchain)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/decent-revoker-onchain/blob/main/LICENSE)




### Total Eclipse Detection

These are implementations for the paper [Total Eclipse of the Enclave: Detecting Eclipse Attacks from Inside TEEs](https://doi.org/10.1109/ICBC51069.2021.9461081)

- EclipseMonitor
- Git Repo: [https://github.com/lsd-ucsc/EclipseMonitor](https://github.com/lsd-ucsc/EclipseMonitor)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/EclipseMonitor/blob/main/LICENSE)
- Unit Tests Status: ![Unit Tests](https://github.com/lsd-ucsc/EclipseMonitor/actions/workflows/unit-tests.yaml/badge.svg?branch=main)

- Ethereum Difficulty Monitor Experiment
- Git Repo: [https://github.com/zhenghaven/DecentDiffMonitorExpr](https://github.com/zhenghaven/DecentDiffMonitorExpr)

- DecentEthereum
- A Ethereum Light client running inside of enclave
- It provides block header hash verification service and smart contract
event subscription service
- Git Repo: [https://github.com/lsd-ucsc/DecentEthereum](https://github.com/lsd-ucsc/DecentEthereum)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/lsd-ucsc/DecentEthereum/blob/main/LICENSE)



### Remote Attestation (DecentRA)

Enables mutual remote attestation between different enclave components

These are implementations for the paper [Secure Distributed Applications the Decent Way](https://doi.org/10.1145/3457340.3458304)

- DecentRA API
- C++ library for DecentRA
- Git Repo: [https://github.com/zhenghaven/decent-ra-api](https://github.com/zhenghaven/decent-ra-api)

- DecentRA Server
- Implementation of DecentRA Server, which is used for generating SA report
for local Decent components
- Git Repo: [https://github.com/zhenghaven/decent-ra-server](https://github.com/zhenghaven/decent-ra-server)

- Sample Applications 1: DecentRide
- Ride-sharing application built based on the micro-services architecture
similar to [Uber](https://dzone.com/articles/microservice-architecture-learn-build-and-deploy-a)
- Git Repo: [https://github.com/zhenghaven/decent-ridesharing](https://github.com/zhenghaven/decent-ridesharing)

- Sample Applications 2: DecentHT
- Distributed Hash Table (DHT) implemented with DecentRA, where only authorized
Decent components can access the data
- Git Repo: [https://github.com/zhenghaven/DecentDHT](https://github.com/zhenghaven/DecentDHT)

- Formal Proofs: DecentRA Verif
- Formal verification of the DecentRA protocols using
[ProVerif](https://prosecco.gforge.inria.fr/personal/bblanche/proverif/)
- Git Repo: [https://github.com/zhenghaven/DecentRaVerif](https://github.com/zhenghaven/DecentRaVerif)

- Benchmarks: DecentTester
- YCSB benchmarks on DecentHT
- Git Repo: [https://github.com/zhenghaven/DecentTester](https://github.com/zhenghaven/DecentTester)





## Decent Enclave Library

- DecentEnclave
- This is the new repo replacing the [decent-ra-api](https://github.com/zhenghaven/decent-ra-api)
of the DecentRA project
- All utility and helper classes and functions have been separated out from
the `decent-ra-api` and became individual libraries and repos mentioned
in this documentation
- DecentEnclave is now only focusing on the foundational functionalities
of the Decent Enclave framework
- Git Repo: [https://github.com/zhenghaven/DecentEnclave](https://github.com/zhenghaven/DecentEnclave)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/zhenghaven/DecentEnclave/blob/main/LICENSE)




## Utility Libraries

- SimpleUtf
- A simple and lightweight C++ library used to convert characters among UTF-8, UTF-16, and UTF-32
Expand Down Expand Up @@ -71,67 +198,6 @@ A wiki repo for Decent Framework, a framework for building secure distributed ap





## Enclave Framework

- DecentEnclave
- This is the new repo replacing the [decent-ra-api](https://github.com/zhenghaven/decent-ra-api)(also mentioned below)
- Most of original implementation of `decent-ra-api` has been decomposed
and refactored into repos mentioned in this documentation
- Git Repo: [https://github.com/zhenghaven/DecentEnclave](https://github.com/zhenghaven/DecentEnclave)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/zhenghaven/DecentEnclave/blob/main/LICENSE)





## Blockchain Related Libraries

### Total Eclipse Detection

These are implementations for the paper [Total Eclipse of the Enclave: Detecting Eclipse Attacks from Inside TEEs](https://doi.org/10.1109/ICBC51069.2021.9461081)

- EclipseMonitor
- Git Repo: [https://github.com/zhenghaven/EclipseMonitor](https://github.com/zhenghaven/EclipseMonitor)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/zhenghaven/EclipseMonitor/blob/main/LICENSE)
- Unit Tests Status: ![Unit Tests](https://github.com/zhenghaven/EclipseMonitor/actions/workflows/unit-tests.yaml/badge.svg?branch=main)

- Ethereum Difficulty Monitor Experiment
- Git Repo: [https://github.com/zhenghaven/DecentDiffMonitorExpr](https://github.com/zhenghaven/DecentDiffMonitorExpr)

### Light Client

- DecentEthereum
- A Ethereum Light client running inside of enclave
- It provides block header hash verification service and smart contract
event subscription service
- Git Repo: [https://github.com/zhenghaven/DecentEthereum](https://github.com/zhenghaven/DecentEthereum)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/zhenghaven/DecentEthereum/blob/main/LICENSE)

### Revocation: DecentRevoker

Automated revocation of Decent components by using Ethereum smart contracts

- DecentRevoker
- Git Repo: (work-in-progress)

### WebAssembly

- DecentWasmCounter
- Instruments WebAssembly code to insert instruction counters needed by
DecentSLA project
- Git Repo: [https://github.com/zhenghaven/DecentWasmCounter](https://github.com/zhenghaven/DecentWasmCounter)
- Repo visibility: Public
- Open source: [MIT license](https://github.com/zhenghaven/DecentWasmCounter/blob/main/LICENSE)





## Forked Libraries

- MbedTLS
Expand All @@ -149,39 +215,3 @@ Automated revocation of Decent components by using Ethereum smart contracts
- We added additional CMake targets for DecentEnclave related projects





## Remote Attestation (DecentRA)

Enables mutual remote attestation between different enclave components

These are implementations for the paper [Secure Distributed Applications the Decent Way](https://doi.org/10.1145/3457340.3458304)

- DecentRA API
- C++ library for DecentRA
- Git Repo: [https://github.com/zhenghaven/decent-ra-api](https://github.com/zhenghaven/decent-ra-api)

- DecentRA Server
- Implementation of DecentRA Server, which is used for generating SA report
for local Decent components
- Git Repo: [https://github.com/zhenghaven/decent-ra-server](https://github.com/zhenghaven/decent-ra-server)

- Sample Applications 1: DecentRide
- Ride-sharing application built based on the micro-services architecture
similar to [Uber](https://dzone.com/articles/microservice-architecture-learn-build-and-deploy-a)
- Git Repo: [https://github.com/zhenghaven/decent-ridesharing](https://github.com/zhenghaven/decent-ridesharing)

- Sample Applications 2: DecentHT
- Distributed Hash Table (DHT) implemented with DecentRA, where only authorized
Decent components can access the data
- Git Repo: [https://github.com/zhenghaven/DecentDHT](https://github.com/zhenghaven/DecentDHT)

- Formal Proofs: DecentRA Verif
- Formal verification of the DecentRA protocols using
[ProVerif](https://prosecco.gforge.inria.fr/personal/bblanche/proverif/)
- Git Repo: [https://github.com/zhenghaven/DecentRaVerif](https://github.com/zhenghaven/DecentRaVerif)

- Benchmarks: DecentTester
- YCSB benchmarks on DecentHT
- Git Repo: [https://github.com/zhenghaven/DecentTester](https://github.com/zhenghaven/DecentTester)

0 comments on commit f6832a3

Please sign in to comment.