特許取得のプロダクトを支える技術とは?
デジタル通貨の構想を実現に導くプロダクト開発グループ
——サイさんは現在、プロダクト開発グループで何をされていますか?
蔡 鑫(サイ・キン/以下、サイ):ブロックチェーンの研究が主な仕事です。また、スマートコントラクトのアルゴリズムやストレージのメンテナンスなど、ブロックチェーンに付随するアプリケーションも同時に開発しています。
——サイさんが所属しているプロダクト開発グループとはどのような部署なのでしょうか?
清水健一(以下、清水):ディーカレットDCPのゴールやビジョンと、銀行預金と関わってくるので法的な側面からサービスを精査していき、最終的にどういう仕組みにするのか技術的につくり上げるのがプロダクト開発グループの役割です。
私たちがつくっているのは日本初の民間発行のデジタル通貨で、どのようにプロダクトをつくっていけばいいかという指標はありません。特にデジタル通貨技術の中心となるブロックチェーンの研究は、プロダクト開発に欠かせない仕事とも言えます。
——実際にどのように開発を進めていますか?
サイ:清水さんが立てた仮説を検証し、証明しています。例えば、ブロックチェーンのパフォーマンスを上げ得る二つの仮説があった場合、どちらの方がベタープラクティスなのかを検証するのが私の仕事です。
特許を取得した二層構造デジタル通貨プラットフォームの仕組み
——デジタル通貨を実現するために開発された二層構造デジタル通貨プラットフォームは特許も取得されていますね。どのような仕組みなのか教えてください。
サイ:私たちのサービスは、銀行向けに提供する「共通領域」と、デジタル通貨を利用する事業者向けに提供する「付加領域」の二つのプラットフォームで構成されています。共通領域で銀行預金をデジタル通貨に替え、付加領域にチャージすることでさまざまな事業者によるサービスを利用できる仕組みです。
サイ:ここで重要になるのが、銀行預金からデジタル通貨に変換された金額がちゃんと担保されていることです。なぜなら、デジタル通貨は銀行預金の一種なので、銀行はデジタル通貨のお金の動きを把握しなければなりません。そのために、銀行が見ている共通領域だけで全体量が把握できるようにする必要がありました。
デジタル通貨の総量を把握し、転々流通させる技術
——もう少し分かりやすく説明をお願いできますか。
清水:例えば共通領域に100のデジタル通貨があったとします。このデジタル通貨でさまざまなサービスを受けるには、付加領域にデジタル通貨をチャージしなければなりません。
もしも、70のデジタル通貨を付加領域に移した場合、共通領域には30のデジタル通貨が残りますね。しかしこの場合、「共通領域に30ある」という事実だけが残り、付加領域と合わせてどのぐらいのデジタル通貨を保有しているのかが分かりづらくなってしまう。そうなると、銀行預金からデジタル通貨に変換した金額と、実際のデジタル通貨の保有額の合計が合わないといったミスリードが起き得ます。
そこで付加領域にチャージした際に、付加領域に振替えた同量のデジタル通貨のコピー(複製)を便宜的につくることで、共通領域だけでデジタル通貨の全体保有量を把握することができるようにしたわけです。
清水:一方、付加領域では事業者やユーザー間のやり取りになるため、全体量の把握よりも付加領域で使えるデジタル通貨量「70」だけを把握すればいいわけです。これは紙の現金も似ていて、一度、銀行口座からお金を引き出したら手持ちのお金でやり繰りしますよね。そうすることによって、現金と同じようにデジタル通貨も“転々流通する世界”を表現したかったからです。
——転々流通するデジタル通貨の世界とは何でしょうか?
清水:現金は転々流通しながら不特定の人から人へと常に移転しています。しかし、デジタル上で表現するのはこれまで困難だったわけです。
例えば、電子マネーは加盟店以外の取引などは基本的にできないですよね?また、取引金額の上限など制度上の制約があります。
しかし、デジタル通貨は金額の上限なく不特定多数の相手への譲渡が可能になります。つまり、現金のように転々流通することができるのがデジタル通貨の価値の一つです。
サイ:しかし、このようにデジタル通貨の移動が活発に行われていくと、保有額や移動額を正しい状態に担保する仲介役の技術が重要になってきます。
送金や契約を保証する「リレイヤー」
サイ:共通領域と付加領域は、二つの異なるブロックチェーンが使われているので、相互運用させるのは非常に難しいです。
そこで、異なるブロックチェーンをつなぎ合あわせる「リレイヤー」と呼ばれる技術が必要になってくるわけです。
私たちはリレイヤーとして、IBC(Inter-Blockchain Communication:ブロックチェーン間通信)を採用しています。このIBCを二層構造デジタル通貨プラットフォームの仕様に独自開発することで、デジタル通貨を二つの領域間で行き来できるようにしました。
サイ:このリレイヤーをうまく機能させてブロックチェーンで移動額を保証させるのが、私の研究開発の大きなテーマとも言えます。
「コアモジュール」と「BPM」
——他にサービスを構築するうえで工夫したことがあれば教えてください。
清水:送金・決済などデジタル通貨を使うための最低限のプロダクト機能である「コアモジュール」と、各ユーザーがカスタマイズできる「BPM(Business Processing Management)」という仕組みで大枠のプロダクト設計を施したことです。
スマホで例えると、コアモジュールが通話やメッセージなど既に備わっている機能で、BPMが後から自分の好みに応じてインストールできるアプリ機能のことです。
例えば付加領域ではさまざまな事業者が多種多様なビジネスを展開するため、最低限の機能以外は事業者のニーズに合わせて機能を追加することができる必要があります。そのため、事業者が独自に操作して機能拡張できる部分をBPMとして外に出し、デジタル通貨のマスター機能であるコアモジュールと分けたわけです。
——BPMは付加領域のための機能ということでしょうか?
清水:共通領域にもコアモジュールとBPMはそれぞれ搭載されています。デジタル通貨の発行や支払・決済手続きといった基礎機能はどこの銀行も等しく使える一方、ユーザー登録や解約といった機能は銀行それぞれやり方やルールが異なります。そのため、BPMとして提供し、各銀行でカスタマイズできるようにしました。
——BPMとして独自機能をフレキシブルに拡張できる余白をつくっているということですね。
清水:そうです。
——プロダクトの全体像や特異性がとてもよく分かりました。次回はプロダクトの肝とも言える、品質を上げるための具体的な開発手法などについて伺っていきたいと思います。