〜公式ラインに登録するだけで無料で100万円分のコンテンツプレゼント中〜

【仮想通貨】Bitcoin(ビットコイン)の Lightning Network(ライトニングネットワーク)ではなぜスケーリングが出来ないかについてまとめてみた

Bitcoin(ビットコイン) Lightning network(ライトニングネットワーク)暗号資産

今回は、Bitcoin(ビットコイン)の Lightning Network(ライトニングネットワーク)ではなぜスケーリングが出来ないかについてまとめてみました。

Bitcoin(ビットコイン)のLightning network(ライトニングネットワーク)とは

ペイメントチャネルでは、繋がっている2者間での取引に限定される。別の人と取引をするには新たにチャネルを開く必要があり、多くの人と取引をするには効率が悪いです。

そこで、第三者を経由してペイメントチャネルで繋がっている人であれば、誰にでも送金可能とするのが、Lightning network(ライトニングネットワーク)です。

すでにいくつかの実装プロジェクトが進んでいるものの、未だ開発途上であり、実現にはビットコイン本体のアップデートを必要とします。

しかし、将来的にビットコインのスケーラビリティの問題を解決し、多様な用途でマイクロペイメントを実現できるとされる。

ライトニングネットワークにおける送金例です。

下図のように、AliceがBobとCarolを経由してDavidとペイメントチャネルで間接的に繋がっていれば、

Bitcoin(ビットコイン) Lightning network(ライトニングネットワーク)

Aliceは間にいる二人を信用することなく、Davidに送金できるようにするのがLightning network(ライトニングネットワーク)の考え方です。

どうしてこのようなことが実現できるのか。

何も対策をしなければ、BobまたはCarolのどちらかが、経由途中のビットコインを持ち逃げできてしまいます。

そこで、ライトニングネットワークでは、間に入る誰も持ち逃げできないように、Hashed Time-Lock Contract(HTLC)取引という仕組みを考案している。

1.Davidはランダムな数値Rを生成し、Rからさらにハッシュ値Hを得る。このHをAliceにセキュアな伝達経路で伝える。

2.Aliceは、Hを利用して「Bobに0.1BTC送金し、何もしなければ3日後に返金される」という取引を作成する(この時、Bobが0.1BTCをCarolに送るには、Rを知っている必要がある)。

BobとCarolの間、CarolとDavidの間でも同じ取引を作成する。

3.AliceからDavidまで取引がリレーできたため、まずDavidはCarolにRを教えてCarolからDavidに0.1BTCが送金される。

続いて、CarolはBobに、BobはAliceにRを教える。最終的に、AliceはDavidに送金したことを証明でき、チャネルを閉じることによって取引が確定する。

Bitcoin(ビットコイン) Lightning network(ライトニングネットワーク)

このような仕組みで、複数人を介したペイメントチャネルを実現できるようになる。しかし、これを実現するためにはいくつかの問題を解決しなければならないです。

例えば、ビットコインには電子署名の一部を変更することで、取引内容はそのままで取引IDを変更できてしまう“トランザクション展性”という弱点があり、

これはライトニングネットワークの実装を困難にしている主要因です。

これを解消するには、取引の入力側にあるscriptSig内の署名データを分離・格納する“SegWit”と呼ばれる実装が必要となる(こちらは近々リリースが予定されている)。

その他にも、送金時のルーティングに際して一部のハブに接続が集中しすぎないよう設計に配慮しなければならないことや、

ハブが送金を仲介することから資金移動事業と見なされる法的な潜在リスクがあることが指摘されており、ライトニングネットワークは実現までいくつかのハードルがあるのも事実である。

Bitcoin(ビットコイン)の Lightning Network(ライトニングネットワーク)ではなぜスケーリングが出来ないか?

Bitcoin(ビットコイン)の Lightning Network(ライトニングネットワーク)ではなぜスケーリングが出来ないかについて海外サイトで詳しく書いてあるものを翻訳しました。

Bitcoinスケーリングの議論

Bitcoinはもともとピアツーピアの現金として設計されており、単純なブロックサイズの増加に伴って拡張されます。

しかし、ネットワークをどのように拡張するかについての議論は、はるかに複雑で議論の余地があります。

Bitcoinの「コア」開発者は、「非常に高い地方分権」を提供する「帯域幅を拡張しない機構」として

Lightning Networkを推奨する正式なCapacity Increaseロードマップへのサポートに署名しました。

我々はそれに同意しないと証明します。ここで情報を読んで理解した後、あなた自身で結論を出すことをお勧めします。

ライトニングネットワークとは何ですか?どのように機能しますか?

ライトニングネットワーク(LN)は、一連のオフチェーンの双方向支払いチャネルを可能にするプロトコルです。

あなたが技術を理解したいと思えば、Aaron van Wirdumの優れた3部シリーズです。

「双方向」は単に2つの方向を意味するため、アリスとボブはプライベートチャネルを開き、ブロックチェーンの外側でビットコインを前後に送ることができます。

チャンネルを開くには、一方または両方の当事者が特別なBitcoinアドレスにビットコインを入金しなければなりません

.1その後、どちらかの人がチャンネルを閉じてしまうまで、チャンネル内でできるだけ多くのトランザクションを行うことができます。

適切な最終残高を支払う)をBitcoinメインブロックチェーンに適用します。

複数のチャネルをリンクする

アリスがボブとチャンネルを持ち、ボブにもキャロルとのチャンネルがあった場合、アリスは間接的にキャロルに送金することができました。

ボブは最初にキャロルに支払い、その後アリスはボブに返金します。

構想されたネットワーク

LNのエバンジェリストは、アリスがボブを通じてキャロルに支払うことができる場合、この考え方を引き続き拡大して、

決済チャネルのネットワーク全体を構築できるようにすることで、取引の大部分がオフチェーンで行われるようにするという考えを推進します。

しかし、これはピアツーピアネットワークとして現実的には達成できません。少なくとも、重要なサイズではありません。

「分散型」と「分散型」のセマンティクス

Bitcoinについて日常的に話す中で、ほとんどの人は、「分散型」とは、技術的には「分散トポロジ」を意味しています。

逆に、集中ハブを持つネットワークは、特異中心を持たない場合、技術的に「分散型」と呼ばれることがあります。

しかし、単語ゲームに巻き込まれないようにしましょう。下記の図2は、

第2部:レイアウト担当者のための説明:照明ネットワークが拡大できない理由

私はこの説明をできる限り短くするつもりです。

まず、雷ネットワークは他のネットワークと似ているわけではなく、いつでも他のユーザーに接続することはできません。

ビットコインを送信または受信するには、その特定のユーザーの支払いチャネルか、リンクされた一連の支払いチャネル(「ルート」)のいずれかが必要です。

オフチェーン取引を送信する唯一の目的のために決済チャネルを作成することは意味がありません。

チャネルを開くためにはオンチェーン取引が必要です(そしてもう1つを閉じるには)。代わりに、オンチェーン・トランザクションを送信することもできます。LNは必要ありません。

その考えは、あなたが一連の接続を通してあなたの支払いをどんな目的地にもルーティングできることになっているということです。

ユーザーの観点から見ると、他の誰かへの潜在的なパスはツリー構造のように見えます。

基本的な数学問題のように始まります

私たちは、100万人のユーザーに拡張することを目標としています。

これについて考えてみましょう:あなたが10の枝を持つ木を持っていて、それらの枝のそれぞれに10の葉があれば、100の葉に達することができます。

そして、あなたが10の支店を持つ木を持っていて、それぞれに10の支店があり、

それらの支店のそれぞれに10の支店などがあるなら…あなたは6つのレベル “深く”行くことができます:10 x 10 x 10 x 10 x 10 x 10、または単純に106 = 100万になります。

あなたは葉に達するために6回ブランチからブランチまでホップする必要があるので、「6ホップ」と言うことができます。

だから、これは6つのホップを持つ10のブランチ、または私たちの場合は6ホップの10のチャンネルです。

だから、挑戦は何ですか?

あなたのお金は同時に2つの場所にあることはできません

6ホップでネットワーク全体に到達するために10の支払いチャネルが必要な場合は、ビットコインを10個に分割する必要があります。

しかし、おそらくこれらのチャンネルのうちの1つだけが、いつでも意図された受信者に到達するでしょう。つまり、お金の一部(たとえば10%)のみを送金することができます。

私たちはちょうど2つのチャンネルを持ち、20ホップと言うことでこれを回避できますか?私たちはこの質問に戻ります。まず、別の重要な事実を理解しましょう。

誰もが他の人に貸している

アリスがボブを介してキャロルに1 BTCを送ろうとしているとしましょう:アリス – >ボブ– >キャロル

お金を引き渡すためには、キャロルとのチャンネルの「バランス」の中に少なくとも1つのBTCを持っていなければなりません。本質的に、アリスはキャロルに支払うためにボブから借りています。

ボブは彼の1 BTCを[Bob-> Carol]チャンネルのCarolに転送し、Aliceは[Alice-> Bob]チャンネルのBobに1 BTCを転送します。それはそれが動作する方法です

–  アリスはキャロルに渡すためにボブに1 BTCを “与える”ことはできません。

ネットワークはタイムロックを使用して保護のリスクを排除しているため、本当にローンです。アリスはボブがキャロルに支払ったと確信するまで、ボブに返済することはできません。

実際には、行き先への途中での各ホップで、各取引に利用可能な資金が必要です。したがって、使用されるホップが多くなればなるほど、この貸し出し負担が増えます。

なぜこれは大したことですか?

それは大量のホップがディール・ブレーカーであることを意味する

誰もが20ホップのルートを使用していて、ほとんどのユーザーが月額約1000ドルを使ったとしましょう。ルートの支払いを手助けするために全員が公平に分け合っていれば、各ユーザーは月額20,000ドルを引き渡す必要があります。

それは可能であろうか?

それは、ルートに必要な時間とトランザクション数を含む多くの要素に依存します。

ユーザーが通常のトランザクションの負荷の20倍をルーティングでき、チャネルの利用可能性が50%低下するだけで、通常のチャネル数を2倍にする必要がある(おそらく寛大な)と仮定しても、

現実では、それはさらに悪い

状況を悪化させる少なくとも5つの追加の問題があります。

  1. 私たちが始めた基本的な数学でさえ、106 = 1,000,000は適用できません。同輩がルートを計画する中心的な権威なしでほとんど無作為な接続を形成すると仮定すれば、成功の確かな確信があります。何百万回も繰り返された100万回のチャンスは、63%の成功率しかもたらしません。200万回を選択するとこれが84%に改善され、これはチャネル数の増加を意味します.³
  2. ユーザーが収入を使うと、利用可能な経路は、より多くの資金が入金されるまで低下します。言い換えれば、ある人が給与を受け取ってネットワークに資金を預けた場合、そのチャネルは最大のルーティング能力を持ちます。しかし、彼らのお金が費やされると、この力はゼロに向かって低下します。平均すると、このパターンはルーティングパワーを約半分にカットし、チャネル数を2倍にする必要があります。
  3. 他の人のためのルーティング資金は、そうでなければ利用可能なチャネルの数を減らす資金の均等分配を混乱させる。
  4. どの人口にも大きな富の格差があります。したがって、他のランダムユーザーのために資金をルーティングできるユーザーの数は、ネットワークのほんの一部に過ぎません。そして、この問題はホップ数の増加に伴って指数関数的に拡大されています。
  5. ルーティングチャネルが応答しなくなる(意図的にまたは意図せずに)リスクが常に存在します。このリスクはホップ数の増加とともに指数関数的に増加します。

「TLDR」サマリー

大規模なネットワークの誰かに一連の分岐チャネル接続で接続するには、多数のチャネルまたは多数のホップが必要です。

どちらも大きな問題です。多数のチャンネルはユーザーが資金を分割しなければならないことを意味し、小さな購入以外は何もできません。

また、ホップ数が多いということは、誰のお金も他の人のお金を繋ぐことにつながるということです。

結論:完全に実行不可能なシステム

ネットワークが100万人に達すると、これらの問題を回避する現実的な方法はないと思われます。

資金を多くのチャネルに分け、継続的に資金を貸し出すことは、ネットワークを使用不能にする。

考えられる唯一のビジョンは、A)誰もが取引するよりもはるかに多くを預けるか、B)システムは大規模な集中型ハブに依存しているかのどちらかです。

分散化されたスケーリングの解決策ではなく、大部分の解決策もありません。

第3部:非数学的証明

1.前提条件

実際には存在しない理論的ネットワークのモデリング、多様な人々の大きなグループのモデリングは、明らかに正確に行うことは不可能です。

私たちはいくつかのことを暗黙のうちに述べており、この証明の批評家にはいくらか寛大な仮定をしています。

この文脈の中で、私たちは、確率計算により、各ユーザに対して多数のオープン支払いチャネルが必要であることを実証することを目指しており、シ

ステムは1,000,000人のユーザの本質的に動作不能になっています。

2.制約なしで必要なチャネルとホップ

ネットワークを1,000,000ノードの複雑なグラフとしてモデル化すると、一定数のオープンチャネルCが与えられ、一定のホップ数Hを許容するランダムピアに到達する確率を調べます。

ユーザの観点から、一連の分岐チャネルを通って離れたピアに到達することは、ツリー構造に似ています.④リーフの数は指数関数的に増加し、可能なトランザクション宛先です。

計算を単純化するために、ツリー上のブランチが既にツリー上の別のブランチ(祖先やいとこなど)にリンクする可能性は無視します。

この可能性があると、純粋に指数関数的な分岐からわずかに低い数までのピアの数が減少します。多数のチャネルやホップがなくても比較的低い数のピアに到達することを証明しようとしており、実数がさらに低くなることを証明しようとしているので、これは寛大な仮定です(証明を強化します)。

ましょNとして定義されるリーフの数、であるC ^ H。たとえば、10のオープンチャネルと6ホップは、106 = 1,000,000です。

集合のメンバーを選択することに失敗した確率P | N | n回サンプリングすることによりカーディナリティnを持ち、置換は次のようになります。

(私たちの場合は、葉にマッチさせて目的地を取得する)

これを制限する形で一般化することができます:

1 / e = 0.3678 … 1回以上正しく選択する確率は(1-(1 / e))= 63.21 …%

特定のピアに63.21%の割合でアクセスすることは、決済システムにとって成功したと考えるには低すぎます。

異なる試行回数を使用すると、次のように表すことができます。

例えば:

eのさまざまな指数をとることによって、対応する確率を計算することができます。

1,000,000ユーザーの値と制限形式を使用して、次の式を導き出します。

この式を使用して、少なくとも80%の確率レベルに達するいくつかの初期値を計算することができます。しかしこれはまだ議論されていない他の要因を考慮していない。

1

3.基本的な貨幣制約を伴う、必要なチャネルとホップ

ルートに沿ったすべてのホップには、サービスを提供したい支払いを処理するのに十分な資金が必要です。これはお金の制約です。

幅広い種類の財務プロファイルと支出パターンを持つ100万人のユーザーのネットワークをモデル化することは、あまりにも多くの未知の要素が存在するため、正確に行うことはできません。

しかし、私たちは、多くのまたはほとんどのユーザーが何らかの一定の間隔で何らかの収入を得て、支出のためにLNに資金の手当てを預けるという非常に一般的な常識的仮定を立てることができます。

入金された資金は、一般に支出されるか、最終的には撤回される。(我々は、LNが貯蓄手段として使われていないと仮定する)

ユーザーが資金を使用すると、チャネルが閉鎖されているか、資金調達額が減少したために、ルーティングの支払いチャネルの可用性が低下します。

追加の資金が入金されると、ルーティング機能が再開されます。

どのくらい多くのユーザーがどれくらい多く、いつ、どのくらいの頻度で報酬を受け取っているかに関する詳細なモデルはありません。

しかし、「多数の試行から得られた結果の平均が期待値に近づくはず」という大多数の法則のおかげで、一連のユーザーの行動を集計することができます。

典型的な消費者サイクルは、収入を受け取ってそれを費やし、その後繰り返すことから成っています。この振る舞いを逆ノコギリ波として一般化することができます:

視覚的には、次のように表示されます。

給与支払いはスパイクで表され、収入は次の支払いまで徐々に消費されます。

関数を積分すると、予想通りに期間の半分の価値が得られます。

これは、波が直角三角形を形成し、その半分が領域を切り取っているので、視覚的にも明らかである。

その意味は、ルーティングに使用されるチャネルの約半分が無効であるということです。したがって、各ホップにおけるチャネルの数は2倍にする必要がある。

確率式は次のように変わります。

結果の表は次のようになります。

私たちが作っている巨大な寛大な仮定もあります。つまり、すべてのユーザーが他のすべてのユーザーのルーティング参加者のセットの役に立つ部分です。実際には、不均等な富の分配は、おそらくシステムに付加的かつ重大な制約を与える可能性がある。

4.貸出の追加的制約

資金を分割してルートを見つける負担に加えて、ユーザーは他の人がルートの支払いを手助けすることによってネットワークにも参加していることを前提としています。

これは、2つの方法でユーザーを混乱させます。

第1に、ユーザの個人資金の分配が不均衡になり、利用可能な経路の数が減少する可能性がある。

時間が経つにつれて、理論的には、任意のチャネルのどちらの方向にもお金が流れて平均化される可能性があります。しかし、各ユーザは、いつでも大きな程度の分散を受けることになる。

第2は、経路が使用されている間は、他人の支払いをルーティングする際に使用されるお金が利用できないということです。

私たちは寛大に最初の混乱の原因を無視し、2番目のモデルをモデル化しようとします。

すべてのユーザーが同じ平均トランザクション数と支出数を持ち、各ユーザーがルーティングに均等に参加すると仮定するという単純なアプローチを採用します。

以下の変数を定義しましょう:

U:ユーザ数
H:ホップ数
V:一定時間内のネットワークトランザクション総量
v:一定期間中のユーザ当たりのトランザクション量
r:ある期間中のユーザ1人あたりの総ルーティング量
D :測定期間の時間(時間)
t:期間当たりのユーザーあたりの平均トランザクション数 D 
d:平均ルートの時間数

各ホップは、参加するルート内のトランザクションのトランザクション量全体をルーティングする必要があるため、期間中のネットワーク全体の合計ルーティングボリューム= VHです。

したがって、r = VH / Uである。そして、V / U = v、r = Hvなので。

たとえば、v = $ 1000の場合、プロットは次のように表示されます。

ルーティング能力を測定するためのドル時間の概念紹介しましょう。

もちろん、各ユーザーは一度だけ自分のお金を使うことができます。しかし、他の人のお金を引き渡すために、

ドルの時間は、そのチャンネルの総ドルに利用可能な時間数を掛けたものと考えることができます。例えば、1週間に1000ドルの座りがなくても、168,000ドル時間です。

次に、他のルーティング後に残っている使用可能な容量のパーセンテージを表す商Qを計算することができます。

Q = 1-( d H -1))/ D

vtは、それらが分解されるときに方程式に現れないが、比d / Dに暗黙的であることに留意されたい。H -1 の理由は、1ホップがユーザー自身のトランザクション(r = Hv)を超えてネットワークにかかるコストがかからないためです。

たとえば、ネットワークが4ホップを使用し、ルートに4時間が必要で、ルーティングのユーザーの残高が168時間(1週間)に基づく場合、次のようになります。

Q = 1-((4)*(3))/ 168)= 0.92

確率式は次のようになります。

D = 168、ルーティング時間d = 4時間と仮定すると、以下の確率で到着する。

5.パレート分布に基づく取引制限の決定

資金を小さなバケツに分割する必要がある場合、ユーザビリティに多大な悪影響が及ぶことを証明する必要はほとんどありません。しかし、完全性のために、このセクションを含めました。

ほとんどの消費者および企業の支出は、各ユーザーが比較的少数の大規模な取引、いくつかの中規模の取引、およびより小規模な取引を行うというパレート分布に従うものと仮定します。

パレート確率密度関数は、以下のように表される。

最も単純なタイプ1のパレート曲線の場合、これは次のように単純化されます。

この分布は定数を適用することによって変化しませんが、y値に1000を掛けて大きなアイテムの金額が大幅になり、

典型的なx値のセットに統合されるように、実際の値を使ってモデルをよりよく想像することができます各ドル価値での取引の数)、例えば50。

取引総額= 980ドル。$ 98の10%の値を使用すると、

98 = 1000 /x²の式を解くことができ、3.194のトランザクションが得られます。

次に、より小さいトランザクションセットに統合し、最小$ 98値よりも少ない金額を持つトランザクションの合計値を取得します。

293.48 / 980 = .299であるから、10チャネルを使用すれば、望ましい経済活動の29.9%しか可能ではないと言える。

最終的な考え

私は批評家にニックピックを期待している。私はあなた自身の批判的思考をすることをお勧めします。富の格差を無視するために私たちがした寛大な前提を忘れないでください。

Bitcoinは分散されている必要があります。「基本レイヤが分散化されている限り、集中化はOKです」という合理化に注意してください。

これは、ユーザをベースレイヤから集中化されたシステムに強制的に移行させる潜在的なトラップです。私たちはそれを許さないでください。

2層目のソリューションがうまくいかない可能性があるので、Bitcoinは問題になりますか?いいえ、まったくありません。

Bitcoinは、単純なブロックサイズの増加とともにオンチェーンで拡張するように設計されていました。もし許可すれば、そうすることができます。

https://medium.com/@jonaldfyookball/mathematical-proof-that-the-lightning-network-cannot-be-a-decentralized-bitcoin-scaling-solution-1b8147650800

まとめ

もしライトニングネットワークが実現すれば、例えば、多数のIoTデバイスが絡むシステムやサービスなどにおいて、

超高頻度な決済取引を行えるようになり、新たなビジネスが生まれてくる可能性が高いです。

タイトルとURLをコピーしました