狠狠撸

狠狠撸Share a Scribd company logo
2nd-layer技術(ライトニングネットワーク
)
Takaya Imai
CEO@Frontier Partners LLC
Co-founder and CTO@United Bitcoiners Inc.
JBA(日本ブロックチェーン協会)
2018/04/24
自己紹介
フロンティアパートナーズ合同会社 代表CEO
United Bitcoiners Inc. 共同創業者&取締役CTO
マスタリングビットコイン、翻訳者代表
世界で初めての、日本語によるビットコイン?ブロックチェーン
の詳細技術書
2016/7/14出版
電子書籍版(kindle)も
オープンエディション版
https://www.bitcoinbook.info
東京大学客員研究員
自己紹介
バックグラウンド
新潟大学大学院 素粒子理論物理 博士(理)
カカクコム
検索エンジン開発 検索サーバクラスタ構築運用 大規模データ処理 機械学習
画像認識
データタワー株式会社 代表取締役
ライトニングネットワーク
?
ライトニングネットワーク
?
2015年2月にJoseph PoonとThaddeus Dryjaによって提案
されたビットコイン上のセカンドレイヤー技術
取引手数料を安くすることと送金速度を速くすることを目
的としている
“チャネル”という2者間送金経路によるP2Pネットワーク
であり、複数のチャネルを経由して送金する
チャネル取引相手、送金仲介者を信用する必要がない
ビットコインの
スケーリング問題
スケーリング問題
秒間取引数が7件程度
1MB / 256byte /10分/60秒 = 6.8取引毎秒
Segwit (Segregated Witness)有効化後、1ブロックに1MBより入るようになったため、秒間取引数は前
より改善
ブロックチェーンサイズの増大
160GB弱 (2018/3/7現在)
トランザクション手数料の高騰
送付されるトランザクションの数が増えると、マイナーはより手数料の高いトランザクションからブロ
ックに取り込もうとする
最近は1回の送金あたり5円弱(1satoshi/byte)
2017年12月はピークで1回の送金あたり4000円程度のときもあった
2nd presentation of ライトニングネットワーク JBA 2018/04/24
160GB
4.6tx/sec
4000円くらい/迟虫
いろいろな解決策
オンチェーンスケーリング
取引毎にブロックチェーンに書き込むことを前提として、処理能
力の増強をするスケーリング方法
オフチェーンスケーリング
ブロックチェーンに書き込む回数を減らすことで、処理能力の増
強をするスケーリング方法
ブロックチェーンの利点を活用しつつ、ブロックチェーンとは相
互作用を頻繁にしない処理層を設けて送金処理を実行する
いろいろな解決策
オンチェーン側
別のブロックチェーンに処理を押しやる
サイドチェーン/ドライブチェーン
トランザクションのデータの一部を別枠に押しやる
SegWit (Segregated Witness)
ブロックサイズを大きくする
ビッグブロック
ブロックの伝達方法の改善、Graphen
トランザクションのサイズを小さくする
シュノア署名(Schnorr Signature)
使わないトランザクションスクリプトを省く、
Graftroot
オフチェーン側
ライトニングネットワーク
Ethereum(ライデンネットワーク、マイクロライデン
ネットワーク)
Blockchain
connected to
Bitcoin
Zcash
Blockchain
Ethereum
Blockchain
Bitcoin
Blockchain …
Lightning Network
Atomic
Swap
Paypal
Visa
CosmosBlockchain
connected to
some
blockchains
Raiden Network
オンチェーン側
オフチェーン側
Sidechain
ブロックチェーン外
各技術の関連イメージ
Interledger
ライトニングネットワーク
?
特徴を1つ1つ説明します。
ライトニングネットワーク
?
基本的なアイデア1
毎回取引をブロックチェーンに書き込むのではなく、各取引の結果として正味のお金を最後に
送る
例
1. AさんがBさんに1000円貸した
2. BさんがAさんに500円分ご飯代を出した
3. 結局、BさんはAさんに500円返した
これをできるようにする二者による最小構成単位をチャネルという。
チャネルはHTLC(Hashed Time Lock Contract、ハッシュ付き時間制限コントラクト)を使って
作る
最終状態をブロックチェーンに書き込むまでは、両者の合意の上で状態の更新をする
ライトニングネットワーク
?
基本的なアイデア1
チャネルを作った片方の人が悪人で、自分の送金をなかったことにしたいがために、最終
状態ではないものを一方的にブロックチェーンに書き込んだらどうするの?
最終状態ではないトランザクションには、悪人側に対する資金使用時間制限がかかって
います。
対して、善人側は悪人側からもらったシークレットキーを最終状態ではないトランザク
ションに対して使うと、チャネル上にあった悪人の資金を直ちに全て奪えるようになっ
ています。
シークレットキーは最終状態に両者が合意する際に、両者が取り交わす1個前のもの
を無効化するためのキー
このようなペナルティーがあるため、悪人側には相手を裏切るインセンティブがない
悪人側の裏切りに対してすぐにペナルティーを行使できるように、トランザクションを常
に監視しておかなければいけない
ライトニングネットワーク
?
基本的なアイデア2
ブロックチェーンへの負荷を下げ、手数料を安くするため、チャネルを複数つ
ないで送金する
ライトニングネットワーク
?
仲介者がお金を盗めるのでは?
仲介者Bobがお金を得るためにはプレイメージと呼ばれる文字列がないといけ
ない
Bobはお金を仲介するという約束はするが、約束した時点ではプレイメージを
ハッシュ化したプレイメージハッシュしか持ってないため、お金を盗めない
これを実行するためにHTLCを使う
送金者 受金者
Alice Bob Carol
ライトニングネットワーク
?
送金者 受金者
Alice Bob Carol
Carol プレイメージ, R
Carol プレイメージハッシュ, H
ライトニングネットワーク
?
送金者 受金者
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があるから
受け取れる
ライトニングネットワーク
?
Carolが意地悪で、プレイメージRをくれなかったらBobはCarolにお金を奪われて終
わり?
協力的チャネルクローズにする場合、相手から支払い中のもの(in-flight HTLC)のプ
レイメージRをもらわないと応じないようにする
CarolがずっとRを渡さず一方的にチャネルクローズしお金を使った場合、プレイ
メージRはパブリックブロックチェーン上で公開されるため、それを使ってBobは
Aliceからお金を得る。ただし、時間がかかる。
CarolがずっとRを渡さず、しかもお金を使わなかった場合、Bobはあらかじめ設
定しておいた時間以降になればお金を取り戻せる優先権がある。ただし、時間が
かかる。
送金者 受金者
Alice Bob Carol
ライトニングネットワーク
?
ノード
ノードノードID
ノードチャネル
ノード
チャネル
チャネル
チャネル
ノードノードID
ノードID
ノードID
ノード
チャネル
ノードID
チャネル
ノード
ノードID
の大きさはチャネルに乗っているビットコインの量
ライトニングネットワーク
ノードプロジェクト一覧
Company/
Organization
Lightning Labs MIT DCI Blockstream ACINQ bcoin-org Nayuta nothing
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
lastest commit
(JST)
2018/3/22 2018/3/10 2018/3/22 2018/3/22 2016/11/23 2018/3/19 2018/3/22
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
テストネット
私のノード: btctest.lnetwork.tokyo (160.16.233.215)
メインネット
リアルなお金が流れるライトニングネットワーク
2018年3月22日
メインネット
2018年4月24日
私のノード: btc.lnetwork.tokyo (153.126.136.98)
pubkey: 028dcc199be86786818c8c32bffe9db8855c5fca98951eec99d1fa335d841605c2
技術詳細
技術詳細についてはこちらを参照ください(英語)
2017年6月にイスラエルのテルアビブで私が話した時
の資料
/takayaimai/lightning-
network-in-tel-aviv-israel
最新実装からは少し乖離がありますが、基本的な動作
原理は同じです。
注目している
ライトニング技術1
注目している
ライトニング技術1
AMP: Atomic Multi-Path Payments(アトミック複数経路支払い)
現状
送金者から受金者への送金経路は1つ
例えば、100円を送りたい場合、送金者から受金者への経路の全てのチャネルが100円送金可能でないといけ
ない
問題点
まとまったお金を送れない
1万円などある程度まとまったお金は、ライトニングネットワークを使わないほうがいいとは思います
チャネルに多くのお金を置いておくのは資金が豊かな人 -> 中央集権化
1つの送金経路に依存してしまう
送金経路上のノードが送金中に反応しなくなるなど問題が起きた場合、送金が途中で止まってしまって動
かなくなるということはないが、送金完了まで時間がかかってしまう
注目している
ライトニング技術1
AMP: Atomic Multi-Path Payments(アトミック複数経路支払い)
解決方法
1回の送金を、複数の送金経路に分割して送る
良い点
送金経路の選択肢がもっと増え、ライニングネットワーク全体のリソースをうまく使える
チャネルに大きなお金を置いておかなくても、ライトニングネットワークに貢献できる
悪い点
ライトニングネットワーク全体での送金処理数は増えるため、分割数を大きくしすぎるとライトニング
ネットワークが飽和してしまう
注目している
ライトニング技術1
AMP: Atomic Multi-Path Payments(アトミック複数経路支払い)
進展具合
アトミック性の定義や最適な実装方法について、lightning-devメーリングリストで議論中
まだライトニングネットワークRFCにはなっていない
これは、個人的にScaling Bitcoin Workshop 2017 @ Stanford Univ. に提案していたもの(残念ながらトーク
には採用されませんでしたが。。)
https://github.com/takaya-imai/packetization_for_paymentchannel
注目している
ライトニング技術2
スマホアプリをライトニングネットワークに
受金もできる lnwallet
http://lightning-wallet.com
注目している
ライトニング技術2
面白い点
トランザクションの監視バックエンドが実装してあり、監視の分散委任ができる
単純には、スマホアプリはライトニングネットワークに参加できません
スマホの電池が切れる、インターネットに接続できなくなるなどして、トランザクションの監視ができな
くなるため。
送金だけであればできますが、ライトニングネットワークの一部として送金経路に貢献するには送金と受
金の両方が必要
現状まだ完全な分散委任ではないです
監視の分散委任を受ける側にとってのインセンティブがすでに実装してある
スマホ上のトランザクションデータが壊れてしまった等なくなってしまったときのために、バックアップを取
っておくことができる
これらを行うのが、Olympusサーバです。
スマホアプリハンズオンをやっているので、そこで進展具合は公開していきます。
兴味がある方はご参加ください。
ビットコイン?ブロックチェーンスクールやってます
ご興味ある方は参加いただければと思います。
fin.

More Related Content

2nd presentation of ライトニングネットワーク JBA 2018/04/24