Rippleとは

概要

Ripple(リップル)は、2004年に Ryan Fugger によって考案された決済プロトコルです。ビットコイン取引所の Mt.Gox の創業者として知られる Jed McCaleb は、2011年にビットコインの仕組みを応用した Consensus Ledger を考案し、eDonkey の開発者である David Schwartz、Arthur Britto と共に Consensus Ledger の実装を開始しました。2012年にフィンテック業界のイノベーターとして知られる Chris Larsen が Jed McCaleb 等のチームに合流、そして Ryan Fugger との話し合いの結果、Rippleプロジェクトの指揮権が Chris Larsen 等のチームに譲渡され、Rippleプロトコルと Consensus Ledger の統合が行われました。その後、ビットコイン・コミュニティのリーダーの一人である Stefan Thomas により改良が加えられ、現在の Ripple の原型である Ripple Consensus Ledger が誕生しました。

公式動画(日本語字幕あり)

Rippleでは、二重支払いの防止を Satoshi Nakamoto によって考案された Proof-of-Work(PoW)ではなく、新たに開発されたコンセンサス・アルゴリズムによって行うため、ビットコインの致命的な弱点であるスケーラビリティや消費電力といった問題を克服しています。また、ビットコインと比較して決済が高速(数秒)であり、現在のところセキュリティホールは発見されていません。Ripple は、ビットコインのようにドルや円といった法定通貨に取って代わる電子マネーを生み出すことを目的とせず、Rippleネットワーク上で金融機関が発行する『IOU』と呼ばれる電子的な手形を交換することで国際送金を実現します。こうした功績から、開発元のリップル社は、2015年に世界経済フォーラムテクノロジーパイオニア賞を受賞しました。

世界経済フォーラム テクノロジーパイオニア

2015年には、リップル社のCTOである Stefan Thomas 等がブロックチェーンなどの異なる台帳同士を接続するためのプロトコルであるインターレジャー・プロトコルを開発し、ワールド・ワイド・ウェブ・コンソーシアム(W3C)によって標準化のための作業が行われています。このインターレジャー・プロトコルは、Ripple から派生した決済プロトコルで、Rippleの次期バージョンである Ripple 2.0 に統合されます。また、米国FRBが主導する Faster Payments Task Force では、Ripple は米国の次世代決済システムの有力な候補として取り上げられており、リップル社の Ryan Zagone は同委員会の運営委員を務めています。

FRB による Ripple の紹介

2016年には、みずほ銀行、りそな銀行などを含む邦銀43行と海外の大手金融機関が続々と Ripple の採用を表明し、金融機関向けエンタープライズ製品への Ripple の統合が進められています。また、リップル社ロンドン支部のジェネラルマネージャーを務める Marcus Treacher(元SWIFT取締役)によれば、国際銀行間通信協会(SWIFT)も自社のラボで Ripple の試験を行っています。

RCクラウド – 内外為替一元化コンソーシアム

 

Rippleネットワークの構成要素

XRP

出典: Ripple Labs, Inc.

出典: Ripple Labs, Inc.

XRPはRippleネットワークのネイティブな通貨です。ドルやユーロとは違い、XRPは生来の電子的な資産(Digital Asset)であり、Ripple内にのみ存在します。1000億XRPがRipple Ledger内にプログラムされ、Rippleプロトコルのルール上、それ以上は発行されることがありません。XRPはRipple内で唯一の資産となる通貨です。Ripple内の他の全ての通貨は残高として存在しており、これはゲートウェイの負債であることを意味します。この資産と負債の違いが数学に基づく通貨の一つの革命的な性質です。なぜならXRPは負債ではなく資産であるため、ユーザーは第三者のカウンターパーティーリスクを負うことを承諾することなく、USD残高を送金する代わりにXRPで価値の交換を行うことができるのです。

<総発行量と最小単位>
XRPの最小単位は1 XRPの100万分の1(0.000001)で、この最小単位を”drop”と呼びます。つまり 1 XRP = 1,000,000 drops です。総発行量の1000億という数字は人的要因により決定されました。dropsの64ビットの精度のうち1ビットをXRPフォーマットを表すフラグ、1ビットを符号、3ビットを未使用領域として合計5ビットがフラグとして割り当てられています。1000億XRPは100,000,000,000,000,000 dropsであり、これは64ビットから前述の5ビットを差し引いた59ビットの符号無し整数(unsigned integer)に収まります。

100,000,000,000,000,000 = 10^17 = 10^11 * 10^6
576,460,752,303,423,488 = 2^59

<手数料>
Rippleネットワークにアクセスするには、微小な額ながらも、いくらかのXRPが必要となります。これらはトランザクションに対する手数料と永続性を維持するための担保として利用されます。この設計の目的は、攻撃者をすばやく破産させ、ネットワークがスムーズに機能し続けるようにすることです。Rippleネットワークに対する攻撃はすぐに高価になりますが、一般ユーザーにとっての費用は実質的に「無料」のままであり続けるようになっています。詳しくは、『手数料(曖昧さ回避)』を参照してください。

<公式解説>
XRPポータル
リップルおよび「価値のインターネット」においてXRPが果たす役割
グローバルな銀行間決済にリップルとXRP使用した場合のROI

 

ゲートウェイ

出典: Ripple Labs, Inc.

出典: Ripple Labs, Inc.

ゲートウェイはRippleネットワークの重要な構成要素です。ゲートウェイは顧客から通貨の預金を引き受け、代わりにRippleネットワークの残高を発行するビジネスです。これは伝統的な銀行の役割にとても似ています。Ripple ネットワーク上でXRP以外の通貨による残高を保有するには、ゲートウェイに接続する必要があります。これは、「トラストラインの確立」としても知られています。XRPの残高の場合はゲートウェイに接続する必要はなく、XRPには発行者が存在しないことに注意してください。Rippleプロトコルの性質上、各送信につき少量のXRPが破壊され、Rippleアカウント間でXRPによる間接的な信用が築かれます。

 

IOU

IOUはゲートウェイが顧客から引き受けた預金に対して発行される借用証書です。(語源は英語のI owe you.) ゲートウェイから顧客に発行されるIOUの残高は、基本的に顧客から引き受けた預金の残高に基づきます。

Rippleユーザー同士はゲートウェイから発行されたIOUで支払いを行うことができます。この場合に必要なのは、IOUを保持するために支払いを行うユーザーが互いに共通のゲートウェイをトラストすることだけで、直接お互いをトラストする必要はありません。

また、Gold Bullion Internationalが発行するXAUのように、IOUは通貨以外の資産の価値記録にも利用することができます。

 

アドレス

Rippleの残高はアドレスに対応づけられて格納されます。アドレスは、アカウントの公開鍵暗号ペア(公開鍵と秘密鍵)から生成され、公開鍵側をリップルアドレス、秘密鍵側をシークレットキーと呼びます。

リップルアドレス
リップルアドレスは、アカウントの公開鍵のハッシュをBase58でエンコードした ‘r’ から始まるアルファニューメリックストリング(文字数字の列)で、アカウントを特定するための公開されたアドレスとして利用されます。リップルアドレスを用いて取引履歴や残高の確認を行うことができます。

シークレットキー
シークレットキーは、アカウントの秘密鍵から生成されたアルファニューメリックストリング(文字数字の列)で、リップルアドレスと似ていますが ‘r’ の代わりに’s’から始まります。シークレットキーを保持している限り、いつでもアカウント内にあるお金にアクセスできます。これはもし他の方法でアクセ スが出来ない場合、バックアップ方法として重要なことです。(例えば、あなたの電話が二要素認証のテキストを受信できない時)他のアクセス方法がない場合、シークレットキーがないと、ロックアウトされ、自分のアカウントを使用できません。シークレットキーは如何なる状況でも自分のアカウントにアクセスできる唯一の方法です。

 

ウォレット(財布)

RippleTradeウォレット(財布)はリップルアドレスとシークレットキーのペアです。また、それらを保管するソフトウェアや媒体(紙など)もウォレットと呼びます。

ホットウォレット
ホットウォレットはネットワークに接続されたソフトウェアウォレットで、代表的なホットウォレットはリップル社が提供するRippleTradeです。両替や送金が速やかにできるので利便性が高いが、ネットワークに接続されていることに起因するセキュリ ティ上のリスクがあります。

コールドウォレット
コールドウォレットはネットワークから切り離されたウォレットで、代表的なコールドウォレットは、紙にシークレットキーを書き込んだペーパーウォレットで す。クラッキングなどで秘密鍵が漏洩する危険性が無いため、シークレットキーの保管方法としては最も安全であると言われています。

 

Rippleの特徴

リップリング

リップリングは、複数のゲートウェイをトラストして同じ単位のIOU(例えばUSD.snapswapとUSD.bitstamp)を保持している場合 に、片方のIOUが他方のIOUに自動的に置き換わることを許可する機能です。リップリングをONにしたIOUは、同じ単位の他のIOUに自動的に交換される可能性があります。

 

オートブリッジ

Offer Autobridgingオートブリッジは流動性と生来のブリッジ通貨としてのXRPの利用促進を容易にするために、XRPを介して複数のオーダーブックの橋渡しをします。例えば1JPY=1XRPと0.01USD=1XRPの注文が同時に出された場合、オートブリッジは2つのオーダーブックを合成し、1JPY=0.01USDの取引を可能にします。このようにオートブリッジによって、様々な通貨ペアの取引ができるようになります。

また、Rippleは更にオファーオートブリッジという機能により、IOUを直接掛け合わせたオーダーブックとオートブリッジにより生成されたオーダーブックを合成して、一つのオーダーブックを生成します。

 

経路探索(Path Finding)

Path Finding Algorithmリップルの経路探索アルゴリズムは、Rippleネットワークを横断する2通貨間の最も安いパスを探索します。ここで言う『最も安い』が意味するのは、支払いの送金者にとって最小のBID/ASKコストを負うパスです。利用者がUSDからEURへ送金・支払いを行いたい場合、これは直接 USDからEURへのワンホップのパスになるか、または、USD => CAD => XRP => EURのようなマルチホップのパスになります。Rippleはマルチホップパスを単一のトランザクションとして処理します。経路探索(Path Finding)は、利用者にとって最も安い交換コストを探し出すようにデザインされています。

 

宛先タグとソースタグ

Destination Tag宛先タグ(Destination Tags)は、決済における受取人または宛先を特定するために利用することができるリップル決済の機能です。例えば、ゲートウェイに対するリップル決済は、その支払いがどの顧客に帰属するかを指し示す宛先タグを含むことができます。ゲートウェイは、宛先タグとアカウントの対応をゲートウェイの顧客履歴のシステム内で管理する必要があります。

同様に、ソースタグ(Source Tags)は送金者または支払元を指し示します。通常、ソースタグは支払いの受取人が不払いにする払い戻し先を特定するために利用されます。あなたが入金を不払いとして戻す場合、入金のソースタグを出金(払い戻し)の宛先タグとして利用します。

凍結(Freeze)

Ripple Consensus Ledgerは、規制の要求への対応や疑わしい活動を調査する間に利用可能な、XRP以外の残高を凍結する機能を提供します。凍結には3つの設定があります。

  • 個別フリーズ – 単独の取引先の凍結
  • グローバル・フリーズ – すべての取引先の凍結
  • ノー・フリーズ – 個別フリーズとグローバル・フリーズの能力を恒久的に放棄する

Ripple Consensus Ledger上では誰も特権的な場所を持たないため、凍結機能では取引先が XRP や他の取引先が発行した資産で取引を行うことを防ぐことはできません。誰もXRPを凍結することはできません。

すべての凍結設定は、凍結される残高の有無に関わらず成立させることができます。通貨の発行者または通貨の所有者のいずれもトラストラインを凍結することができます。しかしながら、通貨の保有者が発行者を凍結することによる影響はごく僅かです。

参考: リップルネットワークの通貨凍結(Freeze)機能とは

 

マルチサイン

マルチサイン(MultiSign)は、アドレスに対してトランザクションを承認する複数の署名者のリストを持つことを可能にします。リストは定足数と1から8人の署名者を有します。これは『5人のうちのいずれか3人』や『署名者Aとその他2人の署名者』といったようなバリエーションを設定することを可能にします。

 

Escrow

Escrow は、Interledger Protocol Crypto-Conditions のサポートを含む、Ripple Consensus Ledger 内のエスクローのための XRP の Suspended Payments を提供します。

SusPay

SusPay は、Ripple Consensus Ledger(RCL)内のエスクローのために、XRPに Suspended Payments の機能を提供します。SusPayは、Suspended Payment が完了して送金先がXRPを受け取るまで、または Suspended Payment がキャンセルされるまで、それ自身のレジャーエントリーの中に指定された数量のXRPを一時的に隔離します。もし、Suspended Payment がキャンセルされた場合には、SusPayを作成したアカウントにXRPが返金されます。

参考: ILP-EnabledなRippleネットワークに必要なこととは

Suspay は Escrow に統合されました。

CryptoConditions

CryptoConditions は、フルフィルメントが何であるかを正確に言うことなくフルフィルメント・メッセージを承認する方法を記述する、標準フォーマットで書かれた配布可能なイベント記述です。フルフィルメントは、イベントが発生したことを証明する暗号的に検証可能なメッセージです。あなたがフルフィルメントを送信すると、条件を有するすべての人が条件が満たされたことに同意できます。フルフィルメントは、条件(メッセージハッシュおよび公開鍵)に一致する署名の提出を必要とします。このフォーマットは、異なるハッシュ関数と暗号署名方式を含む複数のアルゴリズムをサポートしています。CryptoConditions は複数のレベルにネストすることができ、各レベルは複数の署名を持つことができます。

CryptoConditions は Escrow に統合されました。

 

ペイメントチャネル

ペイメントチャネル(Payment channels)は、オフレジャーでの単一の送金先に対するXRP決済のチェックポイントを実現します。チャネルはそれ自身のレジャーエントリーの中に、その所有者のXRPを隔離します。所有者は署名されたオフレジャーのメッセージを受取人に渡すことで、所有者がチャネルに預け入れた残高まで受取人が請求することを許可できます。受取人はチャネルがオープンしている間、任意の未払いの残高を請求するために、この署名されたメッセージを使うことができます。オーナーは必要に応じてチャネルを閉じることができます。もし、チャネルが支払いを終えていない資産を有する場合、オーナーは受取人に請求の機会を与えるため、チャネルを閉じるための遅延を待たなければなりません。受取人はいつでもチャネルを閉じることができます。有効期限が過ぎたあとに何らかのトランザクションがチャネルに触れるとチャネルは閉じられます。支払総額は、新しい請求が発行されるごとに単調に増加します。チャネルが閉じられるとき、残りの残高はオーナーに返金されます。チャネルは、十分な残高がある場合に、ILPトラストラインの断続的なオフレジャー決済を許可することを目的としています。双方向チャネルのために、ペイメントチャネルは両方向に使うことができます。

参考: Rippleネットワークは完成形に近づきつつある

 

TickSize

TickSizeは、通貨発行者が為替レートで注文を順位付けする際に考慮される有効数字の桁数を設定できるようにすることで、注文がオーダーブックに順位付けされる方法を変更します。この改正により、注文の為替レートは設定された有効桁数に丸められ、より多くの注文が同じ正確な為替レートを持つようになります。この変更の目的は、前に出された注文を上回るためには価格の有意な上昇を必要とさせることです。これにより、メジャーな発行者が使用する場合、既存の注文よりもわずかなパーセント・ポイントしか上回らない注文でレジャーに対してスパムを行うインセンティブが減少するはずです。また、注文をより少ない為替レートにグループ分けすることができるため、レジャーのオーダーブック・ストレージの効率を向上させることができます。

 

Rippleのコンポーネント

Rippleネットワーク

Rippleネットワークは、リップルサーバーによって構成された Ripple Concensus Ledger(RCL) を実現するためのP2Pネットワークです。Ripple上のすべての残高はRippleネットワーク内の公開台帳(RCL)に記録され、Rippleネットワークの構成要素とそれらが実現する機能はRippleネットワークによって他のコンポーネントに提供されます。

出典: ripple.com

出典: ripple.com

リップルコネクト

リップルコネクト(Ripple Connect)は、金融機関の内部システムと Ripple Concensus Ledger(RCL) を接続するための、Rippleのクロスカレンシー決済ソリューションのコンポーネントです。リップルコネクトを利用することで、銀行は国際決済を行うことが可能になります。さらにリップルコネクトは、決済が実行される前に KYC(Know Your Customer:顧客の本人確認情報)やその他のコンプライアンス情報、手数料、決済にかかる概算時間を交換する手段を銀行に提供します。

 

リップルストリーム

リップルストリーム(Ripple Stream)は、RippleのFX市場を構築するソリューションのコンポーネントであり、FIXのような業界標準ツールを利用するFXトレーディ ングデスクを実現し、Ripple Consensus Ledger(RCL)上でのFX市場の構築を容易にするためのオーダーブック管理システムです。リップルストリームは、クロスカレンシー決済を実現するために外国為替取引を提供するRCL上で、売り/買い注文を実行するトレーディングデスクのためのインターフェースを提供します。リップルストリームは銀行のFIXやウェブサービスAPIを利用した既存のトレーディングインターフェースを統合するためにデザインされています。また、銀行のトレーディング・ クライアントの統合に.NETライブラリを利用することもできます。