﻿---
title: "アトミックスワップ"
description: "アトミックスワップは二つのチェーンで条件付き請求と後続の返金を調整しますが、承認を同時化せず、手数料、価格、監視、タイムアウトのリスクも除きません。"
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.

# アトミックスワップ

> 教育目的の情報です。両チェーン、コントラクト、タイムアウト、手数料、返金経路を個別に検証してください。プロトコルが条件付き原子性を保っても、元本が長期間ロックされたり価値を失ったりする場合があります。

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

## 直接の答え

アトミックスワップは、単一のカストディアンに両方のレッグを管理させずに資産を交換する非同期プロトコルです。古典的なハッシュ・タイムロック・コントラクト（`HTLC`）では、一つのプリイメージが両方の請求を可能にし、異なる期限が後続の返金経路を保ちます。原子性は条件付きです。交換が中止されても、誠実な当事者は中止しただけで相手に元本を奪われない、という意味です。同時承認、自動または無料の返金、公正な市場価格、継続的流動性、匿名性を意味しません。

各実装では、チェーンまたはネットワーク、資産とコントラクト、生の金額と小数桁、請求鍵と返金鍵、ハッシュ構成、正確なプリイメージ・バイト、スクリプトまたはバイトコード、タイムロックの意味を結び付ける必要があります。ハッシュと時計を持つ二つのシステムが自動的に互換になるわけではありません。Bitcoinの絶対ロックと相対ロック、EVMのタイムスタンプ、別チェーンのファイナリティは、実質的に異なる規則を持ち得ます。

古典的な `HTLC` スワップは、最後に行動する当事者に価格の選択権も与えます。実行がなお有利かを判断しながら遅延できるためです。アダプター署名などのスクリプトレス・プロトコルはオンチェーンの痕跡と前提を変えますが、識別情報、時計、手数料、ライブネス、復旧の監査は依然必要です。

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

## 仕組み

1. 両ネットワーク、資産、金額、交換比率、鍵、ハッシュとプリイメージの符号化、コントラクトまたはスクリプトのバイト列、時計単位、手数料負担者、承認またはファイナリティ方針を固定します。
2. 高エントロピーで一度限りの秘密 `x` を生成し、`h = H(x)` をオフラインで計算し、両実装が同じ生バイトからダイジェストを再現できることを確かめます。
3. 開始者が期限の長いレッグに資金を入れます。参加者はチェーン、資産、金額、鍵、ハッシュ、コード、期限を検証し、合意した安全深度まで待ちます。
4. 参加者が期限の短いレッグに資金を入れます。開始者も同じ検証を行い、必要な承認またはファイナリティを待ちます。
5. 開始者は早い方の運用締切前に `x` で短いレッグを請求し、正規チェーンのトランザクション・データに正確なプリイメージを公開します。
6. 参加者はその請求を観測し、`H(x) = h` を検証し、構築、送信、手数料復旧、ファイナリティの時間を確保して長いレッグを請求します。
7. いずれかの判定に失敗したら、追加エクスポージャーを停止します。各タイムロックの満期後、該当する返金トランザクションを能動的に構築または送信し、元本、手数料、ロック期間、チェーン証跡を照合します。

重要な時間予算は `T_long - T_short >= observation + construction + broadcast + confirmation/finality + reorg/operations buffer` です。48時間や24時間という名目値は例にすぎず、普遍的な安全パラメータではありません。タイムロックは返金分岐を有効にするだけで、返金を送信したり手数料を払ったりしません。

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

## 例

- **ハッシュ対象バイト。** 教育用として、UTF-8の `abc` は生バイト `0x616263` です。`SHA-256(0x616263) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad` となります。表示文字列 `0x616263` 自体をハッシュすれば別のダイジェストになります。本番の秘密には暗号学的エントロピーが必要で、再利用してはいけません。
- **タイムアウト予算。** 長いレッグの返金満期を `48.0 h`、短いレッグを `24.0 h` とします。短いレッグの請求を `22.0 h` に送信し、観測に `0.5 h`、構築と送信に `0.5 h`、長いチェーンの承認に `1.5 h` を要すると、完了見込みは `24.5 h` です。モデル上の残り余裕は `48.0 - 24.5 = 23.5 h` ですが、ブロック生成の保証ではありません。
- **価格選択権。** 合意時に `1 BTC` が `$60,000`、`20 ETH` が1 ETH当たり `$3,000` で同価値とします。請求時にBTCは `$63,000`、ETHは `$2,800` です。Aliceは `$63,000` を渡して `20 x $2,800 = $56,000` を受け取るため、その時点の市場価値との差は手数料前で `-$7,000` です。プロトコル原子性は経済価値を固定しません。
- **中止台帳。** Aliceは資金投入に `0.00020 BTC`、返金に `0.00025 BTC`、合計 `0.00045 BTC` を払い、換算額は `$27`、使用レートは `$60,000/BTC` です。Bobは資金投入に `0.006 ETH`、返金に `0.004 ETH`、合計 `0.010 ETH` を払い、換算額は `$30`、使用レートは `$3,000/ETH` です。元本は後で戻りますが、返還不能なネットワーク費用は合計 `$57` で、機会費用も生じます。

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

## リスク

- チェーンまたはネットワーク・ドメインが違う。
- ネイティブ資産、トークン・コントラクト、小数桁が違う。
- 金額、請求鍵、返金鍵が違う。
- ハッシュ・アルゴリズムやバイト符号化に互換性がない。
- 秘密のエントロピーが低い、再利用される、早く公開される。
- 請求分岐、スクリプト、バイトコードに欠陥がある。
- 返金経路が無効、利用不能、未署名である。
- タイムアウト順序が逆、または余裕が不足する。
- ブロック高、中央値時刻、タイムスタンプ、相対ロックを誤読する。
- 満期近くに短いレッグの請求と返金が競合する。
- リオーグが資金投入、公開、請求を取り消す。
- 承認またはファイナリティ方針が不十分である。
- 手数料高騰、メンプール排除、検閲、手数料引上げ不能が起きる。
- 監視、RPC、インデクサー、ウォレット、鍵が故障する。
- 相手の遅延や妨害、ロック資本の選択権が生じる。
- 交換比率、ベーシス、実行可能流動性が動く。
- EVM呼出し、リエントランシー、ガス、プロキシ、アップグレードに欠陥がある。
- ラップド資産や発行者、ブリッジ、フック、リベース、送金手数料の挙動が影響する。
- ハッシュ、金額、時刻の再利用からクロスチェーンで関連付けられる。
- 税、制裁、法務、記録管理、災害復旧に失敗する。

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

## よくある誤解

- **アトミックは同時という意味である。** 二つのチェーンは順序付き非同期状態機械で独立に進みます。
- **中止すれば全額が自動返金される。** 通常は待機、トランザクション送信、手数料支払が必要で、監視や手数料の障害はロックを延ばします。
- **ハッシュとタイムロックがあればどの二チェーンも相互運用できる。** アルゴリズム、符号化、時計、スクリプト、コントラクト、ファイナリティが実際に一致する必要があります。
- **非カストディ型なら相手方リスクも価格リスクもない。** 妨害、選択権、ボラティリティ、運用依存は残ります。
- **アトミックスワップは流動性とプライバシーを提供する。** 決済条件を調整するだけで、気配、板の厚み、相手方、関連付け不能な活動は作りません。

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

## 関連トピック

- [ハッシュ・タイムロック・コントラクト](/ja/crypto/htlc/)
- [クロスチェーン・ブリッジ](/ja/crypto/cross-chain-bridge/)
- [分散型取引所](/ja/crypto/dex/)

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

## 出典

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

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