中本atは、2008年10月31日金曜日に、暗号化メーリングリストに「完全にピアツーピアで、信頼できるサードパーティを持たない新しい電子現金システム」の提案を送信しました。ジェームズA.ドナルドは次のように書いています。「しかし、私があなたの提案を理解する方法では、必要なサイズに拡大できないようです。」
10年経った今でも、その批判は真実です。 ビットコインの最も熱心な伝道者でさえ、毎日の小さな買い物には価値がないことを認めています。 しかし、現在進行中の最も有望なビットコインスケーリングプロジェクトの1つであるLightning Networkは、それを変える可能性があります。
ライトニングネットワーク
2017年7月に開催されたBlockstack Summitで、Lightning LabsのCEOエリザベス・スタークは、中本の電子現金に対する最初の批判を引用しましたが、ビットコインは実際にスケールできるという自信を表明しました。 「ブロックチェーンと分散型テクノロジーに関しては、基本的に1995年に再び来ました」と彼女は語り、インターネットがHTTPとTCP / IPの他のトランスポート層とアプリケーション層を獲得するまでの時間について言及しました。
最も話題になっているビットコインブロックチェーンの「レイヤー2」アプリケーションには、稲妻ネットワークがあります。 ジョセフ・プーンとタッジ、別名タデウス・ドライヤによって2015年に最初に提案された(彼らのホワイトペーパーの最新バージョンはこちらから入手可能)独自の実装:Lightning Labsにはlnd、Blockstreamにはc-lightning、ACINQにはeclairがあります。 また、雷などの非BOTLS実装も開発されています。
稲妻ネットワークはすでに稼働していますが、非常に初期の段階です。 実際のビットコインは、Lightning Labs、Blockstream、ACINQの実装を使用して送信され、ほぼ常に受信されており、3つすべてが相互運用可能です。 以下のビデオでは、ACINQエンジニアが0.000001ビットコイン(約$ 0.01)をc-lightningノードを介してほぼ瞬時にエクレアノードからlndノードに送信しています。
これがどれだけ改善されているかを確認するために、モバイルウォレットアプリであるGreenAddressを使用して、ビットコインブロックチェーンで同様のトランザクションを試みました。 アプリは、鉱夫に0.00001907 BTC(0.19ドル)を支払うことを提案しました:1, 907%の手数料。 その料金が内で確認することを意図したブロックの数は明確ではありませんが(GreenAddressに連絡して調べました)、答えはおそらく6ブロック、または約1時間です。
ただし、その特定のトランザクションが実際にどれくらいの時間を要したかはわかりません。エラーメッセージにより、「サトシ546未満の出力は、Bitcoinによって不経済なダストと見なされます。値を増やしてください。」
また、Lightning Labsは、ネットワークを使用してクロスチェーンアトミックスワップをテストしました。 これらは異なるブロックチェーン、この場合はビットコインとライトコインの間での価値の移転であり、分散型取引所を構築するための第一歩を潜在的にマークします。
ライトニングは、ビットコインだけではできないマイクロペイメントを可能にしますが、既存の実装にはまだバグがあります。 Starkは、ライブファイアーの「メインネット」ではなく、ビットコインの「テストネット」を使用して(つまり、偽金を使用して)稲妻について学ぶようユーザーに促しています。 しかし、執筆時点で約50, 000ドル相当のトランザクションがメインネット上で実行されており、一部の人々はc-lightningバグでお金を失っています。 (ブロックストリームのコア技術エンジニアであるクリスチャン・デッカーは、ほとんどの場合、最終的に資金が回収されたとメールで教えてくれました。)
では、雷はどのように機能しますか?
ライトニングの仕組み
Lightningのソリューションは、双方向のオフチェーン支払いチャネルに基づいています。 アリスとボブが頻繁に少量の取引をしているとしましょう。 この場合、手数料と長い確認時間がかかるため、チェーン上の支払いは実用的ではないため、ビットコインを即座に無料で送受信できるようにするチャネルを開くことにしました。
チャンネルを開く
チャンネルを開くには、アリス、ボブ、またはその両方が、資金調達取引(下図の緑色のボックス)と呼ばれるものを介して、特定のアドレスに一定量のビットコインを寄付します。 アリスが1 BTCに貢献したと言います。 彼女は、資金を2-of-2マルチシグアドレスに送信します。これには、アリスとボブの両方が、送信トランザクションを秘密鍵で暗号化して「署名」する必要があります。 通常のトランザクションでは、送信アドレスの公開鍵に対応する(単一の)秘密鍵の署名のみが必要です。
重要なのは、資金調達取引がまだ署名されていないか、ネットワークにブロードキャストされていないことです。
次に、アリスとボブは、資金取引を「親」として使用して「コミットトランザクション」を作成します。1BTCの未確認出力を、0.5 BTCをアリスに送信する「子」トランザクションの入力として使用します。ボブへのBTC(出力1)。 入力の署名を知らなくてもユーザーがビットコインのプロトコルで支出に署名できないと抗議している場合、その機能はソフトフォークによって付与されました。
その後、アリスは0.5 BTCをボブに送信する出力に署名します。 ボブは、0.5 BTCをアリスに送信する出力に署名します。 その後、両方とも資金取引に署名し、ブロードキャストします。これはビットコインブロックチェーンにコミットされます(ネットワーク料金と待機時間の影響を受けます)。
現在、オープンな支払いチャネルがあり、ビットコインを即座に無料で往復できます。 アリスまたはボブはいつでもそれを閉じて、それぞれ0.5 BTCを請求することができます。
チャンネルを開く…英語で
稲妻ネットワークの内部についてかなりの知識をすでに持っている場合を除き、「ここにサイン、ここに最初に、これを費やし、それを放送します-そうではありません」を消化するのはおそらく難しいでしょう 。
以下に、より概念的な説明を示します。 資金調達取引は、そのように聞こえます:それは、チャネルに資金を提供します。 また、チャネルの上限としても機能します。どちらの当事者も最初の資金調達額を超えることはできず、両当事者の残高はその額に達する必要があります。 資金調達トランザクションが最初に作成され、最後にブロードキャストされる理由は、1ステップでブロックチェーンに単純に投稿された場合、単一の単純なトランザクション以外には何も達成されなかったためです。 Lightningはそれらをより速くも安くもしません。
資金調達トランザクションを開いたままにして、コミットメントトランザクションを挿入します。これは、以下で説明するように、一種のスマートコントラクトとして機能し、資金調達トランザクションを終了すると、ライトニングプライドがネットワークに一種のワームホールを開きます。 単一の定義されたパスに沿ってビットコインを前後に移動できます。 あなたはビットコインプロトコルを使用していますが、鉱夫によって課される遅延と費用をバイパスしています。
Lightningを信頼できない状態に保つ
ボブは、オープンチャネルを使用してAlice 0.1 BTCを支払いたいと考えています。 両者はコミットメントトランザクションを更新するだけで、鉱夫に訴える必要はありません。 以前はそれぞれ0.5 BTCだった残高は、現在アリスに対して0.6 BTC、ボブに対して0.4 BTCです。
唯一の問題は、それを安全に行う方法です。 彼らはすでに最初のトランザクションで署名を交換しているため、ボブは最新のものではなくその署名に署名し、実際に負っている0.4 BTCの代わりに0.5 BTCで立ち去ることができます。 言い換えると、彼は執筆時の価格に基づいて、アリスから約1, 000ドルを盗むことができます。 答えは、信頼できる人とのみチャネルを開くことです。 しかし、ビットコインを使用する意味は何ですか?
このジレンマに対する暗号化ソリューションを見つけることは、1つの目標に要約されます。古いトランザクションに署名し、以前の状態を反映する方法でチャネルを閉じることを不可能にすることです。 そうすることがオプションである限り、稲妻には二重の支出の問題があります。
Bobはコミットメントトランザクションの半分(以下のコミットメントTx 1a)に署名することを忘れないでください。彼女の署名が欠けているため、Aliceだけがブロードキャストできます。 アリスはもう一方(Commitment Tx 1b)に署名し、Bobだけがブロードキャストできます。 どちらでもチャネルを閉じることができますが、ビットコインの(制限付きの)スマートコントラクトライティング機能を使用すると、コミットメントトランザクションの2つの半分の出力は異なる制限を受ける可能性があります。 具体的には、1つの出力により、受取人はすぐに資金を使用できますが、もう一方は、取り消すことができるシーケンス満期契約(RSMC)を介して、1000ブロックなどの定義された期間、一週間。
これが便利な理由です。 ボブが不正であり、原則に反していることが判明した場合、彼は署名Tx 1b(上記)のみに署名してブロードキャストすることができます。 アリスは、ボブが彼女をショートさせようとしたことを見て、失効を引き起こし、ボブが盗もうとした0.1 BTCだけでなく、そうでなければ権利を与えられた0.4 BTCを主張することができます。
つまり、アリスがボブの不正行為をキャッチすると、チャネル全体がアリスに移動します。 これは、当事者が新しいコミットメントトランザクション(以下のC2aおよびC2b)を作成し、実際には古いコミットメントトランザクション(C1aまたはC1b)をブロードキャストしないことを約束すると、お金を口に入れるためです。 新しいコミットメントトランザクションに加えて、前のコミットメントに適用される2つの出力(BR1aおよびBR1b)を備えた違反救済トランザクションを作成します。 アリスは、ボブの半分の侵害救済トランザクションの秘密鍵をボブに渡し、その逆も同様です。 どちらかが古いトランザクションをブロードキャストしようとすると、カウンターパーティは1000ブロックの待機期間を利用して、そのトランザクションの前に急いで、攻撃者の残高全体を取得できます。
問題は、ボブが1000ブロックの間彼女を油断しないように、アリスが彼女のチャンネルに半一定の注意を払わなければならないことです。 PoonとDryjaは、取引相手が不正行為を試みたときに、不正行為のトランザクションをトリガーすることを目的とする第三者(チャネルのすべての資金を不正な当事者に報いるもの)を指定することを提案します。 これらは、ペナルティから手数料を支払うことができます。
Lightning Labsの共同設立者でありCTOであるOlaoluwa Osuntokunは、これらのサードパーティのエンフォーサーとして機能する「ものみの塔」を開発しています。 これらのノードが信頼できる当事者として機能し、ネットワークに不安をもたらす可能性があるという懸念が提起されましたが、OsuntokunはCoinDeskに、特定のチャネルに必要なのは1つの正直な望楼だけだと伝えています。
また、Blockstreamの中核技術エンジニアであるChristian Deckerが電子メールで指摘しているように、詐欺は危険です。 強盗しようとしているパーティーが少なくとも週に1回はチェックインせず、チャンネル内のすべてのお金を失うリスクが十分な抑止力になる可能性があると想定することは大きなギャンブルです。
チャンネルの接続
現実の世界では、アリスはボブとだけ取引したり、ボブとアリスとだけ取引したりすることは望んでいません。 両方とも、彼らが支払いをし、支払いを受ける必要がある相手を何人でも持っています。 これらの関係者全員とチャネルを開くことは非現実的です。 ユーザーインターフェイスが完全に簡素化されたとしても、数十以上のオープンチャネルでビットコインを結び付けるのに必要な流動性を持つユーザーはほとんどいません。
幸いなことに、彼らはする必要はありません。 上のビデオが示すように、ユーザーは中間ユーザーのチャネルを介して支払いをルーティングできるため、開いているチャネルが1つまたは2つである場合は、6度の分離原則により支払いが可能です。 単一チャネル内のトランザクションとは異なり、これらのマルチチャネルトランザクションには、ノードにチャネルへの資金提供とインセンティブを維持するインセンティブを得るための小額の手数料が含まれる可能性があります。 TORブラウザーユーザーを偽装するために使用される手法であるオニオンルーティングは、中間ノードがトランザクションがたどる完全なパスを見るのを防ぎ、プライバシーの懸念を軽減します。
このチャネルのウェブが実際にどのように機能するかはまだ不明であり、支払いが複雑なルートをたどる必要がある場合(中間チャネルを通る「ホップ」が多すぎる場合)、それらのユーザーが請求する料金が加算される可能性があります。
Lightningは分散化されたままにできますか?
これらの心配は、批評家にとって、雷ネットワークの克服できない欠陥を表すものに関連しています。 今日の実装では、チャネルには上限があります。最初の資金調達取引のビットコインの量によって、チャネルの合計金額が制限されます。
この状況は、合理的に限られたリソースを持つユーザーにトレードオフを課します。 必要な支払いを行うための資金を確保するために、大量のビットコインでチャネルに資金を供給するか、より小さなチャネルに資金を供給してビットコインを他の用途に使用できるようにすることができます。 (支払いはリンクされたチャネルを介してルーティングできるため、特定のユーザーはおそらく少数のチャネル(おそらくカップルのみ)を開く必要はありません。)
その選択は、稲妻チャンネル内での流動性、またはチェーン外での稲妻チャンネル外の流動性を持つことになります。 ものみの塔や他のソリューションで不注意による資金の損失を防げない場合、流動的な支払いチャネルに資金を供給することは危険です。 一方、支払いチャネルが安全になり、稲妻が日常的にビットコインを使用する主な方法になった場合、チャネルに資金を残す問題はほとんどありません。 メインチェーンは普通預金口座として機能しますが、デッカーが言うように、それらは「充電式デビットカードまたは現金」として機能します。
スタークは同様の議論を展開します。稲妻チャンネルに資金を供給することで、「マルチホップにまたがって潜在的に多くのノードのネットワークがビットコインを即座に受け入れる」以外は、そのビットコインを使用できなくなります。 「Lightningチャンネルの資金は、即時の速度と低料金のため、取引にオンチェーンビットコインよりも役立つと考えています」と彼女は付け加えました。
ハブ?
しかし、これらのチャネルを誰と設定しますか? アリスにボブを選択することは暗号化された決定ではなく経済的な決定であり、稲妻ネットワークの批評家にとって明らかな答えは一種の「ハブ」であり、それは維持する能力を与えます一度に多くの関係者が参加する、十分な資金のあるオープンチャネル。
オフチェーンのビットコインバンキング業界に匹敵するものが開発されるかもしれないという考えは、ビットコイン愛好家を混乱させます。
シュタルクは、この議論の行に異議を唱えています。 「数千人のユーザーがビットコインのフルノードを実行します」と彼女は書いています。「これらのユーザーやその他のユーザーもLightningでノードを実行すると信じていますルーティングから少額の料金を支払うことができます)。 彼女はまた、自分のチームが「スプライシング」に取り組んでおり、メインチェーンのビットコインを使用してチャンネルを補充できることを指摘しています。 この機能により、ビットコインをチャネルに配置するか、メインチェーンに残すかのトレードオフが軽減され、ハブが形成される傾向を減らすことができます。
Deckerは、「信頼性が高く、ネットワークのバックボーンとして機能する多数のノードを備えた2層ネットワークが形成される可能性が高い」と考えています。 しかし、彼は、これらが液体チャネルを提供するためだけに存在するハブではなく、商人であると期待しています。 これらのチャネルを複数のユーザーに提供することは高価であり、ハブが高い料金を請求する必要があり、他のノードと比較して競争力がなくなると彼は主張します。
ACINQ CEOのPierre-Marie Padiouは、稲妻ネットワークがどのように発展するかを公言していません。 「中央集権化と地方分権化の均衡がどうなるかを予測するのは非常に難しい」と彼はメールで書いた。 「もちろん、より大きなノードとより小さなノードが存在しますが、どの程度まで事前に伝えることは困難です。」
スケーリングの正しい方法は?
PoonとDryjaは、「これらのマイクロペイメントチャネルのネットワークを使用すると、ビットコインは現代のデスクトップコンピューターで利用可能な計算能力で1日あたり数十億のトランザクションに拡張できる」と主張しています。 おそらく、しかしそれは確かに今日のケースではありません。 執筆時点で開いているメインネット稲妻ノードは1, 000個未満です。
そこにあるのは稲妻だけではありません。 主要な競争相手はビットコインキャッシュです。これは、より大きなブロックを可能にするビットコインの競合するハードフォークです。 ビットコインの現金サポーター、電光サポーター、およびさまざまな第三の方法の支持者の間の議論は、時折アンチスケーラーでさえも-ひどい場合は活発です。 どちらかが上に出てくる、それらが共存し続ける、またはすべてが失敗する可能性があります。
いずれにせよ、稲妻ネットワークは、2008年のビットコインの最初の週末以来、ビットコインに悩まされてきたスケーラビリティのジレンマを克服する有望な試みです。