Advanca is now Automata.
The development is moved to https://github.com/automata-network/automata. Come and join us there!
A privacy-preserving general-purpose compute/storage infrastructure for Dapps.
To quickly see Advanca running, try it out with Docker Compose locally.
Note: To run the following demo successfully, make sure your machine supports SGX and have Intel SGX Linux Driver installed. If not, you can try the previous
v0.2.0
version with SGX simulation mode.
git clone https://github.com/advanca/advanca.git
cd advanca
docker-compose up --no-start
Start the node
and aesm
first. It will run in the background.
docker-compose start node aesm
Bring up the worker
. Logs will be printed.
docker-compose up worker
In a new terminal session, bring up the client
.
docker-compose up client
Finally, stop and clean up.
docker-compose stop
docker-compose rm
To understand how Advanca works, read our docs.
-
- add tampering demo
- add leak demo
- add compute weight to demo
- refactor accounting to make demo clearer
-
- update to substrate v2.0.0-rc5
- swap to serde_json from serde_cbor
- add sr25519 support in enclave
- import types from crate
advanca-node-primitives
in advanca/advanca-node - support payment upon task completion
substrate-api
v0.3.0- replace the internal API client implementation from advanca/substrate-api-client to advanca/substrate-subxt
- support substrate v2.0.0-rc5
- new API
complete_task
,get_balance
andlisten_for_task_completed
.
-
- update to substrate v2.0.0-rc5
- add CI for unit test using Github actions
- separate runtime types into a standalone crate
advanca-node-primitives
- support payment upon task completion
- add verification of the alive evidence submitted by worker
-
Advanca Attestation Service v0.3
- change the serialization from
serde_cbor
toserde_json
- use
advanca/advanca-sgx-helper
v0.4.0
- change the serialization from
-
- support sr25519
- clean up
Cargo.toml
and update package-level features
-
- reference implementation for trusted resource accounting
- crypto operations for trusted, non-trusted domains unified in advanca-sgx-helper
v0.3.0
. - updated grpcio-rust to v0.5.1, uses futures 0.3 instead of 0.1
- accounting service writeup
-
- extend Task to include task-specific user and worker signed pubkeys
- extend Task to include task evidence for worker
- adds new Task state, Done
- Tasks are no longer removed from chain after abort/completion
-
Advanca Attestation Service v0.2
- add trusted time service
- updated grpcio-rust to v0.5.1, uses futures 0.3 instead of 0.1
- restructured how protobuf is being defined for both trusted and untrusted domains enabling unified usage
-
- unified crypto operations for both trusted(enclave) and untrusted(app) domains
- utilize Intel's crypto library
- adds data structure for accounting service(AliveEvidence)
-
- upgrade to apache/incubator-teaclave-sgx-sdk
1.1.2
, Intel SGX for Linux2.9.1
, and rust-toolchainnightly-2020-04-07
. - complete remote attestation through Advanca Attestation Service
v0.1.0
. - refactor the cryptography using advanca-sgx-helper
v0.1.0
. - change the default build to HW mode in
advanca/advanca-worker
docker image (breaking change). - improve the SGX-related documentation in
README.md
.
- upgrade to apache/incubator-teaclave-sgx-sdk
-
- refactor the cryptography using advanca-sgx-helper
v0.1.0
- refactor the cryptography using advanca-sgx-helper
-
Advanca Attestation Service v0.1
- add a reference implementation providing attestation service for Advanca Worker
- add an
attestee-client
example - add a service gRPC protocol
-
- build a container for Intel AESM service
- published at Docker Hub
advanca/aesm
-
- use Square-Root ORAM as storage backend
-
- update demo usecase
-
- Square-Root ORAM
- SGX Protected FS
-
- Substrate-based runtime and node implementation
advanca-core
runtime module for Advanca control-plane functions- node APIs based on Substrate RPC
-
- encrypted storage service in trusted enclave
- worker APIs based on gRPC
-
- demo implementation
This project is sponsored by Web3 Foundation Grants Program.