/drynx

Decentralized, Secure, Verifiable System for Statistical Queries and Machine Learning on Distributed Datasets

Primary LanguageGoOtherNOASSERTION

Build Status Go Report Card

Drynx

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.

Documentation

  • 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

Getting Started

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

Version

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.

License

Drynx is licensed under a End User Software License Agreement ('EULA') for non-commercial use. If you need more information, please contact us.

Contact

You can contact any of the developers for more information or any other member of lds: