Drynx is a library for simulating a privacy-preserving and verifiable data sharing/querying tool. It offers a series of independent protocols that when combined offer a verifiably-secure and safe way to compute statistics and train basic machine learning models on distributed sensitive data (e.g., medical data).
The paper has all the details: Drynx: Decentralized, Secure, Verifiable System for Statistical Queries and Machine Learning on Distributed Datasets
Drynx is developed by LDS (Laboratory for Data Security in EPFL) in collaboration with DeDiS (Laboratory for Decentralized and Distributed Systems). It is build on the UnLynx library and does an intensive use of Overlay-network (ONet) library and of the Advanced Crypto (kyber) library.
- For more information regarding the underlying architecture please refer to the stable version of ONet
go.dedis.ch/onet/v3
- To check the code organisation, have a look at Layout
- For more information on how to run our protocols, services, simulations and apps, go to Running Drynx
To use the code of this repository you need to:
- Install Golang
- [Recommended] Install IntelliJ IDEA and the GO plugin
- Set
$GOPATH
to point to your workspace directory - Add
$GOPATH/bin
to$PATH
- Git clone this repository to $GOPATH/src
git clone https://github.com/ldsec/drynx.git
or... - go get repository:
go get github.com/ldsec/drynx
We only have a development version. The master
-branch in github.com/ldsec/drynx
is the development version that works but can have incompatible changes.
Drynx is licensed under a End User Software License Agreement ('EULA') for non-commercial use. If you need more information, please contact us.
You can contact any of the developers for more information or any other member of lds:
- David Froelicher (PHD student) - david.froelicher@epfl.ch
- Joao Andre Sa (Software Engineer) - joao.gomesdesaesousa@epfl.ch