メインコンテンツまでスキップ

02 · 主要概念

前章では Project RWA の目的と統合レベルを説明しました。本章では、1 つの資産と 1 人の投資家を起点に、後続プロセスで使う主要オブジェクトを説明します。

2.1 Token:資産持分

各 RWA 資産には独立した ERC-3643 Token があります。一般的な ERC-20 インターフェースに対応します。

name / symbol / decimals
totalSupply / balanceOf
transfer / approve / transferFrom
Transfer / Approval

さらに投資家適格性、コンプライアンスルール、pause、freeze、Agent による mint・burn・強制移転、紛失ウォレット復旧を追加します。残高が十分でも送金が成功するとは限りません。

金額はオンチェーン整数で保存されます。

オンチェーン amount = 表示数量 × 10^decimals

PRWAdecimals は 6 で、1 PRWA = 1,000,000 です。他の資産では必ず decimals() を動的に呼び出してください。

2.2 ウォレット:署名と資産保有

投資家ウォレットは、トランザクションへの署名、gas 支払い、Token 保有、ONCHAINID の制御に使う EOA アドレスです。

ウォレット自体は KYC 判断を保存しません。保有適格性は、ウォレットに紐づく ONCHAINID と対象資産の IdentityRegistry から判定されます。

2.3 ONCHAINID:投資家のオンチェーン ID

ONCHAINID はスマートコントラクトアドレスであり、通常のウォレットではありません。

項目ウォレットONCHAINID
種類EOAスマートコントラクト
主な用途署名、gas 支払い、Token 保有ID キーと Claim の管理
KYC 平文を直接保存しない保存すべきではない
作成入口ウォレットツールONCHAINID Gateway

通常、投資家は ONCHAINID Gateway.deployIdentityForWallet(wallet) を呼び出します。IdFactory.getIdentity(wallet) で関連 ID の有無を確認できます。

2.4 Claim:機関署名付きの適格性判断

Claim は、適格性発行機関が ID の条件充足を確認したことを表します。

フィールド意味
topicKYC 合格などの適格性種別
scheme署名方式
issuerClaimIssuer コントラクト
signature適格性機関が生成した署名
data署名対象の適格性データ
uri任意のオフチェーン参照

形成手順は 2 段階です。

  1. 適格性機関がオフチェーンで審査し署名を生成する。
  2. 投資家が署名と Claim フィールドを自分の ONCHAINID に書き込む。

署名は機関が生成し、オンチェーンの addClaim は通常、投資家が実行して gas を支払います。氏名、証明書番号、住所、画像などの平文を Claim に入れないでください。

2.5 ClaimIssuer:適格性発行機関

ClaimIssuer は資産が承認する適格性機関を表し、オフチェーン KYC/AML 審査、Claim 署名、必要時の失効、署名鍵の保護を担います。

通常のアプリケーションが生成した署名は自動承認されません。対象資産は TrustedIssuersRegistry に ClaimIssuer を登録し、対象 Topic の発行を許可する必要があります。

2.6 IdentityRegistry:資産ごとの適格性入口

Claim を ONCHAINID に書き込んだ後、投資家を対象資産の IdentityRegistry に登録します。

  • contains(wallet):ウォレット登録レコードの有無。
  • isVerified(wallet):対象資産の現行要件をすべて満たすか。

登録済みでも適格性が有効とは限りません。外部アプリケーションは isVerified を最終判断に使用します。

2.7 適格性が資産に紐づく理由

1 つの ONCHAINID は複数資産で利用できます。Claim の再利用可否は同じ Topic と ClaimIssuer を承認するかで決まり、registerIdentity は資産ごとの Registry で実行します。適格性照会前に Token.identityRegistry() から正しい Registry を取得してください。資産 A の合格は資産 B の合格を意味しません。

2.8 ModularCompliance:取引ルール

IdentityRegistry はウォレットの保有可否を、ModularCompliance は取引の実行可否を判定します。モジュールは国・地域の許可リスト、アドレス別保有上限、総供給上限、ロックアップ、投資家区分、送金上限などを表現できます。

対象資産のオンチェーン設定と公開文書を使用し、他資産のルールから推測しないでください。

2.9 送金時の完全な検査

一部 freeze の場合:

利用可能残高 = balanceOf(wallet) - getFrozenTokens(wallet)

2.10 Suite:1 資産のコントラクト群

コントラクト役割
Token資産持分と保有者操作
IdentityRegistryウォレットの保有適格性を判定
IdentityRegistryStorageウォレット、ID、国コードの対応を保存
ClaimTopicsRegistry必須適格性 Topics を保存
TrustedIssuersRegistry承認済み ClaimIssuers を保存
ModularCompliance取引ルールを組み合わせる

外部アプリケーションが最もよく使うのは Token と IdentityRegistry です。

2.11 プロキシアドレス

公開アドレス表のプロキシアドレスを保存し、実装コントラクトを業務アドレスとして使用しないでください。

2.12 ERC-3643 の規約と用語

項目説明
T-REXERC-3643 のリファレンス実装体系。1 資産の関連コントラクト群が Suite
Topicプロトコルは 1 = KYC を固定しない。各プロジェクトが名称、値、バージョンを公開
国コードuint16。通常 ISO 3166-1 numeric を使用。中国 156、シンガポール 702
IR / IRSIdentityRegistry / IdentityRegistryStorage
CTR / TIRClaimTopicsRegistry / TrustedIssuersRegistry
MCModularCompliance
IAImplementation Authority。プロキシが使う実装バージョン入口

チェーンには適格性判断、アドレス対応、資産残高、ルールパラメータを保存します。KYC の氏名、証明書番号、写真などの平文は保存しません。

2.13 次に読む章

次章では、各オブジェクトをシステム全体に配置し、共有コントラクト、資産固有コントラクト、各ロールの責任を説明します。

次へ:03 · システムアーキテクチャと役割