2021年、あるプロトコルのハッカー事件でやられた経験があります。財布を開けたら残高がゼロになっているような感覚で、今でもはっきり覚えています。それ以来、私はあらゆるプロトコルのセキュリティに対する約束を割り引いて見ています。監査レポートは何度も見てきましたし、盗まれたプロジェクトのほぼすべてに、事前に一束用意されていました。最近、TermMaxのセキュリティ設定を一通り見直してみましたが、私が見てきた多くのプロジェクトとは、いくつか違うところがありました。
まず監査について。注意してほしいのは、私が注目しているのは監査そのものではなく「多回数での監査」です。合意(コントラクト)がコードを1回改めるたびに、古い監査レポートは無効になります。業界には、一年前の監査レポートを新しいコントラクトの裏付けとして使うプロジェクトがあまりにも多いのです。レポートに載っているコードと、実際にチェーン上で動いているものは、とっくに別物になっています。継続的にお金を払って監査を繰り返すチームがあるということは、少なくとも二つのことを示しています。プロジェクトが進歩していること、資金面が担保されていること。これは、レポートそのものよりもプロジェクトの実態をよく示します。
次に、Immunefi上の脆弱性バグバウンティ(賞金)について。これは監査とはまったく性質が違います。監査はお金を払って誰かに一度見てもらって終わり。賞金はずっとそこにぶら下げておき、世界中のホワイトハッカーが毎日ペネトレーションテストをしてくれるようにする。問題を見つけたら賞金を払う。見つからなければ「誰よりも自分たちがこのコントラクトを理解している」という証明になる。あるプロジェクトの賞金の価格設定は、チームが自分のコードにどれだけ自信を持っているかの公開見積もりそのものです。値段を提示しておいて、しかも継続して取り組んでいるなら、「セキュリティが最優先だ」と100回言うより説得力があります。
ただ、冷静に言うべきことが二つあります。第一に、賞金そのものが「コントラクトに穴があり得る」ことの証明になってしまっている点です。穴がなければ、お金を払って人を探す必要はありません。賞金の意味は、脆弱性を見つけたときの利益を表に出して、ホワイトとブラックが競り合う状態を作ること。これは免疫ではなく、損失を食い止めるための措置です。第二に、コントラクトの安全と資金の安全は、これまでずっと別物だったということ。監査済みのコントラクトでも、プライベートキー漏洩、オラクル操作、フロントエンドの乗っ取りで事故は起きます。TermMaxはさらに、外部プロトコルの収益ルーティングや、現物(実物)決済の清算パスといった要素が絡みます。これらの複雑さは、数枚のレポートでは解決できません。
結局のところ、チームがセキュリティのために継続してお金をかける姿勢には称賛に値します。でも、お金をかけることは、必ずしも安全であることとは同義ではありません。真の試金場は、いつだってチェーン上にあります。$TMXは8月25日にTGE、TVLと攻撃面が一緒に大きくなります。そこで初めて、真のプレッシャーテストになります。
#termmax @TermMax