Git Product home page Git Product logo

NTumbleBit

TumbleBit implementation in .NET Core.

Trailer/Motivation

IMAGE ALT TEXT HERE

Resources

Cross-platform library, based on "TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub". Another proof of concept implementation can be found in the old repository of TumbleBit.
An "easy" to understand explanation of the protocol has been presented by Ethan Heilman and Leen Al Shenibr at Scaling Bitcoin Milan, and on NTumbleBit implementation by Nicolas Dorier at Blockchain Core Camp Tokyo.

Requirements

As a user, you will need:

  1. NET Core SDK 2.1
  2. At least Bitcoin Core 0.16.0 fully sync, rpc enabled.

On Tumbler server side, run Bitcoin Core with a big RPC work queue. TumbleBit has peak of activity making it likely to reach the limit.

bitcoind -rpcworkqueue=100

Alternatively, you can also put the rpcworkqueue=100 in the configuration file of your bitcoin instance.

As a developer, you need additionally one of those:

  1. Visual studio 2017 with update 7 (15.7) (Windows only)
  2. Visual studio code with C# Extension (Cross platform)

If you have any issue, please check the FAQ, before posting an issue.

Project status

The current version has an implementation of:

  • Puzzle Solver Algorithm
  • Puzzle Promise Algorithm
  • TumbleBit: Classic Tumbler Mode

What is next

  1. Tor integration for Tumbler server and client
  2. Localhost website as user interface for Tumbler server and Tumbler Client.
  3. TumbleBit: Uni-directional Payment Hub Mode

Developing on Linux or Mac

We recommend that you use Visual Studio Code, which is free IDE supporting C# development and testing.

Developing on Windows

We recommend that you use Visual studio 2017 for building and running the tests. You can of course use Visual use command line or Visual Studio Code as well.

Acknowledgements

Thanks to Boston University (Ethan Heilman, Leen AlShenibr, Foteini Baldimtsi, Alessandra Scafuro, and Sharon Goldberg) for inventing the TumbleBit protocol.

Thanks to Omar Sagga and Sharon Goldberg for the crypto review of TumbleBit, and PoupardStern and PermutationTest proofs.

Special thanks to @Yzord (aka @badass.sx on Stratis slack) and the dedicated TumbleBit testers in the Stratis team, which brought TumbleBit to the next level.

Thanks to Stratis to dedicate resources to develop NTumbleBit and integrate it to Breeze wallet.

ntumblebit's Projects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.