This is a proposal to set up a mechanism for a completely decentralised cryptocurrency exchange. Consider it work in progress please
The goal: Owner of coin A who wants B can advertise "I want to sell x of A for y of B"
Owner of coin B can respond "I want to participate"
A and B owners can then trade without an exchange, without knowing each other and without trusting each other
There will be
no administration, no vetting of trades and no arbitrators of dispute.All responsibility will be with the traders themselves.
Trading will (initially) only be
atomic.
Participation will (initially) only be technically accessible to users who run full nodes of all the coins in question.
This OP will (slowly) accumulate (links to) all the information needed to participate.
The thread itself will be the main discussion thread for the ideas - and corrections to this OP.
Feel free to stay anonymous: The whole point of the exercise is that this is open and free and the responsibility lies with the user, not the developers!
The basics: Recently Charlie Lee and others demonstrated trustless cross-chain atomic swaps. Proposals have been made to move these onto a Lightning network but other proposals involve using messaging on a third blockchain to announce a desire to make a swap. The point of this thread is to provide a complete description of how to make this work.
Nitty-gritty stuff coming:
The background lies in the swaps tested by Charlie Lee and others:
https://twitter.com/SatoshiLite/status/911328252928643072Initially a pair of users (here @SatoshiLite and @JStefanop1) decide to swap a specific amount of one coin for another. Here, they swapped 10 LTC for 0.1137 BTC. There have been a number of other swaps. Considerable was put into this by the @decreproject team who also did a swap with @SatoshiLite, this time a swap between DCR and LTC
https://twitter.com/decredproject/status/910224860625780736.
Software is available at
https://github.com/decred/atomicswap/ along with
reading material on atomic swaps
https://blog.decred.org/2017/09/20/On-Chain-Atomic-Swaps/, courtesy of the Decred team.
Atomic swaps are elementary swaps between two coins holders, e.g. user A sells 1 BTC for 100 LTC from user B. Exchanges will allow partial sales but an atomic swap is a complete swap. In the proposal here, only atomic swaps will be used (initially), based on users first agreeing to do a swap. The agreement is fairly formal, based on paid
announcements, but not binding until the swap is done.
Announcements will be done on a blockchain. A preliminary proposal has been made to use the SMLY blockchain for this purpose at
https://tutor-web.info/news-1/announcing-intent-cross-chain-atomic-swap/ and we will use/modify this to begin with. Check out the link for the logic behind using this coin and not a better-known (higher-value) coin.