Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IoTとFintechを繋ぐLightning Networkの実践

IoTとFintechを繋ぐLightning Networkの実践

  • Be the first to comment

  • Be the first to like this

IoTとFintechを繋ぐLightning Networkの実践

  1. 1. IOTとFintechを繋ぐ Lightning Network の実践 ビットバンクCBO ジョナサン・アンダーウッド
  2. 2. 自社+自己紹介 ・2012年からビットコインと出逢う (ジョナサン) ・2014年5月 ビットバンク設立! (ビットバンク) ・2014年〜ビットバンク技術顧問 (ジョナサン) ・2017年3月〜ビットバンクCBO (ジョナサン) ・2012年〜2016年ビットコインのウォレットアプリ開発に参加 (ジョナサン) ・2017年〜 BitcoinJS-Libのコミッターに (ジョナサン) ・2017年〜 ブロックチェーン大学校株式会社設立 (ジョナサン+ビットバンク) ・2018年〜 セカンドレイヤーペイメントチャンネルネットワークの開発に参加 (ジョナサン)
  3. 3. IOT (モノのインターネット) ● 様々な「モノ(物)」がインターネットに接続され(単に繋がるだけでは なく、モノがインターネットのように繋がる)、情報交換することにより 相互に制御する仕組みである。 ○ 自動車、冷蔵庫、テレビ、ドローン、ガソリンスタンド、低空飛行 Wi-Fi発信機など ● 大きな課題の一つがレイテンシー ○ 無線通信の規格として 5G が現在開発中で躍進するはず ● ブロックチェーンも多大な影響与えると賞賛 ○ 客観的に所有権や身分を検証できたりするし ○ もちろんお金の支払いもできる
  4. 4. ブロックチェーンのおさらい ● 分散型合意形成アルゴリズムで 記録を束ねた「ブロック」 ● 「ブロック」に記録が掲載されるまでは 二重支払いあり ● ブロックが見つかる時間はばらつきがある ○ BTC = 600秒 ○ ETH = 15秒 ○ MONA = 90秒 ○ ただし、ランダム性があるので、あくまでの目標である ● ブロックタイムが仮に1秒で固定でも、世界中に伝搬が必要 ● レイテンシーがががああああ
  5. 5. ペイメントチャンネル現る A B 0.01 BTC 0.03 BTC 0.009 BTC - 0.031 BTC + 0.00999 BTC + 0.03001 BTC - 0.00949 BTC - 0.03051 BTC + 送金し合う相手との間に決済トークンの取引データ を協力して更新することでブロックチェーンに配信し ないで取引が行える状態のこと
  6. 6. ちょっと待て…データを…更新?…なにそれ? ● ペイメントチャンネルの構成は三部作 ○ オープン!ブロックチェーンに 1個取引配信し、チャンネルをオープン。 ○ クローズ!調整中の取引を相手の協力無しにいつでも閉じられる。 ○ パーニッシュ!(罰)古い状態のクローズ (自分が好都合になるようバックレる )は相手に全額没収! ● 調整する対象はクローズの取引の状態 A B 入力 A 0.01 BTC B 0.03 BTC 出力 A + 1 day or P 0.008 BTC B 0.032 BTC B 入力 A 0.01 BTC B 0.03 BTC 出力 A 0.008 BTC B + 1 day or P 0.032 BTC A 電子署名
  7. 7. 取引の更新と罰の条件 A B 入力 A 0.01 BTC B 0.03 BTC 出力 (A + 1 day) or P 0.008 BTC B 0.032 BTC B 入力 A 0.01 BTC B 0.03 BTC 出力 A 0.008 BTC (B + 1 day) or Q 0.032 BTC A 取引#1 罰対象へ変換済み Aが持つ取引 Bが持つ取引 入力 A 0.01 BTC B 0.03 BTC 出力 (A + 1 day) or R 0.005 BTC B 0.035 BTC B 入力 A 0.01 BTC B 0.03 BTC 出力 A 0.005 BTC (B + 1 day) or S 0.035 BTC A 取引#2 Aが持つ取引 Bが持つ取引 P (の鍵になる秘密データ) Q (の鍵になる秘密データ) これを配信してしまえば、相手に没収される! 残高の調整を行った後に、前の取引は罰の対象となるようになり、配信した方が相手にチャンネル全額を没収される。 * P, Q, R, S == 秘密データのハッシュ値
  8. 8. これでレイテンシーがどうなる? ● 直接相手との通信のやり取りに加えて署名などの交渉の時間 ○ 実証実験で0.5秒程度を計測 ○ 効率化されたものでさらに速くなるかと ● ただし、結局チャンネルと開閉時にブロックチェーンの高い手数料かかる!!! ○ チャンネルの開閉を減らす術が必要
  9. 9. HTLC (Hash Time Locked Contract) A 入力 A 0.01 BTC B 0.03 BTC 出力 (A + 1 day) or T 0.004 BTC B 0.035 BTC B + H val 0.001 BTC B 入力 A 0.01 BTC B 0.03 BTC 出力 A 0.004 BTC (B + 1 day) or U 0.035 BTC B + H val 0.001 BTC A 取引#3 Aが持つ取引 Bが持つ取引 C Z = 秘密 H = Hash(Z) B A B BがちゃんとCに渡すように、 Cにしか分からない秘密が無いと回収 できない額を当てる。 H ① H をもらう ② ②条件付でBへ送金 ④ Z 開示 ③条件付でCへ送金 ⑤ Z 開示 ⑥領収証保管
  10. 10. チャンネルで繋いだネットワーク ● 各ペイメントのルートはたくさんある ● 頻繁にやり取りする人がチャンネル繋ぐ ● ランダムに他人と繋ぐ(autopilot) ● 分散したネットワークの実現が可能
  11. 11. 実践してみます! ● Docker使います。 ● ついてきてくれる人はどうぞ ● https://github.com/lightningnetwork/lnd/tree/master/docker ● https://gist.github.com/junderw/c4662efd1c3aa63ee891db53a2a0ad7c Alice (lnd) Bob (lnd) Carl (lnd) Bitcoin Simnet (btcd) チャンネル チャンネル ブロックチェーン 確 認 ブロックチェーン 確認 ブロックチェーン 確認 591312 400000 591312 400000

×