-
Notifications
You must be signed in to change notification settings - Fork 9
Home
###What is Tailsjoin?
-
Tailsjoin.sh is a script to install the crypto dependencies (libsodium) and JoinMarket on the TAILS operating system. This script is for a minimal setup that will use blockr.io for blockchain lookups. I also wrote a guide to get users started on Tails.
-
Tailsjoin-fullnode.sh is a script to download Bitcoin Core/BitcoinXT, verify the integrity of the file, and install JoinMarket and it's dependencies in Tails. This option offers more privacy, control, options, and ease of use. It is also the best practice. This script requires that you have enough space, either locally or on external media, to store the entire blockchain (50GB~).
###What is JoinMarket?
JoinMarket is open source, decentralized, cryptographically secure smart contracts that allow for obfuscated bitcoin transactions using CoinJoin at an extremely small fee.
For you JoinMarket is an alternative to tumbling at a small fraction of the cost with no risk of losing your bitcoins, ever (barring malware or human error).
###How JoinMarket Works (the basics):
There are two different types of participants.
- Maker - A person holding bitcoin. A makers bot (ran with the
yield-generator.pyscript) waits in "the pit" which is an irc channel on cyberguerillas irc server (available as a hidden service). A makers bot simply sits and waits for a person that would like to send an obfuscated payment.
You can see a list of makers, their asking fee, and the min/max btc they
have available for transactions here, or here as a hidden service.
- Taker - A person wishing to send funds to a bitcoin address in an
obfuscated way (by using the
sendpayment.pyscript).
There are three main scripts that I will briefly describe:
wallet-tool.py, sendpayment.py, and yieldgenerator.py.
- Wallet Tool - Generates a 12 word (bip32) seed and encrypts it with a passphrase. The seed can be used to recreate addresses and private keys just as with electrum. YOU WILL ONLY EVER SEND TO ADDRESSES GENERATED WITH THIS SEED OR ANOTHER ADDRESS THAT YOU CHOOSE.
This is why you can never lose your funds. They're always in your addresses and you always have the seed/private keys so addresses can be easily imported/swept into other clients if need be.
-
Send Payment Tool - Allows you to send funds from the wallet created with the wallet tool with makers idleing in the pit. You can choose how many participants per payment (default is 2 others and yourself).
-
Yield Generator Tool - Allows persons holding bitcoin to fund their JoinMarket wallet and allow the script to coordinates transactions for them. You generate a small percentage per transaction. This is also a great way to earn money tumbling slowly over time!
Payments are obfuscated using CoinJoin transactions and end up looking like this.
In that situation a taker wanted to send 1.0040495 bitcoins to a destination address with three other participants to mask it. So one of those originating addresses, and one of those destinations was the taker, and the rest were makers sending funds to their own address. Essentially creating a situation where an outside viewer cannot tell which address sent to which, only that they were all involved.
At 04:13 UTC 2015/07/07, to make a transaction of 2 bitcoins with 3 makers (same number as example above) would cost 29466 satoshis. That is .0003 to send 2 btc with 3 other parties, .0014733%.
All transactions are automated, all communication of the bots involved is done encrypted by private message, and your script will always check that the transaction is correct before signing/pushing it. The worst thing that could ever happen here is that one of the parties involves screws up the transaction and you reject it and start over.
At the moment, JoinMarket works on Windows, and Linux (including Tails!). This project is still young (~1 year), and is still being heavily developed, so pay close attention to the subreddit and github.
###Some things still to come:
-
Electrum plugin
-
Bitcoin Core/XT plugin
-
Decentralizing communication channel
JoinMarket Github: https://github.com/chris-belcher/joinmarket
Subreddit: https://reddit.com/r/joinmarket
Twitter: https://twitter.com/joinmarket
JoinMarket Wiki: https://github.com/chris-belcher/joinmarket/wiki
IRC Channel: https://webchat.freenode.net/?channels=%23joinmarket
Bitcointalk thread: https://bitcointalk.org/index.php?topic=919116.msg10096563