手数料投票
バリデータは、基本のトランザクションコストと必要準備金の変更について投票できます。バリデータの構成の設定がネットワークの現在の設定と異なる場合、バリデータはその設定をネットワークに定期的に公開します。定数のバリデータが変更に合意すると、変更を適用できるようになり、以後この変更が有効になります。バリデータはさまざまな理由から(特にXRPの価値の長期的な変化に適応するために)、この処理を行います。
rippled
バリデータのオペレーターは、rippled.cfg
ファイルの[voting]
スタンザでトランザクションコストと必要準備金の設定を指定できます。
設定できるパラメーターは次の通りです。
パラメーター | 説明 | 推奨される値 |
---|---|---|
reference_fee | リファレンストランザクション(最も安価なトランザクション)を送信するときに消却する必要があるXRPの額( drop 単位)。(1 XRP = 100万drop)実際のトランザクションコストはこの値の数倍であり、個々のサーバの負荷に基づいて動的に調整されます。 | 10 (0.00001 XRP) |
account_reserve | アカウントの準備金に必要なXRPの最小額( drop 単位)。これは、レジャーの新しいアカウントへの資金供給のために送金できる最小額です。 | 10000000 (10 XRP) |
owner_reserve | アドレスがレジャーで所有するオブジェクト ごと に必要なXRPの額( drop 単位)。 | 2000000 (2 XRP) |
投票プロセス
256番目の各レジャーは「フラグ」レジャーと呼ばれます。(フラグレジャーはledger_index
modulo 256
が0
になるように定義されています。)フラグレジャーの直前のレジャーでは、アカウント準備金またはトランザクションコストの設定が現行のネットワーク設定と異なる各バリデータは、そのレジャー検証とともに「投票」メッセージを配信し、バリデータが希望する値を示します。
フラグレジャー自体では何も起こりませんが、バリデータは信頼する他のバリデータからの投票を受信して記録します。
他のバリデータの投票を集計した後、各バリデータは自身の設定と信頼する過半数のバリデータの設定の間で妥協点を探ります。(たとえば、あるバリデータが最小トランザクションコストを10から100に引き上げることを望む一方で、ほとんどのバリデータは10から20に引き上げることを望んでいる場合、そのバリデータは当該のコストを20に引き上げることにします。ただし、そのバリデータは10未満の値または100を超える値にすることはありません。)妥協できる場合、バリデータはフラグレジャーの直後のレジャーに対する提案にSetFee疑似トランザクションを挿入します。同じ変更を求める他のバリデータは、同じレジャーに対する各自の提案に同じSetFee疑似トランザクションを挿入します。(設定が既存のネットワーク設定と一致している場合、バリデータは何も行いません。)SetFee疑似トランザクションがコンセンサスプロセスを通過し、検証済みレジャーに追加される場合、SetFee疑似トランザクションで設定された新しいトランザクションコストと準備金の設定がその次のレジャーから有効になります。
まとめ:
- フラグレジャー-1: バリデータが投票を送信します。
- フラグレジャー: バリデータが投票を集計し、どのSetFeeの内容を含めるか決定します(存在する場合)。
- フラグレジャー+1: バリデータは、SetFee疑似トランザクションを各自の提案レジャーに挿入します。
- フラグレジャー+2: SetFee疑似トランザクションがコンセンサスに達すると、新しい設定が有効になります。
手数料の最大値
手数料の最大可能値は、FeeSettingsレジャーオブジェクトに保管されている内部データ型により制限されます。これらの値は次のとおりです。
パラメーター | 最大値(drop) | 最大値(XRP) |
---|---|---|
reference_fee | 2**64 | (これまでに存在したXRP総額よりも大きい) |
account_reserve | 2^32 drop | 約4294 XRP |
owner_reserve | 2^32 drop | 約4294 XRP |