Breeze TumbleBit Server is Ready to Test!
The highly anticipated alpha version of the Breeze TumbleBit Server has now been released for testing. As promised, we have been engaging in a process of incremental deliveries and in this opportunity we want to share some technical details of the release. We expect to provide even more details both from an user and an operator perspective in the weeks to come. So, stay tuned!
This release showcases the Stratis secure node advertisement protocol, which will be utilised by the Breeze wallet to locate Breeze Tumblebit servers without the need for a centralised list. This is therefore a trustless registration mechanism resistant to manipulation or censorship.
Node advertisement protocol
A high level overview of the protocol operations performed by each Breeze Tumblebit server is as follows:
1. The node operator starts up the Breeze Tumblebit Server software.
2. The node checks to see if it has registered itself on the Stratis blockchain before.
3. If it has, the tumbler service is initialised as normal.
4. If the node is not yet registered, or if its configuration has changed, the registration transaction updates and broadcast again.
Registration transaction
The registration transaction is a specially-formatted transaction broadcast by the Breeze Tumblebit Server to the Stratis network. In this release, the registration transactions are broadcast to the main Stratis blockchain.
Security features
The registration transaction contains the following information embedded inside it:
1. The IP address of the Breeze Tumblebit Server.
2. (Currently optional) TOR address of the server.
3. The port that wallets should use to connect.
4. All the information is signed by the tumbler’s private keys. This means that the signatures can be validated by a Breeze wallet when it connects to the Breeze Tumblebit Server. The registration protocol will greatly benefit from widespread testing by the Stratis community.
As this is alpha software, the tumbler is currently configured to only operate on the Bitcoin testnet. This is to prevent loss of funds in the event of errors. Once the tumbler is sufficiently stable a Bitcoin mainnet version will be released.
Please reach out to our team of developers on Slack with your bug reports, suggestions and comments.