今回はGaudiyのエンジニアとして、コミュニティアプリや『Gaudiy DID-System』の開発で活躍中のインターンの椿くん(@mikr29028944)にお話を伺いました。
写真:フロント&バックエンドエンジニア 椿 京介(@mikr29028944)
大学在学中。最新のテクノロジーに興味を持ちプログラムを独学する。ブロックチェーンの思想に共感してイベントや勉強会にも参加していく中でGaudiy代表の石川の誘いもあり、Gaudiyにインターンとして参画、現在はコミュニティアプリや『Gaudiy DID-System』のフロントエンドからバックエンドまで幅広く開発に携わっている。ちなみに最近はじめた趣味は岩盤浴。
卒論テーマを決めたブロックチェーン企業でのインターン生活
- まずは簡単に自己紹介をお願いします。
椿京介、大学4年です。
東京理科大学の情報科学科で数理情報と計算機科学を専攻していて、研究室では離散数学と暗号理論を学んでいます。
今は4年なので卒論作成を急ピッチに進めていて『zk-SNARKs』というゼロ知識証明を使った技術を卒論のテーマにしてます。
『zk-SNARKs』はブロックチェーンのプライバシー問題におけるトランザクションの秘匿化などの技術として使われています。
- ブロックチェーン企業のインターン生らしいテーマですね。
- ブロックチェーンにはいつ頃から興味を持っていたのですか?
ブロックチェーンに興味を持ったのは去年の8月ぐらいですかね。
最初は単純に新しい技術のトレンドを追っていて、その中でブロックチェーンを知ったのですが、Web3.0の文脈にも通じる分散的な思想だったりと、技術だけでなくブロックチェーンが実現する世界観みたいなものにも興味を持って情報を追いかけるようにしましたね。
- その頃から卒論のテーマは決まっていましたか?
いえ、まだ決めてはないですね。
卒論のテーマを決めたのは今年の6月ぐらいで、Gaudiyでインターンをはじめてからになります。
- Gaudiyのインターンは、どのような経緯ではじめることになったのですか?
はい、インターンする前からブロックチェーンは、独学で勉強したり、イベントやセミナー、勉強会に頻繁に参加していたのですが、そんな時に代表の石川さんからDMで連絡がありインターンの話をもらったのがはじまりですね。
もともとインターンにも興味があり、ブロックチェーンを実際に使っている事業には携わりたいと思っていたのと、Gaudiyではコミュニティアプリが開発され既に運用されていたので、Gaudiyでインターンをしようと決めました。今年の2月頃の話ですね。
インターンでは、もともとGoやPythonなどのプログラミングを独学でやっていたこともあり、早い段階からプロダクトの開発を携わらせてもらえました。
簡単ところから任されましたが、最初なので正直大変でしたね。
ただインターン相手にも一人のエンジニアとして任せてもらえたのはとても嬉しかったです。
インターンをはじめて10ヶ月になりますが、Gaudiyはインターンと社員の垣根がないと感じました。手を挙げればコアな開発でも任せてもらえます。
- 責任重大じゃないですか!?
そういわれると責任重大ですね。
Gaudiyの開発はハイエンドが技術を採用しているのと、プロダクトもUI・UXなどの設計もかなり深く考えられているので、どうしても自分一人では解決できないところもありましたが、先輩エンジニアの方々がペアプロやレビューなどでサポートしてもらえましたし、影響範囲が大きかったり、むずかしい問題が発生した時は、ホワイトボード持ってきてみんなで話し合うようなこともありましたので、一人で抱え込むようなこともなくチャレンジすることができました。そういう意味では、Gaudiyは悩んでいたり、困っている人を助けるカルチャーが根付いていると思います。
- そんなインターン生活の中で卒論テーマはどのように決まったのですか?
そうですね。
プロダクト開発に携わるようになってから、独学してた時よりもブロックチェーンへの興味が深まりブロックチェーンの関連技術やサービスの情報を追いかけるようになりました。
ちょうどブロックチェーンの透明性、非改竄性などの特徴を活かした概念やプロダクトが世の中にも出始めていた頃に、企業間の機密情報共有などブロックチェーンを使ってプライバシー保護をどう担保するのかを調べていたのですが、その時に『zk-SNARKs』というゼロ知識証明の技術を知り、研究室でも暗号理論を学んでいたので、この『zk-SNARKs』を卒論のテーマにしようと決めました。
- ビビッと運命を感じてしまったわけですね。
あ、はい…
- 知らない人もいると思うので、ゼロ知識証明を簡単に説明してもらっても良いですか。
はい、簡単に説明できるか自信ありませんが…
ゼロ知識証明とは、証明者が検証者に対して、ある情報が真であることを、それが真であること以外の情報を明らかにせずに証明できる手法のことです。
例えば、二十歳以上の女性限定のイベントが開催されるとして、そのイベントに参加するには運転免許証など身分を証明できる個人情報を提示する条件を満たしていることを証明する必要がありますが、住所など他人に伝えたくない情報も含まれています。ゼロ知識証明は、このような個人情報などの秘密にしたい情報を提示せずに条件を満たしていることを証明する手段です。
・・・分かりましたか?
- はい。イメージできましたが、それがどうブロックチェーンのプライバシー保護で使われるのかを教えてください。
トランザクションデータの秘匿化と証明の検証に使用されています。
ブロックチェーンのトランザクションデータは公開されているのでプライバシーがありません。
トランザクションデータを暗号化してしまうとプライバシーは保護されますが、暗号化してしまうとデータの正当性を証明ができなくなるので、正当性の証明にゼロ知識証明を使います。
あとイーサリアムのスケーリング問題のソリューションとしても検討されていて、複数のトランザクションを1つのトランザクションに集約させて処理する『zk-Rollups』という技術でも、トランザクションの検証にゼロ知識証明の『zk-SNARKs』が使われます。
また『zk-SNARKs』についてはZennでまとめていますので、興味がありましたらそちらをご覧ください。
(参照)
卒論研究が開発業務に活きる!
- ゼロ知識証明の『zk-SNARKs』を卒論テーマにしたことで、逆にインターンでの仕事で活かせたことはありますか?
そうですね。
直近の話になりますが、先日にも発表した『Gaudiy DID-System』の開発を進めているのですが、Gaudiyでは大きなIPのコミュニティを運営していて扱う情報も膨大でかつ機密性も高く秘匿の部分が非常に重要になるので、Verifiable CredentialsやVerifiable Presentationのアーキテクチャ設計において、Verifiable Credentialsの検証にゼロ知識証明を使うか検討していて、その上で卒論で調べた内容はとても役立ちましたし、チームのゼロ知識証明の理解を深めてもらうために勉強会を開いて解説したりもしましたね。
- Verifiable CredentialsとVerifiable Presentationとは?
Verifiable CredentialsとVerifiable Presentationを簡単に説明すると、Verifiable Credentialsは、運転免許証や卒業証明書のような個人に属する機密情報をオンラインで検証できるようにしたデジタル証明書です。Verifiable Presentationは、そのVerifiable Credentialsを複数まとめて検証できるようにしたものです。
Verifiable CredentialsについてもZennでもまとめていますのでご覧ください。
(参照)
- 今後どのようなことにチャレンジしていきたいと考えていますか?
はい、今まさに開発している『Gaudiy DID-System』に関連するブロックチェーンや秘匿、暗号などの知識や技術は磨いていきたいのと、開発したプロダクトが実際にユーザーやクライアントに使ってもらえないと意味がないので、そのためにもUXやマーケティング、ビジネスに関わるスキルも高めていきたいです。
- インタビューは以上です。ありがとうございました。
おわりに
いかがでしたでしょうか?
今回はGaudiyのインターンとしてフロントエンドからバックエンドまで開発で活躍中の椿くん(@mikr29028944)にインタビューさせていただきました。
Gaudiyには椿くんをはじめインターンで活躍中のメンバーが他にも数名いて、周りのサポートを受けながらも日々成長を続けています。そんなGaudiyに少しでも興味をもっていただけたならぜひお話を聞きに来てください。
またインタビューを受けてくれた椿くんのZennの記事もご覧いただけると嬉しいです。
もっとGauidyについて知りたい人へ
Gaudiyの『Why』を創業者の後藤さんに存分に語っていただきました。
Gaudiyでは『ブロックチェーン×エンタメコンテンツ』という日本最大級に困難で影響力の大きい領域に一緒にチャレンジをしていける仲間を探しています!