ANAM145 Control Rail DOCS
문서 검색 ⌘K
GitHub ↗ ← 사이트로 대시보드
문서 변경 이력
문서/시작하기/개요
OVERVIEW

Control Rail 개요

Control Rail은 비수탁 멀티시그 지갑 위에 컴플라이언스·통제를 얹은 기관용 레일입니다. 정책을 앱·서버가 아니라 체인 합의(XRPL)로 우회 불가능하게 강제하고, 그 증명을 온체인에 남깁니다.

무엇을 해결하나

기관이 디지털자산을 운용하려면 두 가지가 동시에 필요합니다 — 우회 불가능한 통제지켰다는 증명. 기존 방식(EOA + 서버 정책, MPC)은 둘 중 하나에서 무너집니다. Control Rail은 멀티시그 정족수와 온체인 기록으로 둘 다 충족합니다.

  • 우회 불가능한 통제 — 모든 거래가 멀티시그 정족수를 통과해야 성립합니다. 앱·서버를 우회해도 체인이 막습니다.
  • 온체인 증명 — 정책 통과·정족수 서명이 원장에 기록됩니다. 사후 로그가 아니라 변조 불가능한 증거입니다.
  • 비수탁 — 유저 키는 디바이스에만 있고 우리는 보관하지 않습니다. 우리 혼자서는 거래를 만들 수 없습니다.

역할 경계

누가 무엇을 책임지는지가 명확히 갈립니다. 우리는 인프라만 운영하고 비즈니스 정책은 판단하지 않습니다.

주체역할
기관비즈니스 정책(한도·화이트리스트·허용 자산 등)을 정하고 /sign에서 승인(서명)한다.
우리 (ANAM145)그 승인이 등록된 signer의 것인지 검증 → 모아서 → 우리 RPC로 브로드캐스트 → 전 과정을 기록·미터링하는 레일 인프라. 정책 판단은 하지 않는다.
체인최종적으로 정족수를 강제한다. 진짜 enforcement는 여기서 일어난다.

거래 흐름

유저 intent에서 출발해 체인에서 끝납니다. 게이트웨이는 오케스트레이션만 하고 거래 자체는 만들지 못합니다. 검증은 가스 절약용 사전 검증이고, 최종 정족수 강제는 온체인이 합니다.

1

유저 → 게이트웨이

POST /submit · 토큰 · txId · userSignature

2

토큰 검증

verifyToken — tenant·user·wallet 해석

3

기관 /sign 호출

operation·address·tx 전달 → institutionSignature 또는 reject

4

KYT 평가 (옵션)

kytOn이면 kyt.evaluate — block이면 여기서 중단

5

안암 서명

anamSigner.sign — operation 무관 항상

6

검증 · 결합

adapter.verify — 등록 pubkey 유효서명 + 정족수 충족 확인

7

브로드캐스트

adapter.submit — 우리 RPC로 제출

8

체인 최종 강제

체인이 정족수를 최종 강제

9

결과 반환

같은 응답으로 status · hash

거절·차단 지점이 곧 차별점 — 인증 실패 / 기관 거절 / KYT 거절 / 정족수 미달은 전부 사유와 함께 기록되어 대시보드에 남습니다. 통과는 온체인 해시(증명)로 남습니다.

Signer 프리셋 · 복구

지갑은 user·institution·anam 3자 멀티시그입니다. 안암 signer는 모든 거래의 정족수 멤버이며, 프리셋에 따라 복구 가능 여부가 갈립니다.

프리셋가중치 (user·inst·anam)평상시 거래복구
STRICT (기본)1·1·1 / Q=3세 명 전원 필수없음
RECOVERABLE (옵션)1·2·2 / Q=4세 명 전원 필수institution+anam = 4

데이터 경계 (비수탁)

키 재료는 절대 서버로 넘어가지 않습니다. SDK가 디바이스에서 키를 만들고 서명하며, 서버로는 공개키·서명값만 전달됩니다.

작업클라이언트(SDK)에서서버로절대 안 감
지갑 생성유저 키 생성(로컬)유저 공개키개인키 · 니모닉
거래tx 디코드·유저 확인 → 서명유저 서명값개인키
복구 (키 분실)새 키 생성(로컬)공개키신·구 개인키
복원 (니모닉 보유)니모닉 → 같은 키 재파생없음 (이미 등록된 키)니모닉

다음 단계