Detailed protocol design for routed multi-transaction CoinSwap



Summary:

The email discusses the implementation of CoinSwap and its potential impact on improving Bitcoin privacy and fungibility. CoinSwaps are designed to improve privacy even for those who do not use them, making it difficult for anyone attempting surveillance of bitcoin transactions. The first version of the protocol makes use of multi-transaction CoinSwaps, routed CoinSwaps, liquidity market, private key handover, and fidelity bonds. The design includes one market taker and two market makers in its route, but it can be extended to any number of makers. Each single CoinSwap is made up of multiple transactions to avoid amount correlation. Direct connections to Alice help hide whether the previous or next counterparty in a CoinSwap route is a maker or taker.Makers have no incentive to pay any miner fees, only doing transactions which earn them an income. Takers want to create transactions more urgently. Funding transactions pay into the 2-of-2 multisig addresses, with I being the initial coinswap amount sent by Alice. Contract transactions may spend from the 2-of-2 multisig outputs, transferring the coins into a contract where the coins can be spent either by waiting for a timeout or providing a hash preimage value. Timelocks are staggered so that if Alice uses the preimage to take coins, the right people will also learn the preimage and have enough time to get their coins back too. The EC tweak trick is used to avoid one round trip in agreeing on public keys.The document describes a multi-transaction protocol that involves funding transactions and HTLC (Hash Time-Locked Contract) contract transactions. The protocol uses a tweak EC (Elliptic Curve) protocol to calculate the maker's public key, which is included in the transaction they sign. The protocol involves three parties: Alice, Bob, and Charlie. Alice initiates the protocol by creating unsigned HTLC contract transactions (A unsign htlc), including the nonce point p used in the tweak EC protocol. Bob creates his own unsigned HTLC contract transactions (B unsign htlc) in response. Next, Charlie broadcasts and mines the funding transactions for the protocol.The protocol also involves a hash preimage and private keys generated by Alice (privA(A+B)) and Bob (privB(B+C)). The document provides definitions for all of these terms. Overall, the multi-transaction protocol involves multiple steps and parties, with each party creating their own unsigned HTLC contract transactions. The protocol requires the broadcasting and mining of funding transactions and the use of private keys to complete the transactions.


Updated on: 2023-06-14T03:21:46.654713+00:00