ライトニングネットワーク + スマートアセットの価値を最大限に引き出すには?
鉛
鉛
ライトニングネットワークはビットコインをベースとしたレイヤー2ソリューションで、オフチェーンチャネルを通じた即時かつ少額決済の実現、メインチェーンのリソースプレッシャーの解放、ブロックチェーンネットワーク全体のパフォーマンス向上を目的とした分散型ネットワークです。複数のチームによって同時に開発され、現在、世界のブロックチェーン業界で最も成功している拡張ソリューションの 1 つであり、最も重要な DeFi インフラストラクチャの 1 つでもあります。
ご存知のとおり、現在のライトニング ネットワークは BTC のみをサポートしており、カスタム スマート アセットの流通はサポートしていません。そして、BTCですら決済機能にすぎず、DeFiアプリケーションのニーズをまったく満たすことができません。
この目的を達成するために、ライトニングネットワークの基本原則に基づいて、オムニ仕様委員会は OmniBOLT 標準を策定しました。これは、ライトニングネットワーク内での世界初のスマート資産流通標準であり、オムニ仕様委員会が OmniLayer に次いで開始した 2 番目の主要なプロトコルです。 Omni 仕様委員会は、世界最大のデジタル資産配布プラットフォームである OmniLayer プロトコルを立ち上げたことで有名で、現在世界中で 20,000 社以上のブロックチェーン企業の運営をサポートしています。
OmniBOLT は初めて、すべてのパブリック チェーンと関連資産をライトニング ネットワークの原理に従って設計されたチャネルに接続し、Onion Network 内で相互作用できるようにし、各パブリック チェーンの双方向性を大幅に強化します。 OmniBOLT は OmniLayer の上に構築されており、基本レベルでスマート アセットをサポートしているため、BTC の高速支払いをサポートするだけでなく、次のような大きな利点もあります。
OmniLayer に基づくスマート資産の迅速な支払い。
さまざまな資産のクロスチャネルアトミックスワップ。
ライトニングチャネル上に構築された分散型取引所。
アトミックスワップに基づく住宅ローン契約。
より適用可能な DeFi (分散型金融) スマート コントラクト 興味のある読者は、OmniBOLT 仕様の第 6 章を参照してください。
住宅ローン、オンラインストア、DEX
1 ライトニングネットワークとオムニレイヤー
OmniBOLT は、Lightning Network の基本理論に基づいて、OmniLayer 上の資産を Lightning チャネル間で転送する方法と、OmniLayer 上の資産が新しい高速支払い理論からどのように恩恵を受けるかを説明します。 OmniBOLT は BTC の流通サポートに限定されず、ライトニングネットワークの基本理論を大幅に拡張して、より広範囲の資産流通をサポートし、マルチトークンのアトミックスワップを通じてより適用可能な複雑なコントラクトを実現します。現実世界のアプリケーションを効果的にサポートできます。
OmniBOLT 自体はトークンを発行しません。すべてのトークンは OmniLayer で発行され、P2(W)SH によってサポートされるチャネルを通じて OmniBOLT ネットワークに入ります。関連資産はメイン チェーンにロックされており、いつでも OmniLayer メイン チェーンで引き換えることができます。
2 主要な概念の説明
OBD: OmniBOLT デーモン、OmniBOLT デーモン プロセス。
チャネル: チャネルは、ライトニング ネットワークの Poon-Dryja チャネルを指します。チャネルは [Alice、USDT、Bob] で構成されます。これは、Alice と Bob がチャネルを作成し、USDT でリチャージすることを意味します。
アセット(プロパティ):OmniLayer上で発行されるトークンを指し、「アセット」に相当します。
シーケンス成熟度取り消し可能契約 (RSMC): 取り消し可能シーケンス成熟度契約は、元の残高よりも多くの残高を取得するために古いトランザクション コミットメントをブロードキャストする悪意のあるノードを罰するために使用されます。
ハッシュ タイムロック コントラクト (HTLC): ハッシュ タイムロック コントラクトは、直接チャネルを使用せずに 2 つのノードからトークンを転送するために複数のチャネルをリンクします。
コミットメント トランザクション: 作成されたもののブロードキャストされていないトランザクションを指し、次のコミットメント トランザクションが表示されると無効になる可能性があります。
Evil Punishment Transaction BR: 違反救済策は、シーケンス期限切れの取消可能な契約で使用されます。アリスが古いトランザクションをブロードキャストして不正行為をした場合、BR はすべての資金をボブに送金します。
取消可能な支払いトランザクション RD: アリスが最新の法的トランザクションコミットメントをブロードキャストすると、RD は 2-2 P2SH トランザクション出力から支払います。すぐにボブに送金し、現在のブロックの高さ (たとえば、100 ブロック) に対する相対値の後にアリスに送金します。
HED: HTLC 実行配信。HTLC は支払いトランザクションを実行します。
HBR: HTLC Breach Remedy,HT: HTLC タイムアウト トランザクション トランザクション
HTRD: HTLC Timeout Revocable Delivery,悪罰トランザクション
HTBR: HTLC Timeout Breach Remedy,HTLC タイムアウトにより支払いトランザクションが取り消される可能性があります
HTLC タイムアウト イービル ペナルティ トランザクションは、タイムロック期間中に古いハッシュされたタイムロック トランザクション情報をブロードキャストする当事者を罰するために使用されます。
HTLSC: Hashed TimeLock Swap Contract,アトミック スワップ アトミック スワップ: アトミック スワップ テクノロジにより、取引所などの中央集権的な媒体を必要とせずにトークン間のトランザクションが可能になります。
ハッシュ タイムロック交換コントラクトは、ハッシュ タイムロック コントラクトの 2 つの別個のセットと、特定のトークン交換レートおよびタイム ロックで構成されます。
3 契約期間が満了した場合は契約を解除することができます
悪意のある当事者が P2SH トランザクションへの署名を拒否し、相手の資金がチャネルに永久にロックされることを防ぐために、キャンセル可能なコミットメント トランザクション、つまり取り消し可能なシーケンス満期契約 (Revocable Sequence Maturity Contract) を構築しました。契約)。ここで紹介するシーケンス期限切れ取消可能契約は、Poon と Dryja によって最初に発明され、ライトニング ネットワークの最初のホワイト ペーパーで公開されました。
「資金が作成されました」というメッセージは、両当事者によってチャネルに資金が入金されたことを意味するものではありません。最初の通信ラウンドでは P2SH アドレスの作成のみが行われ、RSMC トランザクションが構築されましたが、ブロードキャストは行われませんでした。その後、アリスとボブは資金取引をブロードキャストして、実際のオムニ資産をチャネルに転送できます。
以下の図は、デポジット/コミットメントトランザクションをブロードキャストする前に行う必要があることを表しています。 BR1a (違反救済) はすぐに作成する必要はなく、次のコミットメント トランザクションが構築される前に作成できます。
要約すると、RSMC は次の 5 つのステップで構成されます。
ステップ 1: アリスは、一時的な秘密鍵 Alice2 を使用して一時的な 2-2 マルチ署名アドレスを構築し、ボブの署名を待ちます。
ステップ 2: アリスはアリスとボブからコミットメント支払い C1a を構築します。1 つの出力はアリス 2 とボブの 60USDT を指し、もう 1 つの出力はボブの 40USDT を指します。
ステップ 3: RD1a は C1a トランザクションの最初の出力であり、Alice 60USDT に支払われます。ただし、RD1a トランザクションには遅延シーケンス値があり、アリスが不正行為をしたときにすぐに 60USDT を支払わないようにします。
ステップ 4: ボブは C1a と RD1a に署名し、アリスに送り返します。
ステップ 5: OBD が償還トランザクションを構築します: C1a/RD1a
上の図は、チャネル内で行われるコミットメント トランザクションを示しており、チャネル内の状態がどのように遷移するかを示しています。
"4 ハッシュ タイムロック コントラクト"
-- Poon & Dryja, The Bitcoin Lightning Network: Scalable Off-chain Instant Payments
双方向の支払いチャネルにより、1 つのチャネル内のみで資金を安全に転送できます。マルチチャネル ネットワークを構築し、マルチホップ方式を使用して資金を宛先に安全に転送するには、追加のコントラクト、つまりハッシュ タイムロック コントラクトを構築する必要があります。
Alice ---(10 USDT)---> Bob ---(10 USDT)---> Carol ---(10 USDT)---> David.
転送に HTLC を使用するときによくある誤解は、アリスが David に 10 USDT を支払いたい場合、2 ホップで David に到達できるということです。
[Alice --(10 USDT)--> Bob] ==(Bob has two channels)== [Bob --(10 USDT)--> Carol] ==(Carol has two channels)== [Carol --(10 USDT)--> David]
[A, USDT,ライトニングネットワークには個人アカウントの概念がないため、これは混乱を招きます。ライトニングネットワークで利用できる唯一の基本的な構成要素はチャネルです。したがって、正しいジャンプは次のようになります。
B] は、A と B によって作成され、USDT でリチャージされたチャネルを表します。
アリスはチャネル [Alice, USDT, Bob] で 10 USDT をボブに転送し、次にボブは [Bob, USDT, Carol] チャネルで 10 USDT をキャロルに転送し、最後にキャロルは [Carol, USDT, David] で 10 USDT をデビッドに転送します] 。
>HTLC を設計する目的は、中間チャネルで資金が保留されず、次のチャネルに転送されないようにすることです。したがって、チャネル内の受信者が正しいキー (またはハッシュ プリイメージ) を提示した場合にのみ、お金を受け取ることができます。正しいキーを取得するには、別のチャネルでキーホルダーに同じ金額を支払わなければなりません。具体的なプロセスは次のとおりです。
ボブがアリス R を与えることができる場合、キャロルが 3 日前にチャネル [ボブ、USDT、キャロル] で 10 USDT トランザクションを行ったときにキャロルがボブに与えたこの R (Hash(R) の元のイメージ) を、ボブはから受け取ります。チャンネル [Alice、USDT、Bob] は 10 USDT 資金を受け取りました。ボブがアリス R を渡せない場合、10 USDT がアリスに返還されます。
資金移動に HTLC を使用する場合、[Alice-(10 USDT in HTLC)->Bob] は、RD1a/BR1a に関連付けられた非ブロードキャスト トランザクションである追加のリチャージ トランザクションの出力です。
5 クロスチャネルマルチアセットアトミックスワップ
一般に、アトミック スワップは異なるブロックチェーン間で発生し、信頼なしにトークンを交換し、トランザクションのどちらの当事者も不正行為の機会を持たないようにします。 OmniBOLT のチャネルは、OmniLayer が発行したあらゆる資産でリチャージできます。 USDT/BTC などのトークンを取引する必要がある場合、両当事者は暗号化ハッシュ式を使用して、一定期間内に USDT と BTC の受信者を知る必要があります。関係者のいずれかが一定期間内に取引を確認できなかった場合、取引全体がキャンセルされ、関連資金は元の口座に返されます。これにより、取引からカウンターパーティのリスクが排除されます。
- where Tx 1 transfers 1000 USDT to Bob in channel `[Alice, USDT, Bob]`, locked by Hash(R), t1 and Bob's signature.
- Tx 2 transfers 1 BTC to Alice in channel `[Alice, BTC, Bob]`, locked by Hash(R), t2(`t2 < t1`) and Alice's signature .
チャンネル間の標準的な交換プログラムを下図に示します。
ハッシュ タイムロック交換コントラクトは、ハッシュ タイムロック コントラクトの 2 つの別個のセットと、特定のトークン交換レートおよびタイム ロックで構成されます。
図に示すように、スワップ契約には 5 つのステップがあります。ステップ 3 で、アリスは [Alice, BTC, Bob] チャネルに R を入力してトランザクション 2 のロックを解除し、[Alice, BTC, Bob] に 2 BTC を取得します。したがって、ボブも R を取得し、R を使用してチャネル [アリス、USDT、ボブ] の 900 USDT のロックを解除します。
アリスが[アリス、BTC、ボブ]チャネルでRに入らず、お金を受け取らなかった場合、その時が来たら取引はキャンセルされ、双方のお金は別々に返され、どちらの当事者も苦しむことはありません損失。
各チャネルに R を入力すると、トランザクション 1 と 2 は一般のコミットメント トランザクションになります (これは、HTLC をコミットメント トランザクションに変換するプロセスと同じです)。
同時に、ボブは別のチャネル [アリス、BTC、ボブ] で別の HTLC を作成し、アリス側でそのミラー トランザクションを作成し、合意された量の BTC をアリスに送信します。タイムロック t2 は 2 日に設定され、t1 = 3 日よりも短くなります。
アトミック スワップは、多くのブロックチェーン アプリケーションの基礎です。次の章では、より直観的になり、開発者が実際のビジネスの世界向けに、より複雑なユースケースを構築するのに役立つ例をさらに紹介します。
6 つのアプリケーション: 住宅ローン、ペット ショップ、その他の可能性
次の例では、特定のシナリオでマルチレベルのアトミック スワップを使用します。関連するプロセスはチューリング完全言語 (JavaScript や Solidity など) で記述されたプログラムによって実行され、OBD API が呼び出されて基本的なタスクが完了します。すべての参加者はプログラムを実行して、すべての取引が有効であること、および関係者が誠実であることを確認します。
(Collateral Lending Contract)
住宅ローン契約
住宅ローンの融資は、次の特定の目的に役立ちます。
「あなたがエスクロー口座に担保として価値のあるものを預けると、私は適切なLTV(価値へのローン)に基づいてあなたにローンを貸します。あなたが合意した期日までに返済すれば、私はあなたの担保を返します。そうでない場合、あなたの担保はあなたのものになります」私に。"
実際には、HTLSC はローン当事者のエスクロー口座を作成します。次のシナリオを想定します。
ボブはアリスから 900 USDT を借りたいと考えており、1 BTC を担保として使用します。
ボブは交換契約を開始します (HTLSC 1)
ボブ ---「アリス: 為替契約 (1BTC、資産は USDT、為替レートは 900、タイムロックは 30 日、ハッシュ (R1)、...)
これにより、チャネル [Alice, BTC, Bob] に HTLSC が作成されます。
アリス---「ボブ: 交換契約を受け取りました (金額は 900 USDT、為替レートは 900、タイムロックは 20 日、ハッシュ (R1)、...)。
同時に、ボブは将来 1 BTC を取り戻すために償還契約 (HTLSC 2 ) を作成する必要があります。
ボブ --- 「アリス: 交換契約 (数量は 900 USDT、資産は BTC、為替レートは 1/900、タイム ロックは 60 日、ハッシュ (R2)、...)。
アリス---「ボブ: 為替契約を受け取りました (金額は 1 BTC、為替レート = 1/900、タイムロックは 50 日、ハッシュ (R2)、...)
これにより、チャネル [Alice, BTC, Bob] に HTLSC が作成されます。
両当事者が両方のスワップ契約を受け取り、その OBD が HTLSC に必要なすべての対応するトランザクションの作成に役立つ場合にのみ、ボブは R1 を使用して HTLSC 1 経由でチャネル [Alice, USDT, Bob] で 900 USDT を取得できるため、アリスはボブから 1 BTC を取得します。担保として。
しばらくして、ボブは 1 BTC を換金したいと考えています。彼は HTLSC 2 の R2 を使用して、[Alice, BTC, Bob] チャネルの HTLSC2 経由で 1 BTC を引き換えるため、Alice はチャネル [Alice, USDT, Bob] で 900USDT を取得します。
もちろん、Alice は BTC の価格に基づいて為替レートを設定できます。たとえば、ボブに為替レート 1/905 の為替契約を作成するように依頼できます。その後、ボブが BTC を引き換えると、彼女は 905 USDT を受け取ります。
オンラインペットショップ
ペット ストア アプリケーションは 1 段階のアトミック スワップのみを使用します。"PET"アリスは Omnilayer を使用して、というリリースを公開します。
アセットでは、各 PET は暗号化された猫を表します。
ボブとアリスは USDT チャネルと PET チャネルを確立し、USDT チャネルでリチャージします。
ボブは HTLSC を作成し、暗号化された子猫と引き換えにアリスに 100 USDT を支払います。
それは簡単です :-)
実際には、アリスとボブは直接チャネルを確立する必要さえありません。 HTLC を使用すると、他の人のチャンネルを借りて交換することができます。
7 ウォレットの実装と公式 API
https://github.com/omnilaboratory/OmniBOLT-spec
OmniBOLT仕様の公式アドレス:
https://github.com/omnilaboratory/obd/
OmniBOLT 仕様の実装は、公式リポジトリにアクセスできます。
Javascript API:
https://github.com/omnilaboratory/DebuggingTool/blob/master/js/obdapi.js.
APIオンラインドキュメント:
https://github.com/omnilaboratory/DebuggingTool
GUI デバッグ ツール:
[1]. Bitcoin Lightning network White Paper:lightning.network/lightning-network-paper.pdf
参考内容https://github.com/lightningnetwork/lightning-rfc
[2]. ボルト仕様:https://github.com/lightningnetwork/lnd
[3]. ライトニングネットワークプロジェクト:https://github.com/OmniLayer/spec
[4]. オムニレイヤーの仕様:https://github.com/omnilaboratory/OmniBOLT-spec
[5]. OmniBOLT 仕様:https://github.com/omnilaboratory/obd
[6].OmniBOLT プロジェクト:https://github.com/OmniLayer/omniwallet
[7].OmniLayer ウォレット:https://github.com/OmniLayer/OmniJ
[8]. OmniJ の Java 実装プロジェクト:
今号の編集者|ぜるん


