BIP Draft: Atomic Cross Chain Transfer Protocol [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2014-04-30T23:02:41+00:00


Summary:

In a recent update, the author has released a new version of the protocol for trading between testnet and mainnet. This updated version simplifies the process by only requiring non-standard transactions on one network. The next step is to implement a TCP/RPC server that will facilitate the trading between the two networks. Importantly, the new version allows for timeouts of less than 24 hours.In response to Tier Nolan's question, Luke Dashjr explained that the names TX1 and TX2 originated from the original thread where the idea was first outlined. He updated the names as per the suggestion. Furthermore, Dashjr clarified that the bail-in transactions are only signed by one party and kept secret until the refund/payout transactions are properly signed. This approach helps mitigate malleability risks. The refund principle used in this protocol is similar to that of payment channels.Regarding the implementation and testing of the system, the author stated that it is still in draft mode. Although there is an existing (almost) implementation of the system, a full implementation is the next step. In response to Dashjr's recommendation of changing the protocol from JSON-RPC to some extension of the Payment Protocol, the author expressed agreement to explore this possibility.In an email exchange on April 30, 2014, Dashjr requested meaningful identifiers instead of using TX0, TX1, etc., and the names were updated accordingly. It was emphasized that the bail-in transactions are only signed by one party and kept secret until the refund/payout transactions are properly signed, with a third party acting as a safeguard against malleability risks. The full implementation of the system was planned, although there was already an available implementation. The purpose of OP_EQUAL_VERIFY in TX4 was clarified as a typo. Dashjr suggested separate BIPs for the exchange itself and the protocol to negotiate it, and also recommended compressed keys to discourage the use of uncompressed ones. Additionally, the use of MIME was proposed as an alternative to JSON-RPC for the protocol.On April 30, 2014, Tier Nolan created a BIP in response to high demand for cross-chain atomic transfers. The proposed sequence of signing transactions, labeled TX0, TX1, and TX2, requires both parties to sign before the transaction can be completed. However, concerns were raised about the feasibility of this proposal, particularly with regards to the potential for one party to walk away or hold the funds hostage after signing TX0 but before signing TX2. The purpose of OP_EQUAL_VERIFY in TX4 remains unclear. Nolan's suggestion to use JSON-RPC for negotiation and compressed keys to discourage the use of uncompressed ones is being considered. It is also suggested that separate BIPs should be created for the exchange itself and the protocol used to negotiate the exchange.Overall, the BIP for cross-chain atomic transfers has garnered significant attention and offers a simplified approach through hash locking. Interested individuals can find the full BIP on GitHub, which includes codes for OP_HASH160 OP_EQUAL_VERIFY [public key] OP_CHECKSIG and OP_HASH160 OP_EQUAL_VERIFY OP_N [public key 1] ... [public key m] OP_M OP_CHECK_MULTISIG.


Updated on: 2023-08-01T09:09:21.063921+00:00