03 · 시스템 아키텍처 및 역할
이 장에서는 핵심 객체를 전체 시스템에 배치하고 컨트랙트 계층, 공유 경계, 참여자 책임을 설명합니다.
3.1 4계층 아키텍처
일반 애플리케이션은 주로 자산 계층에 접근합니다. 신원 생성 시 ONCHAINID Gateway를, 신규 자산 발행 시 TREXGateway를 사용합니다.
3.2 플랫폼 공유 기능과 자산별 기능
플랫폼 공유 기능
ONCHAINID Gateway: 투자자가 신원을 생성하는 공개 진입점.IdFactory: 신원을 생성하고 지갑 매핑 저장.TREXGateway: 신규 자산 발행 승인 진입점.TREXFactory: 자산 Suite 생성.- Implementation Authority: 프록시가 사용하는 구현 버전 관리.
공개 주소는 06 · 환경 구성 및 인수 검증에 있습니다.
자산별 독립 기능
각 발행은 다음 컨트랙트를 새로 생성합니다.
Token
IdentityRegistry
IdentityRegistryStorage
ClaimTopicsRegistry
TrustedIssuersRegistry
ModularCompliance
각 자산은 자격 요건, 승인 기관, 컴플라이언스 규칙, 관리 역할을 독립적으로 설정할 수 있습니다.
3.3 자산 하나의 내부 연결
일부 연결 주소는 온체인에서 동적으로 조회할 수 있습니다.
Token.identityRegistry() → IdentityRegistry
Token.compliance() → ModularCompliance
IdentityRegistry.identity(wallet) → Investor ONCHAINID
IdentityRegistry.topicsRegistry() → ClaimTopicsRegistry
IdentityRegistry.issuersRegistry() → TrustedIssuersRegistry
공개 주소표와 온체인 결과를 함께 검증하고 차이가 있으면 쓰기 작업을 중단한 후 대상 자산 설정을 확인하십시오.
3.4 다섯 유형의 참여자
Project RWA 플랫폼
RPC, Chain ID, 탐색기, 공개 컨트랙트 주소 게시, 신규 발행 승인, 공유 신원·발행·버전 인프라 유지, 업그레이드·보안 공지, 테스트 환경과 연동 지원을 담당합니다. 실물 자산 권리와 상환 조건은 자산 발행자가 정의합니다.
자산 발행자
자산 이름, 심볼, decimals, 실물 권리, 필수 Claim Topics, 승인 ClaimIssuers, 국가·한도·락업 규칙, Owner·Token Agent·IR Agent를 정하고 투자자 등록과 mint, burn, pause, freeze를 수행합니다.
자격 발급 기관
오프체인 KYC/AML 심사, Claim 서명, 자격 만료·취소 관리, 서명 키 보호를 담당합니다.
투자자
ONCHAINID 생성·관리, 서명된 Claim 제출, 본인 트랜잭션 gas 지불, transfer·approve 실행, 지갑 키 보호를 담당합니다.
애플리케이션 개발자
올바른 네트워크와 프록시 주소 사용, decimals와 연결 컨트랙트의 동적 조회, 관리 개인 키를 보유하지 않는 사용자 연동, 영수증·이벤트·revert 처리, 온체인 상태와 오프체인 비즈니스 상태 구분을 담당합니다.
3.5 작업과 권한
| 작업 | 대상 | 서명자 | 플랫폼 또는 발행자 권한 |
|---|---|---|---|
| 자산 및 잔액 조회 | Token | 없음, read-only | 불필요 |
| 자격 조회 | IdentityRegistry | 없음, read-only | 불필요 |
| ONCHAINID 생성 | ONCHAINID Gateway | 투자자 | 불필요 |
| Claim 서명 생성 | 오프체인 서명 서비스 | 자격 기관 | 필요 |
| Claim 기록 | 투자자 ONCHAINID | 투자자 | 불필요 |
| 투자자 등록 | IdentityRegistry | IR Agent | 필요 |
| mint / burn | Token | Token Agent | 필요 |
| 일반 transfer | Token | Token 보유자 | 불필요 |
| 신규 자산 발행 | TREXGateway | 승인된 발행자 | 필요 |
| 컨트랙트 upgrade | 버전 관리 컨트랙트 | 거버넌스 역할 | 필요 |
애플리케이션은 트랜잭션을 구성할 수 있지만 최종 서명자는 컨트랙트 권한을 충족해야 합니다.
3.6 다중 자산 시나리오
지갑과 ONCHAINID는 재사용할 수 있지만 각 자산은 자격을 독립적으로 판단합니다. Claim 재사용은 같은 Topic과 Issuer의 승인 여부에 따라 결정되며 각 자산의 IdentityRegistry를 조회해야 합니다. IdentityRegistryStorage 공유 여부는 발행 설계에 따라 달라지므로 애플리케이션에서 가정하지 마십시오.
3.7 업그레이드가 외부 애플리케이션에 미치는 영향
일반 업그레이드에서는 프록시 주소, 잔액, 신원 상태가 유지됩니다.
| 대상 | 버전 메커니즘 | 범위 |
|---|---|---|
| Token, IR, IRS, CTR, TIR, MC | TREX Implementation Authority | 같은 IA를 참조하는 자산 Suites |
| 투자자 ONCHAINID | ONCHAINID Implementation Authority | 같은 IA를 참조하는 신원 컨트랙트 |
| upgradeable compliance module | ERC1967 / UUPS | 해당 모듈을 참조하는 자산 |
ABI 추가·폐기, 이벤트 호환성, 마이그레이션 지침, 업그레이드 후 네트워크·주소·read-only 검사를 모니터링하십시오. 일반 애플리케이션은 upgrade 인터페이스를 직접 호출하지 않습니다.
글로벌 IA 업그레이드는 영향 범위가 넓으므로 프로덕션 발행자는 multisig, 지연 실행, storage layout 검사, 사전 리허설을 사용해야 합니다.
3.8 거버넌스와 보안 경계
| 권한 | 용도 | 권장 |
|---|---|---|
| Owner | upgrade, 구성요소 교체, 규칙 설정 | 프로덕션에서 multisig와 지연 실행 |
| Agent | 등록, mint, burn, pause, freeze, 일상 운영 | 직무 분리, 최소 권한, 감사 기록 |
| Contract callback | Token·Compliance·module 간 자동 호출 | 사람 지갑에 부여하지 않음 |
| ONCHAINID Key | 신원 관리, 실행, Claim 서명 | management key와 Claim key 분리 |
Safe 같은 multisig는 Owner 또는 신원 관리 권한을 보유할 수 있습니다. Claim 검증이 복구 가능한 서명 주소에 의존할 때는 Claim key에 관리형 EOA, HSM 또는 MPC 서명 서비스를 사용합니다.
Owner, Agent, IA, ClaimIssuer 제어권 상실은 자산 또는 투자자 자격에 직접 영향을 줍니다. pause 중에도 Agent의 mint, burn, 강제 이전, 지갑 복구가 가능합니다. trusted Issuer 제거 또는 필수 Topic 변경은 많은 투자자의 자격을 동시에 바꿀 수 있습니다. 컨트랙트는 기초 자산의 진위, 법적 소유권, 상환 절차를 대체하지 않습니다.