Skip to content

Network layer for MPC (Secure Multi-Party Computation) based on Tendermint

License

Notifications You must be signed in to change notification settings

ZenGo-X/white-city

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

white-city

API to integrate distributed network for secure computation protocols.

Read more details in our technical report:
White-City

Background

Secure Multiparty Computation (MPC) has transitioned from a thoretical field to applied technology with real life use cases. In MPC a set of n parties are running a distributed computation over private inputs. To do so, MPC protocols designers make assumptions on the required network and communication channels. A complete p2p network setup might turn out to be costly, effectively eliminating the practicallity of running MPC at scale.

Instead, we suggest using untrusted coordinator, connected in a star topology to all clients. This gets us immidiate improvment on communication complexity of simple p2p, and potentially benefits robustness, accountabillity and fault tolarance.

Project Status:

The current stage is focused on the idea of replicated state machine. The repo contains three proofs of concepts. The latest implementation uses Tendermint to replicate the state machine across a set of known servers. Clients broadcast transactions to the servers to change the state, and read messages from the public bulletin board. Older PoCs are using a single untrusted coordinator.

  • Tendermint: Broadcast channel using Tendermint as an immutable bulletin board.
  • TokioServer: a socket level implementation using Tokio Crate.
  • RocketServer: a Http server implementation using Rocket crate. Proofs of concept are currently running multi party EdDSA library. In general, all messages in the MPC protocol should be broadcast messages (p2p messages are broadcasted encrypted).

As a side project there is also an effort to formally verify the centralized state machine model in Coq/TLA+

Hall of Fame:

Here is a list of contributors to White City (not ordered):

  • Avi Kozokin
  • Alex Manuskin
  • Frederic Peschanski
  • Omer Shlomovits
  • Roman Zeyde
  • Haoyu LIN

Want to Contribute:

Please send an email to github@kzencorp.com containing your github username. We will get in touch and bring you up to speed. We try to keep the list of issues relevant so it might also be a good place to start. Join the ZenGo X Telegram for discussions on code and research.

About

Network layer for MPC (Secure Multi-Party Computation) based on Tendermint

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •