今回は、匿名質問コーナーより頂いた質問への回答です。他にもいくつか質問をいただいていますが、今回答えられなかった質問に関しては後日回答致します。
匿名質問コーナーについて
ご質問
マルチシグとShamirの比較と、それぞれでの秘密鍵保管方法のベストプラクティスは何になりますでしょうか。
回答
秘密鍵の保管方法としてのマルチシグとシャミアの秘密分散には次のような違いがあります。
マルチシグ
特徴:
複数の署名が必要となるトランザクションを承認するための方法です。例えば、2-of-3マルチシグでは、3つの鍵のうち2つでの署名がトランザクションの承認に必要となります。
Pros:
- 署名者を複数人とすることで互いに牽制が働く仕組みを構築できるため、ソーシャルハックに耐性ができる
- バックアップに頼らずに可用性を維持できる
- 鍵を1カ所に集める必要がない
Cons:
- しくみ、操作手順が複雑
- 鍵のほかに、公開鍵、スクリプトの構成方法、閾値もバックアップが必要
ユースケース:
企業の資金管理で利用されることが多いです。
ベストプラクティス:
- 各鍵は異なるデバイスや場所にて管理し、一部の鍵が失われてもシステムが機能するようにする
- 鍵以外の必要情報も必ずバックアップをとる - 事前に運用方針、マニュアルを整備しそれに従う
- 署名者間でのコミュニケーションを確実に行う
参考:


シャミアの秘密分散
特徴:
1つの秘密情報を複数の「シェア」に分割し、そのうちのいくつか(またはすべて)を組み合わせることで元の秘密情報を再構築することができます。最近では、LedgerやTrezorがこの方式を利用した秘密鍵のバックアップ方法に対応を表明して話題になっていますね。
Pros:
- 汎用性が高い(ブロックチェーンに依存しないため、どんなコインでも利用できる)
- 情報論的安全性をもつ
- 公開鍵のバックアップが必要ない
Cons:
- 分割後のシェアが元のデータと同サイズ - シェアを他のアドレスと共用利用することはできない
- シェアを1箇所に集めないと署名できない
ユースケース:
秘密鍵や重要なデータのバックアップや保管に使用されることが多いです。
ベストプラクティス:
基本的にはマルチシグと同様です。 ただし、署名時に閾値分のシェアを1箇所に集める必要があるため、運用法が制限されます。
参考:

手前味噌ではありますがAndGoではギガバイトスケールの大容量データに対応する超高性能秘密分散ライブラリ「CASSL」を開発しています。ご利用に興味ある事業者は是非お問合せください。
まとめ
どちらの手法も運用がとても大変です。そのため、企業での利用においても各社がそれぞれ独自に運用に関する設計ノウハウを研究開発している状況であり、1つのベストプラクティスとして固まるほどの標準はできていません。 そうした中、2023年9月時点においてはCryptoassets Governance Task Forceが「暗号資産カストディアンのセキュリティ対策についての考え方 第3版」にて提言している内容は参考になりそうです。
個人での利用の場合、企業と違って「ひとり運用」を選択される方もいるかもしれません。この場合、「牽制」に対する要件は必要ないため、また違った最適解があるかもしれませんね。
個人ユースに関しては個人的には運用負担が大きすぎるため、「自前運用はしない」がベストプラクティスだと思っています。運用の一部に関して企業の提供するマネージドサービスを利用するのが現実的ではないでしょうか。
