압축 NFT란 무엇인가요?
Solana의 압축 NFT(compressed NFT)는 데이터를 렛저(ledger) 자체에 저장함으로써 대량의 NFT를 발행하고 관리하는 비용을 절감합니다. 압축 NFT를 발행하는 것은 기존 NFT를 발행하는 것보다 훨씬 비용 효율적이며, 이는 다양한 새로운 사용 사례와 더 많은 Solana 활성 사용자를 유입시키는 방법을 만들어냅니다.
이 글에서는 압축 NFT가 무엇인지, 어떻게 작동하는지, 그리고 기존 또는 신규 NFT를 압축하는 방법을 설명합니다.
압축 NFT란 무엇인가?
압축 NFT는 데이터를 Merkle 트리 구조로 저장하는 Solana NFT로, Merkle 루트는 계정에 온체인으로 존재하고 Merkle 리프는 Solana 렛저(오프체인이지만 합의의 대상이 됨)에 저장됩니다. 이는 기존 NFT처럼 완전히 온체인에 저장되는 것과는 다릅니다.
일반 NFT와 마찬가지로 압축 NFT도 온체인에서 발행되고 확인되지만, Solana RPC 제공업체를 사용하여 데이터를 오프체인에서 저장하고 처리함으로써 저장 비용을 최소화합니다.
압축 NFT는 인덱서를 사용하여 트랜잭션 데이터를 관리하고 RPC와 온체인 스마트 컨트랙트 간의 데이터 쿼리를 처리합니다. 기존 스마트 컨트랙트는 압축 NFT와 상호작용하려면 수정되어야 합니다. 또는 압축 NFT를 압축 해제하여 수정되지 않은 Solana 프로그램과 함께 사용할 수도 있습니다.
압축 NFT는 누가 만들었나?
압축 NFT는 Solana Labs의 Merkle 트리 프로그램(account-compression이라고 알려져 있음)과 Metaplex 재단의 압축 NFT 프로그램(Bubblegum이라고 알려져 있음)이 결합되어 만들어졌습니다.
Metaplex는 Solana의 NFT 표준을 만들었으며, 창립 팀은 Solana Labs에서 분사했습니다. 2021년 출시 이후 Metaplex는 2,200만 개 이상의 NFT 발행을 지원했으며 33억 6천만 달러의 NFT 판매를 발생시켰습니다. Solana의 Merkle 트리 프로그램은 Metaplex를 통해 생성된 압축 NFT가 Solana 블록체인의 렛저에 인코딩될 수 있도록 합니다.
압축 NFT의 일반적인 사용 사례는 무엇인가?
압축 NFT를 사용하면 기업과 개인이 기존 NFT와 비교해 과도한 비용을 들이지 않고도 대규모로 NFT를 발행할 수 있습니다. 압축 NFT를 활용할 수 있는 산업으로는 게임, 음악, 이벤트, 메타버스, 엔터프라이즈 등이 있습니다.
1. 게임
압축 NFT는 수백만 명의 플레이어를 위한 게임 내 자산으로 사용될 수 있습니다. web3 게임의 잠재적 규모를 고려할 때, 압축 NFT는 web3 게임 개발 회사들이 수백만 개의 게임 내 NFT를 발행하면서도 비용을 절감할 수 있게 해줍니다.
2. 음악 및 이벤트
매년 수백만 장의 콘서트 및 이벤트 티켓이 판매되는 상황에서, 압축 NFT는 티켓 판매 회사들의 비용을 절감시키는 동시에 web3 제품의 보안성과 진위성을 제공하면서 이벤트 참석자들을 위한 디지털 수집품 역할을 할 수 있습니다.
3. 메타버스
메타버스와 메타버스 유사 게임의 인기가 높아지면서, 압축 NFT는 메타버스 개발 회사들이 전 세계 수백만 명을 위한 대량의 게임 내 수집품을 디지털화할 수 있게 해줍니다.
4. 엔터프라이즈 시스템
공급망 전반에 걸친 상품 추적부터 공공 기록 디지털화까지, 압축 NFT는 대규모 조직이 현재 NFT 구현 비용의 일부만으로 대량의 NFT를 발행, 저장, 조회할 수 있게 해줍니다.
압축 NFT는 언제 사용해야 하는가?
압축 NFT는 대규모로 NFT를 발행할 때 사용해야 합니다. 데이터를 오프체인에 저장하면 모든 Solana 계정이 데이터를 관리하기 위해 지불해야 하는 계정 공간 임대 비용이 크게 줄어들기 때문입니다.
압축 NFT와 비압축 NFT
압축 NFT와 비압축 NFT는 모두 온체인에서 발행되고 검증되지만, 주요 차이점은 NFT 메타데이터가 저장되는 위치입니다. 압축 NFT는 메타데이터를 오프체인에 저장하고, 기존 Solana NFT는 데이터를 온체인에 저장합니다.
압축 NFT는 일반 NFT와 어떻게 다른가?
압축 NFT는 다음 네 가지 주요 측면에서 기존 NFT와 다릅니다:
1. NFT 메타데이터 저장
압축 NFT는 데이터를 Merkle 트리에 오프체인으로 저장하며, Solana RPC 제공업체를 통해 접근합니다.
2. 비용
데이터를 오프체인에 저장하기 때문에 압축 NFT는 훨씬 더 비용 효율적입니다.
3. 데이터 소유권
압축 NFT를 수정하려면 오프체인 데이터를 변경할 권한이 있음을 암호학적으로 증명해야 하며, 이는 오프체인 데이터 저장의 신뢰성을 보장합니다.
4. 프로그램 상호작용
기존 프로그램(즉, Solana 스마트 컨트랙트)은 NFT 자체가 압축 해제되지 않는 한 압축 NFT와 상호작용하려면 수정되어야 합니다.
압축 NFT는 얼마나 많은 비용을 절감하는가?
기존 NFT 100만 개를 발행하는 데는 약 12,000 SOL이 소요되는 반면, 같은 수의 압축 NFT를 발행하는 데는 단 5 SOL이 소요되어 99.9%의 비용을 절감할 수 있습니다.
실제로 NFT 컬렉션의 규모가 클수록 압축을 통한 발행 비용 절감 효과는 더 커지며, 이는 아래 이미지에서 확인할 수 있습니다:
기존 NFT를 발행할 때 가장 큰 비용은 Solana의 저장 공간에 대한 비용이며, 압축 NFT는 이를 제거하기 때문에 남은 비용의 대부분은 단순 트랜잭션 수수료입니다.
10k Solana NFT 컬렉션을 발행하는 비용은 얼마인가?
신규 프로젝트의 표준 NFT 컬렉션 규모인 10,000개의 압축 NFT를 발행하는 데는 약 3.5 SOL이 소요됩니다. 아래 표는 10k부터 10억 개에 이르는 수량의 압축 NFT 컬렉션을 발행하는 비용을 자세히 보여줍니다:
압축 NFT는 어떻게 작동하는가?
NFT가 압축되는 과정은 다음과 같습니다:
- Metaplex의 Bubblegum 프로그램이 NFT와 연관된 메타데이터를 검증하는 데 사용됩니다
- Bubblegum이 account-compression을 호출하여 Merkle 트리에 새 리프를 추가합니다
- account-compression이 온체인 Merkle 트리를 업데이트하여 새로운 상태를 반영합니다
- 새로운 NFT 추가와 같은 Merkle 트리 변경 사항은 Solana 블록체인에 기록됩니다
오프체인 인덱서는 Merkle 트리의 변경 사항을 추적하며, 앱과 프로그램을 지원하는 데 필요한 정보와 권한을 관리합니다.
압축 NFT 권한(authority)이란 무엇인가?
권한(authority)은 NFT 계정과 연관된 속성으로, 해당 계정이 수행할 수 있는 작업을 지정합니다. 모든 NFT 계정 아래에는 다음의 세 개의 하위 계정이 있습니다:
- Mint 계정
- 연관 토큰 계정(associated token account)
- 지갑 계정
이러한 하위 계정들은 각각 서로 다른 속성을 가지고 있습니다.
1. 트리 권한(Tree authority)
이 권한은 일반적으로 account-compression 프로그램을 통해 트리에 새 리프를 추가할 권한을 가진 프로그램이며, 해당 프로그램은 암호학적 해시를 인코딩하는 역할도 수행합니다.
2. 리프 권한(Leaf authority)
이는 리프를 소유한 지갑 계정에 부여되는 속성입니다. 해당 지갑 계정은 리프를 교체하거나, 제거하거나, 압축 해제하는 데 사용될 수 있습니다.
압축 NFT는 어디에 저장되는가?
압축 NFT 메타데이터는 Solana RPC 서비스 제공업체를 통해 오프체인 Merkle 트리에 저장되며, 이 데이터는 인덱서에 의해 모니터링됩니다. 이는 동일한 데이터를 온체인에 저장하는 것보다 더 비용 효율적입니다. 실제로 데이터는 오프체인에 존재하며, 훨씬 작은 크기의 데이터 증명이 Merkle 트리 루트 형태로 온체인에 존재합니다.
NFT를 압축하는 방법
NFT를 압축하는 것은 비교적 간단한 작업이지만, 신규 NFT를 압축하는지 기존 NFT를 압축하는지에 따라 과정이 조금씩 다릅니다.
신규 NFT 압축하기
아직 발행되지 않은 신규 NFT를 압축하는 네 단계는 다음과 같습니다:
- Metaplex의 Bubblegum 소프트웨어를 사용하여 Gummyroll Merkle 트리를 생성합니다
- Bubblegum의 mintNFT 명령어가 호출됩니다
- 오프체인 인덱서가 렛저에서 mintNFT 명령어를 가져와 리프 메타데이터를 저장합니다.
- dapp이 RPC 노드를 통해 get_assets_for_owner 명령어를 호출하여 NFT를 반환합니다
기존 NFT 압축하기
이미 발행된 기존 NFT를 압축하는 세 단계는 다음과 같습니다:
- Bubblegum 프로그램에서 NFT 정보와 함께 transfer 명령어가 호출됩니다
- Bubblegum 프로그램이 크로스 프로그램 호출(cross-program invocation)을 통해 Gummyroll에 새 Merkle 트리 루트를 추가하도록 요청합니다
- 오프체인 인덱서가 블록체인에서 transfer 명령어를 가져와 리프의 소유자 속성을 업데이트합니다.
세 번째 단계는 리프가 나타내는 NFT의 소유권이 새 소유자에게 이전되도록 보장합니다.
기존 NFT를 압축할 때는 Gummyroll 트리를 처음부터 새로 만들 필요가 없습니다. 자세한 내용은 Metaplex의 압축 NFT 문서를 참고하세요.
NFT 압축 해제는 어떻게 작동하는가?
압축 해제 과정은 오프체인 Merkle 트리 데이터셋에서 NFT를 제거합니다. 간단히 정리하면 다음과 같습니다:
Token Metadata Program이 해당 NFT에 대응하는 Merkle 트리 상의 리프의 무결성을 검증하고 나면, 다음 계정들을 생성합니다:
- Mint 계정
- 연관 토큰 계정(ATA)
- Token Metadata 계정
- Master Edition 계정
그런 다음 Token Metadata Program이 Merkle 트리를 업데이트하여 해당 리프를 제거합니다.
관련 개요
Solana2026년 7월 27일
Solana 노드: 밸리데이터, RPC 노드, 셀프 호스팅
Solana 노드란 무엇인지, 밸리데이터와 RPC 노드, 보조 데이터 시스템은 어떻게 다른지, 그리고 언제 셀프 호스팅을 하고 언제 프로바이더를 써야 하는지 설명합니다.
Solana2026년 7월 22일
Solana 아카이브 데이터: 전체 블록 및 트랜잭션 기록을 조회하는 방법
Solana 아카이브 데이터 설명: 노드가 기록을 정리(prune)하는 이유, 아카이브 액세스가 필요한 RPC 메서드, 그리고 전체 블록 및 트랜잭션 기록을 대규모로 조회하는 방법.
Solana2026년 5월 28일
Solana Agent Kit vs GOAT vs ElizaOS: 어떤 프레임워크를 사용해야 할까?
Solana Agent Kit, GOAT, ElizaOS 비교: Solana 네이티브 심층 지원, 멀티체인 확장성, 완전한 에이전트 런타임 중 선택. 코드 예제와 결정 프레임워크 제공.

블록체인 매직을 만드세요
Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.