﻿---
title: "Atomic Swap"
description: "Atomic swap mengoordinasikan klaim bersyarat dan pengembalian dana berikutnya pada dua chain, tetapi tidak membuat konfirmasi serentak atau menghapus biaya, risiko harga, pemantauan, dan risiko tenggat."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atomic Swap

> Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.

<a id="answer"></a>

## Jawaban langsung

Atomic swap adalah protokol asinkron untuk menukar aset tanpa memberi satu kustodian kendali atas kedua sisi transaksi. Dalam desain hashed timelock contract (`HTLC`) klasik, satu preimage mengesahkan kedua klaim dan tenggat yang tidak sama mempertahankan jalur pengembalian dana berikutnya. Atomicity bersifat bersyarat: pihak yang jujur tidak seharusnya kehilangan pokok kepada pihak lain hanya karena pertukaran dibatalkan. Ini bukan berarti konfirmasi serentak, pengembalian dana otomatis atau bebas biaya, harga pasar yang wajar, likuiditas berkelanjutan, maupun anonimitas.

Setiap implementasi harus mengikat chain atau jaringan, aset dan kontrak, jumlah mentah dan desimal, kunci penerima dan pengembalian dana, konstruksi hash, byte preimage yang tepat, skrip atau bytecode, serta semantik timelock. Dua sistem yang sama-sama menyediakan hash dan jam tidak otomatis kompatibel. Kunci waktu absolut dan relatif Bitcoin, timestamp EVM, dan finality chain lain dapat memiliki aturan yang sangat berbeda.

Swap `HTLC` klasik juga memberi pihak yang bertindak terakhir sejumlah optionality harga: pihak tersebut dapat menunda sambil memutuskan apakah eksekusi masih menguntungkan. Adaptor signature dan protokol scriptless lain mengubah jejak serta asumsi on-chain, tetapi tidak menghapus kebutuhan untuk mengaudit identitas, waktu, biaya, liveness, dan pemulihan.

<a id="mechanism"></a>

## Cara kerjanya

1. Tetapkan kedua jaringan, aset, jumlah, kurs, kunci, encoding hash dan preimage, byte kontrak atau skrip, satuan waktu, pembayar biaya, serta kebijakan konfirmasi atau finality.
2. Buat secret sekali pakai berentropi tinggi `x`, hitung `h = H(x)` secara offline, dan pastikan kedua implementasi menghasilkan digest yang sama dari byte mentah yang sama.
3. Inisiator mendanai sisi bertenggat lebih panjang. Peserta memverifikasi chain, aset, jumlah, kunci, hash, kode, dan tenggatnya, lalu menunggu kedalaman keamanan yang disepakati.
4. Peserta mendanai sisi bertenggat lebih pendek. Inisiator mengulangi pemeriksaan yang sama dan menunggu konfirmasi atau finality yang diperlukan.
5. Sebelum batas operasional yang lebih awal, inisiator mengklaim sisi pendek dengan `x`, sehingga preimage yang tepat terungkap dalam data transaksi kanonis.
6. Peserta mengamati klaim itu, memeriksa `H(x) = h`, lalu mengklaim sisi panjang dengan waktu yang cukup untuk konstruksi, broadcast, pemulihan biaya, dan finality.
7. Jika salah satu gerbang gagal, hentikan penambahan eksposur. Setelah setiap timelock yang berlaku matang, secara aktif buat atau broadcast pengembalian dana terkait dan rekonsiliasi pokok, biaya, durasi terkunci, serta bukti chain.

Anggaran waktu yang pokok adalah `T_long - T_short >= observation + construction + broadcast + confirmation/finality + reorg/operations buffer`. Nilai nominal seperti 48 dan 24 jam hanyalah contoh, bukan parameter aman universal. Timelock hanya mengaktifkan jalur pengembalian dana; timelock tidak menyiarkan transaksi atau membayar biayanya.

<a id="example"></a>

## Contoh

- **Byte hash.** Hanya untuk pengajaran, UTF-8 `abc` adalah byte mentah `0x616263`; `SHA-256(0x616263) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad`. Melakukan hash atas teks yang ditampilkan `0x616263` menghasilkan digest berbeda. Secret produksi memerlukan entropi kriptografis dan tidak boleh digunakan kembali.
- **Anggaran tenggat.** Misalkan pengembalian dana sisi panjang matang pada `48.0 h` dan sisi pendek pada `24.0 h`. Jika klaim pendek diajukan pada `22.0 h`, pengamatan memerlukan `0.5 h`, konstruksi dan broadcast `0.5 h`, serta konfirmasi chain panjang `1.5 h`, perkiraan selesai adalah `24.5 h`. Margin sisi panjang yang tersisa dalam model adalah `48.0 - 24.5 = 23.5 h`; ini bukan jaminan produksi blok.
- **Optionality harga.** Saat kesepakatan, `1 BTC` pada `$60,000` setara dengan `20 ETH` pada `$3,000`. Saat penebusan, BTC bernilai `$63,000` dan ETH `$2,800`; Alice menyerahkan `$63,000` dan menerima `20 x $2,800 = $56,000`, selisih `-$7,000` terhadap pasar saat itu sebelum biaya. Atomicity protokol tidak mengunci nilai ekonomi.
- **Ledger pembatalan.** Alice membayar `0.00020 BTC` untuk pendanaan dan `0.00025 BTC` untuk pengembalian dana, total `0.00045 BTC`, atau `$27` pada `$60,000/BTC`. Bob membayar `0.006 ETH` untuk pendanaan dan `0.004 ETH` untuk pengembalian dana, total `0.010 ETH`, atau `$30` pada `$3,000/ETH`. Pokok kembali kemudian, tetapi biaya jaringan gabungan yang tidak dapat dikembalikan adalah `$57` ditambah biaya peluang.

<a id="risks"></a>

## Risiko

- Domain chain atau jaringan salah.
- Aset native, kontrak token, atau desimal salah.
- Jumlah, kunci klaim, atau kunci pengembalian dana salah.
- Algoritma hash atau encoding byte tidak kompatibel.
- Secret berentropi rendah, digunakan ulang, atau terungkap terlalu dini.
- Jalur klaim, skrip, atau bytecode cacat.
- Jalur pengembalian dana tidak valid, tidak tersedia, atau tidak ditandatangani.
- Urutan tenggat terbalik atau buffer tidak memadai.
- Salah membaca tinggi blok, median time, timestamp, atau semantik relative lock.
- Klaim sisi pendek dan pengembalian dana berlomba mendekati tenggat.
- Reorg menghapus pendanaan, pengungkapan, atau klaim.
- Kebijakan konfirmasi atau finality tidak memadai.
- Lonjakan biaya, penghapusan mempool, sensor, atau fee bump tidak tersedia.
- Kegagalan pemantauan, RPC, indexer, wallet, atau kunci.
- Penundaan pihak lawan, griefing, dan optionality modal terkunci.
- Perubahan kurs, basis, dan likuiditas yang dapat dieksekusi.
- Cacat call EVM, reentrancy, gas, proxy, atau upgrade.
- Perilaku aset wrapped atau penerbit token, bridge, hook, rebase, atau transfer fee.
- Keterkaitan lintas chain dari hash, jumlah, dan waktu.
- Kegagalan pajak, sanksi, hukum, pencatatan, atau pemulihan bencana.

<a id="misconceptions"></a>

## Kesalahpahaman umum

- **Atomic berarti serentak.** Kedua chain bergerak secara independen melalui state machine asinkron yang berurutan.
- **Pembatalan mengembalikan semuanya secara otomatis.** Pihak biasanya harus menunggu, bertransaksi, dan membayar biaya; kegagalan pemantauan atau biaya dapat memperpanjang penguncian.
- **Dua chain mana pun yang memiliki hash dan timelock dapat saling beroperasi.** Algoritma, encoding, waktu, skrip, kontrak, dan finality harus benar-benar cocok.
- **Nonkustodial berarti tanpa risiko pihak lawan atau harga.** Griefing, optionality, volatilitas, dan ketergantungan operasional tetap ada.
- **Atomic swap menyediakan likuiditas dan privasi.** Protokol ini mengoordinasikan syarat penyelesaian, bukan menciptakan kuotasi, kedalaman, pihak lawan, atau aktivitas yang tidak dapat ditautkan.

<a id="related"></a>

## Topik terkait

- [Hashed timelock contract](/id/crypto/htlc/)
- [Bridge lintas chain](/id/crypto/cross-chain-bridge/)
- [Bursa terdesentralisasi](/id/crypto/dex/)

<a id="sources"></a>

## Sumber

- [Atomic Cross-Chain Swaps](https://doi.org/10.1145/3212734.3212736) - Association for Computing Machinery (diakses: 2026-08-13)
- [On the optionality and fairness of Atomic Swaps](https://doi.org/10.1145/3318041.3355460) - Association for Computing Machinery (diakses: 2026-08-13)
- [BIP 65: OP_CHECKLOCKTIMEVERIFY](https://bips.dev/65/) - Bitcoin Improvement Proposals (diakses: 2026-08-13)
- [BIP 112: CHECKSEQUENCEVERIFY](https://bips.dev/112/) - Bitcoin Improvement Proposals (diakses: 2026-08-13)
- [Contracts](https://developer.bitcoin.org/devguide/contracts.html) - Bitcoin Developer Documentation (diakses: 2026-08-13)
- [Transactions](https://developer.bitcoin.org/devguide/transactions.html) - Bitcoin Developer Documentation (diakses: 2026-08-13)
- [Atomic Swaps](https://docs.decred.org/advanced/atomic-swap/) - Decred Documentation (diakses: 2026-08-13)
- [Proof-of-stake (PoS)](https://ethereum.org/developers/docs/consensus-mechanisms/pos/) - Ethereum.org (diakses: 2026-08-13)

Source: https://wiki.fcontext.com/id/crypto/atomic-swap/index.mdx
