<aside>
블록체인에서 토큰을 발행하려면 보통 스마트 컨트랙트를 작성하고 배포해야 합니다.
이 글에서는 토큰 발행을 활용한 스테이블코인 시나리오를 다룹니다.
발행자가 특정 자산의 가치를 보증하고, 수신자가 해당 자산을 수용하겠다는 의사를 먼저 표현한 뒤, 전송으로 실제 발행이 이루어지는 구조입니다.
이번에 활용할 XRPL에서는 별도의 스마트 컨트랙트 배포 없이, IOU와 트러스트라인이라는 내장 기능으로 이 구조를 제공하며, Payment 트랜잭션 하나로 발행과 전송이 동시에 처리됩니다.
</aside>
시나리오 1: 스테이블코인 발행
어떤 비즈니스에 해당하나요?
- 원화 기반 스테이블코인 발행, 달러 연동 디지털 자산, 플랫폼 내부 결제 토큰 등 법정화폐나 특정 자산에 페깅된 토큰을 발행하고 유통하려는 비즈니스가 해당됩니다.
- 핀테크 기업이 자체 스테이블코인을 발행하면 기존 결제·송금 인프라 위에 온체인 레이어를 추가할 수 있고, 거래 내역의 투명성과 실시간 정산이라는 이점을 가져갈 수 있습니다.
핵심 개념: IOU와 트러스트라인
XRPL의 Trustline 토큰 발행은 두 가지 요소로 구성됩니다.
IOU (I Owe You)
- 발행자가 "나는 이 토큰 1개당 1원의 가치를 보증한다"고 선언하는 구조입니다. XRPL에서 XRP 이외의 모든 토큰은 이 IOU 방식으로 존재합니다. 발행자 입장에서 토큰 잔액은 음수(=의무)이고, 보유자 입장에서는 양수(=자산)입니다.
트러스트라인 (TrustSet)
- 토큰을 받으려는 쪽이 "이 발행자의 이 토큰을 최대 얼마까지 받겠다"고 선언하는 것입니다. 트러스트라인이 없으면 토큰을 받을 수 없습니다. 이 구조 덕분에 원치 않는 토큰이 강제로 들어오는 일이 방지됩니다.
쉽게 비유하면, 트러스트라인은 은행에서 특정 외화 계좌를 개설하는 것과 비슷합니다. 달러를 받으려면 달러 계좌를 먼저 열어야 하듯, KRW 토큰을 받으려면 KRW 트러스트라인을 먼저 설정해야 합니다.
트랜잭션 플로우
1단계: 지갑 생성
- 발행자(Issuer) 지갑과 수신자(Holder) 지갑을 각각 생성합니다.
2단계: 발행자 계정에 DefaultRipple 설정
- 발행된 토큰이 보유자 간에 자유롭게 이동할 수 있도록, 발행자 계정에
DefaultRipple을 설정합니다.
- 이 플래그를 켜지 않으면 모든 토큰 이동이 반드시 발행자를 경유해야 하므로, 일반적인 유통 목적이라면 먼저 설정하는 것이 좋습니다.
트랜잭션:AccountSet
계정:발행자
SetFlag:8 (asfDefaultRipple)