当社エンジニアがロンドンR3社開発拠点のトレーニングを受けた体験談
はじめに
SBI R3 Japan の本格始動から約5か月、R3社の開発拠点があるロンドンに出向き、現場のCordaエンジニアからトレーニングを受けることになった。
SBI R3 Japanとは SBIホールディングスとニューヨークに本拠を置くブロックチェーン企業R3社がブロックチェーン基盤であるCorda を日本に広めるために設立したジョイントベンチャーである。
今回の渡航メンバーは4名、内2名は1週間の滞在、残りの2名はさらに1週間滞在し、計2週間の滞在となった。
トレーニングの内容は多岐に渡る。開発ロードマップからカスタマーサポート、ネットワーク、アプリケーション開発、システムテスト、アプリケーションのデザインパターン、またホットなトピックとしして、デジタルアセットやトークン、アカウント、Corda を活用した決済についてもトレーニングやディスカッションが行われた。その一部を紹介したいと思う。この記事がR3社とCordaへの理解の一助となればと考えている。
オフィスはブロックチェーンの企業らしく非常に自由な雰囲気だった。オフィスの冷蔵庫には飲み物が入っており、懇親用のアルコールも含めて飲み放題、コーヒーメーカーやスナック菓子、インスタント食品も備えられており自由に取って食べることができる。さらにオフィスの休憩スペースにはビリヤード台が備え付けられており、リフレッシュに利用されていた。
テレカンのための個別ブースがあったり、机は長時間座っていても疲れないよう上下可動式になっており、エンジニアが快適に仕事ができ、最大限力が発揮できる環境が整えられていた。
Day1
1日目はオフィスについて一通り案内してもらった後、R3社CTOのウェルカムミーティングが始まった。そこで今回のトレーニングの趣旨について再確認され、R3社のマネジメントクラスの主要メンバーの役割分担などについては話がされた。
続いてプロダクトマネジメントのトップから今後のロードマップに関する説明を受けた。具体的には今後どんな方向でCordaをアップグレードするのか、またなぜその方向にアップグレードをしていくのかについて説明を受けた。
そして1日目の最後にはCorDappTrialの開催方法についてのトレーニングが行われた。
ちなみにCorDappTrialとはCordaのアプリケーション開発企業とR3社が協力して行うプロダクションの前の顧客受入テストとイメージしていただければ良い。複数回に渡るウェブ上で開催されるセミナーを通して、アプリケーションの設計思想やバックエンドでの処理の仕方の理解だけでなく、実際アプリケーションを自分で触ってみることで理解を深めていく。今後は日本発のCordaのアプリケーションのプロダクションを控える中、日本国内でのトライアルも行われていくだろう。
Day2
2日目はカスタマーサポートへの取組やCordaにおける公開鍵基盤(PKI)の取り扱いと利用方法、ノータリーノードやCENMについての説明が行われた。
ノータリーノードについて説明するとCordaにおいて二重支払いを防止するために一般のユーザのノードとは別に設置されるノードである。ノータリーノードでは、過去に一度使用されたインプットデータのハッシュ値を一覧で保存しており、取引の当事者は都度インプットデータをノータリーに問い合わせることによって過去に使用されていないかを確認できるわけだ。
そしてCENM(Corda Enterprise Network Manager)とはプライベートにビジネスネットワークを構築する際に使用するためにR3社から提供されているソリューションである。(Cordaでい言うビジネスネットワークとは一つのアプリケーションを利用して課題を解決する一つのネットワークと理解していただければ良いかと思う。)ちなみCordaではプライベートで独自に構築するのではなくCorda Network Foundationという非営利組織が運営するネットワーク上にビジネスネットワークを構築することも選択できる。
Day3
3日目はCorda NetworkやCDL(Corda Design language)、High Availabilityについてのトレーニングが行われた。
ここでCorda Networkについて少し説明したい。Corda上にビジネスネットワークを構築する方法は大きく分けて3つある。一つは上述のCorda Network Foundationという非営利組織が運営するネットワーク上にビジネスネットワークを構築する方法、もう一つはこのネットワークの中にサブネットワークを構築する方法(Segregated Network)である。そして最後はCENM等を使ってプライベートにネットワークを構築する方法だ。どの方法でネットワークを構築するかはビジネス要件の他、規制などの外部要因によって変わってくる。
CDL(Corda Design language)についても少し補足したい。これは簡単に表現すると、CorDapp(コルダ上に構築されるアプリケーション)におけるデザインパターンである。CDLの一つの目的はCorDappの設計を正確で明確かつ簡潔に表現し、それについての理解をサポートすることだ。CorDappが本番稼働を迎えるにあたってはPoCに比べ規制対応や例外処理への対応など複雑な仕様が要求される場面が増えていく。この複雑さに対処するためにまさにR3は今、CDLの整備を進めているということであった。詳細はhttps://solutions.corda.net/で確認できる。
3日目最後のトピックであったHA(High Avarability)についてのセクションでは、ノードの可用性とそれらに関する構成についてトレーニングが行われた。HA構成とはつまりプライマリノードが停止した場合に起動できるバックアップノードを用意するということであるが、各ノードは、それぞれ別のサーバーでホストされ、かつCordaネットワーク内では同じエンティティを表す必要がある。オンプレミス上でのHA環境構築とクラウド上でのHA環境構築は手順が異なるため今回はその双方について説明がされた。
Day4
この日はR3社のテクニカルセールスの概要やCorDappの開発・テストに関するトレーニングが行われた。テクニカルセールスの概要ではR3社におけるテクニカルセールスの位置づけや役割について実例を交えながら説明を受けた。
またCorDappの開発・テストに関しては、R3のソリューションエンジニアよりユニットテスト、インテグレーションテスト、モックネットワークテストなどを行いながら開発を行うテスト駆動開発の方法やデバッグに関する手法についてのトレーニングが行われた。
Day5
5日目は3日目、4日目に引き続きCDLとCorDappの開発・テストに関するトレーニングが行われた。
以上が1週目のトレーニングの概要である。2週目には各テーマをさらに掘り下げたトレーニングやデジタルアセットやウォレットなど今、注目のトピックについてのディスカッションが行われた。これらの内容については機会があれば、トピックごとに記事として取り上げていきたいと思う。今回のトレーニングを通してR3社の最新の取り組みをキャッチアップできたと同時に日本でのCordaの展開に向けてのR3社との関係強化が図れたと思う。
最後に、忙しい中、私たちのために時間を割いてくれたR3社のメンバーに心より感謝を申し上げたい。
Really appreciate R3 members! Thank you very much:)
<ご質問・ご要望の例>
- Corda Portalの記事について質問したい
- ブロックチェーンを活用した新規事業を相談したい
- 企業でのブロックチェーン活用方法を教えて欲しい 等々