狠狠撸
Submit Search
Blockchain技術勉強会 #Lightning Networkの技術と最前線
?
Download as PPTX, PDF
?
1 like
?
407 views
T
takayaimai
Follow
東大ブロックチェーン開発団体BitPenguin主催 Blockchain技術勉強会@EastVenturesオフィス 2018/05/26
Read less
Read more
1 of 52
Download now
Download to read offline
More Related Content
Blockchain技術勉強会 #Lightning Networkの技術と最前線
1.
Lightning Networkの技術と最前 線 Takaya Imai CEO@Frontier
Partners LLC Co-founder and CTO@United Bitcoiners Inc. 東大ブロックチェーン開発団体BitPenguin Blockchain技術勉強会@EastVenturesオフィス 2018/05/26
2.
自己紹介 フロンティアパートナーズ合同会社 代表CEO United Bitcoiners
Inc. 共同創業者&取締役CTO マスタリングビットコイン、翻訳者代表 世界で初めての、日本語によるビットコイン?ブロックチェーン の詳細技術書 2016/7/14出版 電子書籍版(kindle)も オープンエディション版 https://www.bitcoinbook.info 東京大学客員研究員
3.
自己紹介 バックグラウンド 新潟大学大学院 素粒子理論物理 博士(理) カカクコム 検索エンジン開発
検索サーバクラスタ構築運用 大規模データ処理 機械学習 画像認識 データタワー株式会社 代表取締役
4.
ライトニングネットワーク ?
5.
ライトニングネットワーク ? 2015年2月にJoseph PoonとThaddeus Dryjaによって提案 されたビットコイン上のセカンドレイヤー技術 取引手数料を安くすることと送金速度を速くすることを目 的としている “チャネル”という2者間送金経路によるP2Pネットワーク であり、複数のチャネルを経由して送金する チャネル取引相手、送金仲介者を信用する必要がない
6.
ビットコインの スケーリング問題 スケーリング問題 秒間取引数が7件程度 1MB / 256byte
/10分/60秒 = 6.8取引毎秒 Segwit (Segregated Witness)有効化後、1ブロックに1MBより入るようになったため、秒間取引数は前 より改善 ブロックチェーンサイズの増大 168GB (2018/5/26現在) トランザクション手数料の高騰 送付されるトランザクションの数が増えると、マイナーはより手数料の高いトランザクションからブロ ックに取り込もうとする 最近は1回の送金あたり20円程度(5satoshi/byte) 2017年12月はピークで1回の送金あたり4000円程度のときもあった
8.
168GB
9.
4.6tx/sec
10.
4000円くらい/迟虫
11.
いろいろな解決策 オンチェーンスケーリング 取引毎にブロックチェーンに書き込むことを前提として、処理能 力の増強をするスケーリング方法 オフチェーンスケーリング ブロックチェーンに書き込む回数を減らすことで、処理能力の増 強をするスケーリング方法 ブロックチェーンの利点を活用しつつ、ブロックチェーンとは相 互作用を頻繁にしない処理層を設けて送金処理を実行する
12.
いろいろな解決策 オンチェーン側 別のブロックチェーンに処理を押しやる サイドチェーン/ドライブチェーン トランザクションのデータの一部を別枠に押しやる SegWit (Segregated Witness) ブロックサイズを大きくする ビッグブロック ブロックの伝達方法の改善、Graphen トランザクションのサイズを小さくする シュノア署名(Schnorr
Signature) 使わないトランザクションスクリプトを省く、Graftroot … オフチェーン側 ライトニングネットワーク Ethereum(ライデンネットワーク、マイクロライデン)
13.
Blockchain connected to Bitcoin Zcash Blockchain Ethereum Blockchain Bitcoin Blockchain … Lightning
Network Atomic Swap Paypal Visa Inter BlockchainBlockchain connected to some blockchains Raiden Network オンチェーン側 オフチェーン側 Sidechain ブロックチェーン外 各技術の関連イメージ Interledger
14.
Layer Blockchains Lightning Payment Channel Routing Algorithm Atomic
Multi-Path Payments ??? Physical Layer Link Layer Network Layer Transport Layer Application Layer Sphinx Presentation Layer Lightning Internet HTLC Session Layer
15.
ライトニングネットワーク ? 特徴を1つ1つ説明します。
16.
ライトニングネットワーク ? 基本的なアイデア1 毎回取引をブロックチェーンに書き込むのではなく、各取引の結果として正味のお金を最後にブ ロックチェーンに書き込む 概念例(厳密にはちょっと違いますが) 1. AさんがBさんに1000円貸した 2. BさんがAさんに500円分ご飯代を出した 3.
結局、BさんはAさんに500円返した これをできるようにする二者による最小構成単位をチャネルという。 チャネルはHTLC(Hashed Time Lock Contract、ハッシュ付き時間制限コントラクト)を使って作 る 最終状態をブロックチェーンに書き込むまでは、両者の合意の上で状態の更新をする
17.
10000円 2000円 3500円 4000円 500円
18.
ライトニングネットワーク ? 基本的なアイデア1 チャネルを作った片方の人が悪人で、自分の送金をなかったことにしたいがために、最終 状態ではないものを一方的にブロックチェーンに書き込んだらどうするの? 最終状態ではないトランザクションには、悪人側に対する資金使用時間制限がかかって います。 対して、善人側は悪人側からもらったシークレットキーを最終状態ではないトランザク ションに対して使うと、チャネル上にあった悪人の資金を直ちに全て奪えるようになっ ています。 シークレットキーは最終状態に両者が合意する際に、両者が取り交わす1個前のもの を無効化するためのキー このようなペナルティーがあるため、悪人側には相手を裏切るインセンティブがない 悪人側の裏切りに対してすぐにペナルティーを行使できるように、トランザクションを常 に監視しておかなければいけない
19.
ライトニングネットワーク ? 基本的なアイデア2 ブロックチェーンへの負荷を下げ、手数料を安くするため、チャネルを複数つ ないで送金する
20.
ライトニングネットワーク ? 仲介者がお金を盗めるのでは? 仲介者Bobがお金を得るためにはプレイメージと呼ばれる文字列がないといけ ない Bobはお金を仲介するという約束はするが、約束した時点ではプレイメージを ハッシュ化したプレイメージハッシュしか持ってないため、お金を盗めない これを実行するためにHTLCを使う 送金者 受金者 Alice Bob
Carol
21.
簡易的な説明 送金者 受金者 Alice Bob
Carol ①条件付き送金約束 ②条件付き送金約束 ③送金④送金
22.
ライトニングネットワーク ? 送金者 受金者 Alice Bob
Carol Carol プレイメージ, R Carol プレイメージハッシュ, H
23.
ライトニングネットワーク ? 送金者 受金者 Alice Bob
Carol Carol プレイメージハッシュ, H ①プレイメージハッシュH送付 tx with H need R to use tx with H need R to use ②TX with H送付 tx with H need R to use ③TX with H送付 ④プレイメージR送付 R ⑤プレイメージR送付 R Carol プレイメージ, R 約束はするけど盗めない Carolは Rがあるから 受け取れる
24.
ライトニングネットワーク ? Carolが意地悪で、プレイメージRをくれなかったらBobはCarolにお金を奪われて終 わり? 協力的チャネルクローズにする場合、相手から支払い中のもの(in-flight HTLC)のプ レイメージRをもらわないと応じないようにする CarolがずっとRを渡さず一方的にチャネルクローズしお金を使った場合、プレイ メージRはパブリックブロックチェーン上で公開されるため、それを使ってBobは Aliceからお金を得る。ただし、時間がかかる。 CarolがずっとRを渡さず、しかもお金を使わなかった場合、Bobはあらかじめ設 定しておいた時間以降になればお金を取り戻せる優先権がある。ただし、時間が かかる。 送金者 受金者 Alice
Bob Carol
25.
ライトニングネットワーク ? ノード ノードノードID ノードチャネル ノード チャネル チャネル チャネル ノードノードID ノードID ノードID ノード チャネル ノードID チャネル ノード ノードID の大きさはチャネルに乗っているビットコインの量
26.
ライトニングネットワーク ノードプロジェクト一覧 Company/ Organization Lightning Labs MIT
DCI Blockstream ACINQ bcoin-org Nayuta Product Name lnd lit lightningd eclair plasma ptarmigan lnwallet Commitors Thaddeus Dryja, Joseph Poon, Olaoluwa Osuntokun Thaddeus Dryja Rusty Russel, Christian Decker Pierre-Marie Padiou, Fabrice Drouin, dpad85 Christopher Jeffrey nayuta-ueno Anton Kumaigorodski Language Go Go C Scala Node js C Scala first commit (JST) 2015/10/25 2016/11/6 2015/5/24 2015/8/16 2016/8/29 2017/7/21 2017/3/30 master lastest commit (JST) 2018/5/26 2018/5/1 2018/3/22 2018/5/18 2016/11/23 2018/5/26 2018/4/23 github https://github.c om/lightningne twork/lnd https://github.c om/mit-dci/lit https://github.c om/ElementsP roject/lightning https://github.c om/ACINQ/ecl air https://github.c om/bcoin- org/plasma https://github.c om/nayutaco/p tarmigan https://github.c om/btcontract/l nwallet others android app
27.
テストネット 私のノード: btctest.lnetwork.tokyo (160.16.233.215)
28.
メインネット リアルなお金が流れるライトニングネットワーク 2018年3月22日
29.
メインネット 2018年4月24日
30.
私のノード: btc.lnetwork.tokyo (153.126.136.98) pubkey:
028dcc199be86786818c8c32bffe9db8855c5fca98951eec99d1fa335d841605c2
31.
技術詳細 技術詳細についてはこちらを参照ください(英語) 2017年6月にイスラエルのテルアビブで私が話した時 の資料 /takayaimai/lightning- network-in-tel-aviv-israel 最新実装からは少し乖離がありますが、基本的な動作 原理は同じです。
32.
Layer Blockchains Lightning Payment Channel Routing Algorithm Atomic
Multi-Path Payments ??? Physical Layer Link Layer Network Layer Transport Layer Application Layer Sphinx Presentation Layer Lightning Internet HTLC Session Layer
33.
階層構造対応関係 Blockchains Lightning Payment Channel Routing Algorithm Atomic
Multi-Path Payments ??? 物理層 リンク層 ネットワーク層 トランスポート層 アプリケーション層 Sphinx プレゼンテーション層 ライトニング インターネット HTLC セッション層
34.
注目している ライトニング技術やプロジェクト Atomic Multi-Path Payments(不可分な複数経路支払い、ライトニングネットワーク非中央集権化/多額送金) b+l
wallet (受金ができる現在唯一のライトニングウォレット) eltoo(チャネル更新のシンプル化) Splicing(チャネルデポジットの動的変更) Data Loss Protection(チャネル状態の保存) Olympus Server(チャネル状態のバックアップ分散委託と委任インセンティブ設計) Outsourcing WatchTower (トランザクション監視の外部化/委託) Atomic Swap(ライトニングを使ったブロックチェーン間不可分コイン交換) Streaming Payments (ライトニング送金のさらなる効率化、送金ルート一回一回閉じずにルートを使い回 す)
35.
注目している ライトニング技術1
36.
注目している ライトニング技術1 AMP: Atomic Multi-Path
Payments(不可分な複数経路支払い) 現状 送金者から受金者への送金経路は1つ 例えば、100円を送りたい場合、送金者から受金者への経路の全てのチャネルが100円送金可能でないといけ ない 問題点 まとまったお金を送れない 1万円などある程度まとまったお金は、ライトニングネットワークを使わないほうがいいとは思います チャネルに多くのお金を置いておくのは資金が豊かな人 -> 中央集権化 1つの送金経路に依存してしまう 送金経路上のノードが送金中に反応しなくなるなど問題が起きた場合、送金が途中で止まってしまって動 かなくなるということはないが、送金完了まで時間がかかってしまう
37.
注目している ライトニング技術1 AMP: Atomic Multi-Path
Payments(不可分な複数経路支払い) 解決方法 1回の送金を、複数の送金経路に分割して送る 良い点 送金経路の選択肢がもっと増え、ライニングネットワーク全体のリソースをうまく使える チャネルに大きなお金を置いておかなくても、ライトニングネットワークに貢献できる 悪い点 ライトニングネットワーク全体での送金処理数は増えるため、分割数を大きくしすぎるとライトニング ネットワークが飽和してしまう
38.
注目している ライトニング技術1 AMP: Atomic Multi-Path
Payments(不可分な複数経路支払い) 進展具合 アトミック性の定義や最適な実装方法について、lightning-devメーリングリストで議論中 まだライトニングネットワークRFCにはなっていない これは、個人的にScaling Bitcoin Workshop 2017 @ Stanford Univ. に提案していたもの(残念ながらトーク には採用されませんでしたが。。) https://github.com/takaya-imai/packetization_for_paymentchannel
39.
注目している ライトニングプロジェクト2 スマホアプリをライトニングネットワークに 受金もできる lnwallet http://lightning-wallet.com
40.
注目している ライトニング技術2 面白い点 トランザクション監視の簡易化が実装してあり、監視の外部委任を緩和できる 単純には、スマホアプリはライトニングネットワークに参加できません スマホの電池が切れる、インターネットに接続できなくなるなどして、トランザクションの監視ができな くなるため。 送金だけであればできますが、ライトニングネットワークの一部として送金経路に貢献するには送金と受 金の両方が必要 トランザクション監視が不要というわけではないです スマホ上のトランザクションデータが壊れてしまった等なくなってしまったときのために、バックアップを取 っておくことができる バックアップ保存の分散委任を受ける側にとってのインセンティブがすでに実装してある これらを行うのが、Olympusサーバです。 スマホアプリハンズオンをやっているので、そこで進展具合は公開していきます。
41.
注目している ライトニング技術3 eltoo: 更新方法のさらなるシンプル化
42.
注目している ライトニング技術4 Splicing (Splice-in, Splice-out) チャネルデポジットの動的変更 Splice-in:
デポジットを増やす Splice-out: デポジットを減らす Funding TX Commitmen t TX 通常 Funding TX Commitmen t TX2 Splicing Fundin g TX2
43.
注目している ライトニング技術4 Data Loss Protection チャネル状態の保存 暗号通貨には復元フレーズ(mnemonic
code)があり、ウォレットが壊れ てしまう?スマホが壊れてしまうといった時にも復元フレーズを使えば ウォレットを元に戻せる しかし、オフチェーン技術であるライトニングでは取引データはブロッ クチェーンにはないため復元フレーズでチャネル状態の復元はできない このため、ウォレットの復元フレーズでチャネル状態も復元できるよう な仕組みが必要
44.
注目している ライトニング技術5 Olympus Server チャネル状態バックアップの分散委任と委任インセンティブ設計 http://lightning-wallet.com/what-does-olympus-server-do#what-does-olympus-server-do b+l walletと連携して稼働する仕組み チャネルを開くとOlympus
Serverにチャネル状態を暗号化した状態で送付し、b+l walletはライトニング経由でバッ クアップ手数料を払う Olympus Serverが裏切る可能性(チャネル状態を戻してくれない)があるため、複数のOlympus Serverにチャネル状態 を送る分散委託の方が良いように思う
45.
注目している ライトニング技術6 Outsourcing WatchTower トランザクション監視の外部化/委託 チャネルを維持するにあたって、チャネル相手が不正をしないようにチャネルが勝手に閉じられな いかを監視しないといけない スマホ上のライトニングアプリの場合、スマホが壊れるまたは電池が切れるといった場合にこのト ランザクション監視ができなくなるため、監視の外部化/委託が必要になる 特に、受金の際にこのトランザクション監視が重要。現在ほとんどのライトニングアプリで送金の みしかできないのは、送金にトランザクション監視が不要なため。 b+l walletでは現在トランザクション監視がないにも関わらず受金ができる(まだテストネット)。不 正側に対する資金使用時間制限を三ヶ月とかにして、長いといえどもスマホが一ヶ月もインターネ ットから切り離されることはないよね?といういうことを利用し、それなりに安全に受金ができる ようにしている。
46.
注目している ライトニング技術7 Atomic Swaps ライトニングを使ったブロックチェーン間不可分コイン交換
47.
注目している ライトニング技術7 Atomic Swaps ライトニングを使ったブロックチェーン間コイン交換 ノードA ノードB
ノードA BTCチャネル ETHチャネル ノードBは、BTCとETH両方を 持たないといけない
48.
注目している ライトニング技術8 Streaming Payments ライトニング送金のさらなる効率化、送金ルート一回一回閉じずに ルートを使い回す ここを遅延させることで プレイメージハッシュを使いまわし TX with
Hの送金額を 何度も書き換える
49.
Layer Blockchains Lightning Payment Channel Routing Algorithm Atomic
Multi-Path Payments ??? Physical Layer Link Layer Network Layer Transport Layer Application Layer Sphinx Presentation Layer Lightning Internet HTLC Session Layer
50.
ライトニングに兴味がある方はご参加ください。
51.
ビットコイン?ブロックチェーンスクールやってます ご興味ある方は参加いただければと思います。
52.
fin.
Download