ビットコインで取引したことがある場合は、1時間(または最悪の場合は1日)の取引時間に苦しんでいる可能性があります。ビットコインが持つことは当たり前になりつつあります 15万件以上の未確認トランザクションのバックログ 取引量が多いとき、そしてこれを法外な料金と組み合わせると、これをどのように使用するのか不思議に思います KFCでその5ピースの食事の支払い.

ライトニングネットワークはそれを支援するためにここにあります。このコンセプトは、タデウス・ドライヤとジョセフ・プーンの発案によるものであり、デュオはそれを提示しました 白書 2015年にさかのぼります。技術用語でいっぱいの長い紙のチョークを読むことにあまり熱心でない場合は、ここで素人の言葉でレイアウトします。.

ライトニングネットワークとは?

最も基本的なレベルでは、ライトニングネットワークはビットコインユーザーがビットコインブロックチェーンから通貨価値を交換するための方法です。これは、ビットコインの基本スクリプトと相互作用するいくつかの複雑なアルゴリズムを使用して実現され、その通り、わずかな取引手数料で非常に迅速な支払いが可能になります。そのため、これは必要なスケーラビリティツールとして提示されており、ビットコインが将来実行可能な支払いオプションになりたい場合に必要となるツールです。この方法は、クロスチェーンアトミックスワップにまで拡張できます。これらのスワップは、2つの異なる通貨/ブロックチェーン間で行われることを除いて、実際には同じです。ここでは、アトミックスワップについて詳しく説明します。.

あまりにも単純な説明をカバーしたので、今度はもっと長い説明をします。.

ライトニングネットワーク:仕組み

二国間決済チャネルを開く

ライトニングネットワークの使用を開始するには、支払いチャネルを設定する必要があります。支払いチャネルは、ライトニングネットワークが価値を移転するためのトランザクション手段です。確立するには、このチャネルのトランザクションをブロックチェーンで直接開く必要があります.

「しかし、これはすべてオフチェーンで行われるとおっしゃっていたと思いますか?」心配しないでください。それでも問題はありませんが、最初にビットコインネットワークにトランザクションを開始していることを通知する必要があります。これを行うと、あなたとあなたが取引している相手は、あなたがチャネル上で行う交換のあなた自身の貸借対照表を保持します。取引と更新された口座残高は、資金が移動するたびにこの台帳に記録されます。チャネルでビジネスを行った後、最終結果をブロックチェーンにブロードキャストして口座を閉鎖します.

マルチシグニチャウォレット

「では、支払いチャネルがオフチェーンで行われる場合、ブロックチェーンに記録されるまで、資金はどこで/どのように管理されますか?」なんて格好良い質問でしょう。支払いチャネルを使用するには、両方の当事者がマルチシグニチャウォレットアドレスに資金を送る必要があります.

モリーとスティーブがスーパーボウルの結果に賭けたとしましょう。彼らはそれぞれ1BTCを賭け、もう一方がバーゲンの終わりを保持していることを確認したいので、両方の資金をマルチシグニチャウォレットに預け入れます。このウォレットは預金の金庫のように機能しますが、トランザクションの秘密鍵のセットは、どちらかの当事者が資金にアクセスできるようにする組み合わせのように機能します。資金は、次の場合までウォレットにロックされたままになります。

  • モリーとスティーブの両方がこれらの秘密鍵を使用して最終的なトランザクションに署名します,
  • 一方の当事者が自分でトランザクションを完了することを決定するか、または
  • 制限時間に達すると、トランザクションが自動的に送信されます。これが発生すると、資金はいずれかの当事者の個々のウォレットに戻されます.

マルチシグニチャウォレットを正常にセットアップするために、モリーとスティーブの両方が値(基本的にはトランザクションのロックを解除するための秘密鍵)を作成し、それを使用してハッシュを作成し、相互に送信します。この情報を保持します。コミットメントトランザクションが後でどのように機能するかを理解することが重要です。.

モリーとスティーブがそれぞれの資金をマルチシグニチャウォレットに預けると、いわゆる オープントランザクション そしてそれをブロックチェーンにブロードキャストします。これが放送されると、一連の コミットメントトランザクション その後、資金を管理するために使用されます.

コミットメントトランザクションによる価値の移転

結局、モリーは賭けに勝ったが、彼女はいいので、スティーブは1ではなく0.5 BTCしか借りていないと彼女は言う。この富の移転を開始するために、モリーとスティーブの両方がコミットメントに署名することによって支払いチャネルのそれぞれの残高を更新するトランザクション。コミットメントトランザクションは、相互の合意に従って両方の参加者間で資金を分割します。基本的に、これらのトランザクションは、支払いチャネルが閉じられると支払われるIOUのように機能します。.

たとえば、値を交換するために、モリーは1.5 BTCを自分自身に送信し、.5を新しいマルチシグニチャウォレットアドレスに送信するトランザクションに署名します。次に、彼女はこのトランザクションに署名し、そのハッシュをSteveに送信します。次に、スティーブはモリーをミラーリングするコミットメントトランザクションに署名します。そこでは、.5 BTCを自分に送信し、1.5を別のマルチシグニチャウォレットに送信します。次に、これに署名し、このトランザクションのハッシュをモリーに送信します.

ライトニングネットワークトランザクション

つまり、a)支払いチャネルのマ​​ルチシグニチャウォレットにある元の2 BTC、b)スティーブに支払われるマルチシグニチャウォレットにある.5 BTC、およびc)マルチシグニチャにある1.5BTCがあります。モリーに支払われる財布。事実上、いずれかの当事者がそれぞれのトランザクションハッシュを送信すると、両方の当事者が転送に同意したため、支払いチャネルのマ​​ルチシグニチャの貸借対照表が更新されます。ヴィオラ、ビットコインのブロックチェーンを使用せずに通貨が交換されました.

これらのウォレットの値は、次の3つの条件下でのみロックを解除できます。

  1. 一定の時間が経過する,
  2. いずれかの当事者が、ウォレットの値(キー)を使用して設定したマルチシグニチャウォレットから資金のロックを解除するか、
  3. 両当事者は、一緒にトランザクションを承認することを決定します.

ある当事者がチャネルを閉じてトランザクションのみをサインオフすることを決定した場合、トランザクションが署名された時点から(契約によって決定された)所定の時間待機する必要があることに注意することが重要です。彼/彼女の資金を受け取るために。これは過度に思えるかもしれませんが、支払いチャネルを介した不正行為を防ぐことが不可欠です。これについては後で詳しく説明します。.

定期支払い/チャネルの更新

モリーとスティーブがチャンネルを更新し続けるか、複数の交換をしたい場合はどうなりますか?

これをさらに説明するために、スティーブがヘアカットのような定期的なサービスにモリーにお金を払っていたとしましょう。スティーブは0.2BTCをマルチシグニチャウォレットに預け入れ、ロックをトリミングするたびに、0.001 BTCのコミットメントトランザクションに署名して、新しいマルチシグニチャアドレスに送信します。これを行うには、最初のコミットメントトランザクションが署名されるまでに完了しているため、ネットワーク上でトランザクションを開くことなく、先ほど行った手順を繰り返す必要があります。.

したがって、定期的な支払いを処理するには、マルチシグのアカウント残高を毎回更新する必要があります。これを行うために、スティーブは散髪をするたびに、モリーに支払うために設定したマルチシグニチャウォレットに新しい金額をコミットしました。しかしそうすることで、彼はこの新しいトランザクションのために新しい値と新しいハッシュを作成します。 Mollyも同じことを行い、両方の当事者が新しいハッシュを交換すると、前のトランザクションの古い値(キー)も含まれます.

事実上、これにより、どちらの当事者も相手をだますことができなくなります。支払いチャネルを閉じたときに、スティーブが古い取引金額をブロードキャストしてモリーの支払いをだまそうとした場合、彼は困っています。.

たとえば、チャネルを閉じるときに、スティーブが預けた元の2BTCからモリー1BTCを借りているが、元の取引に署名して元の金額を自分に与える場合、モリーは以前のすべての取引からの値を持っているので、彼に電話をかけることができます。さらに、スティーブは両当事者が合意した時間枠に従って取引が完了するまで待たなければなりませんが、モリーズは即座に取引を行います。したがって、サービスに対して0 BTCが支払われていることがわかった場合、彼女はこのトランザクションのキーを持っているため、マルチシグニチャウォレットの2 BTCをサインオフできます。これにより、資金のロックを解除できます。.

したがって、一方の当事者がもう一方の当事者をだまそうとすると、相手方には悪意のある当事者のすべての資金が与えられます。このペナルティは、悪意のある人物が支払いチャネルの共有資金配分を悪用するのを阻止するために設けられています。.

さらに、この不正行為を発見したノードオペレーターと鉱夫は、モリーがオンラインでない場合にモリーに代わって不正行為に気付くことができます。代償として、これらの守護天使は、彼らのサービスに対して取引された通貨で報奨金(手数料)を授与されます.

支払いチャネルを閉じる

モリーとスティーブがアカウントを閉鎖する準備ができたら、秘密鍵を使用してトランザクションに署名するだけで、最終的なアカウントの残高をブロックチェーンにブロードキャストできます。この時点で、鉱夫は通常どおりにそれを確認し、公共の台帳に保管します。開始トランザクションと同様に、この終了トランザクションは、いずれかの当事者がビットコインのブロックチェーンと行う唯一のやり取りです。.

あるいは、2つの当事者が契約期間の有効期限を設定することもできます。たとえば、nLockTimeアルゴリズムを使用すると、支払いチャネルを30日間開くことができます。その後、チャネルが閉じられ、最終的な残高がブロックチェーンにブロードキャストされます。ただし、当事者が残高を更新するたびに、有効期限が短くなります。したがって、モリーとスティーブがシーズンを通して複数のサッカーゲームに賭けていた場合、賭け金が支払われるたびに、nLockTime契約の有効期限が短くなります(たとえば、最初のコミットメントトランザクションが30日で完了する場合、 2番目のトランザクションは29で支払い、3番目のトランザクションは28で支払い、というように続きます).

nLockTime契約の目的は単純です。それは、アカウントの残高を最新の状態に保ち、一方の当事者がアカウントステートメントを改ざんするのを防ぎます。前に説明したように、コミットメントトランザクションが合意されるたびに、古いアカウントの残高が新しいアカウントの残高に置き換えられ、各関係者はこの新しい残高と古いトランザクションの値(キー)の記録を持ちます。いずれかの当事者が他の当事者を詐欺しようとすると、詐欺的な当事者は罰せられます.

マルチチャネル支払いとハッシュタイムロック契約

「モリーとスティーブがお互いにビットコインを送りたいのに、支払いチャネルが開いていない場合はどうなりますか?」まあ、彼らは仲介を通過することができます。この男をチャックと呼びます–チャックにこんにちは.

結局、モリーとスティーブは両方ともチャックで支払いチャネルを開いているので、新しいチャネルを開く代わりに、チャックを介して取引するためにそれぞれの双方向の支払いチャネルを私たちに決定します.

さて、これは理論的には信頼できる取引であるため、トリックは安全な方法で交換を促進することです。これを行うために、ライトニングネットワークはハッシュタイムロックコントラクト(HTLC)を実装します.

HTLCを使用したライトニングネットワーク決済チャネル

モリーがスティーブに0.5BTCを与えたいと言ったのは、彼女がそのように本当に素晴らしかったからです。まじめな話、なんて桃なのでしょう。そのためには、スティーブは値(基本的には確認コードまたはキー)と呼ばれる暗号化番号の文字列を作成する必要があります。次に、この値のハッシュを作成してモリーに送信します。この記述された図を簡略化するために、値をVで表し、ハッシュをHで表します。.

モリーがHを受け取ると、彼女はそれをチャックと共有します。この時点で、モリーはVを明らかにした場合にのみチャックに0.5 BTCを送信します。Vを取得するために、チャックはVと引き換えに自分のBTCの0.5をスティーブに送信します。この番号を取得すると、モリーはVをモリーに送信します。チャックへのBTC。そして、あなたはそれを持っています-モリーは効果的に0.5BTCをスティーブに転送しました.

迷子になった場合に備えて、次のようになりました。

スティーブはVとHを作成→スティーブはHをモリーに送信→モリーはHをチャックに送信→チャックはBTCをスティーブに送信→スティーブはVをチャックに送信→チャックはVをモリーに送信→モリーはBTCをチャックに送信

したがって、値(V)は、トランザクションの受信/ロックを表すハッシュ(H)の確認コード/キーとして機能します。.

「それはすべて素晴らしいことですが、モリーはチャックが彼女に送る価値が正当であることをどのように知っていますか、そしてスティーブがBTCチャックで逃げるのを妨げているのは何ですか?」

繰り返しますが、良い質問です。 nLockTimeが双方向の支払いチャネルですべての人を正直に保つように、ハッシュ時間ロック契約はこのモデルで当事者に説明責任を負わせます.

HTLCを使用すると、取引中のビットコインファンドはマルチシグニチャウォレットに再びロックされ、a)値(V)とハッシュ(H)が提示された後、またはb)タイムアウト期間後に契約が期限切れになった後にのみロックを解除できます.

事実上、これは、モリーとチャックがスティーブに支払うことでモリーと合意したとき、彼女はHTLCを使用してチャックに借りているビットコインをマルチシグニチャウォレットにロックすることを意味します。チャックがスティーブに支払い、Vを受け取ると、彼はVとHをHTLCに入力して、契約にコミットしたビットコインモリーで払い戻しを受けることができます。あるいは、チャックがバーゲンの終了を延期できず、たとえば1週間後に契約が期限切れになった場合、モリーのビットコインは解放され、彼女の個人的な財布に戻ります。.

同じやり取りがチャックとスティーブ自身の支払いチャネルでも行われます。チャックは、スティーブがVを明らかにするまで、ビットコインをスティーブに放棄することはできません。スティーブがマルチシグ契約にVを明らかにすると、チャックはVを持ち、スティーブはBTCを受け取ります。.

このプロセスは、理論的には、複数の支払いチャネルと複数の個人を通じて実行できます。.

ライトニングネットワーク図

まとめ:ライトニングネットワークが重要な理由

複雑なトピックです。この情報を消化可能なチャンクに合成することは十分に困難だったので、これほど長くそれを維持するためにあなたに乾杯.

TL; DRの要約:ライトニングネットワークは、個人がこれらすべてのトランザクションをオンチェーンにすることなく、通貨を複数回交換できるようにするオフチェーンシステムです。代わりに、2つのトランザクション(および開始と終了)のみがブロックチェーンに記録され、他のすべてのトランザクションは、存在する可能性がある限り、オフチェーンノードのセカンダリレイヤーを介して処理されます.

このモデルには、いくつかの重要な利点があります。

効果的なマイクロトランザクション: ライトニングネットワークは、マイクロトランザクションを対象としています。転送される価値を上回る可能性のある法外な料金を支払う代わりに、Lighting Networkを使用すると、ユーザーはビットコインネットワークを直接経由せずに、小額の通貨を相互に送信できます。彼らはまだノードの運用に料金を支払う必要がありますが、ビットコインの通常のネットワーク料金と比較するとごくわずかです.

スケーラビリティとレイテンシのソリューション: 前のポイントに沿って、ライトニングネットワークはネットワークの肥大化を削減します。オンチェーントランザクションの数を減らすことは、マイナーの作業が少なくなることを意味します。つまり、トランザクション時間が短縮され、料金が低くなります。すべてのトランザクションをブロックチェーンのパブリック台帳に配置する必要がない場合、ネットワークははるかにスムーズに実行されます。さらに、ライトニングネットワークのトランザクションはチェーン上のトランザクションよりもはるかに高速です.

おそらく、平均的なユーザーが、今説明したマルチステッププロセスを適切にナビゲートできるのか疑問に思われるかもしれません。そうですね、Dryja、Poonなどは、複雑な手順をすべて実行するアプリケーション/インターフェースに取り組んでいます。必要なのは、いくつかのボタンを押すことだけです。.

現在、ライトニングネットワークはビットコイン、ライトコイン、およびヴァートコイン向けに開発されています。ライトニングネットワークはまだ テストネット, また、本書の発行時点では、主要なネット発売日はまだ確認されていません。.