Contenu connexe
Similaire à Bitcoin x Slack でマイクロペイメントを実現! 〜生活の必要上割り勘botを作るまで〜 (20)
Bitcoin x Slack でマイクロペイメントを実現! 〜生活の必要上割り勘botを作るまで〜
- 10. もう少し詳しく
● 古山 亮(ふるやま りょう)
● ジュネーヴにて生まれる
● 東京にて育つ(2歳〜)
● 早稲田大学大学院にて機械学習を専攻(工学修士)
● 株式会社リクルートHDに新卒入社、プロダクトオーナーなど
● シリコンバレーにある現地子会社ベンチャーに駐在 →退職
● 全国物見遊山(2016年11月)(無職)
● 2016年12月より株式会社ビズリーチのHRMOS事業部でインフラエンジニア
- 21. Bitcoinとは
● Satoshi Nakamotoなる謎の人物により投稿された論文が元のアイデア
● P2Pな分散台帳システム(非中央集権的)
● 信用できない複数の参加者間で台帳の整合性を保証
○ 内部的にはブロックチェーンというアイデアを利用している
● 2009年よりネットワークが稼働している
● 2010年に2枚のピザと10,000BTCが交換される(史上初のBTC取引)
● 取引所Mt.Goxの破綻等、乱高下を繰り返しながらも高騰
● 2017年頭に時価総額2兆円を突破
● 3月2日、1BTCが純金1ozの価格を突破
- 28. 技術はこんな感じで決定
● Slack bot: Botkit
○ Hubotでもよかったけどどうせ馴染みがない( jsほとんど書いたことない)ので
新しめのやつを使いたかった
○ 特にちゃんと比較したわけではないので Hubotとのメリデメは謎
● Bitcoin client: bitcore-wallet-client
○ Bitpay社が開発している一連のモジュールのひとつ
○ Bitcore-wallet-serviceサーバと通信する
■ bwsサーバは自分で立てるか、 bitpay社の( https://bws.bitpay.com/bws/api )を使う
○ 同社のウォレットアプリ Copayで使われている
■ 世界で唯一?testnetにも対応!
■ オープンソース
■ 検証・使い方を調べるのが楽!
- 36. ウォレットのアクティベート
● BIP-39で規定されているmnemonic wordsを利用
○ BIP-xxxはBitcoin Improvement Proposalsと呼ばれる文書群
○ RFCみたいなもの(たぶん)
○ Mnemonic wordsはウォレットの秘密鍵を覚えやすく表現するための 12 (or24) の単語群
○ バックアップに使われる
○ 単語群はCopay上で生成できる
○ 要するに「ふっかつのじゅもん」
● Botに「activate [12 WORDS]」と教えるとそのユーザ用にウォレットを復元
● これにより他のユーザにウォレットの秘密鍵を教えず生成が可能
○ もちろんbotの管理者は如何用にも知りようがあります …
- 38. 任意の額の送金
● 下記の手順で送金を実現する
● 受け手のアドレスを生成
○ 今回は階層的決定性 (HD)ウォレットなので1ウォレット=1アドレスではない
○ HDウォレットはシード(12単語)からウォレットが生成でき、
紐づくアドレスを無限に生成できる
● 受け手のアドレス宛に任意の額でTxProposalを作成
○ ※ tx = transaction
● TxProposalを発行
● TxProposalに署名
● TxProposalをブロードキャスト
- 39. 送金のサンプル
● 1 BTC = 100,000,000 satoshi
● ignoreMaxGap = true にするとなんの取引もないaddressをたくさん作れる
○ → デバッグ作業には便利
- 44. 今後の課題
● Interactive button使いたい
○ 今はreactionベース。こういうのしたい →
● マルチシグウォレットを使ってみたい
○ N個の秘密鍵のうちM個があれば署名みたいなことができる
○ BIP 11: M-of-N Standard Transactions で規定
● コールバック地獄みたいなことになったのでなんとかする
○ js力不足
○ 勉強します…