Lightning Networkの問題点?
■ このスレッドは過去ログ倉庫に格納されています
なんかどのウェブサイトでもシレッと書いてあるので問題点と思ったところを指摘したい。
というか、俺が間違ってるなら逆に指摘してくれ。
https://zoom-blc.com/lightning-network
を参考にする。
アリスからキャロルへの支払いの際、ボブを中間に置く。
最初にキャロルがバリュー(シークレット)を作成してそのハッシュをアリス、ボブへ通知。
バリューを知っている場合、ボブはすぐにアリスが発行したトランザクションからお金を引き出せる。
つまり、キャロルがボブと結託してボブに予めバリュー(シークレット)を教えていたらアリスがボブに支払うだけで取引が終わる
(この際、コミットメントトランザクションのボブがOP_CSVによりアリスによって取られる金額はアリスがキャロルに払おうとしている金額より低いものとする)
つまり、アリスボブ間のコミットメントトランザクションの金額によってはキャロルがボブと結託して知らぬ存ぜぬすればアリスが単純な払い損をする可能性がある。 あぁ、>>1が言いたいこと分かった
キャロルはアリスが支払った金額をボブと分割すればキャロルがボブにシークレットを事前に教えるインセンティブができるって話か
確かにアリスとボブ間のコミットメントトランザクションの状態によっては不味いことになるな アリスとボブという言い方が分かりにくい
太郎と花子で頼む >>4
Alice
Bob
Carol
でABCなんやでアリス→ボブ→キャロルの順で支払いされるから分かりやすいやろ >>1
キャロルがハッシュを送った時点でシステム上は送金が完了してるから、知らぬ存ぜぬは無理じゃない?
実際には、lightning上の供託資金で先にボブーキャロル間の支払いが行われてるはずだし。 >>6
ボブとキャロルは金銭のやり取りをしない
キャロルがボブにシークレットを渡すのみ
キャロルがアリスへ支払いの対価を支払うのはボブがキャロルへの支払いを保証した後(ここが重要)
その前はキャロルがアリスへの嫌がらせや、ボブと協力してアリスから金を取るために、ボブにシークレットを教えてアリスから金を一方的にボブが取れる状況が作られ得る
(この際、アリスがOP_CSVで取れる金額はボブがアリスからシークレットを用いて取れる金額より少ないと仮定する) 結局>>1の言ってることって正しいの?
LNに期待してビットコ買ってるから気になる 誰か教えてくれ
LNに関する脆弱性とかの情報が少ないからマジで気になる >>14
なぜ?
キャロルはシークレットをボブに教えても教えなくても得も損もないよ
ちなみにシークレットのハッシュは最初のコミットメントトランザクション作る際にアリス、ボブ共にキャロルが教えるよ >>1だけど、納得した。
アリスがボブへの支払いを完了した段階でアリスからキャロルへの決済は終了したと見做す訳か
けど、この場合キャロルがシークレットをボブに取られた場合や、
キャロルがボブとコミットメントトランザクションを作る前にボブにシークレットを教えた場合は全てキャロルが悪いとする
つまり、オン・チェーン上でボブがキャロルからのシークレットを用いてBTCを引き出す=アリスからキャロルへの支払い責務完遂ということか 参考
https://lightning.network/lightning-network.pdf
今から3年前(2015年2月)にJ. Poonが提案したんだな
ただ、こんだけ複雑なことを実装でやって本当にうまくいくんだろうか。
テストネットで充分に実験してから導入してほしいな まぁアリスが納得しないとチャンネル閉じれないもんね 掲示板に書き込んで随分頭がまとまったわ
お前らサンクス
ライトニングネットワークは、決済完了のタイミングと条件で理解を深めるといいね! >>19
技術的な物きちんと見てみると面白いね、勉強になりましたありがとうー。 >>17
テストネットどころか
もうメインネットでも実装徐々に始まっとるぞ >>21
テストネットで大してテストされず、メインネットで実装されて批判もあるらしいね
しかも実装6つくらい種類があるらしい
後、コミットメントトランザクションがネットワークに流されてないか常に検知する必要があるんだよね ライトニングネットワークは仕組みは面白い
けど、finalizeされるタイミングが必ずあるので巷で言われてる秒間何十億トランザクションとかは無理ですね >1さんのリンクをサクッと読んだだけで
他の情報調べてなくて、昔コボラーだっただけなので
間違えてたら申し訳ないですが
ライトニングネットワークには時間制御の概念があり
更に三者間取引だと中間の人が一時的に貸付を行うんです
アリス → ボブ → キャロル
お金は
ボブ→キャロル
アリス→ボブ
と送金します
ハッシュキーに関してはキャロルは
バリュー(暗号鍵)をボブへ、
ハッシュ値(暗号の答)をアリスへ送ります
ボブはバリュー(暗号の鍵)を持っていますが、
アリスからすぐお金は引き出せません
ライトニングネットワークの制御アルゴリズムが
それを阻んでいます
それどころかボブは自分のお金をキャロルに送金しなければいけません
それがバリューを手に入れる条件です
バリューを手に入れ、自分のお金をキャロルに
送金したボブは、
アリスからお金を手に入れなければ損をします
アリスに鍵(バリュー)を知らせます
アリスはボブの鍵が自分の持つ答え(ハッシュ値)を解くかどうか確認します
鍵が合っていればアリスはボブに送金許可を出します
ライトニングネットワークの制御アルゴリズムが
アリスからボブへの送金を解除して
すべての取引終了(ここで送金に関与したすべてのトランザクションが終了)
となるようです >>23
確かにひとつのトランザクションでポンと
終わりにするのは難しいように感じました
現行ブロックチェーンだとUTXOでトランザクションを繋いでるんですかね…
ブロックチェーンまだ勉強中ですが >>24
しまった!書き忘れました
ライトニングネットワークの制御アルゴリズムが
アリスからボブへの送金を解除するためには
アリスからボブへの送金許可必須です
ちなみにキャロルがボブに答え(ハッシュ値)を送っても、キャロルがアリスに鍵(バリュー)を送っても、
問題は特に起きないです >>26
Alice、Bob間でコミットメントトランザクションを作成した段階で、
(この時、Bob、Carol間ではコミットメントトランザクションはまだできていない)
CarolがBobに、Carolのシークレットを送りBobが自身のコミットメントトランザクションをネットワークに流すと、
AliceからBobへの送金だけが完了するという事態は発生すると思うよ
けど、そういうコミットメントトランザクションがネットワークに流れた時点をAliceからCarolへの
送金完了という状態とみるというのが>>1が言っていることだと思う。
つまり、CarolがBobとのコミットメントトランザクションを作る前に、BobにCarolのシークレットを
教えてしまうという失態は、Carolの責任のため、AliceからCarolへの送金は完了したものとみなすってことだと思う。
間違ってたらすまそ >>27
ありがとう
キャロル→アリス送信の前に
ボブ→アリス送信があった場合とかかな…
鍵をワンタイムパスワードにするしかないかも
それは仮想通貨のシステム側の対応かなあ
キャロル→ボブ→アリス送信はHTLC(CLTV)ロックが
かかるということだったので、
キャロル→ボブの処理がボブ→アリスの処理に優先
されると解釈したんだが、
そういう前提が無ければ、
確かにボブ→アリス処理が先に
行われるかもしれないね
詳細は仮想通貨のシステムに依存するのかな ■ このスレッドは過去ログ倉庫に格納されています