Skip to main content
これらのページは四つの主張をくり返しています。証拠金の計算は単独で検証できること、自動デレバレッジの選定は誰でも再計算できること、資金調達率は決められるのではなく導かれること、そして二つの正直なノードはバイト単位で同一の結果を出すこと。この形の主張は、プロトコルの外にいる誰かが実際に走らせるまで、何の値打ちもありません。 このページはその走らせ方です。各チェックは、必要な入力、その入手先、そして同じくらい重要なこととして、それが立証しないものを明記します。
算術だけ
公開データ、任意のノード
自分のフルノード
必要証拠金
強制決済価格
ADL の選定
資金調達の支払い
ブロックをバイト単位で
五つのうち二つはネットワークをまったく必要としません。公開されたティア記録に対する純粋関数だからです。

1 · 必要証拠金

必要なもの: レバレッジティアの記録と、ポジションサイズ。それだけです。ノードも、ネットワークも、アカウントも要りません。 当初証拠金と維持証拠金は、想定元本とティア記録の純粋関数です。式と正確な丸めはレバレッジにあります。 必要当初証拠金=想定元本×im_leverage×10exponent\text{必要当初証拠金} = \text{想定元本} \times \text{im\_leverage} \times 10^{\text{exponent}} 必要維持証拠金=max⁡ ⁣(想定元本×mm_leverage×10exponent−控除額,  0)\text{必要維持証拠金} = \max\!\left(\text{想定元本} \times \text{mm\_leverage} \times 10^{\text{exponent}} - \text{控除額},\; 0\right) ティア記録は API リファレンスの DEX Config グループで公開されています。im_leverage、mm_leverage、共有の exponent、ティアごとの deduction です。想定元本をひとつ選び、二つの式を紙の上で評価し、同じポジションに対して venue が実際に課す額と突き合わせてください。 立証されること: この要件が、口座ごとの判断ではなく、公開パラメータの公開された関数であること。 立証されないこと: そのティア記録の設定が妥当であること。それはガバナンスの問題であって、算術の問題ではありません。
丸めは仕様の一部であって、許容誤差ではありません。あなたの整数と venue の整数が一単位違うなら、どちらか一方が間違っています。どちらかを判断する前にクリアリングハウスの丸め規則を確認してください。

2 · 強制決済価格

必要なもの: 同じティア記録に、あなたの残高とポジション。 しきい値は比率で、強制決済に定義があります。 証拠金使用率=必要維持証拠金正味担保資産\text{証拠金使用率} = \frac{\text{必要維持証拠金}}{\text{正味担保資産}} 正味の担保は、残高に未実現損益を足し、未約定注文が拘束している分を引いたものです。この比率がトリガーに達するマーク価格について解けば、プロトコルが動く価格が、動く前に手に入ります。 立証されること: トリガーが、あなた自身の数字から前もって導けること。 立証されないこと: 実際に決済される価格。それはその時点の板に依存し、破産価格が上限になります。

3 · 自動デレバレッジの選定

必要なもの: ひとつのマーケットの建玉とマーク価格。任意のフルノードから取れます。 選定はスコアで、自動デレバレッジに定義があります。 スコア=未実現利益率×実効レバレッジ\text{スコア} = \text{未実現利益率} \times \text{実効レバレッジ} Accounts グループからそのマーケットのポジションを、Oracle グループから認証済み価格を取り、利益側の各ポジションについてスコアを計算して並べ替えてください。その並びがキューです。あなたが計算したキューの先頭を、画面に出ている ADL インジケータと比べてみてください。 立証されること: キューが公開状態の関数であること。誰も選んでおらず、あなた自身の算術で見つけられないポジションもそこにはありません。 立証されないこと: デレバレッジがあなたに届かないこと。計算できるキューであっても、あなたが並んでいるキューであることに変わりはありません。

4 · 資金調達の支払い

必要なもの: 決済ラウンドの板と認証済みインデックス、それにあなたのポジション。 レートは資金調達率で三段階に組み立てられます。板の深さで重み付けしたプレミアム、マーケットの間隔へのスケーリング、そしてクランプです。 P=max⁡(0,  深度加重の買い気配−インデックス)  −  max⁡(0,  インデックス−深度加重の売り気配)インデックスP = \frac{\max(0,\; \text{深度加重の買い気配} - \text{インデックス}) \;-\; \max(0,\; \text{インデックス} - \text{深度加重の売り気配})}{\text{インデックス}} F=F8h×間隔の秒数28,800Ffinal=clamp⁡ ⁣(F,  Fmin⁡,  Fmax⁡)F = F_{8h} \times \frac{\text{間隔の秒数}}{28{,}800} \qquad F_{\text{final}} = \operatorname{clamp}\!\left(F,\; F_{\min},\; F_{\max}\right) そして支払い自体です。 資金調達の支払い=ポジションサイズ×マーク価格×資金調達率\text{資金調達の支払い} = \text{ポジションサイズ} \times \text{マーク価格} \times \text{資金調達率} 板は Markets グループ、認証済みインデックスは Oracle、プロトコルが実際に行った支払いは Accounts グループの資金調達支払いのエンドポイントから取れます。再計算して突き合わせてください。 立証されること: レートが板とインデックスから導かれたものであり、運営者が決めたものではないこと。 立証されないこと: インデックスが正しかったこと。オラクルが保証すること・しないことを参照してください。

5 · ブロックをバイト単位で

必要なもの: 自分のフルノード。誰でも一台動かせます——ノードを動かすを参照してください。
このページで今日はまだ実行できない唯一のチェックです。公開アクセスが開くまでネットワークはプライベートテストネット上にあるため、最初の四つは今すぐ、これはその時点から実行可能になります。ここに挙げているのは、ほかの四つの値打ちがこれ一つに乗っているからです。
ほかの四つはこのチェックの上に乗っています。コミット済みのブロックとその直前の状態を取り、実行し、自分の結果をネットワークのものと比べてください。ここでの決定性は期待ではなく強制です。実行経路はウォールクロックも、実行時のエントロピーも、浮動小数点も、ハッシュでランダム化された反復順序も読みません。ですから食い違いは許容誤差ではなく欠陥です。なぜ結果が再現可能なのかを参照してください。 これを儀式ではなく本物の検査にしている性質が二つあります。順序はコンセンサスがコミットしたオブジェクトなので、あなたがリプレイする並びは、自分のノードが推測したものではなく、クォーラムが署名したものです。そして価格は同じ署名でコミットされているため、ネットワークが認証していない価格に対してリプレイできる隙はありません。 立証されること: あなたに提供されている状態が、公開された規則どおりに、ネットワークがコミットした入力の上で生成されたこと。 立証されないこと: その規則に欠陥がないこと。バグを正確に再現しても、再現されるのはやはりバグです。だからこそ監査とバグバウンティがこれと並んで存在します。

どれもカバーしないもの

検証は信頼に委ねる範囲を狭めますが、なくしはしません。残るもの——バリデータ集合、価格のクォーラム、パラメータに対するガバナンスの届く範囲、そしてブリッジ——は信頼の前提に列挙してあります。保証ではなく限界を探しに来たのなら、次はそのページです。

次に読む

信頼の前提

検証できるものをすべて検証したあとに残るもの。

ノードを動かす

ハードウェア、同期、そしてバリデータが実際に動かしているもの。

IntentionKernel

リプレイを意味あるものにしている四つの閉包。

API リファレンス

上で挙げた入力すべてのフィールドレベルの詳細。