Control Rail 개요
Control Rail은 비수탁 지갑 위에 컴플라이언스와 정책 통제를 얹는 기관용 실행 전 제어 레이어입니다. 정책을 앱·서버 로그에만 남기지 않고, 승인과 정족수 조건을 온체인에서 검증하도록 설계합니다.
EVM에서는 Account Abstraction 스마트 계정 검증이, 네이티브 멀티시그를 지원하는 체인에서는 정족수 검증이 같은 통제 논리를 강제합니다. 체인 어댑터가 이 조건을 각 네트워크의 강제 방식으로 연결합니다.
무엇을 해결하나
기관이 디지털자산을 운용하려면 두 가지가 동시에 필요합니다. 우회 불가능한 통제와 지켰다는 증명입니다. 기존 서버 정책이나 사후 로그는 거래를 멈추지 못하고, 단일 서명 방식은 정책 준수 여부를 밖에서 구분하기 어렵습니다.
- 우회 불가능한 통제 — 모든 거래가 기관 정책과 정족수 조건을 통과해야 실행됩니다.
- 실행 전 증거 — 승인·보류·거절·실행 결과가 감사 가능한 흐름으로 남습니다.
- 비수탁 — 유저 키는 디바이스에 남고, ControlRail은 키를 보관하지 않습니다.
역할 경계
누가 무엇을 책임지는지 명확히 갈립니다. ANAM145는 인프라를 운영하지만 기관의 비즈니스 정책 자체를 대신 판단하지 않습니다.
| 주체 | 역할 |
|---|---|
| 기관 | 한도, 허용 목록, 허용 자산, 예외 처리 같은 정책을 정의하고 /sign에서 승인 또는 거절합니다. |
| ANAM145 | 승인 서명이 등록된 signer의 것인지 검증하고, KYT·정족수·브로드캐스트 흐름을 오케스트레이션하며 전 과정을 기록합니다. |
| 체인 / 계정 | 최종 실행 조건을 강제합니다. EVM은 스마트 계정 검증, 네이티브 멀티시그 체인은 정족수 검증이 이 역할을 맡습니다. |
거래 흐름
유저 intent에서 출발해 체인 실행에서 끝납니다. 게이트웨이는 오케스트레이션을 맡고, 최종 강제는 체인별 어댑터와 계정/프로토콜이 담당합니다.
유저 → 게이트웨이
POST /submit · token · txId · userSignature
토큰 검증
verifyToken으로 tenant, user, wallet을 해석합니다.
기관 /sign 호출
operation·address·tx를 전달하고 institutionSignature 또는 reject를 받습니다.
KYT 평가
KYT가 켜져 있으면 위험 지갑과 상대방을 사전 스크리닝합니다.
ANAM145 서명
정책·위험 확인을 통과한 요청에만 인프라 signer가 참여합니다.
검증 · 결합
등록된 공개키의 유효 서명인지, 정족수를 충족하는지 검증합니다.
브로드캐스트
체인 어댑터가 승인된 거래만 네트워크에 제출합니다.
최종 강제
정족수 또는 스마트 계정 검증이 체인 차원에서 강제됩니다.
결과 반환
status·hash·reject reason을 같은 흐름에서 반환하고 기록합니다.
Signer 프리셋 · 복구
지갑은 user, institution, ANAM145 signer 조합으로 구성됩니다. 실제 가중치와 복구 정책은 체인별 구현과 기관 정책에 맞춰 설정합니다.
| 프리셋 | 평상시 거래 | 복구 |
|---|---|---|
| Strict | 사용자·기관·인프라 승인 모두 필요 | 기관 정책에 따라 제한 |
| Recoverable | 동일하게 실행 전 승인 필요 | 기관 + 인프라 승인으로 키 교체 가능 |
데이터 경계
키 재료는 서버로 넘어가지 않습니다. SDK가 디바이스에서 키를 만들고 서명하며, 서버에는 공개키와 서명값만 전달됩니다.
| 작업 | 클라이언트에서 | 서버로 | 절대 안 감 |
|---|---|---|---|
| 지갑 생성 | 유저 키 생성 | 공개키 | 개인키 · 니모닉 |
| 거래 | tx 확인 후 서명 | 서명값 | 개인키 |
| 복구 | 새 키 생성 | 새 공개키 | 신·구 개인키 |
