PoCs

멀티체인 RWA — 아무도 강제하지 않는 불변식

실무자의 멀티체인 RWA 아키텍처 제안을 읽고, 그 설계가 비워둔 칸 하나를 찾은 기록 — 다섯 체인의 토큰 합계가 기초자산을 넘지 않게 누가 막는가.

어떻게 보나

2026-08-17 재분석 완료 — 빈칸에 답을 적었고, 구현물은 없습니다. 출처: RWA 플랫폼 아키텍처(Private Registry + VC + 체인별 어댑터)를 제안한 공개 LinkedIn 글, 2026-08-14 읽음.

기술 노트

각 항목이 실제로 무엇을 보여주고 어떻게 동작하는지 — 위 카드보다 자세한 기술 설명입니다.

멀티체인 RWA — 아무도 강제하지 않는 불변식완료

목적: 이 카탈로그가 묻는 질문이 거의 전부 한 자리에 나옵니다. 글의 논지는 **RWA의 병목이 토큰 발행이 아니라 오프체인 사실을 여러 체인에 전달하는 일**이고, 그래서 먼저 표준화할 것은 Token Contract가 아니라 사실 전달 인터페이스라는 것 — CRE × Cloud 카드가 반대 방향에서 도달한 "강제는 온체인, 기억은 오프체인"과 같은 분리입니다. 살릴 만한 정직한 대목: **VC는 책임기관이 서명했다는 사실을, ZKP는 입력이 조건을 만족한다는 사실을 증명할 뿐 수탁자산이 실제로 존재하는지는 증명하지 못한다.** 북마크가 아니라 카드가 될 값어치는 **글이 멈추는 자리**에 있습니다. 저자는 가장 어려운 문제를 정확히 짚고도("멀티체인에서는 발행보다 글로벌 공급량 통제가 더 중요하다") 그 답을 **지속적 대사(reconciliation)**로 둡니다 — 과발행을 사전에 막는 것이 아니라 사후에 발견하는 방식입니다. 그 빈칸이 브릿지·공유 시퀀서 카드가 반복해서 부딪히는 바로 그 지점이고, 다시 분석할 부분입니다.

동작 방식: 글이 제안한 스택 그대로: **Private Operational Registry**(후보 인프라로 Canton을 명시)가 민감한 원본과 최신 기준 상태를 보관합니다 — 수탁잔고·NAV·투자자 자격·총발행량·상환과 정지 상태. 책임기관은 레지스트리를 공개하는 대신 **필요한 사실만 VC로 발급**합니다. **검증 계층**이 발급자·서명·schema·유효기간·폐기를 확인하고, 잔고나 신원을 드러낼 수 없는 경우 선택적 공개나 ZKP를 씁니다. **체인별 어댑터**가 검증 결과를 그 네트워크의 attestation 형식으로 변환하며, 이 구조에서 EAS는 여러 EVM 실행 어댑터 중 하나로 내려앉습니다. 그다음 **Policy Contract**가 mint·transfer·redeem·pause를 허용하거나 거절합니다. 저자가 실제로 주는 지시는 좁고 좋습니다 — **PoC는 단일 체인에서 시작하되, 처음부터 사실과 실행을 분리하라.** 그래야 체인을 추가할 때 현실의 권리를 다시 만들지 않고 실행 채널만 넓힙니다. 다시 읽을 때의 메모 둘. **첫째, 빈칸**: 대사는 발견이지 예방이 아닙니다 — 진짜로 막으려면 각 체인의 mint가 전역 한도를 확인하고 예약해야 하는데 그것이 곧 체인 간 원자성이고, 공유 시퀀서는 **원자적 포함까지만** 보장합니다. **둘째, 이 카탈로그라면 택했을 대안** — 브릿지를 인텐트로 대체한 것과 같은 수를 씁니다: 정확한 전역 불변식을 붙들려 하지 말고 **누군가 담보를 걸고 그것을 보증하게** 하는 것. 발행 대리인이 mint 전에 오프체인 기준원장에서 배정을 사오고, 배정 없이 찍으면 슬래싱 — 불변식을 원자적으로가 아니라 **경제적으로** 강제합니다. 카드사가 실시간 조회 없이 한도에 대해 승인하고 나중에 정산하는 것과 정확히 같은 구조입니다. RWA에는 오히려 이쪽이 정직합니다 — NAV는 하루 한 번 산정되고 상환은 T+1인데, **오프체인이 애초에 원자적이지 않았으니까요.** 대가는 익숙한 것: 담보는 자본이 큰 쪽으로 집중되고, RWA는 라이선스까지 걸려 결국 수탁사·증권사 몇 곳이 그 자리에 섭니다. 구조가 기존 금융으로 되돌아오는 셈이고 — **다른 점은 담보와 슬래싱 조건이 코드로 공개된다는 것 하나뿐**인데, 그 하나가 얼마짜리인지가 다툴 만한 지점입니다. **재분석 2026-08-17 — 빈칸은 채울 수 있고, 카드가 처음 가정한 것보다 싸게 채워집니다.** 카드가 담보와 슬래싱을 꺼낸 것은 이 문제를 **체인 간 원자성이 필요한 문제로 읽었기 때문**입니다. 그렇지 않습니다. 원자성은 각 체인이 전역 변수를 *검사*해야 할 때만 필요하고, 전역 수량을 검사하는 대신 **보존**하면 필요 없습니다. 각 체인에 로컬 배정(allocation)을 주고 그 배정은 오직 **이동만** 하게 하면, 로컬 불변식 둘이 곱해져 전역 불변식이 나옵니다 — 레지스트리가 `Σ allocation ≤ 한도`를 지키고(단일 주체라 자명), 각 체인이 `minted ≤ allocation`을 지키면(로컬 읽기), 합쳐서 `Σ minted ≤ 한도`가 **체인 간 호출 없이** 성립합니다. 글의 레지스트리는 이미 총발행량을 권위 있는 상태로 쥐고 있으므로, 바뀌는 것은 아키텍처가 아니라 **역할** 하나입니다 — 사후에 대사하는 **관찰자**로 쓰지 말고, "체인 X에 N 단위를 발행할 권리"를 **논스·만료 포함해 서명 발급하는 배분자**로 쓰고, 체인별 Policy Contract가 그것을 정확히 한 번 소비하게 하는 것. 그러면 담보 답안은 영리한 것이 아니라 **과잉설계**로 보입니다 — 슬래싱은 믿을 주체가 하나도 없을 때 나온 발명인데, RWA는 책임기관의 존재가 **규제 요건**인 판이라, 카드는 신뢰 앵커가 이미 있는 문맥에 무신뢰 도구를 수입한 셈입니다. 마지막 문단이 결과(구조가 규제 중개기관으로 되돌아온다)는 알아챘지만 원인을 자본 집중으로 돌렸는데, 실제 원인은 **앵커가 처음부터 거기 있었다**는 것입니다. **진짜로 안 풀린 채 남는 것은 반대 방향입니다.** 배정은 안전하게 늘릴 수 있고, 줄이는 것은 **아직 안 찍은 여유분까지만** 가능합니다. 이미 찍힌 양 아래로 내리려면 그 체인에서 먼저 소각해야 하는데, 체인이 멈췄거나 죽었으면 소각할 방법이 없습니다. 폐기 권한을 주면 풀리지만 **폐기 권한 = 인플레이션 권한**입니다 — 배정을 취소할 수 있는 자는 재발행할 수 있고, 그 체인이 죽은 게 아니라 잠시 닿지 않았을 뿐이라면 총량이 깨집니다. **stranded allocation**, 그리고 회수를 규율할 챌린지 기간과 증거 기준 — 여기가 아직 만들어 볼 값어치가 남은 부분입니다. **재독이 낳은 작은 정정 둘.** 첫째, **Canton의 범위를 정직하게** 잡을 것 — 레지스트리 칸의 후보일 뿐이고, 글에 한 문장 등장하며 논증된 적이 없습니다. **체인 간 KYC 공유에는 공유 원장이 아예 필요 없습니다** — 자격증명 형식·발급자 키·폐기 목록이면 되고, 그건 Privado ID가 이미 하고 있는 것입니다. 공유 원장이 운영비를 정당화하는 건 **서로 완전히 신뢰하지 않는 여러 기관이 NAV·수탁잔고·배정 같은 변하는 상태를 함께 써야 할 때**뿐입니다. 판별은 질문 하나 — **권위 있는 쓰기를 하는 주체가 몇인가** — 이고, 정직한 구축 순서는 안정된 인터페이스 뒤에 **서명하는 서비스**를 두고 Canton은 갈아끼울 구현체로 남기는 것입니다. 글이 권하는 "사실과 실행의 분리"가 바로 그 결정을 **미룰 수 있게** 해 주는 장치이고, 그것이 이 글의 가장 쓸모 있는 기여입니다. 둘째, 오프체인과 온체인의 시차는 **없앨 결함이 아니라 시제를 바꿀 문장**입니다. `owner == A`라고 말하는 체인은 **현재형**을 주장하므로 결제 중에 거짓이 되지만, "09:00 기준 소유자는 A였다"고 적는 체인은 **과거형**이라 낡을 뿐 틀리지 않습니다. 글의 schema에 있는 **`snapshotAt`**이 그 장치이고, 이 필드 하나가 무한정한 정합성 문제를 **측정 가능한 신선도 문제**로 바꿉니다 — 소비할 때 staleness 상한을 명시하면 됩니다. 그 위에 얹는 도구 넷은 경쟁이 아니라 **적층**입니다 — pending 상태를 표시하고, 이동 중에는 잠그고, 레지스트리 반대서명을 요구하고, 보증인을 끼우는 것 — 그리고 **소비자별로** 고릅니다. 이자 계산은 하루를 견디고, 거버넌스는 이미 스냅샷으로 투표하며, 초 단위로 노출되는 것은 **청산뿐**입니다. 락과 보증인은 **서로 대체재**라 둘 다 하면 자본을 두 번 묶습니다. 완전 일치는 애초에 목표가 아니었습니다 — **오프체인도 원자적이었던 적이 없기 때문**입니다. NAV는 하루 한 번 산정되고 상환은 T+1이니, 목표는 시차 0이 아니라 **시차의 상한이 명시되는 것**입니다.