전체 글
가이드

불변 메타데이터: 솔라나 토큰 브랜드에서 달라지는 것

메타데이터를 잠그면 솔라나 토큰의 이름, 심볼, URI가 영구히 고정됩니다. 불변 메타데이터가 실제로 묶는 것과 묶지 못하는 파일, 잠그기 전 브랜드 점검 순서를 정리했습니다.

읽는 시간 8분 J Tools Editorial
거의 검은 바탕에서 살이 네 개인 둥근 금속 밸브 핸들이 붉은 주황빛 테두리로 빛나며 돌아가 잠기고 연기가 피어오르며, 오른쪽에는 밀랍 봉인과 체크 표시 세 개가 찍힌 갈색 가죽 클립보드가 놓여 있습니다

솔라나 토큰의 메타데이터를 잠그면 이름과 심볼, 그리고 파일을 가리키는 링크 하나가 영구히 고정됩니다. 흔히 불변 메타데이터라고 부르는 상태이고, 매수자는 이것을 이름과 로고가 앞으로 바뀌지 않는다는 약속으로 읽습니다. 그런데 브랜드를 가진 쪽이 물어야 할 질문은 따로 있습니다. 이 잠금이 실제로 무엇을 얼리고, 무엇은 얼리지 못하는가입니다.

불변 메타데이터는 되돌릴 수 없는 결정입니다. 봉투에 밀랍 도장을 찍는 일과 비슷해서, 찍기 전에는 편지를 몇 번이든 다시 읽을 수 있지만 찍은 뒤에는 그럴 기회가 없습니다. 이 글은 브랜드가 사는 두 층, URI 뒤에 있는 파일, 잠금으로 포기하는 것, 잠그기 전의 점검 목록을 차례로 다룹니다. 권한을 하나씩 취소하는 절차는 별도 가이드에 있으니, 여기서는 브랜드 쪽만 봅니다.

불변 메타데이터가 실제로 고정하는 것

어두운 회색 벽 앞에 자물쇠 세 개가 나란히 있습니다. 왼쪽은 고리가 올라간 열린 황동 자물쇠, 가운데는 몸체가 어긋나게 갈라진 자물쇠, 오른쪽은 고리 없이 아래에서 붉은빛을 받는 검은 금속 덩어리입니다

일반 SPL 토큰의 브랜드는 두 층에 나뉘어 있습니다. 첫 번째 층은 체인 위에 있습니다. 민트에 연결된 Metaplex 메타데이터 계정이 토큰의 이름, 심볼, 그리고 URI라고 부르는 링크 하나를 저장합니다. 두 번째 층은 체인 밖의 JSON 파일입니다. URI가 이 파일을 가리키고, 파일 안에 설명과 로고, 그리고 웹사이트, X, Telegram, Discord 같은 링크가 들어 있습니다.

로고는 파일 안에서 한 번 더 링크입니다. JSON의 image 항목이 로고 이미지의 주소를 담고 있기 때문입니다. 그래서 로고는 체인에서 두 단계 떨어져 있습니다. URI를 따라 파일로 가고, 파일 안의 이미지 링크를 따라 다시 그림으로 갑니다.

잠금의 실체는 메타데이터 계정에 있는 플래그 하나입니다. Metaplex는 이 값을 Is Mutable이라고 부르며, 잠기지 않은 메타데이터에서는 true입니다. 이 값을 false로 바꾸면 그 뒤의 수정 요청은 모두 거부되고, 플래그는 true에서 false로만 움직일 뿐 반대로는 돌아가지 않습니다. 계정 구조는 Metaplex 토큰 메타데이터 공식 문서에 정리되어 있습니다.

브랜드 요소저장 위치잠근 뒤
이름체인 위 메타데이터 계정바뀌지 않음
심볼체인 위 메타데이터 계정바뀌지 않음
URI체인 위 메타데이터 계정바뀌지 않음
설명과 링크URI 뒤의 JSON 파일파일이 바뀔 수 있을 때만 바뀜
로고파일 안의 이미지 링크위와 같음, 이미지를 올린 호스트도 따로 따져야 함

표의 아래 두 줄이 이 글의 핵심입니다. 플래그는 체인 위의 세 값을 얼리지만, 그 값이 가리키는 파일에는 손을 대지 않습니다.

URI 뒤의 파일이 진짜 잠금 범위를 정합니다

플래그가 고정하는 것은 포인터이지 파일이 아닙니다. 체인은 URI 문자열만 기억하고, 그 주소에 실제로 무엇이 놓여 있는지는 파일을 올린 곳이 정합니다. 호스팅 방식은 크게 세 가지로 나뉩니다.

  • 일반 웹 서버나 빌린 도메인: 서버나 도메인을 쥔 사람은 잠근 뒤에도 파일을 바꿔 끼울 수 있고, 그러면 로고도 함께 바뀝니다. 서버를 닫거나 도메인 갱신을 놓치면 파일은 사라집니다. 이 경우 이름과 심볼은 체인에 그대로 남고, 로고와 설명, 링크만 사라집니다.
  • IPFS: IPFS 링크는 내용의 암호학적 해시에서 나온 CID로 파일을 부릅니다. 내용이 조금만 달라져도 CID가 달라지므로, 같은 링크가 다른 로고를 보여 주게 만들 수는 없습니다. 다만 최소 한 노드가 그 파일을 핀(pin)으로 붙잡고 있는 동안에만 파일이 열립니다.
  • Arweave: 영구 저장소를 내세우는 네트워크이고, Metaplex 문서가 불변 플래그와 짝지어 이름을 드는 곳입니다. Metaplex의 설명으로는 플래그와 영구 저장소를 함께 써야 파일까지 바뀌지 않습니다.

두 번째 단계도 같은 기준으로 봐야 합니다. JSON 파일이 IPFS에 있어도 그 안의 이미지 링크가 일반 웹 서버를 가리킨다면, 로고는 여전히 그 서버 주인의 손에 있습니다. 파일 링크와 이미지 링크, 두 곳을 모두 확인하세요.

매수자라면 링크를 직접 여세요. 탐색기에서 메타데이터의 변경 가능 플래그가 false로 보여도, 그것만으로 로고가 고정되었다는 증거가 되지는 않습니다. URI를 브라우저로 열어 파일이 어디에 있는지, 그 안의 이미지 링크가 어디를 가리키는지 눈으로 보세요.

로고가 불러와지지 않을 때 보유자의 지갑 화면이 어떻게 보이는지는 Phantom 지갑에 토큰이 안 보일 때 확인할 것에 정리되어 있습니다. 차이는 하나입니다. 메타데이터가 잠긴 토큰은 파일이 사라진 뒤 URI를 다른 파일로 다시 가리킬 방법이 없습니다.

불변 메타데이터로 브랜드가 포기하는 것

잠근 뒤에는 다음 일들이 전부 막힙니다.

  • 이름이나 심볼에 남은 오타 고치기
  • 리브랜딩, 곧 새 이름이나 새 로고로 바꾸기
  • 도메인이나 소셜 계정이 바뀐 뒤 파일 속 링크를 새 주소로 바꾸기(파일이 수정 가능한 서버에 있지 않은 한)
  • 호스트가 사라진 뒤 URI를 새 파일로 다시 가리키기

새 정체성이 필요해지면 남는 길은 새 민트뿐입니다. 새 이름이나 새 로고를 쓰려면 토큰을 처음부터 다시 만들어야 합니다. 그 대가로 얻는 것도 분명합니다. 보유자는 자신이 산 토큰의 이름과 심볼이 나중에 바뀌지 않는다는 사실을 알고, 파일과 이미지까지 영구 저장소에 있다면 로고도 같은 믿음을 줍니다.

분배가 끝난 커뮤니티 토큰. 분배가 마무리되었고 브랜드도 확정되었으며 앞으로 관리할 일이 남지 않은 밈코인이라면, 전체 잠금이 상황과 잘 맞습니다. 파일과 이미지가 영구 저장소에 있는지만 먼저 확인하면 됩니다.

리브랜딩이 예정된 프로젝트. 로드맵에 새 로고나 새 이름이 들어 있다면 메타데이터는 열어 두고, 이미 끝난 부분만 잠급니다. 공급 계획이 확정되었다면 민트 권한만 먼저 닫는 식입니다.

결정이 어렵다면 질문 하나로 좁혀 보세요. "앞으로 12개월 안에 이름, 로고, 링크 가운데 하나라도 바꿔야 할 일이 생길까?" 답이 "예"라면 아직 메타데이터를 잠글 때가 아닙니다.

잠그기 전에 확인할 브랜드 점검 목록

  1. 이름과 심볼을 한 글자씩 확인합니다. 잠근 뒤의 오타는 영원히 남습니다.
  2. 로고가 Phantom과 탐색기 양쪽에서 제대로 보이는지 봅니다. 한쪽에서만 보인다면 원인부터 찾으세요.
  3. URI를 브라우저 주소창에 직접 엽니다. JSON이 404 오류 없이 열려야 하고, 그 안의 이미지 링크도 따로 열어 그림이 뜨는지 확인합니다.
  4. 파일 속 링크를 점검합니다. 웹사이트, X, Telegram, Discord 주소가 앞으로도 계속 유지할 계정과 도메인을 가리켜야 합니다.
  5. 두 링크의 저장 위치를 확인합니다. 파일과 이미지 모두 IPFS 같은 콘텐츠 주소 방식이나 Arweave 같은 영구 저장소에 있어야 하고, 이 설정은 메타데이터가 아직 열려 있을 때 끝내야 합니다.
  6. 그다음에 잠급니다.

마지막 수정이 남았다면 솔라나 토큰 메타데이터 업데이트 도구가 그 일을 합니다. 메타데이터가 아직 변경 가능한 동안, 업데이트 권한을 가진 지갑으로 이름, 심볼, 로고, 링크를 바꿉니다. 이 도구는 아무것도 잠그지 않습니다. 런칭 뒤에 할 일 전체는 솔라나 토큰 런칭 후 체크리스트에서 이어집니다.

메타데이터만 잠글까, 전부 잠글까

어두운 나무 탁자 위 크림색 봉투에서 나무 손잡이가 달린 황동 인장이 아직 녹아 있는 붉은 주황색 밀랍을 누르고, 주변에 밀랍 방울이 튀어 있는 봉인의 순간

j.tools의 잠금 도구는 여럿이고, 도구마다 닫는 범위가 다릅니다.

  • 업데이트 권한 취소는 메타데이터만 잠급니다. 플래그를 false로 바꾸고, 트랜잭션이 확정되면 계정을 다시 읽어 결과를 확인합니다. 업데이트 권한을 가진 지갑이 필요합니다.
  • 솔라나 토큰을 불변으로 만들기는 토큰 상태를 먼저 읽은 뒤, 연결한 지갑이 아직 쥐고 있는 잠금만 트랜잭션 하나에 담습니다. 후보는 민트 권한 해제, 동결 권한 해제, 메타데이터 플래그 false 세 가지입니다. 이미 취소되었거나 다른 지갑이 가진 권한은 억지로 넣지 않고 건너뜁니다. 서명은 한 번이며, 플랫폼 수수료는 서명 전에 도구 페이지에 표시되고 같은 트랜잭션 안에서 처리됩니다.
  • 민트 권한 취소와 동결 권한 취소는 브랜드와는 별개인 잠금입니다.

한 트랜잭션으로 묶는 진짜 이유는 잠금이 절반만 끝난 채 남지 않게 하려는 데 있습니다. 트랜잭션에 담긴 잠금은 함께 적용되거나 하나도 적용되지 않으므로, 서명 몇 번 사이에서 작업이 멈춰 일부만 걸리는 일이 생기지 않습니다.

민트 권한을 없애면 공급량이 영원히 고정됩니다. 고정 공급이 맞는 설계인지는 솔라나 토큰 공급량 전략 가이드에서 따져 볼 수 있습니다. 동결 권한을 없애면 그 뒤로는 어떤 계정도 동결하거나 동결 해제할 수 없고, 그 순간 동결되어 있던 계정은 영원히 동결된 채 남습니다. 실수로 동결한 계정이 있다면 먼저 솔라나 토큰 계정 동결 해제 도구로 풀어 두세요.

처음부터 잠근 채 시작하는 방법도 있습니다. 솔라나 토큰 생성기는 메타데이터를 잠근 상태로 토큰을 만들 수 있고, 같은 흐름 안에서 민트 권한과 동결 권한도 취소할 수 있습니다. 권한마다 취소하는 단계별 절차는 솔라나 토큰 권한 포기 가이드에 있습니다.

되돌릴 수 없습니다. 모든 잠금은 트랜잭션이 확정되는 순간 최종입니다. j.tools 도구는 메인넷에서만 동작합니다. 먼저 연습하고 싶다면 devnet에서 Solana CLI로 같은 동작을 해 보세요. 예를 들어 spl-token authorize <mint> mint --disable 명령이 민트 권한을 끄고, 테스트용 SOL은 데브넷 Faucet 도구에서 받습니다.

Token-2022 토큰은 잠그는 자리가 다릅니다

Token-2022 토큰은 이름, 심볼, URI를 Metaplex 계정이 아니라 민트 자체에 담을 수 있습니다. TokenMetadata 확장이 그 방식이고, 이 메타데이터에는 자체 업데이트 권한이 따로 있어서 그 권한을 비워야 잠깁니다. 여기에 메타데이터 포인터라는 확장이 별도로 있습니다. 포인터의 권한을 가진 쪽은 메타데이터가 저장된 위치 자체를 다른 계정으로 바꿀 수 있습니다. 그래서 이런 토큰의 브랜드를 완전히 잠그려면 두 권한이 모두 남아 있지 않아야 합니다. 구조는 솔라나 메타데이터 확장 공식 문서에 나와 있습니다.

j.tools의 잠금 도구는 일반 SPL 토큰의 Metaplex 메타데이터 계정에 작동합니다. Token-2022 토큰이라면 이 두 메타데이터 권한과 다른 확장 권한이 누구에게 있는지부터 확인하세요. 참고로 현재 Pump.fun에서 발행되는 코인은 민트 권한과 동결 권한이 처음부터 비어 있는 Token-2022 민트입니다. 두 표준의 차이는 Token-2022와 SPL 토큰의 차이에서 비교합니다.

잠금이 제대로 걸렸는지 확인하는 법

탐색기에서 민트 주소를 열고 세 가지를 봅니다. 민트 권한과 동결 권한을 취소했다면 두 칸이 비어 있어야 하고, 메타데이터의 변경 가능 플래그는 false여야 합니다. 업데이트 권한 주소가 계속 표시되더라도 플래그가 false라면 잠긴 것입니다. 그다음 URI와 그 안의 이미지 링크를 브라우저로 열어 둘 다 불러와지는지 확인합니다.

매수자도 같은 순서로 봅니다. 권한 상태는 솔라나 러그풀 판별 점검 목록의 한 항목이기도 하니, 내가 통과한 확인은 곧 매수자가 하는 확인입니다.

불변 메타데이터 자주 묻는 질문

탐색기에 아직 업데이트 권한이 보입니다. 메타데이터가 정말 잠겼습니까?

변경 가능 플래그가 false라면 잠긴 것입니다. Metaplex 메타데이터에서는 이 플래그가 결정합니다. j.tools의 잠금처럼 주소는 그대로 두고 플래그만 뒤집는 방식에서는 업데이트 권한 주소가 계속 표시될 수 있고, 그 주소로 서명해도 수정은 거부됩니다.

불변 메타데이터를 가진 토큰도 로고가 바뀔 수 있습니까?

파일이나 이미지 링크가 누군가 통제하는 서버에 있다면 바뀔 수 있습니다. 콘텐츠 주소 방식인 IPFS 링크는 다른 내용을 보여 줄 수 없고, Arweave는 영구 저장소로 설계되었습니다. 호스트가 사라지면 로고도 사라지며, 그때는 아무도 URI를 다른 파일로 다시 가리킬 수 없습니다.

리브랜딩을 하려면 나중에 잠금을 풀 수 있습니까?

풀 수 없습니다. 플래그는 true에서 false로 한 방향만 움직입니다. 새 이름이나 새 로고가 필요하다면 새 민트로 토큰을 새로 만들어야 합니다.

메타데이터를 잠그면 공급량도 고정됩니까?

아닙니다. 민트 권한과 동결 권한은 메타데이터와 별개이고, 솔라나 토큰을 불변으로 만들기 도구를 쓰면 지갑이 가진 잠금을 한 트랜잭션에서 모두 닫을 수 있습니다. 다만 모든 잠금이 끝난 뒤에도 보유자는 자기 계정의 토큰을 소각할 수 있어서 공급량은 줄어들 수 있습니다. 직접 줄이려면 솔라나 토큰 소각기를 쓰고, 그 의미는 솔라나 토큰 소각 방법과 의미에서 설명합니다.

불변 메타데이터라면 안심하고 사도 되는 토큰입니까?

위험 하나를 없앨 뿐입니다. 이름이나 로고가 바뀌는 위험입니다. 유동성, 보유자 분포, 수요에 대해서는 아무것도 말해 주지 않으며, 가격을 움직이지도 않습니다. 매수 전에는 권한 말고도 볼 항목이 여럿 있습니다.

브랜드가 최종이고 파일과 이미지 두 링크가 모두 영구적일 때 잠그세요. 둘 중 하나라도 아직이라면 기다리는 편이 낫습니다. 이제 막 토큰을 준비하는 단계라면 솔라나 토큰 만드는 법 단계별 가이드부터 보세요.

J
작성자
J Tools Editorial

J Tools 팀에서 작성한 글입니다.

J Tools Editorial의 글 전체 보기 →

관련 글