制限⚓︎
トランザクション が有効な制限に違反した場合、検証時に拒否され、承認されることはない。 すべての制限はオンチェーン上に保存され、ネットワーク内のすべての ノード により検証される。
制限は アグリゲートトランザクション 内でも適用される。 いずれかの 埋め込みトランザクション が該当するルールに違反すると、 そのアグリゲート全体が拒否される。
制限は専用の「制限トランザクション」を使用して作成・管理され、オンチェーン上に保存されるため、 誰でも内容を確認できる。 これにより、外部システムはオフチェーンのロジックを信頼することなく適格性や遵守状況を評価できる。
主な制限には次の 2 種類がある。
情報
元々はコンプライアンス要件や内部方針の強制など、厳密な制御を必要とする特定用途のために設計されたが、 現在ではセキュリティ向上やスパム防止など、他の目的にも利用されている。
アカウント制限⚓︎
- アカウント制限
- 特定の アカウント がどのような操作を行えるかを制限する 制限 の一種。 どのアドレスとやり取りできるか、どのモザイクを受け取れるか、どのトランザクションタイプを送信できるかなどを定義する。
アカウント制限はそのアカウント自身のみが作成・変更・削除できる。 そのアカウントが マルチシグアカウント の一部である場合、 変更には必要数の連署者による承認が必要となる。
アカウントアドレス制限⚓︎
- アカウントアドレス制限
- 指定したアカウントが、どのアドレスとやり取りできるかを制御する アカウント制限 の一種。
この制限では、特定のアドレスを「ブロック(ブラックリスト)」または「許可(ホワイトリスト)」のいずれかの方式で設定できる。 両方の方式を同時に使用することはできない。
制限は 受信トランザクション、送信トランザクション、または その両方 に適用できる。
例
アカウントは次のように設定できる:
-
特定のアドレス宛ての送信を拒否する。
- 送信アドレス制限を ブラックリスト モードで設定し、 送信を許可したくないアドレスを追加する。
-
許可されていない送信元からのトランザクションを無視する。
- 受信アドレス制限を ホワイトリスト モードで設定し、 信頼できる送信元アカウントのみをリストに追加する。
-
事前に定義された信頼できるアカウント群とのみやり取りを許可する。 組織内で内部利用に限定したアカウントなどに有用。
- 受信および 送信 の両方のアドレス制限を ホワイトリスト モードで設定し、 同じ承認済みアカウントのリストを使用する。
アカウントモザイク制限⚓︎
- アカウントモザイク制限
- アカウントがどの モザイク を受け取ることができるかを制限する アカウント制限 の一種。
この制限は特定のモザイクを含む 受信トランザクション を「ブロック」または「許可」のどちらかで制御できる。 両方の方式を同時に使用することはできない。
送信トランザクションには影響しない。 アカウントから送信されるモザイクに対する同等の制限は存在しない。
受信トランザクションに複数のモザイクが含まれ、そのいずれかがこの制限に違反している場合、 そのトランザクション全体が拒否される。
この制限は 転送トランザクション に限らず、 モザイクがアカウントに転送される結果となるすべてのトランザクションタイプに適用される。
例
アカウントは次のように設定できる:
-
スパム送信者などが使用する特定の不要なモザイクを受信しないようにする。
- ブラックリスト モードでアカウントモザイク制限を設定し、 ブロックしたいモザイクをリストに追加する。
-
特定の承認済みモザイクのみを受け取れるようにする。 アカウントの内容が公開されている場合など、 不要なトークンで煩雑にならないようにする用途に有用。
- ホワイトリスト モードでアカウントモザイク制限を設定し、 許可したいモザイクのみを含める。
アカウント操作制限⚓︎
この制限は、許可または禁止するトランザクションタイプを「ブロック」または「許可」方式で指定する。 両方を同時に設定することはできない。
注意
ACCOUNT_OPERATION_RESTRICTION トランザクションタイプをホワイトリストに含めない場合、
アカウントはこの制限を変更または削除できなくなり、
永続的に現在の制限状態に固定される。
このリスクを避けるために、 Symbol デスクトップウォレット では 明示的にブロックするタイプを列挙するブラックリスト方式のみをサポートしている。
この制限は誤ったアカウントを誤用するのを防止するのに役立つが、 (上記の警告ボックスにある場合を除き)アカウント所有者が制限を解除することも可能である。
すべてのトランザクションタイプに対して制限を適用できる。 対応するタイプの一覧は トランザクション ページを参照。
例
-
アカウントの操作をネームスペース登録および更新のみに制限する。
- ホワイトリスト モードでアカウント操作制限を設定し、 ネームスペース関連および制限関連の操作のみを許可する。
-
アカウントからの送金を禁止する。
- ブラックリスト モードでアカウント操作制限を設定し、 転送トランザクション を禁止する。
モザイク制限⚓︎
アカウント制限 が特定のアカウントの動作を制限するのに対し、 モザイク制限はモザイク側からルールを定義する。 そのモザイクを使用するすべてのアカウントは、そのルールに従う必要がある。
これらの制限はモザイク作成者によって設定・管理され、 他のアカウントが自分の所有していないモザイクに制限を設定・変更することはできない。 制限はモザイク作成者自身には適用されない。
メモ
制限は 制限可能フラグ を付けて作成されたモザイクにのみ適用できる。
モザイクに制限を適用するには、次の 2 つの構成要素を定義する必要がある:
- モザイクグローバル制限:モザイクとやり取りするためにアカウントが満たすべき条件を定義する。
- モザイクアドレス制限:各アカウントに値を割り当て、グローバル条件と比較できるようにする。
制限を有効にするには、この 2 つの構成要素がどちらも必要である。
この依存関係はモザイク制限に特有のもので、 アカウント制限 には複数要素の組み合わせは必要ない。
モザイクグローバル制限⚓︎
- モザイクグローバル制限
- モザイク制限 を適用するために必要な 2 つの構成要素のうちの 1 つ。 モザイクとやり取りするためにすべてのアカウントが満たすべきルールを定義する。
これらの制限はモザイク作成者により設定される「キーと値の条件」として表現される。 各条件には以下が含まれる:
- モザイク ID:制限対象となるモザイクを識別する。所有者のみが制限を設定できる。
- 制限キー:この制限を識別するために作成者が定義する任意の数値。 モザイクごとに複数の制限を設定できるため、キーはモザイク単位で独立している。 「KYC」などの覚えやすい文字列からハッシュ関数で導出することもできる。
- 制限値:各アカウントの値と比較される閾値。
- 比較演算子:各アカウントの値を閾値とどのように比較するかを定義する(等しい、等しくない、大なりなど)。
例
各アカウントがキー「KYC」に対して値 1 を持つ必要があるモザイクを設定する場合、
次のような構成が使用できる。
| 項目 | 値 |
|---|---|
| モザイク ID | 制限対象のモザイク |
| キー | KYC のハッシュ |
| 値 | 1 |
| 比較演算子 | Equal(等しい) |
グローバルルールを設定した後、モザイク所有者は モザイクアドレス制限(次節参照)を使用して各アカウントに値を割り当て、 それをグローバル条件と照合する必要がある。
さらに、モザイクグローバル制限は「参照モザイク」と呼ばれる別のモザイクの制限値に依存させることもできる。 2 つのモザイクは同一アカウントが所有している必要はなく、 制限ロジックを第三者へ委任することも可能である。
モザイクアドレス制限⚓︎
- モザイクアドレス制限
- モザイク制限 を適用するために必要な 2 つの構成要素のうちの 1 つ。 特定のアカウントに 制限属性 を割り当て、 対応する モザイクグローバル制限 の条件と比較して評価する。
これらの属性はモザイク作成者によって設定され、アカウント固有のメタデータとして機能する。 モザイクに対して設定されたすべてのグローバル制限をアカウントの属性が満たす場合、 そのアカウントはモザイクとの取引を行うことができる。
モザイクアドレス制限を設定するには、次の属性を指定する必要がある:
- モザイク ID:制限対象のモザイクを識別する。所有者のみがこの制限を発行できる。
- 対象アカウント:制限を適用するアドレス。
- 制限キー:有効なグローバル制限を選択するためのキー。
- 制限値:アカウントに割り当てる値。選択されたグローバル制限の値と比較演算子に従って照合される。
例
前節の例の続きとして、 制限付きモザイクと取引できるようにアカウントを許可するには、 モザイク作成者は次のモザイクアドレス制限を送信する必要がある。
| 項目 | 値 |
|---|---|
| モザイク ID | 制限対象のモザイク |
| 対象アカウント | TABC123... |
| キー | KYC のハッシュ |
| 値 | 1 |
キー KYC のモザイクグローバル制限が選択され、
その値 1 がモザイクアドレス制限の値 1 と等しいか比較される。
値が等しいため、アカウント TABC123... はこのモザイクとの取引が許可される。