コールドウォレット開発を支えるエンジニアが語る、技術だけではない、ブロックチェーンの魅力とは
コインチェック採用広報(@coincheck_hr)です。
コインチェックでは、暗号資産やブロックチェーン技術に精通し、愛着を持っているメンバーが多く活躍しています。その中でも、「社内で最もクリプト愛が強いメンバー」とコインチェック社員の多くが名前を挙げるブロックチェーンエンジニアの林 拓人さんにインタビューしました。
「プログラミングという行為そのものがおもしろい」と語る林さんは、中学3年生の頃から独学でプログラミングの勉強を開始し、大学でもコンピューターサイエンスを専攻。卒業研究では独自のプログラミング言語を開発・発表しました。
そんな林さんの人生を変えたのは、2017年に出会った、たった9ページのBitcoinのホワイトペーパー。仕組みのシンプルさと応用の幅広さに感銘を受け、ブロックチェーンエンジニアになることを決意しました。2018年10月にコインチェックに入社し、一時ベンチャー企業への参画したものの再入社、現在もコールドウォレットの開発に従事しています。
ブロックチェーン技術の数々の潮目の変化を見てきた林さんに、暗号資産やブロックチェーン技術のおもしろさ、そしてなぜコインチェックでキャリアを磨くことを選んだのかを聞きました。
「プログラミングという行為そのものがおもしろい」
ーープログラミングやコーデイングに興味を持ち始めたきっかけは?
中学3年生のとき、文化祭で手に取ったコンピュータ部の部誌に、プログラミングの入門記事があり、試しに触ってみたのがきっかけでした。結局部活動には入らなかったんですが、そこから独学で勉強を始めました。調べていくうちに、プログラムで実現したいことを表現するときの表現の仕方が、プログラミング言語によって異なることにおもしろみを感じたんです。
初めの頃は簡単なゲームなどを作っていましたが、何か物を作るというよりはプログラミングという行為そのもののおもしろさに興味が移り、プログラミング言語やその処理系を作るようになりました。
ーー大学でもプログラミング関係の研究をされていたんですか?
はい。筑波大学の情報学群情報科学類で、コンピューターサイエンスを専攻しました。卒業研究では独自のプログラミング言語を作って発表しました。いわゆるオブジェクト指向プログラミングや関数型プログラミング等のプログラミングパラダイムの中から、私が良いと思う点を組み合わせて作った言語でした。
ただ私はコンピューターサイエンスの研究に向いていないと思ったので修士課程には進まず、卒業後は楽天株式会社(現:楽天グループ株式会社)に就職してWebアプリケーションエンジニアになりました。
人生を変えた、たった9ページの「Bitcoinのホワイトペーパー」
ーー暗号資産やブロックチェーンの技術の領域に興味を持ったきっかけは?
確か2017年の春か夏あたりだと思います。Bitcoinのホワイトペーパーといわれる、サトシ・ナカモトが書いた論文を読んで、すごくおもしろいなと思いました。Bitcoinが徐々に話題になり始めていたときに興味を持って調べてみたところ、見つけたのがこの論文です。
ーーほんの9ページの短い論文なのですね。どんな印象を受けましたか?
この論文では、政府や銀行などの権威に依存せず発行できる暗号資産の実現方法が書かれています。ページ数が少ないところからもわかるように、かなり仕組みがシンプルなんです。これによって、信頼できる第三者を必要とせずに財産的価値を持つデータを生成できるという点がすごくおもしろいなと思いました。仕組みのシンプルさと応用の幅広さを魅力的に感じました。
Bitcoinはこのホワイトペーパーに基づいて作られており、「暗号資産」はブロックチェーンの活用事例として一番基礎になるものだと思います。自分がブロックチェーンの魅力を語るときには、この論文にいつも立ち返ります。
暗号資産が新しく生まれるときに見えた、人が何を信じ、どう動くのかということ
ーーこの他にも、ブロックチェーン技術への興味が増すステップがあったのですか?
いくつかのターニングポイント、さらに興味を深めた出来事があったと思います。1つは2017年にBitcoin Cashという暗号資産がBitcoinから分岐して新しく生まれたときです。関係する取引所やウォレットを作っている会社、コミュニティなどの間で様々な論争が巻き起こったのですが、暗号資産が新しく生まれる仕組みや、人々がどういう動きをするのかが見えて、とても興味深かったです。単に技術的なところだけではなくて、人が何を信じるかという部分も、非常に重要なブロックチェーンの要素だということが分かりました。
ーーそれから約1年ほど経った2018年10月にコインチェックにご入社された林さんですが、ブロックチェーンエンジニアとして働くのは初めてでしたか?
趣味でオープンソースのプロジェクトにプルリクエストを送ったりすることはありましたが、本格的にプログラムを書くようになったのは入社してからでした。
それまでのWebアプリケーション開発の経験が活かせる部分は多少ありつつも、そこが主ではないという感じでした。私が入社して配属されたのはコールドウォレット開発のチームでしたが、オフラインの隔離されたシステムを作るとあって、これまでのWebアプリケーションを作ることとは毛色が違うところがありました。勉強することが多かったですね。
ーーコールドウォレット開発グループへの配属は、林さんとしてイメージ通りの方向性でしたか?
そうですね。ブロックチェーンの仕組みを理解して、知見を深め、スキルを高めていきたいと思っていたので、そこにダイレクトに関わるコールドウォレット開発グループへの配属は、私が望んだところでした。
DAppsの出現で、潮目が変わった
ーーコインチェックのコールドウォレット開発グループでは、主にどういう仕事を担当しているのでしょうか?よく使う言語はなんですか?
ブロックチェーンとやり取りをするにあたって、たいていどの暗号資産でもSDK(ソフトウェア開発キット)がTypeScriptという言語で提供されていることが多いんです。なので、TypeScriptを書くことが多いですね。あとはRustという言語も使っています。プログラムに間違いがないかどうかの厳密な型チェックができる、いわゆる静的型付け言語をコールドウォレット開発グループでは好んで使っています。
TypeScriptというとフロントエンドのイメージがあると思いますが、実はサーバーサイドでも使われます。Rustは低レイヤーな処理を書くことや並列処理が得意で、ハイパフォーマンスであることが要求されるようなサーバーで動かすプログラムにもよく使われます。低レイヤーでありながら安全性も両立させた言語ですね。
ーーブロックチェーンエンジニアになって5年間の間で、大きな技術革新や潮目が変わったなと思う瞬間はありましたか?
スマートコントラクトを実際に活用したDApps(ブロックチェーンを利用した分散型アプリケーション)が出始めた頃、多くの人がブロックチェーン上のアプリケーションを作るようになりましたし、使う人たちも出始めました。それまでは、プロダクトがなくても期待中心で独自トークンの価格が形成されていたことが多かったのですが、実際にプロダクトがあってそれを人々が使っている状況が生まれたのが、節目なのではないかと思っています。
DeFi(ディファイ)が流行り始め、Uniswap(ユニスワップ)やCompound(コンパウンド)が登場した頃は、ユニークで新しいもの好きな、ギークな方々がブロックチェーンを触り始めた印象でしたが、NFTやweb3周辺の動きが活発になってきたことで、さらにユーザーがマス層へ移っていった印象です。
馴染みやすい雰囲気がコインチェックの魅力
ーーブロックチェーン技術のエンジニアスキルを究めるにあたり、コインチェックを選んだ理由を聞かせてください。
2018年当時はまだスマートコントラクトもDAppsも流行っていなかった頃で、ブロックチェーンを使ったビジネスモデルが確立していたのは取引所くらいでした。その中でもコインチェックは、Web系企業と似た雰囲気がある点に親しみを感じました。エンジニアである和田晃一良さん(@wadakooo)が創業メンバーであり、人事の方の雰囲気も馴染みやすかったです。
ーー「新しい価値交換を、もっと身近に」というミッションは、現在の組織にも反映されていますか?また、コールドウォレット開発グループでの開発思想や、皆さんの中で共有している価値観はありますか?
使う人にとって、使いやすく寄り添ったサービスになるようにということは、かなり意識していると思います。コールドウォレット開発グループに関しては、さまざまなリスクをしっかりと考慮し、そこに先手を打って対処していくことが求められています。こういうふうにやったらいいんじゃないかというのを、メンバーが考えて提案し議論するというのを日々行っていて、メンバーのリスクを見逃さない姿勢がセキュリティの強化に繋がっていると思います。
個々で情報をキャッチアップしようという意欲の強いメンバーがコールドウォレット開発グループには所属しているので、自然と情報が集まるようにもなっています。私も社内でエンジニア以外の職種の方も参加する勉強会で、最近起きたクリプト周りの出来事を解説しています。
ーーコインチェックの技術的負債への向き合い方について聞かせていただけますか?
新しい機能を開発する際には、既存の仕組みをまずリファクタリングしてから取り組むということを行っています。リファクタリングをして技術的負債を返済していくことによって、新機能の追加や、新たな価値の提供をする開発サイクルを短くできると考えています。最低限のコードの修正で実装できることも、もう少し将来の変更に備えた良いかたちに変えてから追加しようということは、普段から意識しています。
基盤の技術が進化していくことで、さらにできることが広がっていく
ーーブロックチェーン技術の開発で、林さんが今後注目を集めると予想する利用分野はどのような分野でしょうか?
私は割と基盤の方に興味があり、アプリケーションというよりはブロックチェーンの技術自体がどう進歩していくかというところに興味が強いです。いわゆるスケーラビリティの問題とも言われていて、費用面や処理速度の問題が解消されていくことで、さらにできることが広がっていくと思います。
ーー最後に、これからブロックチェーンエンジニアを志す方に一言メッセージをお願いします。
まずはBitcoinのホワイトペーパーを読んでみましょう。読んで興味を持った人は、その興味を持ったところからさらに深掘りしていくといいと思います。ブロックチェーン技術はいくらでも調べられるくらい奥深くておもしろいです。まだまだ発展途上の技術なので、黎明期である今からキャッチアップしておけば今後のキャリア形成にも活かせると思います。
最後に
コインチェック(@coincheck_hr)ではエンジニアを絶賛募集中です。
わたしたちは十数年前に生まれた、ブロックチェーン技術を活用し、価値交換を中心としたサービスを作る会社です。様々な構造が変わる瞬間、変える瞬間をみなさんと共有したいです。
少しでも興味がありましたら、カジュアル面談でお話ししましょう!
■林さんが所属するコールドウォレット開発グループの求人はこちら↓
■他の求人はこちら↓