ビットコインとの比較を主目的においた用語集
ビットコインを勉強した人はリップルは差分だけ勉強すればだいたいOK
台帳(Ledger)
ビットコインにおけるブロックチェーンのようなもの。
ブロックチェーンとの違いは
- 各ノードは台帳を全て持つ必要がない。
- ブロックチェーンは古いデータから同期するが台帳は新しいデータから同期する。
- 残高などスナップショットを保管している
- アドレスごとにバリデータに指示を与える状態を持つ
- 確実なファイナリティを持つ
バリデータ
ビットコインにおけるマイナーのようなもの。
マイナーとの違いは
- 手数料を受け取らない
- 新規XRPを発行しない
- 事実上Ripple社に許可を得たノードだけがバリデータとして参加できる(ripple社にノードの公開鍵を登録してもらう必要がある)
- トランザクションを失敗させられる
シークレットキー(Secret Key)
sから始まる鍵でリップルのエコシステムにおいて
残高やトラストラインを操作するときに必要な鍵
ビットコインとキーの位置を比較するならbip32におけるマスターシードに相当する(互換性はない)
公開鍵(Public Key)/秘密鍵(Private Key)
公開鍵と秘密鍵で通常の利用では表に現れません
シークレットキーから生成される
シークレットキー(Secret Key)と秘密鍵(Private Key)はとても混同しやすいので気をつける
楕円曲線パラメータのsecp256k1を利用
ビットコインとの違いはありません。
リップルアドレス
rから始まるユーザーの残高が保管されているアドレス
公開鍵から生成される
ビットコインのp2pkhとほぼ同じアルゴリズムで生成される(base58へのエンコードテーブルが違うだけ)
トランザクション
リップルのトランザクションはアカウント方式と呼ばれる仕組みを採用しているので
UTXOは仕組みとして存在しない
トランザクションIDは存在しているのでそのIDを用いて台帳から参照することはできる(過去の台帳を持っていないノードもいるのでその場合はエラーになる)
アカウント方式は通常、宛先と金額を指定して送金する
その場合同じトランザクションを二回連続して別々のノードに対してブロードキャストした場合に区別ができず二回支払われる問題が起きるのでそれを防ぐためにシーケンス番号という連番をトランザクションに含めて同じシーケンス番号は無視することで対処される
bitcoinの場合はUTXOのTXID,VOUTを指定することでそれを防いでいる。
宛先タグ(Destination Tag)
振込人を特定するための識別番号
例えば集合住宅に郵送するときに届けるときに使う部屋番号のようなもの。
間違ったり忘れたりすると誰が送ったのか送り主が不明になります。
ビットコインにおいてはアドレスを新しく発行することで解決しているがリップルではアドレスの新規発行にコストが掛かるので宛先タグで解決するのが一般的だ。
準備金(Reserve)
台帳に各種状態を保存するのに使う担保
担保なので状態を取り除くと返却される
状態ごとに料金が異なる
- リップルアドレスをアカウントとして認識させるのに固定値(20XRP)(現在解除できない)
- トラストラインでゲートウェイを設定する毎に増加(数量*5XRP)
- 内部取引所内で指値注文を出す毎に増加(数量*5XRP)
- マルチサインの鍵を登録するごとに増加(30XRP〜100XRP)
マルチサイン(Multi-Sign)
ビットコインのマルチシグのようなもの
ビットコインではアドレス生成前に決定され公開鍵がロッキングスクリプトに組み込まれマイナーがアンロックスクリプトを検証することで機能する。
リップルではアドレス生成後にリップルアドレスを台帳に登録し、その秘密鍵の署名がバリデータに承認されることによって機能する
IOU
トークン発行機能。現在は積極的に利用を推奨していないようだ。
トークン発行にかかるコストはほぼゼロである。(トークン利用者にコストは転換される)
発行量はロックすることができない
発行後に移動を制限することが出来る
マイナス金利を設定することが可能
リップル内の分散取引所(DEX)でXRPと交換できる
ビットコインのカウンターパーティとよく似た特性を持っているが最大の違いはトラストラインと言う相手を信用する機能があり発行元を信用しなければトークンを受け取る事ができない(第三者に渡すことができない)
すなわちバラマキや投げ銭には向かない。
amendment
投票で事前にネットワークで合意を確認するため新機能を入れたことによるネットワークの分岐を防ぐしくみ
投票開始後、二週間でバリデータの80%以上合意が取れると新機能が採用される
ビットコインのBIP9(segwitを有効にするのに使った機能で有名)に近い