There are many aspects about cryptocurrency most people have never heard of, and one of these technological features goes by the name of Hashed Timelock Contracts or HTLCs. This feature can prove to be quite powerful when it comes conducting payments, so it’s time to take a closer look at what this exactly means for Bitcoin and potentially for other cryptocurrencies as well.
An Overview of HTLC
The Hashed Timelock Contract is a very technical implementation of cryptocurrency payments. It requires the recipient of a payment to acknowledge the reception of said transfer prior to a deadline, which is done by generating a cryptographic proof of payment or forfeit the ability to claim the payment, returning it to the payer. So far, that sounds not out of the ordinary. However, there is a small twist to this whole concept.
The cryptographic proof of payment the receiver generates can then be used to trigger other actions in other payments. This makes making HTLCs a powerful technique for producing conditional payments in Bitcoin. It is not difficult to see why this technology would be so powerful and popular, and in fact, there are multiple sue cases where this technology will come in handy.
For instance, it is not impossible to think the cryptocurrency ecosystem will be introduced to atomic cross-chain trading based on hashed Timelock Contracts. This type of trading allows users to exchange some amount of one cryptocurrency (such as bitcoin on mainnet) into some amount of cryptocurrency on another block chain (such as bitcoin on a sidechain). This can be achieved by using sidechains – as proposed by Drivechain. However, a proper payment channel would need to be provided.
This implementation of Hashed Timelock Contracts as part of atomic cross-chain trading is probably the origin of the technique now called HTLCs. It is important to note that it is also possible to use HTLC in payment channels moving forward. Payment channels use timelocks by default. However, they can be “extended” with hashlocks, and as a result, one would be able to route [Bitcoin] payments through two or more payment channels.
All of this sounds amazing and exciting. However, when it comes to cryptocurrency payments, there is a secondary aspect to Hashed Timelock Contracts. This technology also allows the recipient of a payment to forfeit the ability to claim the pending transfer, and by doing so, they will effectively return the money to the sender. Although it could prove to be quite useful in the long run, up until now, that seemed very improbable where bitcoin is concerned.
This is how HTLC scripts look like:
[HASHOP] <digest> OP_EQUALVERIFY OP_DUP OP_HASH160 <seller pubkey hash>
<num> [TIMEOUTOP] OP_DROP OP_DUP OP_HASH160 <buyer pubkey hash>
HASHOP is a hashing algorithm (RIPEMD, SHA256). TIMEOUTOP is either OP_CHECKSEQUENCEVERIFY or OP_CHECKLOCKTIMEVERIFY. This script allows the “buyer” to buy the preimage to <digest> by forcing the seller to reveal it when they claim their funds, and if the seller doesn’t reveal it, the buyer can get their money back after the timeout period.
It’s really easy to understand how cross-chain atomic swaps can be built with this mechanism:
- Ann randomly samples K, the key, and she hashes it, producing X.
- To produce the preimage of X, Ann creates a transaction paying Bill 1 BTC, with a timeout of 1 day.
- Bill waits for Ann’s transaction to appear in the Bitcoin blockchain. After that, he submits an HTLC transaction paying Ann 0.02 ZEC for the preimage of X with a smaller timeout of half a day.
- Ann can obtain her ZEC once Bill’s transaction appears in the Zcash blockchain. The script forces Ann to reveal K.
- Bill can obtain his BTC once he sees Ann’s reveal of K.
The timeouts are selected so that Bill always has an opportunity to obtain a refund before Ann, otherwise, she could wait to obtain her refund, and then claim his money by revealing K.
In the end, HTLCs are a well-known and simple technique for building protocols for atomic swaps. Conditional payments can be quite beneficial to cryptocurrency as a whole in the future, so it is not difficult to see why developers are excited about Hashed Timelock Contracts. HTLCs are a fundamental tool in the Lightning network, in zero-knowledge contingent payments (ZKCP). The opportunities for this technological feature are virtually limitless. Hashed Timelock Contracts are an area of development well worth exploring further.