Skip to content
Linus Gasser edited this page Jan 6, 2017 · 45 revisions

Cothority-ONet

  • Cothority - Collective Authority
  • ONet - Overlay network

The ONet library offers a framework for research, simulation and deployment of crypto-related protocols with an emphasis of decentralized, distributed protocols.

Our documentation is split in three parts:

  • Users, when all you want is to use one of our services - read further down.
  • PhD, for those of you who have an idea and want to implement it using Onet, you can go to Cothority_Template
  • Developer, hard-core hackers that want to make our code even better and faster. You can go to Onet

Users

Apps

So you want to use one of our services and you are interested in one of our projects:

  • Cothority - The main server being able to handle all service-requests
  • CoSi - Collective Signing, where you can submit a hash of a document and get a collective signature on it
  • Cisc - Cisc Identity Skipchain, a distributed key/value storage handled by a permissioned, personal blockchain with an SSH-plugin

Services

Some of the services don't have yet an application, but can be used in apps:

Protocols

This is a list of available protocols in the cothority-repo:

  • BFTCoSi - Byzantine Fault Tolerant Collective Signing - implements PBFT by having first a commit-round, followed by a signing-round
  • ByzCoin - inspired by Bitcoin-NG. Uses BFTCoSi to add microblocks
  • CoSi - Collective Signing. Creates an aggregate Schnorr signature in a tree over 1'000s of nodes
  • Guard -

Development

If you want to help with development, you can start picking one of the entry-level issues at https://github.com/dedis/cothority/issues/524

Apps

So you want to use one of our services and you are interested in one of our projects:

  • Cothority - The main server being able to handle all service-requests
  • CoSi - Collective Signing, where you can submit a hash of a document and get a collective signature on it
  • Cisc - Cisc Identity Skipchain, a distributed key/value storage handled by a permissioned, personal blockchain with an SSH-plugin

Services

All apps communicate with services that are in a cothority. Here is a list of available services, some don't have a corresponding app:

Protocols

This is a short overview of the available protocols in the cothority-repository, for some of them we don't have a service yet.

Byzcoin

XXX Need references. ByzCoin implements the ByzCoin protocols which consists of two CoSi Protocols:

  • One Prepare phase where the block is dispatched and signed amongst the tree.
  • One Commit phase where the previous signature is seen by all the participants and they make a final one out of it. This implicitly implements a Byzantine Fault Tolerant protocol.

PBFT

PBFT is the Practical Fault Tolerant algorithm described in http://pmg.csail.mit.edu/papers/osdi99.pdf . It's a very simple implementation just to compare the performance relative to ByzCoin.

Ntree

Ntree is like ByzCoin but with independant signatures. There is no Collective Signature (CoSi) done. It has been made to compare the perform relative to ByzCoin.

More documentation

Our documentation is split in three parts:

  • Users, when all you want is to use one of our services - read further down. Cothority
  • PhD, for those of you who have an idea and want to implement it using Onet, you can go to Cothority_Template
  • Developer, hard-core hackers that want to make our code even better and faster. You can go to Onet

Development

If you want to help with development, you can start picking one of the entry-level issues at https://github.com/dedis/cothority/issues/524

Clone this wiki locally