Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ビットコインとか勉強会#16
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
HIROSHI MUTAGUCHI
April 01, 2018
Technology
540
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ビットコインとか勉強会#16
HIROSHI MUTAGUCHI
April 01, 2018
Other Decks in Technology
See All in Technology
手を動かして実感する、Kiro が変える開発体験
inariku
0
410
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
300
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
740
AI coding 整合正規方法
philipz
0
560
Account Factory for Terraformによる 標準化されたアカウント発行の自動化
pensuke628
0
120
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
700
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
660
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
190
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
1
400
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1k
猫でもわかるKiro Web
kentapapa
1
150
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
830
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
560
Rails Girls Zürich Keynote
gr2m
96
14k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Everyday Curiosity
cassininazir
0
330
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
250
WCS-LA-2024
lcolladotor
0
840
Writing Fast Ruby
sferik
630
63k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The Curse of the Amulet
leimatthew05
3
15k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Transcript
コードが書けなくても 手を動かして学ぶ方法 3/27 ビットコインとか勉強会 #16
自己紹介 • 牟田口裕司(むたぐちひろし) • 株式会社IDOM (旧 ガリバーインターナショナル) • 社内情シス担当 •
職歴 SIer → <3社> → IDOM(今ここ) • 最近思うこと 作るって楽しい! 手を動かして何か作りたい • その他 Maker Faire Tokyoにボランティア参加 自立分散社会フォーラムの個人会員
アジェンダ 1. はじめに 2. 情報収集してみる 3. すぐ出来ること 4. Bitcoinフルノードを立ててみる 5.
Lightning Networkをさわってみる
1.はじめに <2016年秋頃> 現金を扱うコストが苦痛になってきた ↓ ↓ ↓ ↓ ↓ 財布を持ちたくない ↓ ↓ ↓ ↓ ↓ Fintechってのが流行ってるらしい ↓ ↓ ↓ ↓ ↓ ビットコイン?なんか財布持たなくても良くなるらしい ↓ ↓ ↓ ↓ ↓
〜〜 勉強開始 〜〜
ポケットに穴あいて 現金ばらまいて歩いてた
2.情報収集してみる 情報を頭に入 れただけでは 実感わかない
3.すぐに出来ること • Suicaのみで生活してみる ◦ やっぱりコンビニ最高! • ビットコインを送金してみる ◦ ブロックに取り込まれるのに時間かかる ◦
手数料高い ◦ 送金完了してるのにアプリに反映されない • LinePayを使ってみる ◦ 現金のチャージ簡単 ◦ コンビニはローソンしか使えない
3.すぐに出来ること 金額指定の方法 読み込ませる式 読み込み式 手入力 指定済 ローソン:POS Wikiの募金
3.すぐに出来ること 金額指定の方法 読み込ませる式 読み込み式 手入力 指定済 Wikiの募金 安い ※利用場所が限定される ローソン:POS
高い ※設備導入コストかかる 安い ※金額不足過剰時に面倒
4.ビットコインのフルノードを立ててみる • フルノードを立ててみる ◦ トランザクションデータの同期に3W ◦ 同期後は非力なラズパイ2でもサクサク動く ◦ bitcoind の最新版が触れる
▪ bitcoind 0.16 ◦ コマンドが実行できる • ラズパイ壊れない ◦ 2017/4〜 連続稼動
5.Lightning Networkをさわってみる ビットコインの課題 • 取引量が限られる(7件程度/秒) • 送金手数料が高い • ブロックチェーンサイズが大きくなってきた(160 GB)
• 取引の確定に時間がかかる これらを解決する手段の一つ 固定IPで常時接続が必要 → ラズパイではきつい → VPSでフルノード構築 (メモリ1GB,HDD200GB 864円/月) Blockstream社のc-lightningを使用
オフチェーンで取引をする Bitcoin Network Lightning Network
Lightning Network Bitcoin Network 手順 ユーザー視点で見ると・・・ ①アドレ ス作成 ②送金 ③Payment
Channel開く ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
BitcoinNetwork ノードを経由して取引 Aさん Dさん Bさん Cさん Eさん ①アドレスを作成する
BitcoinNetwork ノードを経由して取引 Aさん Dさん Bさん Cさん Eさん ②送金する
ノードを経由して取引 ③PaymentChannel開く Aさん Dさん Bさん Cさん Eさん
ノードを経由して取引 Aさん Dさん Bさん Cさん Eさん ④デポジットする
ノードを経由して取引 直接つながらなくても間を経由して取引される。 マルチホップ送金 Aさん Dさん Bさん Cさん Eさん ⑤取引をする
ノードを経由して取引 直接つながらなくても間を経由して取引される。 Aさん Dさん Bさん Cさん Eさん ⑤取引をする
ノードを経由して取引 Aさん Dさん Bさん Cさん Eさん ⑥PaymentChannel閉じる
ノードを経由して取引 Aさん Dさん Bさん Cさん Eさん BitcoinNetwork ⑦返金する
LightningNetworkの状況(testnet) https://explorer.acinq.co/#/
txidなどを元に実際どうなってるかを見てみる ②、④、⑦でBitcoinのブロックに書き込みをしてる Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment
Channel開く ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
②送金 Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment Channel開く
④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
BitcoinNetwork ②送金 Aさん Dさん Bさん Cさん Eさん ②送金する
②送金 送金 2行目はtxid $ bitcoin-cli sendtoaddress 2MzGDD9quuLEzXL7YY85HrmoWUonks9mg4c 1 6c35e7ca0c427ea61f9ffdf7c615a7d131d6ce352ca5a75b4f0cfc86d4bbf8f4 $
lightning-cli newaddr { "address" : "2MzGDD9quuLEzXL7YY85HrmoWUonks9mg4c" } LNアドレスの作成
②送金 testnet用のエクスプローラで確認 https://test-insight.bitpay.com
②送金 $ bitcoin-cli getrawtransaction 6c35e7ca0c427ea61f9ffdf7c615a7d131d6ce352ca5a75b4f0cfc86d4bbf8f4 <16進データ> $ bitcoin-cli decoderawtransaction <16進データ>
トランザクションの詳細をみるには・・・
④デポジット Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment Channel開く
④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
④デポジット Aさん Dさん Bさん Cさん Eさん ④デポジットする
④デポジット PaymentChannelを開く 10000000 satoshi(0.1 BTC)をデポジット $ lightning-cli fundchannel 027e92b4fa1988ae5b0d44b87da80ab8875312fdae6631a8896851bc41857e66aa 10000000
{ "tx" : "02000000000101f4f8bbd486fc0c4f5ba7a52c35ced631d1a715c6f7fd9f1fa67e420ccae7356c0100000017160014 2cf995871e9132feaae66dc9a4d79e0c13c65995ffffffff02809698000000000022002062e8e632aba272e934dbc171 f5298bd2348641c903ff2bdb70648a74b8196aa4d0495d05000000001600147b7eb600e7fb99a55f610222a0bcaa25 614038bf02483045022100816ff9c42ba1f2cd1a184921661241b0d07b085fbe62b8b3b1b663d608a4f404022061d2 0642c087191a334a56d03f597b8d0670b1281acfff58c500bf14fba0e7f101210367be5bfa831ea087b1ce2f31f710b3 213bff468df79ee9bd2e5fb702797f65be00000000", "txid" : "3c926db39d8225a7dc9e936c57dc2c80d7729f9157543c7228c7a798c5457fbb" }
④デポジット 2MzGDD9quuLEzXL7YY85HrmoWUonks9mg4c → ②で送金したアドレス Unparsed address [0] → LN側のアドレス
④デポジット トランザクションの中を確認しようとすると・・・ $ bitcoin-cli gettransaction 3c926db39d8225a7dc9e936c57dc2c80d7729f9157543c7228c7a798c5457fbb error code: -5 error
message: Invalid or non-wallet transaction id
⑦返金 Lightning Network Bitcoin Network ①アドレ ス作成 ②送金 ③Payment Channel開く
④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
⑦返金 Aさん Dさん Bさん Cさん Eさん BitcoinNetwork ⑦返金する
⑦返金 全額返金する $ lightning-cli withdraw n42HubwU2Nv4wEQ4cexhDCyVZmqJi9apJb all { "tx" :
"02000000000102bb7f45c598a7c728723c5457919f72d7802cdc576c939edca725829db36d923c0100000000ffffff ffeba7c7f71aa7e2f15729ef10714ff5b0b90b26858a82c68e4d28f0f5054f9b790000000000ffffffff01e5def50500000 0001976a914f6df33c1a83b8d7cbd9645d74fdf8e45c53aba3f88ac024830450221008a7f9d4293c71f1bee9193eae 92934b9aadae61013ada43b155277c75c024c6e022005b0f9a1ae15febae19c0becbdf5d872da0ac6ea4b4f970389b 32d0b34727e4a012103dbbcca6b2e28c7be1700b05f99c6e131e4dd7356da53cd8db44a68bdef42423b024730440 2201365b96433561497de48ab8ffe8b51ee487202ffcee0546d461aed377a0418220220379a03db4df6388cf6f78d2 217db693225b7eff3db73b6d78b5756dbf398daa3012103b9d06829d8096beabb00f912785782d7c7147f6b1f0c1ec ef27f4f5065c6977f00000000", "txid" : "7d4cf2c46747db42804dc16854680343c49c5c049f572b283994da4712f8a4e7" }
⑦返金 ②送金 1 BTC ⑦返金 0.99999461 BTC 手数料 0.00000539 BTC
②送金 ④デポ ジット ⑦返金
Bitcoin Network 取引のまとめ そもそも別レイヤーに送金できない Lightning Network ①アドレ ス作成 ②送金 ③Payment
Channel開く ④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引 送金BTC ロック ←実際は送ってない
Lightning Network Bitcoin Network エラー、不具合、気づくこと ①アドレ ス作成 ②送金 ③Payment Channel開く
④デポ ジット ⑥PaymentC hannel閉じる ⑦返金 ⑧着金 ⑤取引
④デポジット デポジットは16777215 satoshi以下でないといけない 16777215 satoshi = 0.16777215 BTC ≒ 150994円(1BTC
= 900000円) $ lightning-cli fundchannel 022f0edb0d6a8e19320e949a6f24fd4442c390ba1f38f8349b92ee0ee6cbdece08 100000000 { "code" : -1, "message" : "Funding satoshi must be <= 16777215" }
⑤取引 手数料は送金額の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 } }
単位 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." ] } ] } ] }
その他(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" }
None
まとめ ターミナルはお友達になるしかない コマンドも少しずつ覚えるしかない GitHub見るようになった エクスプローラ見るようになった testnetのマイニングは約20分毎 そして単なる知識だったものを自信が持っ て説明できるようになる!
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
Appendix 自分で試したい場合はQiitaに手順まとめました • お手軽にVPSでBitcoinフルノードを立ち上げる方法 https://qiita.com/9muta/items/d3b5cf003d18ab58d112 • LightningNetworkノードを立ち上げる方法 https://qiita.com/9muta/items/285431be70caf667ecd1 • LightningNetworkを使ってみる
https://qiita.com/9muta/items/c9549a4694ff5fe8bf25