デレゲーションに必要な科学とその理由

MAK
Concordium-Japan
Published in
Jun 6, 2022

執筆者:Christopher Portmann

ConcordiumブロックチェーンのSiriusアップデート(2022年第2四半期末までにリリース予定)では、CCDホルダーがベイカー(別名:マイナーまたはバリデータ)に自分のベイキング・パワーを委任してベイキング報酬を共有できる、デレゲーションを導入する予定です。この記事では、Concordiumの委任モデルを設計する際に考慮したセキュリティのいくつかの側面について簡単に説明します。

プルーフ・オブ・ステーク(PoS)ブロックチェーンでは、ベーカーのパワーはそのステーク、つまりコンセンサス・プロトコルでロックしたトークンの量に比例します。例えば、ブロック生成に選ばれる確率や、自分の署名が持つ重みは、このステークに依存します。PoSブロックチェーンのコンセンサス・プロトコルは、通常、悪意のある当事者によってコントロールされるステークがある割合まで安全であると考えられます。多くの最新のプロトコルでは、この閾値は全ステークの1/3であり、この記事の残りの部分では、この閾値を例として使用します。つまり、中央集権型システムのように管理者権限を持つすべての当事者を信頼するのではなく、PoSブロックチェーンでは、ステークスの2/3を支配する当事者が誠実なプロトコルを実行していると信頼すれば十分であり、特定の誰かを信頼する必要はないのです。

次に当然の疑問は、悪意のある者が1/3のステークをコントロールすることはできないと考えるのが妥当かどうかということです。その理由としては、主に2つの議論があります。

  1. 1/3のステークをコントロールするために十分なトークンを購入することは高価です。
  2. トークンを所有することは、ゲームに参加することを意味します。もしチェーンが攻撃された場合、トークンの価値は暴落し、攻撃者の(ロックされた)ステークは全ての価値を失うと予想されます。

そのため、ブロックチェーンを開発する際には、システムを攻撃するために必要なステークの3分の1を支配することを証明するだけでは不十分で、この3分の1を支配するためにコストがかかることを維持することも重要です。ブロックチェーンが不用意にステークを安くコントロールする仕組みを導入すると、攻撃者に悪用されかねない抜け道が生じます。例えば、最近のブロックチェーンに対する創造的な攻撃には、フラッシュローンを利用し、攻撃を行い、ローンを払い戻すというものがありますが、これらはすべて数秒以内に行われます。

委任はそのような抜け穴を開く可能性があります。そのため、委任の仕組みを設計する際には、ブロックチェーンを攻撃することが依然として高価であることを検証する必要があるのです。一言で言えば、デレゲーションとは、トークン保有者が自分のトークンのベイキング・パワーをベーカーを運営している当事者に委譲できる仕組みのことです。例えば、ベーカーがプールを開き、デリゲーターは自分のトークンをプールにロックします。コンセンサス・プロトコルにおけるベーカーのウェイトは、このプールに比例するようになり、報酬も比例するようになります。そして、余分な報酬の一部はデリゲーターに分配されます。

信頼できるベーカーはデリゲーターに好まれる(より多くの報酬を生み出すから)ので、デリゲーションは優秀なベーカーの活動と見ることができます。そして、トークン保有者がそのようなプールにトークンを購入し、ロックする動機付けにもなります。しかし、注意しなければ、委任はセキュリティの抜け穴を開くことになります。ベーカーは自分がコントロールするステークを所有していないので、トークンの価値が下がっても影響を受けず、自己資金でトークンを買う代わりに信頼できるベーカーになればよいので、大きなステークをコントロールするのはそれほど高価ではなくなります。

これらの穴を塞ぐために、Concordiumはスイス連邦工科大学チューリッヒ校(ETH)と協力して、私たちの委任モデルの分析を行っています。私たちは、委任を可能にしながらも、ステークをコントロールするのに高価な2つの具体的な手段を導入しています。1つ目は、ベーカーが自分のトークンの2倍だけプールにトークンを集められるようにすることです。もう一つは、ベーカーが設定する不正なベーカーが正直なベーカーを貶めるような変動報酬ではなく、委任者に対する固定報酬を設定することです。これらの対策により、委任の仕組みと強力な暗号セキュリティという、両方の長所を得ることができます。

Twitter | Telegram | Discord | Medium | Linkedin | Youtube | Reddit

Get started with Concordium: https://developer.concordium.software/en/mainnet/

Learn more: https://concordium.com

Concordium Blockchain Research Center Aarhus (COBRA):https://cs.au.dk/research/centers/concordium/

--

--