477 / 736BOLTZ

Boltz

Bitcoin、Lightning、他レイヤー間のスワップ

普通のウォレットにあるビットコインをLightningで使いたい。あるいは、その逆をしたい。Boltzはこうした使い方をつなぎます。交換の流れ、費用、完了や資金回復に必要なことを説明します。

Boltzは、Bitcoin、Lightning、ほかの対応ネットワーク間で交換するためのサービスとオープンなソフトウェアです。この交換をswapと呼びます。たとえば普通のウォレットからビットコインを送り、反対側では高速なビットコイン決済のためのLightningネットワークで受け取ります。同じBitcoinの出力が別の環境へ移るのではなく、条件付きのトランザクションが両側を結びます。これがAtomic Swap、各部分を暗号学的な条件でつないだ交換の考え方です。ただし、すべてが自動的に完了する保証ではありません。アプリの正しい動作、保存した鍵、期限に間に合う送信も必要です。Boltzは移動に使うもので、長期の貯蓄を置く口座ではありません。

まず方向を確認しましょう。メインチェーンのビットコインをLightningウォレットに入れたいなら、Submarine Swapを使います。ブロックチェーンに記録されるオンチェーン取引で払い、Lightningで受け取る方法です。Reverse Swapは逆方向です。支払い情報を含む請求であるLightningインボイスを払い、チェーン上の資金を受け取る権利を得ます。Chain SwapはBitcoinとLiquidなど二つのチェーンをつなぎます。後の二種類では、アプリが資金を実際に受け取るclaim取引を送信しなければなりません。支払うだけでは、自分側の作業は終わらないのです。また、Liquidで受け取るL-BTCはその別ネットワークの資産であり、Bitcoinメインチェーンの通常の出力ではありません。確認前に移動先のネットワークも見ておきましょう。 [1]

サーバーから送付先アドレスと金額を受け取ったとします。追加の検証がなければ、合意したswapと一致していると単に信じることになります。Boltzクライアント、つまり自分の端末で動くアプリは、金額を自分で計算し、Lightningインボイスの支払いハッシュを確かめる必要があります。ハッシュは計算で作る指紋のようなもので、支払いを正しい交換に結びます。アプリはさらに、アドレスと、誰がいつ使えるかを定めるスクリプトを検証します。Bitcoin出力の構成方法であるTaprootでは、鍵と、可能な支出条件を整理したスクリプトツリーも対象です。利用者が手計算する必要はなく、実際に検証するクライアントを使うことが重要です。サーバーから返されたアドレスを表示するだけでは足りません。boltz-web-appの公開コードは調査できますが、別の連携やブラウザーに読み込まれたアプリの正しさまで証明するものではありません。 [5] [9]

swapのアドレスは、必要額を少しずつためる口座ではありません。Boltz文書では、ルールに従って資金をロックする最初の送金、lockup取引を一度だけ行うよう求めています。同じアドレスへの後の送金は足し合わされず、交換には最初のものだけが使われます。少なく送りすぎても、自動的に差額を送らないでください。Chain Swapでは返金の代わりに、実際の着金額に基づく新たな見積もりをクライアントが提示できる場合があります。ただし、十分な時間が残り、金額が制限に合い、返金であるrefundの署名がまだ作られていない必要があります。サービス側の資金も必要です。これは金額を間違えたChain Swapの特定の手順で、失敗した送金をいつでも追加で補えるという意味ではありません。 [2] [8]

費用を比べるときは、広告の割合だけでなく、全体の流れを見ます。Boltzのサービス料に加え、各チェーン上の取引にも費用がかかります。Reverse Swapの技術情報にあるonchainAmountは、Boltzが自分のlockup費用を考慮した後、あなたのためにロックする金額です。それはまだウォレットへの正味入金ではありません。資金を受け取る自分のclaim取引にも支払いが必要だからです。Chain Swapでは最初に送る自分の取引も負担します。総支出と最終的な受取額を比べましょう。料率、最低額、上限は方向とネットワークの組み合わせによって決まり、ネットワーク状況でも変わります。昔の広告例は現在の見積もりではありません。 [6]

送金後にSubmarine SwapやChain Swapが失敗すると、資金回収に自分の取引が必要な場合があります。そのためにはrefund鍵と保存したswap情報が必要です。Taprootでは、Boltzの協力によって、時間条件を待たずに共同署名する速いkey path refundが可能な場合があります。協力が得られなければ、あらかじめ定めたスクリプトに従うscript pathを使い、取引ルールの時間制限であるtimelockが満たされた後に返金できます。この選択肢自体が取引を送るわけではなく、クライアントが実行します。一方、Reverse Swapのまだ決済されていないLightning支払いの取消は、待機中の資金を戻す別のケースです。そこから、あらゆるアプリ障害や受け取り忘れが自動的に回復すると考えることはできません。 [3]

Reverse Swapでは、Lightning決済とチェーン上の資金を受け取ることは別の出来事です。invoice.settledという状態は、Boltzがpreimageを得たことを意味する場合があります。これは、そのハッシュに結び付いた支払いを完了できる秘密の値です。サーバーは、その後アプリが実際にclaimを送信したかどうかを追跡しません。したがってクライアントは、自分に割り当てられた資金である出力を確認し、相手側が取り戻せる境目であるtimeoutの前に受け取る必要があります。アプリ終了、データ紛失、低すぎる取引手数料は完了を難しくします。通知はアプリを起動する助けになりますが、送信済み取引の代わりにはなりません。緑色の成功表示だけでなく、実際の受領で判断しましょう。 [1] [2]

通常のウォレットのバックアップには、未完了のswapに必要な情報がすべて入っているとは限りません。Boltz Rescue Keyは、対応する復元手順のためのバックアップ単語列です。Swap Restoreはこれを使い、個々の未使用の取引出力を扱う対応UTXO swapの情報を再構築します。クライアントは関連するswapを見つける拡張公開鍵xpubと、対応する秘密鍵を導出します。claimにはpreimageの正しい復元も必要です。別アプリの出発点となる秘密値seedなら何でも使えるわけではなく、導出方法と復元形式が一致する必要があります。秘密鍵は端末に残ります。送ったxpubで資金を使うことはできませんが、swap履歴はBoltzサーバーに伝わります。通常のウォレットの控えとともに、利用したクライアントの記録や、手元にある以前のrefundファイルも保存しましょう。 [4] [2]

取引はブロックに入る前にネットワークへ現れます。その段階で受け入れることを0-conf、ゼロ承認と呼びます。Boltz文書では、full-RBFの普及によりBitcoinメインチェーン上でこのような利用者の入金を受け付けないとしています。full-RBFは、一定の条件で、元の取引が許可を示していなくても、未承認取引をより高い手数料の取引に置き換えられるルールです。一方、Reverse Swapで未承認取引を受け入れるなら、リスクは受取人が負います。あるネットワークの組み合わせのルールを、すべてに当てはめることはできません。また、文書が読めても、サービスが今あなたの移動に必要な資金を持っている証明にはなりません。支払う前に、現在の条件、完了までの時間、個別のswap状態を確認してください。 [7] [6]

理解を深めるには、この項目とあわせて次もお読みください セルフカストディ, Submarine Swap, Lightning Network, Timelock. 次の項目からも参照されています Bull Bitcoin.

DOC · 001Boltz — Swap directions and lifecycle文書 DOC · 002Boltz — Client integration requirements文書 DOC · 003Boltz — Claims and refunds文書 DOC · 004Boltz — Rescue key and Swap Restore文書 DOC · 005Boltz — Verify server responses文書 DOC · 006Boltz — Swap limits and full fee components文書 DOC · 007Boltz — Zero-confirmation policy文書 DOC · 008Boltz — Chain swap renegotiation文書 DOC · 009Boltz — Official web client source一次資料
改訂日: 一次資料を優先 · 投資助言ではありません