Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status Go Report Card Coverage Status


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
  • 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 or...
  • go get repository: go get


We only have a development version. The master-branch in 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: