# 香港のステーブルコイン発行者向けスマートコントラクト実施ガイド## 第一部分 基礎インフラとコンプライアンス戦略### 1. 基盤となる分散型台帳の選択#### 実施ガイド- 成熟したパブリックチェーンを優先的に選択: EthereumやArbitrumなどの成熟していて高い安全性を持つパブリックブロックチェーンを優先的に使用することをお勧めします。- 代替案の厳格な評価: アライアンスチェーンまたはその他のタイプの分散型台帳の採用を検討する場合、安全基準が主流のパブリックチェーンと同等以上であることを証明するために、厳密かつ定量的な比較分析を行う必要があります。- リスク評価文書: 評価報告は、一般的な攻撃に対する耐性、コンセンサスアルゴリズムのタイプ、およびコードの欠陥、脆弱性、エクスプロイト、その他の脅威に関連するリスクを包括的にカバーし、これらのリスクがステーブルコインの発行、償還および日常の運営にどのように潜在的な影響を与えるかを詳細に分析する必要があります。### 2. コアトークン標準と規制機能の拡大#### 実施ガイド- 基本標準: ERC-20を基本標準として採用し、トークンの同質性とより広範なエコシステム内での相互運用性を確保します。- 機能拡張:以下の機能モジュールを統合する必要があり、規制要件を満たすためです: - 一時停止可能:全てのトークン活動のグローバルな一時停止と再開機能を実現するために使用され、これは重大なセキュリティ事件への対処のためのコアツールです。 - ミンタブル:ライセンスを持つ発行者が管理されたプロセスを通じて新しい通貨を鋳造し、通貨発行量が十分な法定通貨の準備資産に厳密に対応することを保証するために使用されます。 - バーナブル:トークンを焼却する機能を提供します。具体的な実装において、この機能は任意のユーザーが自由に焼却できるのではなく、厳格な権限管理の下で制御されます。 - フリーズ可能: 特定のアカウントの通貨移転機能を一時停止するために使用(、疑わしい取引が関与している場合)。 - ホワイトリスト:追加のセキュリティ対策を実施するために、デューデリジェンスと承認を受けたアドレスのみがコア操作(に参加することを許可します。新たに発行された通貨)を受け取ることが含まれます。 - ブラックリスト: 不法活動((マネーロンダリング、詐欺))に関与するアドレスに対して取引禁止令を実施し、トークンの送信/受信を禁止します。ブラックリスト管理はAML/CFTシステムと連携し、疑わしい取引をリアルタイムで監視する必要があります。 - AccessControl:これは、細かいロールベースの権限管理システムを実現するための基礎です。すべての管理機能は、このモジュールを通じて権限制御を行う必要があり、職務分離の要件を満たす必要があります。### 3. 主要なコンプライアンスモデル: ブラックリストとホワイトリストの選択#### 実施ガイド- ブラックリストモード(デフォルト推奨方案): - 利点:より高い実用性を持ち、広範な去中心化金融(DeFi)エコシステムとシームレスに相互運用でき、ユーザーにより低い利用のハードルとよりスムーズな体験を提供します。 - 欠点:コンプライアンスは強力でリアルタイムのオフチェーン監視分析能力に高度に依存しており、違法なアドレスを迅速に発見し封鎖する必要があります。 - 実現方法:スマートコントラクトの送金関数において、ロジックチェックを追加し、取引の送信者(from)および受信者(to)のアドレスがいずれもブラックリストに記録されていないことを確認します。- ホワイトリストモード - 利点:最高レベルのAML/CFTコントロールを提供し、事前の予防を実現し、事後の救済ではありません。 - 欠点:ステーブルコインの汎用性と採用率を大きく制限し、ホワイトリストの管理に大きな運営コストをもたらし、広く受け入れられる取引媒体となることが難しくなる可能性があります。 - 実現方式:スマートコントラクトの転送関数に、ロジックチェックを追加し、取引の送信者(from)と受信者(to)のアドレスがホワイトリストに存在する必要があります。操作の利便性を高めるために、専用のWebユーザーバックエンドシステムを開発することをお勧めします。! [技術ガイダンス:香港ステーブルコイン発行者向けスマートコントラクト実装ガイド](https://img-cdn.gateio.im/social/moments-007110f49de3004ac74dc51b5ef9801f)## 第二部分 スマートコントラクト実現### 1. 精密なアクセス制御システムの設計#### 実施ガイドライン明確な役割を定義し、これらの役割を異なるマルチシグウォレットで管理されるエンティティまたは従業員に割り当てる必要があります。これにより、職務の分離を実現し、単一障害点や共謀操作のリスクを最小限に抑えることができます。各役割は特定の機能に限定され、すべての操作はマルチシグの承認を必要とし、単一の従業員が同時に複数の高リスク役割を持たないようにする必要があります。すべての操作はログに記録され、年次の第三者監査を受け、権限の割り当ては管理者または取締役会によって監視されます。- MINTER_ROLE:ステーブルコインの発行(mint)操作を担当し、有効な発行リクエストを受け取った後にトークンユニットを作成し、発行と準備資産プールの対応する増加が一致することを確認します。- BURNER_ROLE: ステーブルコインの廃止(burn)操作を担当し、有効な償還リクエストを受け取った後にトークン単位を廃止します。- PAUSER_ROLE:(の操作を一時停止する責任があり、例えば異常事象)(安全の脅威(など)が検出された場合に転送、発行、または償還を一時停止します。- RESUME_ROLE:)resume(の操作を復元する責任があり、例えば、停止イベントが解決された後に転送、発行、または償還を再度有効にします。- FREEZER_ROLE:特定のウォレットまたは通貨の)freeze(および)remove freeze(操作を担当し、疑わしい活動)(例えば、マネーロンダリングのリスク()が検出された場合に資産を一時的に凍結します。- WHITELISTER_ROLE:ホワイトリスト)の管理を担当し、許可されたウォレットアドレスを追加または削除することを含み、例えば、コインの発行をホワイトリストアドレスのみに制限します。- BLACKLISTER_ROLE:ブラックリスト(blacklist)の管理と(remove blacklist)の削除を担当します。例えば、疑わしいウォレットをブラックリストに追加して送金を防ぐことができます。- UPGRADER_ROLE: 可アップグレードモデルを採用する場合、(upgrade)スマートコントラクトのアップグレードを担当し、例えば契約コードを更新してバグを修正したり機能を追加したりします。( 2. 発行)通貨###メカニズム(# 実施ガイド前置チェック: 関数はコインの発行前に、ターゲットアドレスtoがブラックリストに載っているか、凍結状態であるかを確認する必要があります。操作フロー:- オフチェーンデューデリジェンス: 顧客は、すべての必須のオフチェーン顧客識別)KYC###および顧客デューデリジェンス(CDD)プロセスを完了する必要があります。さらに、AML/CFT規制により、ビジネス関係を確立する場合や、特定の閾値(、例えば8,000香港ドル)を超える偶発取引を行う顧客に対して、CDDを実施する必要があります。- 資金の受け取り: 顧客は発行人が指定した銀行口座に等価の法定通貨を振り込みます。- 内部検証:発行者の内部システムが資金の受領を確認し、対応する準備資産の会計記録を更新します。- チェーン上で実行:オペレーションチームがマルチシグトランザクションを作成し署名し、スマートコントラクトのトークン発行関数を呼び出して、新しく発行されたステーブルコインを顧客が事前に登録し検証されたウォレットアドレスに送信します。( 3. 引き換え)の破棄###メカニズム(# 実施ガイド償還準備: ユーザーはまず、償還したい通貨を発行者が管理する指定されたアドレスに移動する必要があります。操作フロー:- オフチェーンリクエスト: ユーザーは発行者のプラットフォームを通じてオフチェーンの償還リクエストを提出します。リクエストを処理する前に、発行者は顧客に対して適切な顧客デュー・ディリジェンス)CDD###を行わなければなりません。- システム検証: 発行者のシステム検証リクエストの有効性を確認し、ユーザーがブロックチェーン上で対応する通貨の移転操作を完了しているかどうかをチェックします。- 法定通貨による支払い: 発行者は、ユーザーが事前に登録して検証した銀行口座に相当する法定通貨を送金します。- オンチェーン焼却:法定通貨の送金が成功したことを確認後、BURNER_ROLEを持つマルチシグウォレットが焼却関数を呼び出し、指定されたアドレスから相応の数量の通貨を焼却します。( 4. 緊急コントロールの実施: 停止と凍結)# 実施ガイド機能の一時停止: PAUSER_ROLEを持つマルチシグウォレットのみが呼び出すことができ、契約機能を全体的に中止するために使用されます。トリガー条件には、ネットワーク攻撃や準備資産の不一致###などの異常イベント###の検出が含まれ、取締役会または上級管理職の承認が必要です。機能の復元は、独立したRESUME_ROLEによって処理され、職務分離を実現します。凍結機能: FREEZER_ROLEを持つマルチシグウォレットによって呼び出され、特定のアドレスに対する送金制限に使用されます。トリガー条件には、AMLアラートや裁判所命令(のような疑わしい活動)が含まれ、オフチェーンでの検証後に実行される必要があります。凍結解除は同じ役割によって処理されますが、追加の監査検証が必要であり、悪用を防ぐために関連公告が発表されます。( 5. アドレスフィルタリングとブラックリストメカニズム)# 実施ガイド- 関数実装: ブラックリストの追加、ブラックリストの削除機能を実現する関数であり、BLACKLISTER_ROLEを持つマルチシグウォレットのみが呼び出すことができます。- 振込制限: ブラックリストに登録されたアドレスからのトークンの移転/受信は禁止されています。- 操作フロー: 分析ツールがアラートを発信し、内部コンプライアンス審査をトリガーし、コンプライアンスチームが審査確認後、BLACKLISTER_ROLEのマルチシグウォレットがブラックリスト追加取引を開始します。### 6. スマートコントラクトのアップグレード性#### 実施ガイド- プロキシモデル: EVMタイプのスマートコントラクトに対して、成熟したERC-1967プロキシモデルを採用することで、アップグレード性を実現できます。- 権限管理: アップグレード関数は、UPGRADER_ROLEを持つマルチシグウォレットによってのみ呼び出す必要があります。- 変更管理プロセス: 規制要件に基づき、アップグレードを提案する前に、厳格な変更管理プロセスを完了する必要があります。このプロセスには、新しいロジック契約に対する包括的で独立した第三者のセキュリティ監査が含まれます。### 7. 分析および報告のためのオンチェーンイベントログ#### 実施ガイドERC-20標準の要求される転送###Transfer###、承認(Approval)イベントの他に、契約はすべての管理行為と状態変更のためにカスタムイベントを定義し、発行しなければならない:- トークンの鋳造/バーン(Minted/Burned)イベント- 先物の一時停止/再開(Paused/Resume)イベント- ブラックリストからの(BlacklistAdded/BlacklistRemoved)イベントの追加/削除- ホワイトリストからの(WhitelistAdded/WhitelistRemoved)イベントの追加/削除- アドレス凍結/解除凍結(アドレスフローズン/アドレスアンフローズン)イベント- 特権ロールの変更(RoleGranted/RoleRevoked)イベント- 合約アップグレード(アップグレード)イベント## 第三部分 運営安全とライフサイクル管理( 1. セキュリティキー管理アーキテクチャ)# 実施ガイド- キー生成:詳細な文書で記録された"キーセレモニー"###key ceremony###を、物理的に安全で外部ネットワークから完全に隔離されたギャップ環境で完了する必要があります。- 秘密鍵の保管:すべての管理役割はマルチシグウォレットによって制御されなければなりません。これらのマルチシグウォレットの署名者が使用する秘密鍵は、HSMまたはその他の安全なハードウェアウォレットに保管しなければなりません。最も重要な役割に対応する鍵は、オフラインシステムに保管し、オンライン環境から物理的に隔離する必要があります。- 鍵の使用: 必ずマルチシグネチャ戦略を強制する必要があります。"重要な秘密鍵"を含む取引の署名には、関連する人物が直接現場で操作する必要がある場合があります。- バックアップと復元: キーシェアまたはニーモニックのバックアップは、香港国内(または規制当局に承認された場所)の複数の安全で地理的に分散した位置に保存され、改ざん防止の包装を使用する必要があります。( 2. 完備されたデプロイメントプロセスと実行時監視)# 実施ガイド正式な展開の前に、"展開前チェックリスト"を策定し、厳格に実施する必要があります。- 徹底的なテスト: ユニットテストのカバレッジ率が95%以上であることを確認し、コアコードのカバレッジ率が100%であることを確認し、出力ユニットテストのカバレッジレポートを確保する。- 独立監査:少なくとも1社、できれば2社の信頼できる監査会社による独立したセキュリティ監査報告を完了すること。- コードの凍結: 監査が完了した後、コードを凍結し、ローンチまで何のコード変更も行わない。- 回帰テスト:正式にデプロイする前に、ユニットテストを実行し、回帰テストを行います。- コンプライアンス承認:内部コンプライアンスチームの正式な承認を取得し、契約の論理がすべての関連する規制要件を満たしていることを確認します。- デプロイ演習: 詳細なデプロイスクリプトを準備し、メインネット環境と完全に一致するテストネットで完全なデプロイ演習を行います。- 権限のあるウォレットが最終的なデプロイ操作を実行します。展開後は、特権ロールの使用状況や新たな脅威に対して、適切な監視措置を講じて、迅速に緩和策を実施する必要があります。- チェーン上の活動監視:管理ロールの監視
香港ステーブルコイン発行者スマートコントラクト実施ガイド:アーキテクチャ、コンプライアンスとセキュリティ
香港のステーブルコイン発行者向けスマートコントラクト実施ガイド
第一部分 基礎インフラとコンプライアンス戦略
1. 基盤となる分散型台帳の選択
実施ガイド
2. コアトークン標準と規制機能の拡大
実施ガイド
基本標準: ERC-20を基本標準として採用し、トークンの同質性とより広範なエコシステム内での相互運用性を確保します。
機能拡張:以下の機能モジュールを統合する必要があり、規制要件を満たすためです:
一時停止可能:全てのトークン活動のグローバルな一時停止と再開機能を実現するために使用され、これは重大なセキュリティ事件への対処のためのコアツールです。
ミンタブル:ライセンスを持つ発行者が管理されたプロセスを通じて新しい通貨を鋳造し、通貨発行量が十分な法定通貨の準備資産に厳密に対応することを保証するために使用されます。
バーナブル:トークンを焼却する機能を提供します。具体的な実装において、この機能は任意のユーザーが自由に焼却できるのではなく、厳格な権限管理の下で制御されます。
フリーズ可能: 特定のアカウントの通貨移転機能を一時停止するために使用(、疑わしい取引が関与している場合)。
ホワイトリスト:追加のセキュリティ対策を実施するために、デューデリジェンスと承認を受けたアドレスのみがコア操作(に参加することを許可します。新たに発行された通貨)を受け取ることが含まれます。
ブラックリスト: 不法活動((マネーロンダリング、詐欺))に関与するアドレスに対して取引禁止令を実施し、トークンの送信/受信を禁止します。ブラックリスト管理はAML/CFTシステムと連携し、疑わしい取引をリアルタイムで監視する必要があります。
AccessControl:これは、細かいロールベースの権限管理システムを実現するための基礎です。すべての管理機能は、このモジュールを通じて権限制御を行う必要があり、職務分離の要件を満たす必要があります。
3. 主要なコンプライアンスモデル: ブラックリストとホワイトリストの選択
実施ガイド
ブラックリストモード(デフォルト推奨方案):
利点:より高い実用性を持ち、広範な去中心化金融(DeFi)エコシステムとシームレスに相互運用でき、ユーザーにより低い利用のハードルとよりスムーズな体験を提供します。
欠点:コンプライアンスは強力でリアルタイムのオフチェーン監視分析能力に高度に依存しており、違法なアドレスを迅速に発見し封鎖する必要があります。
実現方法:スマートコントラクトの送金関数において、ロジックチェックを追加し、取引の送信者(from)および受信者(to)のアドレスがいずれもブラックリストに記録されていないことを確認します。
ホワイトリストモード
利点:最高レベルのAML/CFTコントロールを提供し、事前の予防を実現し、事後の救済ではありません。
欠点:ステーブルコインの汎用性と採用率を大きく制限し、ホワイトリストの管理に大きな運営コストをもたらし、広く受け入れられる取引媒体となることが難しくなる可能性があります。
実現方式:スマートコントラクトの転送関数に、ロジックチェックを追加し、取引の送信者(from)と受信者(to)のアドレスがホワイトリストに存在する必要があります。操作の利便性を高めるために、専用のWebユーザーバックエンドシステムを開発することをお勧めします。
! 技術ガイダンス:香港ステーブルコイン発行者向けスマートコントラクト実装ガイド
第二部分 スマートコントラクト実現
1. 精密なアクセス制御システムの設計
実施ガイドライン
明確な役割を定義し、これらの役割を異なるマルチシグウォレットで管理されるエンティティまたは従業員に割り当てる必要があります。これにより、職務の分離を実現し、単一障害点や共謀操作のリスクを最小限に抑えることができます。各役割は特定の機能に限定され、すべての操作はマルチシグの承認を必要とし、単一の従業員が同時に複数の高リスク役割を持たないようにする必要があります。すべての操作はログに記録され、年次の第三者監査を受け、権限の割り当ては管理者または取締役会によって監視されます。
MINTER_ROLE:ステーブルコインの発行(mint)操作を担当し、有効な発行リクエストを受け取った後にトークンユニットを作成し、発行と準備資産プールの対応する増加が一致することを確認します。
BURNER_ROLE: ステーブルコインの廃止(burn)操作を担当し、有効な償還リクエストを受け取った後にトークン単位を廃止します。
PAUSER_ROLE:(の操作を一時停止する責任があり、例えば異常事象)(安全の脅威(など)が検出された場合に転送、発行、または償還を一時停止します。
RESUME_ROLE:)resume(の操作を復元する責任があり、例えば、停止イベントが解決された後に転送、発行、または償還を再度有効にします。
FREEZER_ROLE:特定のウォレットまたは通貨の)freeze(および)remove freeze(操作を担当し、疑わしい活動)(例えば、マネーロンダリングのリスク()が検出された場合に資産を一時的に凍結します。
WHITELISTER_ROLE:ホワイトリスト)の管理を担当し、許可されたウォレットアドレスを追加または削除することを含み、例えば、コインの発行をホワイトリストアドレスのみに制限します。
BLACKLISTER_ROLE:ブラックリスト(blacklist)の管理と(remove blacklist)の削除を担当します。例えば、疑わしいウォレットをブラックリストに追加して送金を防ぐことができます。
UPGRADER_ROLE: 可アップグレードモデルを採用する場合、(upgrade)スマートコントラクトのアップグレードを担当し、例えば契約コードを更新してバグを修正したり機能を追加したりします。
( 2. 発行)通貨###メカニズム
(# 実施ガイド
前置チェック: 関数はコインの発行前に、ターゲットアドレスtoがブラックリストに載っているか、凍結状態であるかを確認する必要があります。
操作フロー:
( 3. 引き換え)の破棄###メカニズム
(# 実施ガイド
償還準備: ユーザーはまず、償還したい通貨を発行者が管理する指定されたアドレスに移動する必要があります。
操作フロー:
( 4. 緊急コントロールの実施: 停止と凍結
)# 実施ガイド
機能の一時停止: PAUSER_ROLEを持つマルチシグウォレットのみが呼び出すことができ、契約機能を全体的に中止するために使用されます。トリガー条件には、ネットワーク攻撃や準備資産の不一致###などの異常イベント###の検出が含まれ、取締役会または上級管理職の承認が必要です。機能の復元は、独立したRESUME_ROLEによって処理され、職務分離を実現します。
凍結機能: FREEZER_ROLEを持つマルチシグウォレットによって呼び出され、特定のアドレスに対する送金制限に使用されます。トリガー条件には、AMLアラートや裁判所命令(のような疑わしい活動)が含まれ、オフチェーンでの検証後に実行される必要があります。凍結解除は同じ役割によって処理されますが、追加の監査検証が必要であり、悪用を防ぐために関連公告が発表されます。
( 5. アドレスフィルタリングとブラックリストメカニズム
)# 実施ガイド
6. スマートコントラクトのアップグレード性
実施ガイド
7. 分析および報告のためのオンチェーンイベントログ
実施ガイド
ERC-20標準の要求される転送###Transfer###、承認(Approval)イベントの他に、契約はすべての管理行為と状態変更のためにカスタムイベントを定義し、発行しなければならない:
第三部分 運営安全とライフサイクル管理
( 1. セキュリティキー管理アーキテクチャ
)# 実施ガイド
( 2. 完備されたデプロイメントプロセスと実行時監視
)# 実施ガイド
正式な展開の前に、"展開前チェックリスト"を策定し、厳格に実施する必要があります。
展開後は、特権ロールの使用状況や新たな脅威に対して、適切な監視措置を講じて、迅速に緩和策を実施する必要があります。