Hash Time-locked Contracts (HTLCs)
One of the earliest models developed to enable cross-chain operations was Hash Time-locked Contracts (HTLCs), which employs hash locks  and timelocks  to ensure that the operations remain atomic. Even though HTLC implementations differ across projects, the overall concept remains the same .
To understand how HTLCs enable cross-chain swaps, consider the following scenario: Alice has a token X on Chain A and wishes to trade it with Bob, who has token Y on Chain B.
Step 1) Alice hashes a secret code to obtain hash lock h1. Alice also generates a timelock t1 corresponding to an upper bound in which the hash lock can be unlocked.
Step 2) Alice uses these locks to create a smart contract
on chain A and locks her funds in that contract.
Step 3) Bob acknowledges that Alice has locked her funds.
Step 4) Bob uses the same hash lock h1 and a different timelock t2 to create a contract
on chain B. To ensure that Bob gets adequate time to claim funds from contract
, t2 will be less than t1.
Step 5) Alice unlocks Bob’s funds from contract
, thereby revealing the secret code.
Step 6) Bob uses the revealed secret to unlock Alice’s funds from contract
on chain A.
Step 7) If the swap does not go through, Alice and Bob can claim their funds back once the timelock on the individual contracts expires.
One upside of using HTLC techniques is that they do not introduce any trust assumptions. However, they suffer from a range of issues that limits their efficacy.
- They require all the concerned parties to always be online. Both the sender and the receiver need to monitor the involved blockchains during execution actively.
- Given the high fees and waiting periods involved with HTLC-based swaps, the scalability of this approach is also a concern.