You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
teaclave isn't maintained to the extent we'd like to see. We should look for alternatives and estimate migration efforts
Most promising alternative is fortanix, a pure-Rust SGX framework
I totally agree. Polkadex also moved to fortanix, and is absolutely excited about it.
I just peeked into the installation part, and I'd assume about 1 day of effort (for installation only, not changing code), including adapting the sgx-script, testing it and migration of all sgx-machines. On the assumption, that it works on Ubuntu 20.04 and 18.04.
Regarding the coding part.. Most files, as they use normal std::xx (with some exceptions (https://edp.fortanix.com/docs/concepts/rust-std/), won't need to be touched, that's good.
My concerns are the following:
Enclave tls websocket server
Enclave rest client
std::fs is not supported. So we'll need to change our enclave shard handling.
Cargo.toml adaption - how to allow import for std & sgx?
All mesalock libraries (env-logger, http, serde, mio, ...)
The websocket, REST and HTTP server are mesalock ports - so your number 1&2 are part of the last point. We'd have to find a solution, otherwise it won't fly.
There is an issue with certain c-native libraries in Fortanix. Through dependencies, we are currently relying on ring for cryptographic implementations. Unfortunately, ring is not supported yet by Fortnanix. See:
Activity
brenzi commentedon Dec 4, 2021
CC @clangenb @haerdib @mullefel
haerdib commentedon Dec 6, 2021
I totally agree. Polkadex also moved to fortanix, and is absolutely excited about it.
I just peeked into the installation part, and I'd assume about 1 day of effort (for installation only, not changing code), including adapting the sgx-script, testing it and migration of all sgx-machines. On the assumption, that it works on Ubuntu 20.04 and 18.04.
Regarding the coding part.. Most files, as they use normal std::xx (with some exceptions (https://edp.fortanix.com/docs/concepts/rust-std/), won't need to be touched, that's good.
My concerns are the following:
murerfel commentedon Dec 6, 2021
The websocket, REST and HTTP server are mesalock ports - so your number 1&2 are part of the last point. We'd have to find a solution, otherwise it won't fly.
murerfel commentedon May 11, 2022
There is an issue with certain c-native libraries in Fortanix. Through dependencies, we are currently relying on ring for cryptographic implementations. Unfortunately,
ringis not supported yet by Fortnanix. See: