A few weeks ago we launched the first decentralized token exchange protocol for Bitcoin. This version required three steps:
In this original version the seller was unable to pre-sign the transaction because they did not know who the buyer would be. It was not until a buyer makes an offer that they can construct the entire transaction and sign it.
However, using SIGHASH_SINGLE | SIGHASH_ANYONECANPAY a seller can sign part of a transaction without knowing who the buyer will be. They sign just an input/output pair (token input / payment output). The buyer adds their payment input and token output and signs the rest of the transaction.
This removes the final step of the token purchase process and allows you to buy tokens instantly! Visit the token exchange to see which sales allow instant purchases.
For more info, check out the protocol on Github.