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:
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.
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:
If you have any issue, please check the FAQ, before posting an issue.
The current version has an implementation of:
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.