9 mins ago |
By Jamie Redman – |
Engineers Demonstrate Zcash/Bitcoin Atomic Swaps
Blockchain interoperability is becoming a very popular concept that allows the trading of two different cryptocurrencies without the need for a third party. Last week on August 25 two Zcash engineers, Ariel Gabizon and Jay Graber demoed a working implementation of XCAT (cross-chain atomic trades) – a tool that can exchange bitcoins and zcash in a trustless way.
Performing Cross-Chain Atomic Trades With Zcash
The cryptocurrency zcash (ZEC) is a digital asset that aims to provide both digital scarcity as well as enable privacy-centric transactions. Similarly to bitcoin, the currency also has a fixed supply of 21 million but uses a transaction anonymization method called zero-knowledge proofs (zk-SNARKs). This technology claims to provide complete anonymity, but alongside this zcash can perform transparent publicly recorded transactions as well. Recently the team has been researching and developing blockchain interoperability tools with ethereum and bitcoin. Last week two zcash developers gave live viewers a demonstration of a cross-chain atomic trade between ZEC and BTC.
Atomic trades are becoming a hot topic within the cryptocurrency ecosystem, and just recently Lightning Labs introduced bitcoin and litecoin interoperability in the team’s latest release. Gabizon starts the zcash presentation by explaining how the process works by utilizing Hash-Time-Lock-Contracts (HTLC).
The HTLC concept is also the main component of the Lightning Network and Zcash developers created a command line tool called XCAT that enables this technology. HTLC’s use hash-locks and time-locks that require the receiver to confirm the transaction within a set deadline. The protocol utilizes Pay-to-Script-Hash (P2SH) transactions which allow the funds to be sent to a script hash until the contract is settled.
The XCAT Demonstration
After explaining the process of how XCAT works Zcash developer, Jay Graber demonstrates how the team’s command line works. Currently, the tool requires users to run a bitcoin full node and a zcash full node to implement a cross chain swap. Graber explains the team is working on an implementation that doesn’t require running full nodes but for now, the tool is a simple Python package any user can install.
Graber then begins to initiate the process by creating the terms of the trade, she sets the amount of funds, and then generates two bitcoin and zcash addresses based on the local nodes the team is running. After this Graber simply sends the hash (contractual terms) to Gabizon to see if he agrees to the terms of the trade. One thing to note is that in order to do the BTC/ZEC atomic swap with someone, you have to have prior contact with the established party.
After Gabizon accepts the terms of the agreement, the two parties simply wait for the time-locked period to run out and the settlement is complete. In the demo, Gabizon, and Graber show the completed transactions on a zcash and bitcoin blockchain explorer. The team is pleased with the result as general HTLC functionality works well between a bitcoin Core wallet and a full ZEC node.
XCAT is not the only tool that provides blockchain interoperability as the Interledger platform, and Tier Nolan’s protocols also provide this kind of connectivity in a different manner. Check out the video below to see the full demonstration of BTC/ZEC atomic swaps.