
トランザクションを実際に止めているものは何か
どのカストディ製品にも、統制を並べた機能ページがあります。許可リスト、支払い上限、タイムロック、承認ワークフロー、IP 制限。どれも実在し、どれも有用です。ですがそれらはすべて同じ種類のものではありません。互換だと扱うことこそ、組織がマーケティングの含みより弱いセキュリティモデルに行き着く道です。
それらをきれいに切り分ける問いがあります。システム内のあらゆるソフトウェアが誤っていたり敵対的だったりしたとして、この統制はなお成り立つか。
一覧の大半について、答えは「いいえ」です。ちょうど一つについてだけ、答えは「はい」です。この記事は、その見分け方の話です。
一層ではなく三層
誰かが資金を動かしたいと思ってから、資金が実際に動くまでのあいだに、SSP Enterprise には三つの異なる関門があります。壊れ方が異なり、どれがどれかを知ることこそが要点です。

これらの層は有用性の順ではありません。破るのに何が必要かの順です。
第 1 層:調整レイヤー
ポリシーエンジンであり、機能の大半がここに住んでいます。SSP Enterprise はアドレスの許可リスト、宛先種別の制限、金額しきい値を超えるトランザクションを遅らせるタイムロック、一定額を超えると管理者承認を要する規則、そして組織アクセスへの IP 制限に対応します。ポリシーテンプレートは妥当な初期設定を与え、それが実際の編集可能な規則として具体化します。
これらは本物の仕事をします。許可リストは、打ち間違えたアドレスが提案になることさえ防ぎます。タイムロックは、何かがおかしいと気づくための窓をトレジャリーチームに与えます。承認規則は、大きな送金を一人の午後ではなく二人の会話に変えます。
それらが「そうでない」のは、カストディの強制です。 これらの規則は SSP のソフトウェアに住み、SSP のサーバーが評価します。Vault のアドレスの一部ではなく、ブロックチェーンはそれらの存在を聞いたこともありません。ポリシーエンジンが迂回されれば——バグ、侵害されたサーバー、敵対的な運用者によって——規則は単に適用されません。
これをはっきり述べるのは、その反対がより悪いからです。許可リストをカストディの保証だと信じるチームは、それに合わせてしきい値を決めます。そしてそれこそが、生き延びられる事故を生き延びられない事故に変える誤りなのです。
第 2 層:あなたの端末
第二の関門は各署名者が持つ端末の対であり、重要な点で第一の層より強い。SSP のことも信用しないのです。
提案が署名者に届くと、その端末はトランザクションの生バイトをローカルでデコードし、結果を表示内容と突き合わせます。受取人、金額、トークン——サーバーの説明から取るのではなく、バイトから読みます。Solana ではこの比較は明示的で容赦がありません。デコードされたバイトが表示された内容と矛盾すれば、署名は警告で済まされず強制的にブロックされます。そこでの不一致は描画上の不具合ではなく、進行中の攻撃を示すからです。
端末はさらに、手数料の返済に対して独自の上限も課します。relay が手数料を提案し、ウォレットは relay が何と言おうとハードコードされた最大値を超える手数料への署名を拒みます。これは relay が全面的に敵対的であっても、手数料経路を通じた流出を上限で抑えます。シミュレーションも承認の前に走り、提案を現在のチェーン状態に対して実行して、確認画面がそのトランザクションの実際の挙動を示せるようにします。これはトランザクションシミュレーションとリスク警告とともに登場しました。
この層は侵害されたサーバーを打ち負かします。打ち負かせないのは、侵害された端末と、読まずに承認する署名者です。さらに署名者の 2 台の端末を必要とします。だからこそ一人あたりの 2-of-2 が効いてくるのです。第 2 層は 2 台のうち弱いほうの強さしかなく、その 2 台は意図的に異なる種類のハードウェアなのです。
第 3 層:チェーン
第三の関門は、他のすべてが崩れたときに残る唯一のものです。
Vault のアドレスは署名者の集合と承認しきい値から導出されます。必要な数の有効な署名を伴わないトランザクションは、拒否されたトランザクションではなく、無効なトランザクションです。ネットワーク上のすべてのノードが独立に同じ結論に達し、SSP のインフラへどれだけアクセスできてもその算術は変わりません。
だから Vault を作るときにもっとも思考を要する数字がしきい値であり、だからそれは後から編集できないのです。はじめてのエンタープライズ Vault を作るが仕組みを、2-of-2、2-of-3、m-of-n の比較が数字の選び方を扱います。
各層はどこで壊れるか
障害モードを並べると、設計の仕事は明白になります。
| 状況 | 調整レイヤー | あなたの端末 | チェーン |
|---|---|---|---|
| 署名者がアドレスを打ち間違える | 止める | 読めば止める | 関知しない |
| 署名者がフィッシングで承認させられる | 許可リスト外なら止める | 真実を示す。それでも承認しうる | 関知しない |
| SSP の relay が侵害される | 破れる | 持ちこたえる——バイトはローカルでデコード | 持ちこたえる |
| SSP のポリシーエンジンにバグがある | 破れる | 持ちこたえる | 持ちこたえる |
| 署名者のノートパソコンが侵害される | これ向けの設計ではない | 部分的に——スマートフォンはなお確認する | 持ちこたえる |
| 攻撃者が M 未満の署名者を掌握 | これ向けの設計ではない | 持ちこたえる | 持ちこたえる |
| 攻撃者が M 以上の署名者を掌握 | 破れる | 破れる | 破れる |
最後の行がこのモデルの正直な底です。マルチシグはあなたの署名者の少数が侵害されることから守ります。多数からは守りませんし、どんな製品も嘘をつかずに反対を主張することはできません。だからこそ、しきい値と署名者の独立性は、どんな機能一覧よりも重いのです。
これが構成の仕方に意味すること
第 3 層だけで安全になるように Vault を設計してください。 ポリシーエンジンが存在しないものとして、しきい値と署名者の集合を選ぶ。その答えが落ち着かないなら、直すべきは別のしきい値か別の署名者であって、ポリシーを増やすことではありません。
そのうえで、ポリシーが得意なことのためにポリシーを足す。 許可リストは人為ミスを捕まえます。タイムロックは反応の時間を買います。承認規則は大きな金額に二人目の目を作ります。これらはプロセス改善であり、実際に事故を減らします。ただ、攻撃者とあなたの資金のあいだに立っているものではありません。
署名者を本当に独立させてください。 同じノートパソコン上、同じ建物内、同じ復旧の取り決めの二人の署名者は、二人よりも一人に近い。第 3 層の強さは、M 人の別々の人間を、M 組の別々の端末ごと侵害する難しさから来ます。
署名者に確認画面を本当に読ませてください。 第 2 層は、もっともらしく見えて実は誤っている提案を捕まえられる唯一の関門であり、それが働くのは、端末がデコードした内容に人間が向き合ったときだけです。Vault 作成時に往復を予行しておくと、何も賭かっていないうちにその習慣が育ちます。
他のカストディ提供者にも同じ問いをぶつけてください。 SSP を使うかどうかにかかわらず、この枠組みは持ち運べます。機能ページの各統制について、提供者自身のソフトウェアが誤っていても残るかを問う。答えはしばしば示唆に富み、はっきり答える提供者は、自分たちの考え方についてよいことを伝えているのです。
複数鍵の構成が実務でどう骨抜きにされるかについては、マルチシグの障害モードと SSP による緩和が一つずつたどり、SSP Enterprise:チームのためのマルチシグ Vaultが部品の組み合わさり方の全体像です。


