
ポルカドットのパラレルチェーンをどうやって入札するのか?
TechFlow厳選深潮セレクト

ポルカドットのパラレルチェーンをどうやって入札するのか?
競売に参加する時間が遅くなるほど、失敗率が高くなる。
Polkadotのパラチェーンスロットは、許可不要のキャンドルオークションに基づいて販売されます。私たちはこのキャンドルオークションをベースにいくつかの改善を加え、ブロックチェーンの安全性を確保しています。
キャンドルオークションの仕組み
キャンドルオークションは公開オークションの一種であり、入札者が徐々に出価を上げていき、オークション終了時点で最高額を提示した入札者が勝者となります。
キャンドルオークションは16世紀に船舶の販売に使用され始め、「ろうそく一本分」の期間だけオークションが開かれるという意味からその名が付きました。ろうそくの炎が消えると同時にオークションが突然終了し、その時点での最高入札者が落札者となるのです。
オンラインでキャンドルオークションを行う場合、終了時刻を決めるために乱数が必要になります。
パラチェーンスロットオークションは通常のキャンドルオークションとは少し異なり、ランダムな期間ではなく、あらかじめ定められたオープン期間を持ちます。ただし、その期間の終わりは通常終了時に決定されるものの、過去のある時点を遡って「実際の終了時刻」として設定します。つまり、入札受付は期間中継続されますが、終了時刻が過去に遡って決まるため、後から提出された入札ほど失敗する可能性が高くなります。
Acala &Laminar 亮哥による解説:「通常終了時に、過去のどこかの時点で終了したと遡って決定する」というのは、最終的に終了した段階で、過去のブロックをランダムに選び、そのブロックの時点で実際にオークションが終了していたと見なすということです。しかし、これはプロセス全体が完了してから計算されるため、誰も事前にオークションがいつ終わるかを知ることができません。
なぜキャンドルオークションを使うのか?
ブロックチェーンシステムの開放性と透明性は、従来のオークションでは存在しない新たな攻撃手段を開いてしまいます。インターネットやブロックチェーン上で行われる通常のオープンオークションは、特にオークション攻撃に対して脆弱です。
オークション攻撃とは、終了直前に競争者が出価することで、相手が応じる時間がなくなり、本来の価値よりも低い価格で落札しようとする行為です。
例えば、アリスはある商品を30ドルの価値があると考えています。彼女は最初に10ドルを入札し、できるだけ安い価格で購入しようとします。アリスの戦略は、価値を超える30ドルに達するまで徐々に入札額を上げていくことです。一方、イヴは同じ商品を11ドルと評価しており、最後の1秒で11ドルを入札するという戦略を取ります。オークション終了前にアリスがこれに反応する時間はなく、結果として商品を失うことになります。このようなオークションメカニズムは最適ではなく、商品の真の価値を発見できず、最も価値を置いている人に商品が渡らないという問題があります。
ブロックチェーン上では状況がさらに悪化する可能性があります。ブロック生成者が自身の取引を挿入したり他の入札を無視したりすることで、最終ブロックにおいてオークションを操作する余地が生まれるからです。また、悪意のある入札者やブロック生成者がオークション攻撃を通じて誠実な入札者を傷つけることも可能です。
こうした理由から、入札額を隠蔽し、後になってのみ明かされる第二価格オークションの一種であるVickreyオークションが高く評価されています。実際、ENS(https://ens.domains/)では、人間が読める名前をオークションで販売する際にこの方式が採用されています。キャンドルオークションは、Vickreyオークションのような二段階の提出・開示方式を必要とせず、スマートコントラクトによる参加を可能にする別の解決策です。
キャンドルオークションでは誰でも入札状況を確認できますが、オークションがいつ終了するかはわかりません。これにより、参加者は早期に積極的に入札することを促されます。そうでなければ、自分の入札より前の時点で既にオークションが「終了」している可能性があるためです。
ポルカドットにおける利用
PolkadotはVRF(Verifiable Random Function)に基づくランダムビーコンを使用します。このVRFはプロトコルの他の部分でも使われており、オークションの「終了時刻」を遡って決定するための乱数を提供します。
アカウントが入札する際、利用可能な任意の期間または範囲に対してスロットに入札できます。ただし、同一のSTFを持つパラチェーンが入札する場合は、連続した期間または範囲に入札しなければならず、占有期間が終了するまで継続する必要があります。重複するスロット(同時期に複数のパラチェーン)への入札はできず、ギャップがある場合、将来のスロットにも入札できません。パラチェーンがスロット期間終了後に再起動する場合、新しいジェネシス(古い状態のスナップショットである可能性あり)から再起動する必要があり、外部アカウントからの入札が必要になります。
スロットの最大期間は2年で、各ステージは6か月ごとに区切られます。パラチェーンはこの2年間内の任意の連続する期間でスロットをリースできます。時間の経過とともに、複数のスロットをリースすることが可能になり、連続するスロットをリースすることで、2年を超える長期契約を延長することもできます。
どのように入札するのか?
各パラチェーンスロットの最長期間は2年です。6か月ごとの期間がそれぞれのリース期間として区切られ、複数の連続する期間(period)が一つの範囲(range)を構成します。
一連のパラチェーンスロットリース開始の6か月前から、複数回のオークションが開催されます。
入札者は、ロックするDOTの金額と期間範囲を指定した入札設定を提出します。スロット範囲は、期間1~4の任意の連続する範囲を指定できます。
単一の入札者の設定例は以下のようになります:

当選者選定アルゴリズムは、重複しない入札の中で、2年間のリース期間を通じて保持されるDOT総額を最大化するような組み合わせを選択します。つまり、特定のリース期間において、最高額を入札した人が常に勝者になるわけではありません(下記の例を参照)。
各ブロックごとに、Polkadotが使用するVRFに基づいた乱数が決定されます。また、各オークションには0から始まり1に向かって増加する閾値が設定されています。VRFによって生成された乱数がこの閾値と比較され、そのブロックがオークションの終了点かどうかが判定されます。さらに、VRFは前回のエポックからあるブロックを選び、その時点の入札状態を取得することで、悪意あるバリデーターによる攻撃を軽減します。
ケーススタディ
競合がないケース
1つのパラチェーンスロットが利用可能です。
アリスは20 DOTを入札し、期間1~2を選びました。
ボブは30 DOTを入札し、期間3~4を選びました。
オークション終了。
アリスは20 DOTをロックし、初年度にパラチェーンスロットを使用します。
ボブは30 DOTをロックし、2年目にパラチェーンスロットを使用します。
競合があるケース
1つのパラチェーンスロットが利用可能です。
チャーリーは75 DOTを入札し、期間1~4を選びました。
デイブは100 DOTを入札し、期間3~4を選びました。
エミリーは40 DOTを入札し、期間1~2を選びました。
アルゴリズムに基づき、各入札者の評価額を計算してみましょう。評価額は、入札額に指定された期間数を掛け合わせることで算出します。
チャーリー:75×4 = 300、期間1~4。
デイブ:100×2 = 200、期間3~4。
エミリー:40×2 = 80、期間1~2。
DOT金額としてはデイブの入札が最高ですが、期間数を考慮すると、彼は期間が2期しかなく、入札額の少ないエミリーとスロットを分け合うことになります。デイブとエミリーの合計評価額は280に過ぎません。
一方、チャーリーは全期間に対して300の評価額を持っており、パラチェーンスロットの全期間を獲得します。
よくある質問
なぜ皆、最大期間を狙わないのか?
オークションで入札されたDOTは、その期間中ロックされます。つまり、これらのDOTを使って他のことをする機会費用が発生します。Polkadotにとって有益なパラチェーンであれば、パラチェーンとPolkadotリレー チェーンの利害を一致させるべきです。
この仕組みはどのようにパラチェーンの多様性を保証するのか?
パラチェーンスロットを6か月ごとの期間に分割する方法は、より多くのパラチェーンの多様性を促進し、特に大規模で資金力のあるパラチェーンによるスロットの独占を防ぐ狙いもあります。各期間を6か月に設定しつつ、全体のスロット期間を2年にすることで、資金力のあるパラチェーンがリース終了時にスロットを確保しつつ、他の未使用の6か月期間に他のパラチェーンが段階的に参入できるようにしています。例えば、大規模かつ資金力のあるパラチェーンがすでに期間1~4のスロットを獲得している場合、次に期間2~5を獲得したいと考えるでしょう。しかし本メカニズムでは、他のパラチェーンが期間5だけを取得でき、また別のパラチェーンが期間2~4のスロットを利用できるようになります。
なぜブロックチェーン上のランダム性は難しいのか?
ブロックチェーンシステムにとって、信頼できるランダム性の生成は大きな課題です。透明でオープンなネットワーク上で、他者が検証可能な形で真正な乱数を生成することは、参加者が乱数を操作しようとする誘因を生む可能性があります。RANDAOのようなハッシュオニオンや、検証可能なランダム関数(VRF)といった解決策が提案されています。ポルカドットでは後者のVRFをランダム性の基盤として採用しています。
参考資料
Parachain Allocation :W3Fリサーチページにて、パラチェーン割当のより詳細なメカニズムについて解説しています。https://research.web3.foundation/en/latest/polkadot/Parachain-Allocation.html。
パラチェーンスロットのコード
https://github.com/paritytech/polkadot/pull/239
原文リンク
https://wiki.polkadot.network/docs/en/learn-auction
翻訳:PolkaWorld
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News












