IOHKブログ:バベルフィー - トランザクションコストをネイティブトークン建てに

トランザクション手数料をCardanoユーザー定義のトークンで支払える新たなメカニズムを導入

2021年2月25日 Aggelos Kiayias教授 読了時間7分

Babel fees - denominating transaction costs in native tokens

ダグラス・アダムズの古典『銀河ヒッチハイク・ガイド』で、バベルフィッシュはどんな言語でも母国語に翻訳してくれる生き物です。このファンタジックな普遍的翻訳により、宇宙で無数に存在する言語の違いにも拘わらず、意義のあるやり取りが確保されます。

暗号通貨の世界では、スマートコントラクトのプラットフォームは無数のカスタムトークンの開発を可能にします。では、自分好みのトークンを使ってプラットフォームとやり取りすることは可能なのでしょうか。「バベルフィー」メカニズムがあれば、任意のトークンをプラットフォームがトランザクションを送信するために必要とする形式に翻訳することができます。

ブロックチェーンに共通する知恵は、有効なトランザクションを送信する場合、送信者には必ずコストを発生させるべきであることを示唆しています。ここでの議論は、こうした制約がなければ過剰な数の取るに足らないトランザクションで容量がいっぱいになり、使い物にならなくなることを止められないというものです。こうした信条に基づき、ユーザー定義のトークンをサポートしているブロックチェーンシステムにおいても、こうしたトークンでトランザクション手数料を支払うことは禁止されるべきだという結論が頻繁に導き出されています。その代わりに、トランザクションの手数料はすべての参加者が価値を認める、プラットフォームのネイティブトークンで課金すべきとされます。 ほぼ間違いなく、こうした制約は望ましいものではありません。しかし、どうしたらこの確固とした(そして不可避と思われる)脆弱性を避けることができるでしょうか。

不可能を可能に変える芸術

暗号通貨とゲーム理論は不可能に見えるものを可能にするものとして知られています。この好例として、公開チャネル経由の鍵取引き、マークルパズル、さらにヴィックリーオークションといった誠実にふるまうことが合理的であるようなオークションなどが挙げられます。この場合もこれが当てはまります。

まず、Cardanoでネイティブ資産がどのように作用するか思い出してみましょう。トークンは鋳造ポリシーに従って作成され、台帳ではADAとともにネイティブとして処理されます。Cardano台帳は拡張UTXO(EUTXO)モデルを適用しており、有効なトランザクションの発行には1つ以上のUTXOを使用する必要があります。CardanoのUTXOはADAだけでなく、実際には代替可能、不可能な複数の異なるトークンを含みうるトークンバンドルも含む場合があります。この方法で、1つのUTXOに複数の異なるトークンを移転するトランザクションを作成することができるのです。

台帳のトランザクション手数料は台帳パラメーターとして固定された機能に従いADA建てとなっています。CardanoのEUTXOモデルが持つパワフルな特徴は、有効なトランザクションに必要な手数料が、送信前に正確に予想できることです。これは、他の台帳形式(イーサリアムで使用されているアカウントベースのものなど)では持ちえない、ユニークな特徴です。確かにこの後者のケースでは、トランザクションに必要な手数料はトランザクションが安定するまでに変更される場合があります。これは、その間に他のトランザクションが台帳の状態に作用し、トランザクションの処理に必要なコストに影響を与える場合があるためです。

思考実験

バベルフィーの目的に近づくために、次の思考実験について考えてみましょう。取引発行者が支払う手数料の額に相当するADA建ての負債を表明するトランザクションを発行する可能性を考えてみてください。このようなトランザクションは台帳に受け入れられるものではありません。しかし、これを負債のカバーを要求する公募として認識させることはできます。こうした公募に応える理由とは何でしょうか。トークンバンドルの概念がすでにCardanoに存在すると仮定して、応募を引き出すために、トランザクションで負担者に一定額のトークンを提供することができます。これは、ADAと提供されるトークン間における特定の為替レートによる直物取引を意味します。では、このようなトランザクションを目にしたブロック生成者を考えてみましょう。ブロック生成者は、ADAでカバーする負債を含むと同時に、オファーされているトークンを要求するマッチングトランザクションを生成することができます。

台帳ルールを適切に拡張することにより、負債用トランザクションとそのマッチングトランザクションは、台帳にグループとして受け入れられることになります。負債を吸収することにより、この2つ1組のトランザクションは全体としてADAで適切に価格付けされ、ADAの手数料という点で台帳の会計ルールを破ることはありません。結果として、負債用トランザクションは決済され、私たちはその目的を果たすことができます。ユーザーは、所有するいかなるトークン建てで価格付けしたトランザクションをも送信することができ、ブロック生成者は進んでこれを直物取引として処理し、通常のトランザクションとして台帳に決済することができるのです。

具体例

このメカニズムは、もちろんADAを所有し、マッチングトランザクションを進んで発行する流動性プロバイダーの存在が条件となります。実際に、このメカニズムはそのような流動性プロバイダーに市場を創出します。例えば、ステークプールオペレーター(SPO)は、許容できる特定のトークンの為替レートを公開することができます。例えば、SPOはトークンXをADAとの為替レート3:1で受け入れると宣言することができます。すると、もしトランザクション手数料が0.16ADAであった場合、トランザクションは0.16ADAの負債分並びにトークンX0.48のオファーを宣言することができます。Cardanoのネイティブ資産モデルにおいて、これは(ADA→ -0.16、トークンX→ 0.48)と指定されたトークンバンドルを含む1つのUTXOとして実装することができます。ここで負号は負債分を示しています。

ここで、SPOがブロックを生成するところだとしましょう。SPOはメモリープールから負債トランザクションを回収し、その負債分のマッチングトランザクションを発行します。マッチングトランザクションはトークンX0.48をSPOが所有する新しいアウトプットに移転します。この結果となるブロックには、2つのトランザクションが順を追って含まれます。マッチングトランザクションは、これに必要とされる手数料に加えて、欠けている0.16ADAを提供します。実質的に、複数のトランザクションが一本化され、各トランザクション手数料は1つのマッチングトランザクションによってカバーされます。

図:アリスはSPOのステイシーの協力でボブにX型のトークンを9送信する。ステイシーはアリスのトランザクション手数料をカバーし、代わりにX型トークンを受け取る。XとADAの黙示の為替レートは3:1である。

新たな価値基準

上記のプロセスは完全にSPOのオプトインです。各人が自身のポリシーや為替レートを決定できると同時に、受け入れる様々なトークンの為替レートをその場で変更することもできます。さらに、SPO間で特定のトークンの価値に関して同意する必要もありません。実際、別のSPOが同じトークンに関し異なる為替レートを提示し、負債用トランザクションを発行するユーザーがネットワークで示された為替レートの最小、平均、最大に相当するトークンをオファーすることもできます。この方法で、負債用トランザクションの決済時間と、オファーされているトークンの市場価値の間に、自然なトレードオフが生じます。

これはネイティブ資産、EUTXOモデル、そしてトークンバンドルで負債をマイナス値で表すというシンプルかつパワフルな微調整により、いかにバベルフィーでユーザーにシステムでネイティブにサポートされている任意のトークン建てでトランザクション価格を付けることを可能とするかを説明しています。また、このようなシステムでSPOとなることのユニークな利点も示しています。ただし、SPOがネットワークで負債のカバーを提供する唯一の存在となる必要はありません。実際、SPOは望みさえすればマッチングトランザクションを発行する外部の流動性プロバイダーと提携することもできます。さらに、サードパーティプロバイダーがネットワークで独立して活動し、マッチングトランザクションを発行することもできます。それでも、ブロック生成者がメリットを得ることに変わりはありません。SPOは常にマッチングトランザクションのフロントランを行うことができ、希望すれば自分のものと置き換えることができるのです。これはフロントランニングトランザクションが特徴となるケースです。SPOが自分の好きなトークンでトランザクション処理サービスに対する支払いを受けることを可能にします。

トークンバンドル内にマイナス値を用いるメカニズムは、Maryハードフォークでネイティブ資産を導入して後、いずれかの時点でCardano台帳の基本ルールに実装することができます。バベルフィーに加えて、このメカニズムにより、直物取引のアトミックスワップなど様々な興味深いアプリケーションが可能になります。これは今後のブログ記事で紹介します。これはCardanoのアプローチが持つパワーと、ユーザーやステークプールオペレーターからなる起業精神にあふれた多様性のあるコミュニティをサポートする能力を表すものです。

バベルフィーとCardano台帳へのその実装に関し、豊かな議論、提案、コメントを提供してくれたマニュエル・チャクラバティ、マイケル・ペイトン・ジョーンズ、ニコス・カラジャニディス、チャド・ネスター、ポリーナ・ヴィノグラドヴァの各氏に感謝します。