久々に「ビットコインとか勉強会」のレポートを書こうと思います。今回で8回目だったようです。今回はビットコインアドレスの仕組みというビットコインの基本的な部分の話と、poloniex の lending を API を使ってやってみようというちょっとニッチな玄人な話があり、初心者も中級者も投資家も楽しめるような内容でした。
https://cryptocurrency.connpass.com/event/58585/

今回の会場は FINOLAB (フィノラボ) というところで、Fintech startup を中心に貸しオフィスをやっているところらしく、今までこういったエンジニア向けの勉強会というのは開催していなかったのが不思議なくらい、適した場所な気がしました。気になる方は FINOLAB の Web を見てみると良いでしょう。
https://finolab.jp

まず1つ目のトークは村田智英さんによる「ビットコインアドレス生成のロジック 秘密鍵と公開鍵からビットコインアドレスが生成されるまでを見てみよう。」というお話でした。
秘密鍵が与えられてからビットコインの送金に使うビットコインアドレスがどのように生成されるかについてのお話でした。キーワードとしては以下のようなものが出てきました。

- 秘密鍵
- 公開鍵
- ハッシュ関数
- SHA256
- ripemd160
- base58encode, base58check
- WIF Wallet Import Format

これらを全て理解するのは大変なのですが、ビットコインアドレス生成までの流れを掴むことはビットコインの仕組みや本質を理解する上で重要だと思いますね。特に、どのように暗号化技術が使われていて、それによって何が改竄できなくなり、プライバシーもどの程度守られているかも考えるきっかけになります。
トークの中で紹介されていた以下の「Bitcoin日本語情報サイト」では与えられた秘密鍵に対して、ビットコインアドレス生成までの各ステップでどのような変換がされて行くのかを確認できます。これ知らなかったんですが、基本を理解するのにすごく有用なサイトですね。
- ビットコインとは何か? 第3回:ビットコインの仕組み(アドレスの作成から送金まで)

これは自分でもいじってみて、スライドかなんかにまとめてブログ記事で解説したいですね。




2つ目のトークはセブンバニーズの古酒慎也さんによる「Poloniex API解説(Lending編) Bitcoinを貸して金利が得られるサービスに関するAPIを解説します。」というお話でした。
Poloniex はアメリカをベースとした取引所で、ビットコインで売買できる仮想通貨の種類が世界最多であると聞いたことがあります。
そんな Poloniex ですが、現物の売買の他に信用取引的なレバレッジを掛けられるものと、ユーザ間で lending という仮想通貨を貸し借りできるサービスも行っています。最低2日間で、1日のローンに対する金利を設定して貸し出し、借りたい人は借りられるというプラットフォームになっています。そんな lending ですが、貸し借りは通常の現物売買のように板になっているので、ブラウザで UI をカチカチするだけだと約定しない時間ができるなど、非効率が生まれてしまいます。
API が公開されているので、自分でプログラムを書いて自動で lending 取引をさせてみようというのが古酒さんのトークの趣旨でした。
Poloniex の API は以下のドキュメントに載っていますね。

古酒さんの話でなるほどと思ったのが、GUI だと応答が遅い時も API だと通常通りのことがある、ということですね。なので、ブラウザからだとサーバが落ちたように思えても API でアクセスできれば相場の急騰や急落にも対応できそうです。

ビットコインなど暗号通貨に関しては、送金もそうですし、取引所での取引も自分でプログラムを書いて自動化できる部分がたくさんあるので、エンジニアにとっては色々と魅力のある業界だと思います。
これを機にちょっとしたプログラムを作ってみたいと思いました。
--------------------------------------------------------------------
このブログでは、試験的にブログ運営 (の一部) をビットコインの寄付によって行うことを目指しています。
ビットコインを寄付いただけた方にバーガー好きの証明書 BURGERLOVER (Counterparty token) をプレゼントしています。以下のボタンから寄付いただけます。より一層皆さんに役立つ情報をお届けできるようにして参ります。