Ethereumスマートコントラクトにおけるマルチシグの実装例
Gnosis MultiSigWalletのマルチシグ実装
mapping (uint => Transaction) public transactions code 承認待ち/済みのトランザクションを管理する
mapping (uint => mapping (address => bool)) public confirmations code transaction_id => (承認者のアドレス => true/false) という構造でトランザクションごと承認者ごとに承認状況を管理する
TrueUSDのマルチシグ実装例
TrueUSDのマルチシグだと2/3承認固定で実装されている。
MultisigOwnerがTrueUSDコントラクトのオーナーであるTimeLockedControllerを持っており、必要な承認数(2以上の承認)が集まると実行される。
デプロイ時にTrueUSDコントラクトのオーナーを設定している