Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ビットコインとか勉強会#16

 ビットコインとか勉強会#16

HIROSHI MUTAGUCHI

April 01, 2018
Tweet

Other Decks in Technology

Transcript

  1. 自己紹介 • 牟田口裕司(むたぐちひろし) • 株式会社IDOM (旧 ガリバーインターナショナル) • 社内情シス担当 •

    職歴 SIer → <3社> → IDOM(今ここ) • 最近思うこと 作るって楽しい! 手を動かして何か作りたい • その他 Maker Faire Tokyoにボランティア参加 自立分散社会フォーラムの個人会員
  2. 3.すぐに出来ること • Suicaのみで生活してみる ◦ やっぱりコンビニ最高! • ビットコインを送金してみる ◦ ブロックに取り込まれるのに時間かかる ◦

    手数料高い ◦ 送金完了してるのにアプリに反映されない • LinePayを使ってみる ◦ 現金のチャージ簡単 ◦ コンビニはローソンしか使えない
  3. 5.Lightning Networkをさわってみる ビットコインの課題 • 取引量が限られる(7件程度/秒) • 送金手数料が高い • ブロックチェーンサイズが大きくなってきた(160 GB)

    • 取引の確定に時間がかかる これらを解決する手段の一つ 固定IPで常時接続が必要 → ラズパイではきつい → VPSでフルノード構築 (メモリ1GB,HDD200GB 864円/月) Blockstream社のc-lightningを使用
  4. Lightning Network Bitcoin Network 手順 ユーザー視点で見ると・・・ ①アドレ ス作成 ②送金 ③Payment

    Channel開く ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
  5. ②送金 Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment Channel開く

    ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
  6. ④デポジット Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment Channel開く

    ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
  7. ④デポジット PaymentChannelを開く 10000000 satoshi(0.1 BTC)をデポジット $ lightning-cli fundchannel 027e92b4fa1988ae5b0d44b87da80ab8875312fdae6631a8896851bc41857e66aa 10000000

    { "tx" : "02000000000101f4f8bbd486fc0c4f5ba7a52c35ced631d1a715c6f7fd9f1fa67e420ccae7356c0100000017160014 2cf995871e9132feaae66dc9a4d79e0c13c65995ffffffff02809698000000000022002062e8e632aba272e934dbc171 f5298bd2348641c903ff2bdb70648a74b8196aa4d0495d05000000001600147b7eb600e7fb99a55f610222a0bcaa25 614038bf02483045022100816ff9c42ba1f2cd1a184921661241b0d07b085fbe62b8b3b1b663d608a4f404022061d2 0642c087191a334a56d03f597b8d0670b1281acfff58c500bf14fba0e7f101210367be5bfa831ea087b1ce2f31f710b3 213bff468df79ee9bd2e5fb702797f65be00000000", "txid" : "3c926db39d8225a7dc9e936c57dc2c80d7729f9157543c7228c7a798c5457fbb" }
  8. ⑦返金 Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment Channel開く

    ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
  9. ⑦返金 全額返金する $ lightning-cli withdraw n42HubwU2Nv4wEQ4cexhDCyVZmqJi9apJb all { "tx" :

    "02000000000102bb7f45c598a7c728723c5457919f72d7802cdc576c939edca725829db36d923c0100000000ffffff ffeba7c7f71aa7e2f15729ef10714ff5b0b90b26858a82c68e4d28f0f5054f9b790000000000ffffffff01e5def50500000 0001976a914f6df33c1a83b8d7cbd9645d74fdf8e45c53aba3f88ac024830450221008a7f9d4293c71f1bee9193eae 92934b9aadae61013ada43b155277c75c024c6e022005b0f9a1ae15febae19c0becbdf5d872da0ac6ea4b4f970389b 32d0b34727e4a012103dbbcca6b2e28c7be1700b05f99c6e131e4dd7356da53cd8db44a68bdef42423b024730440 2201365b96433561497de48ab8ffe8b51ee487202ffcee0546d461aed377a0418220220379a03db4df6388cf6f78d2 217db693225b7eff3db73b6d78b5756dbf398daa3012103b9d06829d8096beabb00f912785782d7c7147f6b1f0c1ec ef27f4f5065c6977f00000000", "txid" : "7d4cf2c46747db42804dc16854680343c49c5c049f572b283994da4712f8a4e7" }
  10. Bitcoin Network 取引のまとめ そもそも別レイヤーに送金できない Lightning Network ①アドレ ス作成 ②送金 ③Payment

    Channel開く ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引 送金BTC ロック ←実際は送ってない
  11. ④デポジット デポジットは16777215 satoshi以下でないといけない 16777215 satoshi = 0.16777215 BTC ≒ 150994円(1BTC

    = 900000円) $ lightning-cli fundchannel 022f0edb0d6a8e19320e949a6f24fd4442c390ba1f38f8349b92ee0ee6cbdece08 100000000 { "code" : -1, "message" : "Funding satoshi must be <= 16777215" }
  12. ⑤取引 手数料は送金額の0.5%以下でないとエラーになる。 150000 msatoshi送金で1004 msatoshiの手数料(送金額の0.669333%) $ lightning-cli pay lntb1500n1pd2uz6mpp5ct88sksjgz2e58s2hhnq0l5pw36fqy2j5esvu9cv7g8gu3de6zvqdpd2fjkzepqg9e8g6trd3jn5gz 8wfjk2m3q2dkk7mm5dp5k2cqzyssymvh8zs664lp68yu3jfmz70c0v89hkuntld2ypys5y3q7l7ag8yygwyxkfhvka5t4d3

    ac8mw797m76rcwraas3x579y47577ay346sqyzfkk9 { "code" : 206, "message" : "Fee 1004 is 0.669333% of payment 150000; max fee requested is 0.500000%", "data" : { "fee" : 1004, "feepercent" : 0.669333, "msatoshi" : 150000, "maxfeepercent" : 0.500000, "getroute_tries" : 6, "sendpay_tries" : 0 } }
  13. 単位 1BTC = 100,000,000 satoshi = 100,000,000,000 msatoshi 1satoshi未満の返金時はどうするの? $

    lightning-cli listpeers { "peers" : [ { "id" : "027e92b4fa1988ae5b0d44b87da80ab8875312fdae6631a8896851bc41857e66aa", "connected" : true, "netaddr" : [ "133.18.23.0:9735" ], "alias" : "TEST1.MUTAGUCHI", "color" : "008000", "channels" : [ { "state" : "CHANNELD_NORMAL", "owner" : "lightning_channeld", "short_channel_id" : "1288485:44:0", "funding_txid" : "3c926db39d8225a7dc9e936c57dc2c80d7729f9157543c7228c7a798c5457fbb", "msatoshi_to_us" : 10000000000, "msatoshi_total" : 10000000000, "dust_limit_satoshis" : 546, "max_htlc_value_in_flight_msat" : 18446744073709551615, "channel_reserve_satoshis" : 0, "htlc_minimum_msat" : 0, "to_self_delay" : 6, "max_accepted_htlcs" : 483, "status" : [ "CHANNELD_NORMAL:Funding transaction locked." ] } ] } ] }
  14. その他(c-lightningが不安定?) • ③PaymentChannel開けない、④デポジットできない、⑤取引できない • lightningdが落ちる。 • bitcoindとLightningdのブロック高が合わない。 $ bitcoin-cli getinfo

    "version": 150100,   〜中略〜 "balance": 1.94999236, "blocks": 1288659,   〜中略〜 } $ lightning-cli getinfo { "id" : "034ea2619d137ceaeb7c0a9a4c36037c6a99eed4cef9eca984bf5ac2efbbb6fcf4", "port" : 9735, "address" : [ { "type" : "ipv4", "address" : "133.18.23.210", "port" : 9735 } ], "version" : "v0.5.2-2016-11-21-2269-g249464c", "blockheight" : 1288659, "network" : "testnet" }
  15. Appendix • ビットコイナー反省会 ◦ Lightning Network Q&A放送 with 大石哲之さん https://youtu.be/fm9-Dw9BvMI

    ◦ SegWit,Lightning, MAST ビットコインの最重要技術を改めて考える with ハウインターナショナル安 土さん https://youtu.be/jtRn6cFVc68 • ブロックチェーン・プログラミング 仮想通貨入門 11章 スケーラビリティへの対応 • GitHub ElementsProject/lightning https://github.com/ElementsProject/lightning • GitHub lightningnetwork/lnd https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md