2018-04-13、銀座にて日本で始めて “ILPを実証実験・開発する企業を囲んだ勉強会が実施されました”
リップルが開発したインターレジャープロトコルは「インターネットで自由に送金する」ということが可能になる有望な技術です。
この技術はオープンプロトコル(誰でも設計図のコードが見れて開発できるもの)で今、いろんな企業やコミュニティが頑張って作成している状態なんですね。
このようなコミュニティを通して、様々なブロックチェーンをつなげる知見を深めていこうという集まりです。
リップル社のエミさんも日本でのコミュニティの発足を見守ってくれていますね^^
ILPを使ったらこんなこともあんなこともできるんじゃないかと独創的なアイデアを出し合って、実際にアプリをつくってみようという意欲的な開発者のコミュニティが日本でも盛り上がっていくといいな。ご興味ある方ご連絡下さい。近い将来ILP workshopを日本で開催することが目標です!
— Emi Yoshikawa (@emy_wng) 2017年5月13日
下は約1年前のツイートですが、当時はRippleといえばXRPで、ILPがあまり知られていませんでした。その後、ILP workshopを日本で開催し、少しずつ興味を持つ人が増えていき、ミニハカソンも開催、そして日本ユーザー会発足、ミートアップ開催とだんだん日本に広がっていっているのが嬉しいです。 https://t.co/x1e53HRxNU
— Emi Yoshikawa (@emy_wng) 2018年4月13日
かなりのボリュームになるので分割して発信していこうと思います!
ではNTTデータさんの登壇から見ていきましょう!
このページの目次
- 1 NTTデータ北条さん
- 2 グループで9カ国の拠点、170名以上ブロックチェーン関連のエンジニアで取り組み
- 3 実証実験をするプラットフォームを提供
- 4 ブロックチェーンの標準をもたらすようなところにも参加
- 5 NTTテクノクロスの兼松さん
- 6 ILPをすでに実装・実証実験したのは会場で2人
- 7 台帳間の分断をオープンプロトコルで対応するのがインターレジャープロトコル
- 8 インターレジャープロトコルは二つのパターンが提唱されている
- 9 送金者と受取人で共通の台帳がない場合には中間者を探す
- 10 取引を完了とする錠前を生成し、取引を連鎖させていく
- 11 ビットコインを使った場合の取引の流れ
- 12 ビットコインのマイクロペイメントと見ている世界観が違う
- 13 「ある程度信頼された金融機関」や「会社」などが繋がっていく世界観
- 14 「取引所って大丈夫なの?」という問題
- 15 送金のやり方は増えていくのではないか
- 16 インターレジャープロトコルの規格とプロダクト
- 17 ILPはインターネットのように柔軟性を高める
- 18 最新プロトコルのILPv4でスケーラビリティが伸びる
- 19 インタレジャープロトコルは拡充されていく
- 20 台帳と台帳をつなぐものがユースケースとして広がっている
- 21 実際の実装の状況について
- 22 インターレジャープロトコルまだまだこれから
- 23 必要とされるようになるインターレジャープロトコル
NTTデータ北条さん
(NTT データ北条さん登壇)
私の方でブロックチェーンに関する取り組みを紹介し、兼松の方からはインターレジャーの取り組みを話してもらいます。
グループで9カ国の拠点、170名以上ブロックチェーン関連のエンジニアで取り組み
昨年度ニュースリリースにも出しましたが、グローバル全体でブロックチェーンを推進していくことをやっています。推進チームを立ち上げておりまして、色々な事業部門が日本や海外からユースケースや取り組みを集約・環境整備・展開していくことに取り組んでいます。
日本・イタリア・スペイン・は盛んです。弊社グループでは9カ国の拠点で170名以上ブロックチェーン関連のエンジニアですとかコンサルタントの方々で進めています。
実証実験をするプラットフォームを提供
国内で一番大きな取り組みは貿易金融です。様々な領域のお客さんと取り組んでいます。全銀協さんとどうやって使っていこうかという実証実験をするプラットフォームを提供させていただいています。
ヨーロッパの方は ID 管理・ KYC などにブロックチェーンを使っていくことが盛んです。この辺りも知見を貯めつつあるところです。
ブロックチェーンの標準をもたらすようなところにも参加
ブロックチェーンのコンソーシアムに参加させていただいており、ハイパーレッジャーファブリック、インターレッジャーJava 実装、 イーサリアムのエンタープライズ向けアライアンス、 ブロックチェーンの標準をもたらすようなところにも参加させていただいております。
弊社とインターレジャーの関係性と言いますと、弊社のグループにエビリスと言うスペインを本社としている会社があります。ここは主にITのコンサルをやっている会社ですがこの中の技術者がリップルさんと一緒にインターレッジャーの Java 実装を手掛けておりました。
昨年、ハイパーレッジャーキルトとしてプロダクトが寄贈をされ、ここを中心に進めております。
ここまでで NTT データの取り組みとさせていただきます。
NTTテクノクロスの兼松さん
NTTテクノクロスの兼松と申します。今日はインターレジャーユーザー会の一発目ということで基本的なところを抑えさせていただこうかなと思います。
ILPをすでに実装・実証実験したのは会場で2人
この会場内でもうすでにインターレジャープロトコルで何かしらのプロダクトを開発や実証実験されたという方はいらっしゃいますでしょうか ?
2名ぐらいですね。インターレジャーを大体把握されているって言う方はどれくらいいらっしゃいますでしょうか?結構いらっしゃいますね。
インターレジャープロトコルこれを一言で言ってしまうと「支払いのネットワーク、台帳の間で金額のやり取りをするためのプロトコル」です。
台帳間の分断をオープンプロトコルで対応するのがインターレジャープロトコル
現実の世界では各銀行が持っている台帳や仮想通貨の台帳、またはクレジット会社などの台帳が入り混じって運用されていますが、異なる台帳同士でお金のやり取りをしようとするとある程度信頼された機関がないとお金が送れない状態です。
これら台帳の間が分断されているところをオープンのプロトコルで対応しようっていうのがインターレジャープロトコルです。
ではどのように台帳間の取引を可能とするのかを話させていただきます。
インターレジャープロトコルは二つのパターンが提唱されている
銀行から銀行へお金を送りますという時には全銀ネットと呼ばれるシステム・信用されている機関が仲介をしています。
こういう取引には誰かがお金をもらって逃げちゃったらどうするのかという問題が考えられますが、これをどのように解決するのかというのがインターレジャーの肝となる部分だと思います。
今は二つのパターンが提唱されています。一つはハッシュドタイムコントラクツ(HTLC)、 決済の完了条件が元帳によって強制されるタイプの取引です。もう一つがハッシュドタイムロックアグリーメンツ(HTLA)というものです。
送金者と受取人で共通の台帳がない場合には中間者を探す
一つ目のものが特定の台帳によって機能がサポートされていないと使えないタイプなんですけれども、もしそれが使えなかった場合でも中継者を信頼しない取引をできるようにしましょうというのが二つ目の HTLAです。
これらは独立した RFC(技術仕様の保存、公開形式のこと) で提案されています。もしインターレジャーでない何かのプロダクトの中でこれと同じような RFC が参照されているかもしれません。
お金を送る時に誰が中継してくれるのか決めなきゃいけないというフェーズがあって、お金を送る人と受け取る人との間で共通の台帳がない場合には中間者を探します。これがインターレジャーの最初の起点になります。
取引を完了とする錠前を生成し、取引を連鎖させていく
もし取引の仲介者が現れたらまずは取引を完了とする錠前を生成します。その錠前を使って取引を送ってくださいねということを依頼します。これが最初の提案のフェーズになります。
次の段階では送金の準備です。お金を送りますよというトランザクションでブロックチェーンこの例ではビットコインやイーサリアムのトランザクションとして登録します。その際に取引の完了の錠前として最初の準備段階で提供された鍵を使い、ハッシュイメージ鍵をかけた状態でトランザクションを投げます。
実際に中継者の人がお金を手にするためには、錠前を解く鍵を手に入れないと実際に手元にお金が渡らないという「仕掛り中」の状態を作ります。
中継者の人は一つ目の送金者の繋がっている台帳の上で仕掛中の取引を作り、さらに同じキーを使って仕掛中の取引を作る、というように取引をどんどん連鎖させるようにしていきます。
最終的に送金者が自分の手元の口座に「送金する意思」のトランザクションがやってきたら、中継者に対して取引を送っていいですよという鍵を送信します。その鍵を使うことによって中継者はお金を取り出すことができます。
そして鍵を使い中継者に対する送金を実行する流れになっています。
ビットコインを使った場合の取引の流れ
先ほどはHTLAsの説明だったんですけれども例えばビットコインを使った場合はどのようにその機能を実践するかと言うとビットコインはマルチシグアカウントという複数の口座・鍵を用いて運用をする共同口座という仕組みがあります。
それを使って中継口座を作ります。中継口座を作った上で片一方の人だけ仕掛中のトランザクションを作りお金を送金するというやり方をします。
ただ、仕掛中の錠前が残ったらどうするのか話が当然あります。それに対しては2017年くらいに実装されたビットコインの新機能でチェックシーケンスビルダーという一定時間経ったら取引の署名条件が公開・表現ができるスクリプトを使います。
一定時間経っても全員分の口座の鍵が揃わなければ送金者に資金が戻ってくる条件をつけてお金を送金するという形です。これが台帳のマルチシグアカウントとトランザクションのやりとりです。
お金を送る上で色んなセカンドレイヤー技術が提唱されていますがそれとどのように違うのか、これはインターレジャープロトコル自体誤解されやすいところなので簡単に説明したいと思います。
ビットコインのマイクロペイメントと見ている世界観が違う
今ビットコインで盛り上がっているライトニングネットワークとかイーサリアム版ではライデンなどがありますが、これらは基本的にマイクロペイメントと呼ばれるものを目的としていて、ブロックチェーンの「価値の移転」別のブロックチェーンからして「つながっていること」を必ずしも主眼として行っているわけではありません。
基本的にはマイクロペイメントとは少額の支払いをバラバラと大量にやらなきゃいけない時にそれらを取りまとめて一つの塊にする、あとパブリックネットワークに関してはスケーラビリティの問題があるのでこれに対応した技術になります。
ブロックチェーン同士を相互に接続するという意味で「ポルカドット」イーサリアムの開発者の一人であるギャビンウッドがやっているプロジェクトです。
後は「コスモス」マルチブロックチェーン接続するためのプロダクトでこれらがいくつか出始めていますが、ブロックチェーン同士をデータとしてつなぐことを主眼とされていて、コネクタを信頼しない価値の移転・金融の取引みたいなのをやろうよという目的で作られたのではないです。
もしかしたら同じように使えるかもしれませんが、そもそも見ている世界観が違うということです。
「ある程度信頼された金融機関」や「会社」などが繋がっていく世界観
仮想通貨の機能やゲートウェイの機能、外から取引を入れさせる仕組みとか総合してリップルのプロダクトが出来上がっています。より大きい範囲を見ているのがリップルの各種プロダクトです。
基本的にリップルはおそらく「ある程度信頼された金融機関」や「会社」などが繋がっていく世界観を想定していて、すべてのユーザーが繋がる「 P 2 P 的に分散化された支払いシステムではない」というのが違いではないでしょうか。
では市場においてインターレジャープロトコルはどのような意味合いがあるのでしょうか。
「取引所って大丈夫なの?」という問題
仲介者を信用しない取引の成立というのは取引所や銀行などを「非中央集権的に代替していく」仕組みになります。
例えばブロックチェーンのプロダクトで実際に「支払いだけ相互に非中央集権的にやり取りをしたい」というユースケースが出てくると思います。そういった際によりオープンで高度なシステムを実現していく時の「お互いを補完していく存在」になるのかなと思います。
日本だとコインチェックの流出事件やイタリアの流出事件で「取引所って大丈夫なの?」という問題があります。それで金融庁が複数の取引所十社くらいに業務改善命令を出していると思います。
だから中央集権の取引所のセキュリティは不安視されている状態と思います。そういう意味で非中央集権的なインターレジャープロトコルがいきてくるのではないかなと思います。
送金のやり方は増えていくのではないか
リップル社も国際送金でヨーロッパの銀行と結びついて国際送金アプリがリリースされています。
銀行で使われ国際送金の市場から広がるリップルのプロトコルが、金融機関のデファクトスタンダードになるとすると、それ以外の用途で「お金を送ります」という時にも「同じプロトコルでやった方がいいんじゃない」となるんじゃないかと思います。
インターレジャープロトコルの規格とプロダクト
インターレジャープロトコルは規格とプロダクトが少し複雑です。
インターレジャープロトコルはリップルが開発しているプロトコルの一部が切り取られたものです。W3Cのコミュニティではインターレジャーを仕様として管理していますけれども、使うためにはプログラムに落とし込む必要があります。
それらのプロダクトが大きく三つ出てきています。ひとつが Linux の javascript FOUNDATION でサポートされた「インターレジャー JS」のプロジェクトと、「Javaで作られたプロジェクト」、それらの一部が寄贈されてハイパーレジャーに属した「ハイパーレジャーキルト」というプロダクトがあります。
支援している団体や開発元が違ったりしています。そういう意味ではインターレジャーのプロトコル自体は歴史があります。最新のバージョンだとILPv4で12月ぐらいに策定されました。
ILPはインターネットのように柔軟性を高める
ILPはいくつかの階層を持っていて、プロトコルの役割を分けるインターネットの7階層のようなものと同じパターンです。それぞれの役割をプロトコルに当てて「柔軟性を高めよう」ということをやっています。
アプリケーション層は「実際にお金を送りますよ」とするし、送金先や額を決めたりするのがアプリケーション層の役割です。
トランスポート層では暗号化は何にするのかというやり取りをします。トランスポート層で決めた内容を実際にネットワーク上のパケットとしてまとめる規格がインターレジャー層です。ILPパケットというふうまとめ、飛ばします。
さらにインターレジャー層から飛んできた ILPパケットを受け付けるのがローカルレジャー層です。これが実際の台帳システムです。
例えば仮想通貨やクレジットカードやレガシーの銀行システムなどがこのローカルレジャー層に含まれてきます。
最新プロトコルのILPv4でスケーラビリティが伸びる
ILPv3のいろんな階層をネットワークを通して送信者と受信者で取引をする流れの図です。インターレジャープロトコルの今後の展開ではILPv4の仕様策定が行われてRFCどんどん書き換わっているという状態です。
ILPv4はざっくり言うとマイクロペイメント、大量の取引をいかに効率的にするかという仕様です。これでスケーラビリティは伸びるんじゃないかなと思います。
後はプロダクトの部分で、一部のスタートアップであるとかはオープンソースとして出していく文化がインターレジャープロトコルの開発にはあります。
作ったものは公開するよという会社があるので今後いろんな企業が出てくると思います。
インタレジャープロトコルは拡充されていく
インターレジャープロトコルはお金を一方向で送ることしか対応していませんが、双方向で取引する交換のプロトコルであるとか、証券取引みたいなスマートプロパティのような物とを繋げたプロトコル拡充で今後使える範囲が広まっていくというが展開の流れのような気がします。
台帳と台帳をつなぐものがユースケースとして広がっている
ユースケースを3件ばかり紹介します。
xCurrent、xRapid、xViaです。仮想通貨の xrp は値上がりしたり値下がりしたりして話題になっていますが、それを使ったものはxRapidです。
事前に現地通貨を用意したりする手間がありません。仮想通貨で中間を介すイメージですね。
次に国内3銀行でまず実施される個人間の少額な国内送金実施する「Money Tap」これは携帯のアプリでできることを想定されています。
後はトライデントアーツ社さんの相互接続サービスなど、台帳と台帳をつなぐものがユースケースとして広がっている状況です。
実際の実装の状況について
ハイパーレジャーキルト、中身いろんなライブラリーが入っているんですけれども Java のインターフェースの定義だけで実装がない状態です。
じゃあ実装はどこにあるかと言うといくつかのライブラリーを経て ILPクライアントスプリングブート というGitHubのレポジトリが起動するタイプのプログラムになります。
ただ台帳部分にファイブベネズレジャーというサンプル台帳のようなものを用いているのでそのままではビルドできなかったりとか大変なところはありますが一応動くものの実装になります。
一方 JavaScript 版はどうなっているかと言うと一番わかりやすいのはILPキットかなと思います。基本的に spsp と呼ばれる送金プロトコルのアプリケーションでお金を送るためのプログラムになっています。
公式だとredilpdemo.orgというのとblueilpdemo.orgというデモサイトを作ってらっしゃいます。実際にお金を送るためのウェブシステムをひとまとめにしたものです。
JavaScript 版もライブラリの数は多いんですけれども一番大きいのはコネクターのプログラムを書くためのILPコネクターと呼ばれるライブラリと実際に利用するためのILPクライアントというモジュールが重要なところかなと思います。
各台帳向けのこまかいプラグインなどはまだ多数ありますのでGitHubのレポジトリを覗いてみていただけるといいかなと思います。
インターレジャープロトコルまだまだこれから
このまま無改造で使ってなんとかなるというわけではないので、一部のスタートアップの企業さんなんかは独自の実装としてサービスを提供しているという状況です。
JS 版の方が実装はすすんでいるかなと思います。サーバープログラムを作るのに JavaScript ってやりやすいんだっけと言う議論は当然あるかと思ってまして、もしかしたらサーバー側 はJava でクライアント側は JavaScript でという使い分けが今後発生してくるんじゃないかと思われます。
そういう意味でブロックチェーン以上にインターレジャープロトコルまだまだこれからというものです。
必要とされるようになるインターレジャープロトコル
インターレジャープロトコルは、世界観的にオープンな取引を使ってさらに大きなビジネスをやっていくという上で、必要になってくると思います。
なので是非この会場で来ている皆さんと、ビジネスで使う側面で技術を開発するかプロダクトをコミットしていくかのどちらになるかはさておきとして、全体で貢献してこれから盛り上げていけばビジネスとして広がっていくのではないかなと考えておりますのでよろしくお願いします。
ー 登壇での話はここまで ー
インターレジャーユーザー会の第二弾では「日立製作所」さんの登壇を伝えていこうと思います!