
EIP 제안을 통해 살펴보는 NFT의 미래
저자: zf857.eth, R3PO
EIP은 이더리움 개선 제안(Ethereum Improvement Proposals)의 약자로, 이더리움 커뮤니티의 누구나 EIP를 제안할 수 있습니다. 이더리움 개선 제안 작성 규칙은 EIP-1에 명시되어 있으며, 제안자는 커뮤니티 내에서 합의를 형성하고 다양한 의견을 기록하는 책임을 지닙니다.
역사적으로 대부분의 EIP 제안자는 주로 애플리케이션 또는 프로토콜 개발자였습니다. 고수준의 EIP를 제출하려면 높은 기술적 역량이 필요하기 때문입니다. EIP는 초보 검토 후 번호가 부여되며, 아래 그림과 같은 심사 절차를 거쳐 논의됩니다.

EIP에는 Core, Networking, Interface, ERC, Meta, Informational 등 다양한 유형이 있으며, 각각 해결하는 문제가 다릅니다. 우리가 잘 아는 ERC-20, ERC-721, ERC-1155는 애플리케이션 수준의 표준 프로토콜로서 현재 대부분의 NFT 산업 응용이 이들 주요 프로토콜을 중심으로 전개되고 있습니다. EIP는 마치 이더리움의 연대기처럼 탄생 이후 모든 발전 과정을 기록할 뿐 아니라, 전체 이더리움 생태계의 미래 방향성을 예측하는 능력도 갖추고 있습니다. 미세한 변화에서도 큰 가능성을 엿볼 수 있으며, 하나의 EIP 수정은 전체 산업을 뒤흔들 수 있는 거대한 기회를 내포할 수 있습니다. 본문에서는 NFT 관련 Last Call 및 최근 Final 단계에 진입한 EIP 제안에 주목합니다.
EIP-4955 메타데이터 표준 확장
본 EIP는 NFT 메타데이터(metadata)의 형식을 표준화하며, EIP-721 및 EIP-1155 표준 NFT의 JSON 스키마에 새로운 필드인 네임스페이스(namespaces)를 추가합니다. 주요 코드는 아래와 같습니다:

EIP-4955는 EIP-721 메타데이터를 직접 확장하는 방식을 채택하였으며, 그 배경은 하위 호환성을 유지하기 위함입니다. 메타데이터 응답(scheme)을 수정할 수 없는 기존 프로젝트들이 새로운 스마트 계약을 생성하고 tokenId를 기반으로 업데이트된 메타데이터 스킴을 반환할 수 있도록 합니다. 이더리움 상의 대부분의 프로젝트는 업그레이드 불가능한 계약을 사용하기 때문에, 만약 이 EIP가 기존 계약의 완전한 재구현을 요구한다면 재배포가 필요하게 되어 시간과 비용이 낭비됩니다. 반면 EIP-721의 기존 메타데이터 필드를 활용하면 필요한 변경 사항을 최소화할 수 있습니다.
많은 프로젝트들은 맞춤형 NFT 속성이 필요합니다. 각 프로젝트마다 NFT를 렌더링하는 방식이 다르므로 서로 다른 메타데이터 값을 필요로 합니다. 예를 들어 Decentraland나 The Sandbox와 같은 메타버스 프로젝트는 각자의 시각/엔진에 따라 다른 3D 모델을 통해 NFT를 렌더링해야 하며, Cryptopunks, Bored Apes 등의 NFT 프로젝트는 각 프로젝트별로 필요한 3D 모델을 생성할 수 있습니다.

새로운 네임스페이스(namespaces) 필드를 도입함으로써, 각 프로젝트팀이나 공급업체는 네임스페이스를 통해 NFT 자산을 직접 호출할 수 있게 됩니다(위 코드 참조). 이를 통해 개발자는 단일 스마트 계약 또는 애플리케이션 내에서 여러 NFT 메타데이터를 사용할 때 이름 충돌을 피할 수 있으며, NFT 메타데이터는 지갑, 마켓플레이스, 메타버스 등의 NFT 관련 애플리케이션이 어떤 NFT와도 상호작용할 수 있게 됩니다. 이 제안은 다양한 메타데이터 스킴을 지원해야 하는 NFT 마켓플레이스에 특히 유용하며, 여러 판매자가 서로 다른 메타데이터 스킴을 사용하더라도 운영자는 메타데이터 키가 유일함을 보장하면서 특정 JSON 데이터를 자유롭게 저장할 수 있습니다. 이 솔루션은 대규모 GameFi 및 메타버스 내 다수의 NFT가 맞춤형 메타데이터를 통해 서로 다른 속성을 표현하면서 이름 충돌을 방지하는 데까지 적용될 수 있어, NFT의 상호운용성을 크게 향상시킵니다.
NFT 임대 사용 확장: EIP-4907에서 EIP-5006까지
EIP-5006은 NFT 임대 마켓플레이스 Double Protocol이 제안한 것으로, ERC-1155형 NFT를 위한 임대 표준이며, ERC-1155 표준의 확장입니다. 이 제안은 NFT 메타데이터에 사용자(user)라는 새 필드를 추가하여, 소유자(owner)가 아닌 자산 사용자(user)를 나타내는 주소를 부여할 수 있게 합니다.
지난해 6월 29일, 동일한 NFT 임대 마켓플레이스 Double Protocol이 제안한 EIP-4907이 정식으로 이더리움 심사를 통과하여 최초의 임대 가능한 NFT ERC 표준이 되었습니다. EIP-4907은 ERC-721의 확장이며, 사용자 정보(UserInfo) 변수를 추가하는데, 이 변수는 사용자(User) 주소와 "임대 만료 시간(userExpires)"을 포함하며, 시간이 초과되면 임대 관계가 종료됩니다. 주요 코드는 아래와 같습니다:

EIP-4907이 ERC-721에 대한 간단한 확장인 것과 달리, EIP-5006은 ERC-1155의 특수한 데이터 구조(ERC-1155 자체가 다중 토큰 관리 표준으로 ID가 여러 주소와 토큰 수량을 가리킬 수 있음)를 기반으로 Userrecord 및 usableBalance 함수를 추가하여 임대 상태를 효율적으로 일괄 관리할 수 있게 합니다. 주요 코드는 아래와 같습니다:

EIP-4907과 EIP-5006 표준의 핵심 가치
ERC-721과 ERC-1155 표준 토큰 모두에서 "사용자"와 "소유자"가 다를 수 있는 새로운 유틸리티가 필요합니다(예: 임대). 따라서 "소유자"와 "사용자"에게 서로 다른 역할을 설정함으로써, "사용자"가 "소유자"만이 수행할 수 있는 행동(예: 소유권 이전)을 하지 못하도록 해야 합니다. EIP-4907과 EIP-5006은 NFT의 권리 분배를 명확히 함으로써 NFT 유동성 부족 문제 해결에 기여합니다. "소유자"와 "사용자"의 이중 역할을 통해 NFT의 소유권과 사용권을 분리할 수 있으며, 이는 NFT 유동성 부족 문제 해결을 위한 핵심 인프라로서, 임대 등 체인 상의 다양한 사용 사례에 기술적 지원을 제공합니다. NFT 대출자와 차용자가 NFT에 대해 무엇을 할 수 있고 무엇을 할 수 없는지를(즉, 권리를) 쉽게 관리할 수 있게 됩니다. 예를 들어, 소유권 이전 권한 여부는 해당 행동을 수행하는 주소가 소유자(owner)인지 사용자(user)인지 확인하면 되며, 사용자일 경우 거래를 차단할 수 있습니다. 또한 소유자는 누가 사용자인지 통제할 수 있으며, 다른 프로젝트들도 자신의 권리를 소유자 또는 사용자에게 명확히 배분하기 쉬워집니다.
동시에 무허가 상호운용성 기반으로, 이 표준은 제3자 프로토콜이 NFT 발행사나 NFT 애플리케이션의 허가 없이도 NFT 사용권을 쉽게 관리할 수 있게 합니다. 한 프로젝트가 추가적인 사용자 역할을 채택하면, 다른 어떤 프로젝트라도 이러한 기능과 즉시 상호작용하고 자신만의 거래 유형을 구현할 수 있습니다. 예를 들어 이 표준을 사용하는 PFP형 NFT는 임대 플랫폼에 통합되어 사용자가 30일간 NFT를 임대할 수 있을 뿐 아니라, 담보 대출 플랫폼에도 통합되어 사용자가 NFT를 사용하면서 분할 결제로 소유권을 최종적으로 구매할 수도 있습니다. 이러한 모든 과정은 원본 PFP 프로젝트의 허가 없이도 가능합니다.
EIP-4907과 EIP-5006의 도입은 NFT의 응용 가치 확대 방향을 더욱 명확히 하며, 더 많은 창의적인 게임 방식, 응용 시나리오 및 파생 상품의 출현을 이끌 것입니다. 예를 들어 NFT 임대의 보편화는 GameFi 생태계의 플레이 방식을 더욱 풍부하게 만들고, 자금 회전율을 크게 향상시킬 것입니다. Axie와 같은 대규모 GameFi에서 실제로 온라인 시간을 기여하는 수많은 기초 플레이어들은 강제 이전이 아닌 낮은 신뢰 비용의 방식(비강제 이전형 임대)으로 게임 내 장비나 자원 권익 등을 임대받을 수 있게 됩니다. 많은 NFT가 더욱 실용적이게 될 것이며, 메타버스의 가상 토지는 "사용"될 수 있고, 게임 자산을 나타내는 NFT는 게임 내에서 "사용"될 수 있습니다. 어떤 경우에는 소유자와 사용자가 항상 동일하지 않을 수 있습니다. 즉, NFT 소유자가 이를 "사용자"에게 임대할 수 있는 것입니다. "사용자"가 NFT에 대해 수행할 수 있는 행동은 "소유자"와 달라야 합니다(예: "사용자"는 일반적으로 NFT 소유권을 팔 수 없음). 이러한 경우, 주소가 "소유자"인지 "사용자"인지 구분하고 이에 따라 행동 권한을 관리하는 별도의 역할 설정은 매우 의미 있는 일입니다.
EIP-5007: NFT에 시간 속성 부여
이 제안은 ERC-721 토큰 표준에 시작 시간(startTime)과 만료 시간(endTime)이라는 새로운 속성을 추가하는 것을 제안합니다. 이를 통해 체인 상에서 NFT의 시간 관리를 보다 간편하고 효율적으로 할 수 있습니다. 일부 NFT은 명확한 사용 기간이 있으며, 그 기간 외에는 사용할 수 없습니다. 시간 정보를 포함하지 않는 기존 NFT의 경우, 특정 시간에 토큰을 무효화하거나 활성화하려면 수동으로 트랜잭션을 제출해야 하며, 이 과정은 번거롭고 비용이 많이 듭니다. 또한 시간 함수 인터페이스의 불일치는 제3자 개발 플랫폼에 어려움을 줄 수 있습니다. 반면 이러한 함수(startTime, endTime)를 도입함으로써 체인 상에서 NFT의 자동 활성화 및 비활성화가 가능해집니다. 주요 코드는 아래와 같습니다:

이 기능은 NFT에 새로운 사용 사례를 제공할 수 있습니다. 예를 들어 NFT를 매개로 한 접근 서비스나 NFT 기반 구독 콘텐츠 애플리케이션 등인데, EIP-5007은 개발자가 설정된 시간 이후에 서비스 또는 콘텐츠 접근을 자동으로 취소할 수 있게 해줍니다. 이외에도 디지털 아트나 수집품에 프로토콜 확장을 적용할 수 있으며, NFT의 가치가 시간이 지남에 따라 감소할 수 있기 때문입니다. 만료 시간을 설정할 수 있는 능력은 NFT가 시간이 지남에 따라 "낡아지거나" 가치가 떨어지는 것을 방지하는 데 도움이 됩니다.
또한 언급할 만한 점은, 만료 시간이 제대로 실행되지 않거나 악의적인 행위자가 만료일 필드를 조작하려 할 경우, 제안된 솔루션이 보안 문제를 일으킬 수 있다는 것입니다. 따라서 만료일이 정확히 실행되도록 하고, NFT 소유자가 자산에 대해 불공정하게 접근이 차단되는 일이 없도록 추가적인 조치가 필요하다고 생각합니다.
EIP-5496: NFT 다중 권익 관리 확장
EIP-5496은 EIP-721 토큰 표준을 확장하여 NFT의 다중 권익 관리를 가능하게 합니다. 이 제안은 EIP-721을 확장하는 인터페이스를 정의하며, NFT가 여러 사람과 공유할 수 있는 권익을 제공합니다. 권익은 체인 상의 것(투표권, 에어드랍 요청 허가)일 수도 있고, 체인 외부의 것(온라인 상점 쿠폰, 현지 레스토랑 할인, 공항 라운지 입장 등)일 수도 있습니다. 각 NFT는 여러 권익을 포함할 수 있으며, 권익 보유자는 해당 권익을 타인에게 양도할 수 있습니다. 권익은 비공유형 또는 공유형일 수 있으며, 공유형 권익은 복제되어 복제 경로에 따라 세부 내용이 조정될 수 있습니다. 또한 각 권익에 대해 만료 시간을 설정할 수 있습니다. 주요 코드는 아래와 같습니다:

구체적인 권익 데이터 관리 과정은 두 개의 구조체를 중첩하여 사용합니다. 먼저 PrivilegeRecord를 정의하여 사용자 주소(address user)와 만료 시간(expiresAt) 두 필드를 저장하고, 다음으로 PrivilegeStorage를 정의하여 가장 최근의 만료 시간(LastExpiresAt)을 저장하며, mapping을 사용하여 권익 ID와 PrivilegeRecord를 연결합니다. 이와 같은 권익 ID화 방식은 매우 영리합니다. 권익 ID화 후에는 권익 검증이 매우 쉬워지며, 일일이 문자열을 비교하여 검증할 필요 없이 권익 ID만 확인하면 됩니다. 권익 내용은 변동이 잦은 편인데, 이를 체인 외부에 두고 권익 ID만 체인 상에 두면, 프로젝트팀이 권익을 변경할 때 가스 비용을 지불할 필요가 없습니다. 하지만 권익 ID화의 문제점은 이 NFT가 어떤 권익을 갖고 있는지 직관적으로 알 수 없다는 것이며, 이를 위해 제3자 제품이 отдельно 권익 내용 설정 및 조회 기능을 만들어 ID에 매핑하는 작업이 필요할 수 있습니다. 주요 코드는 아래와 같습니다:

이 프로토콜은 NFT에 부착된 권익을 실시간으로 효과적으로 관리할 수 있습니다. 많은 NFT의 기능은 단순한 프로필 이미지나 예술품 수집을 넘어서 다양한 시나리오에서 실제적인 유용성을 지닐 수 있습니다. 예를 들어, 한 패션 매장은 자신의 NFT 보유자에게 할인 혜택을 제공할 수 있고, DAO 멤버 NFT 보유자는 자금 운용 제안에 투표할 수 있으며, DApp은 특정 집단(예: 블루칩 NFT 보유자)을 유치하기 위해 에어드랍 이벤트를 만들 수 있습니다. 식료품점은 회원카드를 체인 상에서 NFT로 발행하여 고객이 매장에서 쇼핑할 때 특정 혜택을 제공할 수 있습니다. 발행사 입장에서 NFT에 다양한 권익을 부여할 수 있으며, NFT 소유자가 반드시 자신의 권익을 사용하고 싶어 하는 것은 아닙니다. 기존의 EIP-721 프로토콜은 NFT의 소유권 및 양도 과정만 기록할 수 있어 권익은 체인 상에 기록되지 않습니다. EIP-5496 확장을 통해 사업자/프로젝트는 권익을 체인 상에 기록하고 특정 집단에게 부여할 수 있으며, 권익 보유자는 각 권익을 독립적으로 관리할 수 있게 되어 프로젝트팀과 홀더 모두가 권익 관리 능력을 갖추게 되고, NFT의 실용적 가치가 해방되어 대규모 실제 응용 가능성이 열립니다.
EIP-5606: 멀티버스 NFT
EIP-5606은 디지털 자산(웨어러블 기기 및 게임 아이템 등)을 위한 멀티버스 NFT(Multiverse NFT) 표준 인터페이스를 정의하며, 각 플랫폼에서 위탁된 NFT를 색인할 수 있도록 합니다. 이러한 플랫폼은 메타버스, GameFi 또는 NFT 마켓플레이스일 수 있습니다. 이 표준은 멀티버스 NFT 내에서 이러한 위탁 NFT를 "묶기(bundling)" 및 "풀기(unbundling)"할 수 있도록 하여, 보유자가 개별적으로 또는 묶음 형태로 거래할 수 있게 합니다. 주요 코드는 아래와 같습니다:

EIP-5606이 도입한 멀티버스 NFT 개념은 다수의 플랫폼을 아우르는 디지털 자산을 나타냅니다. 멀티버스 NFT 계약은 새로운 종류의 토큰을 정의하며, 고유한 디지털 자산과 각 플랫폼의 대응 물(위탁 토큰이라고 부름) 사이의 관계를 유지합니다. 이 표준은 고유 ID 번호(멀티버스 토큰 ID)로 식별되는 위탁 NFT들의 집합인 '묶음(bundle)'이라는 간단한 개념을 도입합니다. DelegateData 구조체는 각 플랫폼의 위탁 NFT 토큰 정보를 포함하며, contractAddress, tokenId, 수량 등의 변수를 포함하여 ERC-721 또는 ERC-1155 표준을 따르는 NFT를 구분합니다. 묶기 및 풀기 함수는 부분 묶기/풀기를 지원하기 위해 DelegateData 구조체 배열을 입력받으며, 위탁 NFT의 개별 토큰 ID를 필요로 합니다. 오직 멀티버스 NFT의 소유자(또는 bundler 역할을 가진 주소)만이 묶기 함수를 호출할 수 있습니다.
Web3 생태계에서 NFT는 다양한 유형의 독특하고 대체 불가능한 자산을 나타내는 수단으로 발전해 왔습니다. 한 가지 유형의 자산은 서로 연결된 일련의 NFT로 구성될 수 있습니다. 예를 들어, 한 브랜드가 여러 플랫폼에서 새로운 운동화를 출시할 경우, 각 플랫폼에서 별도의 NFT로 민팅됩니다. 그러나 실질적으로는 동일한 운동화입니다. NFT의 플랫폼 간 상호운용성 부재는 해결해야 할 시급한 문제입니다. 멀티버스 NFT 표준을 만들면 다양한 플랫폼에서 디지털 자산의 색인 및 소유권을 관리할 수 있으며, 이는 플랫폼 간 상호운용성과 진정한 소유권 실현을 위한 첫걸음이 될 것입니다. 이 방향에서 EIP-5606 제안은 NFT와 플랫폼 간의 "진정한" 소유권 상호운용성 문제 해결을 위한 최초의 실질적 시도입니다.
EIP-6150: 계층형 NFT 표준 탄생
EIP-6150은 EIP-721 기반으로 확장된 프로토콜입니다. 파일 시스템과 유사한 다층 계층형 NFT 구조를 제안합니다. 이 프로토콜은 EIP-721 및 계약 기반으로 부모 NFT 또는 자식 NFT를 조회하고, NFT가 리프 노드인지 루트 노드인지 여부를 알려주는 새로운 인터페이스를 추가하며, 이들 간의 계층 관계를 유지합니다.所谓 NFT 간의 계층 관계란 모든 NFT가 계층 트리 구조를 형성한다는 의미입니다. 각 NFT는 트리 상의 하나의 노드이며, 루트 노드 또는 리프 노드, 혹은 부모 노드 또는 자식 노드일 수 있습니다. 주요 코드는 아래와 같습니다:

본 제안에서는 먼저 Minted 이벤트를 표준화하여 새로운 노드 민팅 시 부자 관계를 나타냅니다. 각 계층 트리에서 본 제안은 함수 parentOf를 정의하여 지정된 tokenId의 NFT 부모 노드를 조회하고, 함수 childrenOf를 정의하여 지정된 tokenId의 NFT의 모든 자식 노드를 조회합니다. 이를 통해 상위 및 하위 노드를 쉽게 조회할 수 있습니다. 또한 isRoot 및 isLeaf 함수는 각각 지정된 tokenId가 전체 NFT 계층 트리에서 루트 노드 또는 리프 노드인지 여부를 확인합니다.
또한 본 제안은 매우 꼼꼼하게 세 가지 선택적 확장 인터페이스를 추가하였습니다:
열거 가능 확장(IERC6150Enumerable)
본 제안은 세 함수를 표준화하여 자식 노드 관련 열거 가능한 조회를 지원하는 확장 기능으로 합니다. 각 함수는 param parentId를 가지며, 호환성을 위해 parentId가 0일 경우 루트 노드를 조회함을 의미합니다.
노드 소각 확장(IERC6150Burnable)
계층 관계 이전 확장(IERC6150ParentTransferable): 일부 경우(예: 파일 시스템) 디렉토리나 파일이 한 디렉토리에서 다른 디렉토리로 이동할 수 있으므로, 본 제안은 ParentTransferable 확장을 추가하여 이러한 경우를 지원합니다.
액세스 제어(IERC6150AccessControl)
계층 구조에서 일반적으로 하나 이상의 계정이 노드를 조작할 권한을 가지며(예: 민팅, 노드 이전, 노드 소각), 본 제안은 액세스 제어 권한을 확인하는 표준 기능을 추가합니다.
현재 대부분의 NFT는 평면적이며, 서로 다른 NFT 간의 연관 관계가 존재하지 않습니다. 반면 계층형 표준 NFT는 모든 NFT를 연결하여 트리 구조를 형성할 수 있으며, 마치 파일 시스템과 같습니다. 계층형 NFT는 조직 구조, 소셜 관계도, 전자상거래 상품 카테고리 구조, 계층형 댓글 시스템 등 다양한 시나리오에 적용될 수 있습니다.


말하자면, 계층 구조를 갖춘 모든 시나리오는 이 EIP-6150 프로토콜 표준을 적용할 수 있습니다. 계층형 NFT는 탈중앙화 소셜, 탈중앙화 전자상거래 분야에서 광범위하게 활용될 가능성이 있습니다. 이더리움 생태계 내에서 단일 스마트 계약이 루트가 되어 각 디렉토리/카테고리를 별도의 NFT 및 NFT 계층 관계로 관리할 수 있습니다. 각 NFT의 tokenURI는 다른 계약 주소, 웹사이트 링크 또는 어떤 형태의 메타데이터일 수 있습니다. 단 하나의 계약으로 계층 관계를 관리하고 조작할 수 있으며, 머지않아 이더리움의 데이터 가용성 솔루션과 외부 무허가 데이터 보존 네트워크의 발전과 함께, 조직 구조를 관리하는 체인 상 기업이 가능해져 완전한 탈중앙화 애플리케이션이 실현될 수 있습니다.
이상은 최근 이더리움 NFT 프로토콜의 최신 내용입니다. 본 원고 작성 시점 기준, EIP-5007과 EIP-5496은 여전히 Last Call 단계에 있으며, EIP-4955, EIP-5006, EIP-5606, EIP-6150은 Last Call에서 Final 단계로 넘어갔습니다. 전반적으로 이러한 신규 프로토콜의 승인은 NFT의 혁신성과 실용성 측면에서 큰 기여를 하고 있습니다. 현재 NFT는 이미 PFP 단계를 지났으며, Web3의 여정은 우주를 향해 나아가고 있습니다. 혁신은 끊임없이 일어나고 있으며, NFT의 다음 서사는 무엇으로 열릴 것인지, 우리는 이러한 프로토콜들을 통해 NFT의 미래가 점점 더 실질적이고 응용 가능한 방향으로 발전하고 있음을 엿볼 수 있습니다. 머지않아 NFT 기술 자체가 게임, 보험, 부동산 거래, 유료 광고, 투표, 소셜 플랫폼, 비디오 미디어 등 우리 삶의 모든 측면을 바꾸게 될 것입니다. NFT는 더 이상 암호화의 '일부'가 아닙니다. 향후 몇 년 안에 현실 세계와 밀접하게 연결된 암호화 분야의 유일한 실질적 응용이 될 가능성이 큽니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














