Why We Take it Slow — Security First 日本語訳
これは Marinade Finance の Why We Take it Slow — Security Firstという記事を日本語訳したものです。
Marinade は直近では TVL が 3億ドルを超え、ほぼ 3 百万 SOL がステークされています。
急速な伸びのように見えるかもしれません —そして 実際にそうなのですが — もう少し詳しく分析してみましょう。
私たちは、すべてが期待通りに動作していることを確認するために、ステークできる SOL の最大数量に上限を設け、それを少しずつ引き上げてきました。そのたびに、システムのいくつかの部分をチェックしています。
以下のグラフでは、多くの場合、上限を引き上げてから、その上限に到達するまで 1–2 日しかかからなかったことが分かります。
ここから、mSOL の需要が大変大きいことが分かりますね!
さて、私たちは資金の安全性をどうやって確認しているのでしょうか?
リスク
SOL をステークプールに預ける場合、基本的に二つの主なリスクが考えられます:
- ステークプールの管理者が悪意を持ってユーザの資金を盗む
- ステークプールのプログラムが悪用される
ブロックチェーンの領域において、100% のセキュリティは偽りの約束に過ぎません。また、最近のネットワークの混雑のように、私たちがコントロールできない事象も存在します。
それでは、ステークプール管理者やステークプールプログラムの悪用、およびその他の問題が発生する可能性を最小限にするために、Marinade がとったすべての対策をご紹介したいと思います。
Solana ステークプールプログラムがベース
リファレンスにしている Solana ステークプールプログラムは、ステークプールプログラムのドキュメントにも記載されているとおり、ノンカストディアルです:
ステークプールプログラムの主な目標の一つは、プールトークン所有者がいつでも自分の資金を引き出せるようにすることです。
…(ステークプールの設計の詳細の説明)…
…このように、ユーザ資金はリスクに晒されず、常に償還可能です。
まだ開発の初期段階にあった 2 月、私たちは、Solana のステークプールプログラムを Anchor フレームワークで独自に書き換え、より強固で安全なものにした上で、独自の流動性プールを導入することで、SOL の即時アンステークを可能にし、外部のマーケットに依存しない独自のカスタムバージョンのステークプールプログラムを実装することにしました。
このことが、結果的に大きなアドバンテージになりました。
監査 — 一つだけでなく三つ
まだ Marinade が devnet で稼働していた 7 月、私たちは Solana Foundation に Solana 上で動作するプロトコルの表も裏も知り尽くしている監査チームの推薦をお願いしました。そこで紹介されたのが Neodyme チーム(以前は ALLES! One という名前でした)で、彼らは主要なプロトコルのほとんどをレビューし、それをまとめた記事まで作成してくれました: Solana Smart Contract: Common Pitfalls and How to Avoid Them.
私たちのコードは、コードレビューを致命的な問題もなく合格し、別のホワイトハッカーに確認したところ、メインネットへの移行にゴーサインが出ました。
メインネットでの最初の一週間は、Ackee Blockchain によるもう一つの監査を開始し、8 月末にはこちらも致命的な問題は見つからずに合格しました。
そして、次は Kudelski Security による三つ目にして最終レベルのセキュリティ監査を受けることになっています。
さらに、エコシステムのパートナーも招き入れて、一部のパートナーにはコードの詳細なレビューも行ってもらいました。これは、Solana のトッププロジェクトの CTO たちに、我々のコードを見てもらい、何か見逃していないかを確認してもらうようなものだと考えてください。
これが、Marinade の最高レベルのセキュリティを確保するための最も信頼できる方法だと考えています。
最終的な監査が終了したら、すべての監査報告書を共有し、Marinade のすべてのコードをオープンソース化する予定です。
誰でもクランクを回せます
Serum のノンカストディアルなアーキテクチャにヒントを得て、Marinade もノンカストディアルになるように開発をしました。Marinade では、ステークのデリゲートや報酬の計算、mSOL/SOL 価格の更新など、舞台裏で行われる魔法の多くが、BOT の一連のアクションによって実行されています。
私たちは Marinade のプログラムが完全にパーミッションレスであることを確認し、誰でも BOT を実行して、「クランクを回す」ことができるようにしました。私たちのプログラムの Anchor IDL は、主にエコシステムの統合を目的として公開されていますが、外部からプログラムの特定の機能を呼び出すために使用することもできます。
Solana エコシステムによるガバナンス
Solana プログラムで最も重要な部分の一つは、プログラムのアップグレード権限です。アップグレードキーを手に入れた悪意の第三者がいれば、プログラムを変更し、資金を完全に掌握することができてしまいます。
そのため、アップグレード権限を持つ一つの管理者キーだけでこの単一の障害点を防ぐのは不可能です。DAO の完全なガバナンスを実現するまでは、重要な決定は、トランザクションを実行する前に複数の鍵による署名を必要とするマルチシグコントラクトによって実行されます。
マルチシグソリューションは、一人の人間が管理者となるケースと、DAO プログラム(トークン保有者)が管理者となるケースの、ほどよい中間点として機能します。
- 複数の当事者を含めることで信頼点を減らし、意思決定をより分散化することができる
- バグ修正やプログラムに緊急のパッチが必要な場合など、オンチェーンでコンセンサスを得るのが遅すぎるような特殊なケースにおける実行の速度
Marinade では Serum Multisig プログラムを使用しています。
Marinade のアップグレード権限は 11 のうち 6 の署名が要求されるマルチシグによって管理されています。キーは Solana エコシステムの最も評判の高いチームに配布されています:
透明性のあるデリゲート戦略プログラム
リキッドステーキングにおいては、ステークされた資産を流動化し、二重取りする戦略(mSOL で複利のステーキング報酬を受け取りながら、mSOL を DeFi で運用する)に注目が集まりがちですが、基礎となる mSOL トークンが何を表しているのか、すなわちステークした SOL に何が起きているかを正確に知ることも大切です。
Marinade で SOL がステークされると、アルゴリズムによるデリゲート戦略に従って、ステークが分散されます。
Marinade は一つや二つではなく、数百のバリデータにデリゲートします。その際、集まるとネットワークを停止しかねない巨大なバリデータはスキップすることで、一つのシステムを侵害するために必要なノードの数を表すナカモト係数を効果的に改善します。
2021 年 2 月のスタート時には、集まるとネットワークを停止させることができる上位のバリデータの数は 11 でしたが、現在では 20 になっており、この数をさらに増やすために私たちは最善を尽くしています。
また、Marinade がデリゲート戦略において完全な客観性を保つために、自らはバリデータを運用していないことも特筆に値するでしょう。
完全な DAO を実現する道のり
Marinade には投資家による資本がまったく入っていないので、チームと Marinade に貢献してくれる健全で有機的なコミュニティだけが、Marinade DAO の基盤を構成します。
私たちは、100% コミュニティとプロダクトを主体としたプロジェクトであり、6 月に言ったことを忠実に実行しています:
私たちは Marinade の所有権を可能な限り分散化したいと考えています。それにより、分散化された安全な運用も実現します。
この目的のために、私たちは既に策を講じており、さらにいくつかの対策を導入するところです(たとえば、アカウントごとのステーク上限戦略、全体のステーク上限、流動性提供にとどまらない貢献者について考慮する等)。
来るべき MNDE のローンチでは、より多くのシェフを招き、共同で最高の Marinade を作り上げるという新しい時代が始まります。もし、あなたが興味を持っているのであれば、気軽に遠慮なくキッチンに参加してください。
また、Solana の創設者である Anatoly Yakovenko は、Marinade とそのコミュニティ、そして DAO アプローチについて語ってくれました:
次回の記事では、MNDE のローンチの具体的な内容と、MNDE の流動性マイニングの最初の数週間について詳しく取り上げたいと思っています。もし、まだご覧になっていないようでしたら、MNDE の紹介という記事も是非読んでみてください。
それでは、ハッピーステーキング!