TumbleBit implementation in .NET Core.
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.
As a user, you will need:
- NET Core SDK 1.0.4 (see below)
- Bitcoin Core 0.13.1 fully sync, rpc enabled.
You can easily install the SDK on ubuntu systems after having installed the runtime by running
sudo apt-get install dotnet-dev-1.0.4
You can known more about install on your system on this link. Using Bitcoin Core with later version should work as well.
As a developer, you need additionally one of those:
- Visual studio 2017 (Windows only)
- Visual studio code with C# Extension (Cross plateform)
If you have any issue, please check the FAQ, before posting an issue.
The current version has an implementation of:
- Puzzle Solver Algorithm
- Puzzle Promise Algorithm
- TumbleBit: Classic Tumbler Mode
- TOR integration for Tumbler server and client
- Localhost website as user interface for Tumbler server and Tumbler Client.
- TumbleBit: Uni-directional Paymen Hub Mode
We recommend that you use Visual Studio Code, which is free IDE supporting C# development and testing.
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.
Special thanks to Ethan Heilman and Leen AlShenibr for their work, their research and proof of work made this project possible.