クロスチェーンスワップ

クロスチェーントランザクションは、過程に第三者(例: 両替サービス)が入ることなく、 異なるブロックチェーン 間での トークントレード を可能にします。

../_images/cross-chain-swap.png

パブリックとプライベートネットワーク間のアトミッククロスチェーン交換

トラストレスな交換環境を作るために、特定のトランザクションが要求されます。一般的に Hashed TimeLock Contract (HTLC)と呼ばれる特定のトランザクションタイプが必要です。このトランザクションタイプは ハッシュロックタイムロック の2つの追加コンポーネントによって特徴付けられます。徹底した説明は Bitcoin Wiki で閲覧できます。

つまり、カウンターパーティーリスクを軽減させるために、支払の受信者はトランザクションを実行するための証拠を提示する必要があります。それに失敗した場合、1人のアクタだけが同意しなくても、期限に到達した後にロックファンドはリリースされます。以下の図はクロスチェーンスワッププロトコルを図示したものです。

../_images/cross-chain-swap-cycle.png

アトミッククロスチェーンスワップ シーケンス図

NEM トークンについて話すときには、本当によく モザイク を参照します。Catapult は シークレットロック / シークレット証明トランザクション を通じてアトミックスワップを可能にします。

ガイド

注釈

⚠ 最新リリースでは重大な変更が加えられています。まだSDKは整備されていないので、ガイドを進める場合は catapult-service-bootstrap 0.1.0 を使用することを推奨します。

スキーマ

注釈

設定パラメータは 編集可能 です。公開ネットワークとは異なる可能性があります。

SecretLockTransaction

クロスチェーンスワップを行うために、シークレットロックトランザクションを使用します:

  1. 送信先のアカウントに送りたいモザイクの単位を定義してください。
  2. proof と呼ばれるランダムなバイトセットを生成してください。
  3. 得られた proof を利用可能なアルゴリズムの1つでハッシュ化して secret を生成します。
  4. モザイクがロックされる時間を選択し、トランザクションをアナウンスします。

特定のモザイクは妥当な シークレットプルーフトランザクション がそれらをアンロックするまで、ロックされたままになります。

トランザクションが証明されずに期間に到達した場合、ロックされた総量はロックトランザクションを開始したアカウントへ戻ります。

バージョン: 0x01

エンティティタイプ: 0x4152

インライン

プロパティ タイプ 説明
mosaic Mosaic ロックされたモザイク
duration uint64 ロック期間。到達した場合、モザイクはトランザクション開始者へ返還されます。
hashAlgorithm LockHashAlgorithm proof に使用されているハッシュアルゴリズム
secret 64 bytes (binary) ハッシュ化された証明
recipient 25 bytes (binary) ロック後、ファンドを受け取るアドレス

SecretProofTransaction

シークレット証明トランザクションは シークレットロックトランザクション のアンロックに使用します。

トランザクションはモザイクをアンロックするための proof を証明しなければなりません。

バージョン: 0x01

エンティティタイプ: 0x4252

インライン

プロパティ タイプ 説明
hashAlgorithm LockHashAlgorithm proof に使用されているハッシュアルゴリズム
secret 64 bytes (binary) ハッシュ化された証明
proofSize uint16 バイト換算のプルーフサイズ
proof array(byte, proofSize) 元の proof

LockHashAlgorithm

Enumeration: uint8

Id 説明
0 (SHA_3) sha3 256 によってハッシュ化された入力
1 (Keccak) Keccak によってハッシュ化された入力
2 (Hash_160) 最初に Sha-256 を、その後 RIPEMD-160 によって2回のハッシュ化された入力 (bitcoin’s OP_HASH160)
3 (Hash_256) Sha-256 によって2回のハッシュ化された入力 (bitcoin’s OP_HASH256)