
같은 토큰, 다른 체인: 네이티브 스테이블코인과 브리지 스테이블코인
당신과 친구는 각자 500 USDC를 가지고 있지만, 서로 다른 네트워크에 있습니다. 어떤 거래소는 당신의 입금은 받아 주고 친구의 입금은 받아 주지 않습니다. 티커도 같고 로고도 같은데, 무슨 일일까요?
짧게 답하면, "USDC"나 "USDT"는 하나의 토큰이 아닙니다. 서로 다른 블록체인 위에 있는 서로 다른 컨트랙트들의 묶음이며, 그 구성원이 모두 같은 방식으로 발행되는 것도 아닙니다. 이것이 왜 중요한지, 그리고 내가 가진 것이 어느 쪽인지 확인하는 방법을 알아봅니다.
하나의 이름, 여러 개의 컨트랙트
이더리움, Polygon, Base, Solana 위의 토큰은 해당 체인에만 존재하는 프로그램(스마트 컨트랙트, Solana에서는 "민트")입니다. 한 체인은 다른 체인의 컨트랙트를 볼 수 없습니다. 그래서 어떤 스테이블코인이 "열 개의 체인에서" 쓰인다면, 각자 고유한 주소와 공급량과 규칙을 가진 별개의 컨트랙트가 최소 열 개 존재합니다.
세부 사항조차 다릅니다. BNB Smart Chain에서 SSP Wallet에 등록된 USDT와 USDC는 소수점 18자리를 쓰지만, 이더리움 버전은 6자리를 씁니다.
토큰이 체인 안에 존재하며 수수료를 내려면 그 체인의 네이티브 코인이 필요하다는 개념이 낯설다면, 코인과 토큰에서 기초를 확인할 수 있습니다.
네이티브인가 브리지인가: 실제로 누가 뒷받침하는가
스테이블코인이 체인에 들어오는 방식은 크게 두 가지입니다.
네이티브 발행. 발행사가 직접 컨트랙트를 배포하고, 해당 체인에서 토큰을 직접 발행하고 상환합니다. 당신의 청구권은 발행사의 조건에 따라 발행사의 준비금으로 곧바로 이어집니다. 스테이블코인을 실제로 뒷받침하는 것에서 그 준비금이 무엇인지 설명합니다.
브리지 발행. 누군가 원래 토큰을 한 체인의 컨트랙트에 잠그면, 브리지가 다른 체인에서 그에 대응하는 "래핑" 토큰을 발행합니다. 이 토큰은 발행사에 직접 상환할 수 없습니다. 브리지에 잠긴 자산에 대한 차용증일 뿐이어서, 발행사의 위험 위에 브리지의 위험까지 더해집니다. 브리지가 털리거나 키가 탈취되면 브리지 토큰은 뒷받침을 잃을 수 있지만, 네이티브 토큰은 영향을 받지 않습니다. 브리지가 계속 해킹당하는 이유와 래핑 토큰에서 두 주제를 더 깊이 다룹니다.
두 가지는 흔히 공존합니다. 예를 들어 Polygon에서 USDC는 처음에 브리지를 통해 들어왔습니다. 이후 Circle이 그곳에서 USDC를 네이티브로 발행하기 시작하자, 기존 브리지 토큰은 USDC.e로 이름이 바뀌었고 둘은 별개의 토큰으로 계속 유통되었습니다.
왜 컨트랙트 주소가 정체성인가
이름, 티커, 로고는 그저 라벨일 뿐입니다. 누구나 토큰 컨트랙트를 배포하고 소수점 6자리와 파란 로고를 붙여 "USDC"라고 이름 지을 수 있습니다. 사기꾼들은 바로 이렇게 해서, 누군가 사용해 보기를 기대하며 가짜 토큰을 지갑에 에어드롭합니다.
복제할 수 없는 유일한 것은 컨트랙트 주소입니다. 특정 체인에서 발행사의 USDC인 주소는 정확히 하나입니다(여러 개가 있다면 하나는 네이티브이고 나머지는 각자 주소를 가진 브리지 버전입니다). 이름이 같아도 주소가 다르면 다른 자산입니다. 예외는 없습니다.
거래소나 결제 서비스가 어떤 버전은 입금 처리하고 다른 버전은 처리하지 않는 이유도 여기에 있습니다. 각 서비스는 어느 네트워크에서 어떤 컨트랙트를 지원할지 스스로 정합니다. 브리지 버전을 보내거나, 올바른 토큰을 잘못된 네트워크로 보내면 입금이 자동으로 반영되지 않을 수 있습니다. 보내기 전에 네트워크, 토큰, 그리고 수신자가 받는 정확한 컨트랙트, 이 세 가지를 확인하세요.
토큰 컨트랙트 확인 방법
- 발행사에서 시작하세요. 주요 발행사는 지원하는 각 체인의 공식 컨트랙트 주소를 공개합니다. 앞뒤 몇 글자만 보지 말고 한 글자씩 대조하세요.
- 블록 탐색기를 사용하세요. 해당 체인의 탐색기에서 주소를 조회합니다. 컨트랙트가 검증되었는지, 이름과 소수점 자릿수가 일치하는지, 그리고 기록이 지난주에 만들어진 컨트랙트가 아니라 대형 스테이블코인처럼 보이는지 확인하세요.
- 답글, 광고, 개인 메시지로 받은 주소는 의심하세요. 가짜 컨트랙트가 흔히 쓰는 경로입니다.
- 수신자에게 물어보세요. 거래소나 기업에 지불한다면, 짐작하지 말고 상대의 입금 페이지에 적힌 네트워크와 토큰을 사용하세요.
SSP는 이를 어떻게 다루는가
SSP Wallet에는 지원하는 각 EVM 체인과 Solana를 위한 내장 토큰 목록이 있습니다. 여기에는 널리 쓰이는 스테이블코인이 들어 있습니다. 예를 들어 이더리움의 USDT와 USDC, Polygon의 USDT와 네이티브 발행 USDC, Base의 USDC, Avalanche의 USDT, BNB Smart Chain의 USDT와 USDC, 그리고 Solana의 Circle USDC 민트입니다. 목록이 짧기 때문에 모든 스테이블코인의 모든 버전이 들어 있지는 않습니다.
그 밖의 토큰은 컨트랙트 주소(Solana에서는 민트 주소)를 붙여 넣어 사용자 지정 토큰으로 추가할 수 있습니다. SSP는 토큰의 이름, 심볼, 소수점 자릿수를 가져와 해당 체인에만 추가합니다. 이름과 심볼은 토큰 자체에서 온다는 점을 기억하세요. 즉 가짜 토큰도 아무렇지 않게 자신을 "USDC"라고 부릅니다. 중요한 것은 붙여 넣는 주소이므로, 발행사나 탐색기에서 가져오세요.
토큰을 추가하면 SSP Wallet은 토큰 세부 정보에 컨트랙트 주소, 소수점 자릿수, 네트워크를 복사 버튼과 함께 보여 주며, 컨트랙트는 거래 세부 정보에도 표시됩니다. 승인 쪽에서는 SSP Key가 토큰 전송을 승인하기 전에 토큰 컨트랙트(또는 Solana 민트)를 보여 줍니다. 휴대폰이 토큰을 인식하지 못하면, 예를 들어 브라우저 확장 프로그램에서만 가져온 토큰이라면, SSP Key는 검증할 수 없는 이름을 믿는 대신 금액을 원시 단위로 표시하고 알 수 없는 토큰으로 표시합니다.
솔직한 요약
"USDC"와 "USDT"는 별개 컨트랙트들의 묶음입니다. 일부는 발행사가 네이티브로 발행하고, 일부는 브리지가 무사해야 한다는 조건까지 걸린 브리지 차용증입니다. 티커가 알려 주는 것은 거의 없습니다. 실제로 무엇을 가지고 있는지는 네트워크와 컨트랙트 주소가 함께 알려 줍니다.
스테이블코인을 보내기 전에 네트워크와 수신자가 받는 정확한 컨트랙트를 확인하고, 낯선 컨트랙트는 발행사가 공개한 목록과 탐색기로 대조하세요. SSP는 자주 쓰이는 스테이블코인을 미리 등록하고, 컨트랙트 주소를 보여 주고, SSP Key에서 인식되지 않는 토큰을 표시해 도움을 주지만, 거래소가 어느 버전을 입금 처리할지는 대신 결정해 줄 수 없습니다.


