デジタル通貨実現に向けたこだわりとは?
ブロックチェーンの処理速度を上げるための工夫とは?
——ブロックチェーン技術は処理量や速度が課題だと思いますが、性能を上げるために取り組んでいる工夫があればお聞かせください。
蔡 鑫(サイ・キン/以下、サイ):先にブロックチェーンの処理性能が、どういうものか説明しますね。ブロックチェーンというのは、大きさの決まったブロックにトランザクション情報をまとめて生成し、そのブロックを次々につなげていく仕組みです。
——どのようにしてトランザクションがつくられるのですか?
サイ:決済や送金、契約などが実行された際に、その情報が正しいか合意形成をします。合意形成は「コンセンサスアルゴリズム」と呼ばれる合意方法に則って実行され、トランザクションが生成されます。
一つのブロックで、より多くのトランザクションを処理できるほど性能が高いということになります。しかし、その数には限界があります。ブロックの処理容量を超えたトランザクションは、次のブロックを待たなければなりません。
電車を例に挙げると、駅で150人が待っているのに、車両の定員数が100人だったら、50人は次の電車を待たなければなりませんよね。ブロックチェーンも同じで、150のトランザクションのリクエストに対して、100しか処理できなければ、残りのトランザクションは次のブロックを待つ必要があります。
サイ:そこで、もう一つ重要なのがブロックをつくる速度です。より短時間でブロックをつくることで、処理速度を上げるということです。ちなみに私たちの場合は、2秒に1ブロックのペースで生成しています。これは、発生するトランザクションの数とブロックチェーンの処理容量から導き出した現時点でのベストプラクティスです。
——どういうことでしょうか?
サイ:例えば、100人乗れる電車に対して乗客が50人でも電車は定刻通りに発車しますよね?次の電車も同様に、30人など定員割れしても出発しなければいけないのです。
サイ:このスピードを速くしたところで、乗客がいないのに電車を走らせても意味がありませんし、コストばかりかかってしまいます。
——とにかくブロックをつくる速度が速ければいいわけでもないんですね。
サイ:そうです。電車が乗客数や混み合う時間帯を見ながら車両数や運行間隔を決めているように、いかに利用状況に合わせて最適にするかがカギなんです。
そのため現状は2秒に1個のブロックをつくっていますが、それを1秒にするのか、0.5秒にするのか…。今後もテストを繰り返し調整をしていく必要があります。
Hyperledger Besuを採用した背景とその魅力
——サービスを開発するに当たり、イーサリアム系のHyperledger Besuというブロックチェーンプラットフォームを利用しているそうですが、その背景を教えてください。
清水健一(以下、清水):まずイーサリアム系のプラットフォームを採用した背景として、当時、ステーブルコイン*1 の約8割がイーサリアム系の技術でつくられていたことがあります。
“通貨の価値安定”という意味では私たちのサービスはステーブルコインと酷似しているため、実績のあったイーサリアム系の技術を採用しました。
清水:そしてイーサリアム系のなかでも、エンタープライズ向けに展開されている主要なブロックチェーンが「Quorum(現・GoQuorum)」と「Hyperledger Besu」です。
二つを比べた際に、Quorumはパブリックチェーンをベースにしており、私たちの目的とは合わない部分がありました。一方でHyperledger Besuは明確にターゲットをエンタープライズに絞っており、イチから基盤づくりをしています。こういった理由から、Hyperledger Besuを採用することに決めました。
サイ:また、使用している開発言語と、EVM(Ethereum Virtual Machine)を搭載している点でもHyperledger Besuの方が開発しやすいです。
——EVMとは何ですか?
サイ:「イーサリアム仮想マシン」と呼ばれるものです。契約を自動実行するスマートコントラクトの基盤となる計算エンジンを担うもので、クロスチェーンブリッジという規格の異なるブロックチェーンを相互利用可能にする技術が搭載されているのが最大のメリットです。実務レベルでもHyperledger Besuがとても使いやすいと感じています。
自律的に発展するオープンソースの開発手法
——その他、どのような魅力があるのでしょうか?
サイ:イーサリアム系のプラットフォームは、オープンソースコミュニティに特化しているのが魅力で、他のユーザーの知恵や経験を借りながら、プロダクト開発やメンテナンスを進めていけます。
もっとも有名なのが世界中から誰でも参加でき、プログラムコードを自由に保存・公開できる「GitHub」です。そのなかに「Issues」というユーザーからの課題を投稿してコミュニティをつくれる機能があり、解決時のノウハウを全員に公開しています。
私たちが問題に直面した時も、既に誰かが解決した方法を共有しているケースも多々あり、非常に役立っています。参加している開発者の数も多く、フラットに意見交換ができたり、積極的に回答してくれるのもとても心強いです。
——助け合いながら開発できるわけですね。
サイ:その他に、イーサリアム関連の技術開発サポートをしている「イーサリアム財団」なども定期的にワークショップやイベントを開催しているので、さまざまなサポートを受けられます。
清水:しかし、私たちは国の規制などに従ってデジタル通貨を発行していかなきゃいけないため、既存のブロックチェーンプラットフォームには限界があります。そのために、概念検証(PoC)という実証実験を行いながら、中核の部分は独自開発してオリジナルのプロダクトをつくっていかなくてはなりません。
——ディーカレットDCPオリジナルのプロダクトができたあかつきには、オープンソース化させる予定ですか?
清水:まだ分かりませんが、純粋に品質向上を目指すなら、オープンにした方が多種多様な意見が集まるので精度は上がると思います。しかし、オープンソースコミュニティの文化であるリスクをとりつつ新しいものを取り入れていくことと、私たちのプロダクトのように安全性・確実性のあるものを着実につくっていくのとでは方向性が異なるため、今後、見極めていきたいと思います。
プロダクト開発に求められる素養とは
——プロダクト開発にはどんな人がマッチするのでしょうか?
サイ:課題と向き合う勇気のある人です。今はブロックチェーン技術に詳しくなくても、知りたいと思って自発的に動ける人。加えて、ブロックチェーンは分散化システムと暗号化技術の組み合わせなので、この二つに関する最低限の知識さえあれば、大丈夫だと思います。
——清水さんから見て、サイさんはどんな方ですか?
清水:サイさん自ら言語化している通り、前向きに粘り強く課題と向き合える人だと思います。一言で言えば研究肌。仮説に対して根拠もなく否定することはありませんし、常にファクトベースで実直な議論ができます。課題を与えると喜んで取り組んでくれるので、一緒に働いていて頼もしいですね。
サイ:この会社で働き始めてから「やっぱり自分は研究が好きなんだな」と思うようになりました。周りからも「この職場がすごく向いているね」と言われますし、リスペクトし合いながら仕事ができているのを感じているのでとても幸せです。
——最後に、どんな想いで今の仕事に取り組んでいるのかお聞かせください。
サイ:ブロックチェーン技術の認知度は上がってきましたが、いまだに誰もが生活の一部として使うようなブロックチェーンのサービスは世に多くはありません。
そのためにも、一日も早くブロックチェーン技術を社会実装したいと思って取り組んでいます。ブロックチェーンで技術的な下支えをしながら、デジタル通貨を役に立つものとして世に送り出していきたいです。