exe #6:lightning network入門

15
Lightning Network入門 光田 Coincheck株式会社 Web Developer Twitter: @34ro github: @34ro 2017.11.15

Upload: blockchainexe

Post on 21-Jan-2018

844 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: EXE #6:Lightning Network入門

Lightning Network入門

光田 貴Coincheck株式会社 Web DeveloperTwitter: @34rogithub: @34ro

2017.11.15

Page 2: EXE #6:Lightning Network入門

About me光田 貴

2012~ ヤフーで広告システムのバックエンドを開発・運用

2016~ Coincheck

最近の主な仕事

ハードフォークにつぐハードフォーク対応

仮想通貨交換業登録に向けて頑張ってます

Scaling Bitcoin Stanford 2017に行ってきました

仮想通貨系の技術について Coincheckブログに書いたり、

ニュースメディアに寄稿することもあります

Page 3: EXE #6:Lightning Network入門

今回のテーマ

Lightning Networkとは?

生まれた背景

Payment Channel

Lightning Networkでの「送金」

Page 4: EXE #6:Lightning Network入門

Lightning Networkとは?

Lightning Network = 稲妻のネットワーク

通常の送金・・・数十分

Lightingn Network・・・一瞬

※ただし「決済完了性」を少し犠牲にする

Page 5: EXE #6:Lightning Network入門

Lightning Networkが生まれた背景

ビットコイン A Peer-to-Peer Electronic Cash SystemP2Pネットワーク上でプロトコルに従ってデータをやり取りするだけでお金のような機能

を果たすシステム

全取引履歴を1つの台帳に入れて参加者全員がコピーを持つ

ビットコインの性能上の限界

約10分間に1MB分の送金データをブロックに詰める

送金回数は8回/秒くらい

世界中の人が使うには明らかに足りない

Page 6: EXE #6:Lightning Network入門

アプローチは2つブロックサイズを拡大する(ビッグブロック)

ブロックサイズを拡大し、1ブロック当たりのデータサイズの上限を引き上げる

ブロックに記録するデータ量を節約する(スモールブロック)

できるだけビットコインのブロック以外の場所にデータを記録する

Lightnig Networkはこっちの考え方

どちらも中央に管理サーバを持たない(非中央集権的)であることは共通

Page 7: EXE #6:Lightning Network入門

「ブロックに記録するデータ量を節約する」とは

特殊なトランザクション(送金データ)を作り、実用的に問題ない範囲でネットワークに流さ

ないまま取引を続ける

※ 通常の送金はネットワークに流すことで、全取引がブロックに記録される

いつでもネットワークに流せる状態を保ちつつ、実際には流さない

例: 契約書は毎日発行しても実際に裁判所に行くことは少ない

Page 8: EXE #6:Lightning Network入門

Payment ChannelLightning Networkの送金のベースになる技術

Payment Channelの重要なポイント

● チャンネルを2者間で開設

● チャンネル内にビットコインをロックして開始(A:5 BTC, B: 5BTC)● ロックした金額の持ち分を入れ替えて送金(A→Bへ1BTC送ると A: 4, B: 6)● 2者間でなら何回移動させてもネットワークに流さないので早い

● チャンネルを閉じるまでトランザクションをネットワークに流さない

● A→B,B→Cというように複数のチャンネルを跨いで送ることも可能

→2者間のチャンネルを複数繋げると送金のネットワークが作れる

https://www.slideshare.net/takashimitsuta/payment-channel

Page 9: EXE #6:Lightning Network入門

ビットコインのネットワークとの関係

Page 10: EXE #6:Lightning Network入門

Payment Channelの集合体なだけでは不完全

「A Peer-to-Peer Electronic Cash System」として克服すべき課題

プライバシーの課題

中間者に送金内容が丸見え

ルーティング

どうやってルートを見つける?ルートの情報は信用できる?

中央管理サーバがあれば簡単なことでも

非中央集権を前提にしているのでネットワークに貢献する動機付けが必要

Page 11: EXE #6:Lightning Network入門

仕様や実装

仕様

● lightningnetwork/lightning-rfc

ノード

● ElementsProject/lightning● lightningnetwork/lnd● mit-dci/lit

GUI

● ACINQ/eclair● lightninglabs/lightning-app

Page 12: EXE #6:Lightning Network入門

ビットコイン以外でも動作する?ビットコインのスクリプト(Segwit有効化済み)と互換性があれば可能

Litecoin, Monacoin, Vertcoin

Page 13: EXE #6:Lightning Network入門

まとめ

● Lightning Networkは性能の限界の克服を目指して作られた

● Payment Channelがベースになる

● 「P2Pで動くお金」としては乗り越えるべき

Page 14: EXE #6:Lightning Network入門

最後に

コインチェックでは一緒に仮想通貨業界を盛り上げてくれる仲間を募集中です!

まずは話を聞いてみたいという軽いノリでも大歓迎です。

wantedly or 光田(@34ro)までお声がけ下さい。

Page 15: EXE #6:Lightning Network入門