ERC-2981은 이더리움 생태계에서 비대체 토큰(NFT)의 재판매 시 제작자에게 로열티를 지급하기 위한 표준화된 인터페이스를 제공하는 이더리움 개선 제안(EIP)입니다 [1]. 이 표준은 ERC-721 및 ERC-1155와 같은 기존 NFT 표준과 호환되며, royaltyInfo(uint256 tokenId, uint256 salePrice) 함수를 통해 로열티 수령 주소와 금액을 명확히 전달할 수 있도록 설계되었습니다 [2]. ERC-2981은 로열티를 강제하는 메커니즘이 아니라, 시장이 로열티 정보를 자동으로 인식하고 처리할 수 있도록 하는 신호(signaling) 표준입니다. 이로 인해 OpenSea, Rarible, Art Blocks 등의 주요 NFT 마켓플레이스들이 일관된 방식으로 제작자 보상을 지원할 수 있게 되었으며, 이더리움 기반 디지털 아트 및 컬렉티블 생태계의 투명성과 상호 운용성을 크게 향상시켰습니다 [3]. 그러나 이 표준은 마켓플레이스의 자발적 준수에 의존하므로, Blur와 같은 로열티 없는 플랫폼의 등장으로 인해 실제 로열티 지급이 불확실해지는 문제도 존재합니다 [4]. 그럼에도 불구하고, OpenZeppelin과 같은 주요 개발 라이브러리에서 공식 지원함으로써 광범위하게 채택되었으며, 스마트 계약 수준에서 로열티 구조를 정의하고자 하는 제작자들에게 핵심적인 도구로 자리 잡았습니다 [5].
ERC-2981의 정의와 목적
ERC-2981은 이더리움 생태계에서 비대체 토큰(NFT)의 재판매 시 제작자에게 로열티를 지급하기 위한 표준화된 인터페이스를 제공하는 이더리움 개선 제안(EIP)입니다 [1]. 이 표준은 기존의 ERC-721 및 ERC-1155와 같은 NFT 표준과 호환되며, royaltyInfo(uint256 tokenId, uint256 salePrice) 함수를 통해 로열티 수령 주소와 금액을 명확히 전달할 수 있도록 설계되었습니다 [2]. ERC-2981의 핵심 목적은 NFT 시장에서 로열티 지급의 불확실성과 비일관성을 해결하고, 제작자들이 디지털 작품의 이차 판매로부터 지속적인 수익을 창출할 수 있는 기반을 마련하는 것입니다.
문제 해결을 위한 신호(signaling) 표준
ERC-2981 이전에는 NFT 시장에서 제작자 로열티를 처리하는 통일된 방법이 존재하지 않았습니다. 각 프로젝트가 자체적인 방식으로 로열티 정보를 저장하거나, 오프체인 계약에 의존함으로써 플랫폼 간 호환성이 부족하고, 제작자가 자신의 작품이 거래될 때마다 신뢰성 있게 로열티를 받는 것이 어려웠습니다 [8]. 이로 인해 NFT의 이동성이 제한되고, 제작자들의 경제적 보상 구조가 불안정해지는 문제가 발생했습니다.
ERC-2981은 이러한 분열을 해결하기 위해 도입된 신호(signaling) 표준입니다. 이는 로열티를 자동으로 징수하거나 강제하는 메커니즘이 아니라, NFT 스마트 계약이 로열티 정보를 일관된 형식으로 외부에 전달하는 역할을 합니다. 시장(시장)이나 기타 플랫폼은 ERC-2981을 지원하는 NFT 계약을 조회하여, 특정 작품이 판매될 때 얼마의 로열티가 누구에게 지급되어야 하는지 자동으로 인식할 수 있습니다. 이는 로열티 정보의 투명성과 접근성을 높이며, 이더리움 기반 디지털 아트 및 컬렉티블 생태계 전반의 상호 운용성을 크게 향상시킵니다 [9].
제작자 중심의 경제 모델 지원
ERC-2981의 도입은 디지털 창작자 경제의 패러다임을 변화시키는 데 기여했습니다. 전통적인 예술 시장에서는 작품이 초도 판매 이후 가치가 상승하더라도 원작자에게 추가 수익이 돌아가지 않는 경우가 많습니다. ERC-2981은 이 문제를 해결하여, 제작자가 자신의 작품이 이차 시장에서 거래될 때마다 일정 비율의 수수료를 받을 수 있도록 합니다. 이는 단발성 판매 수익에 의존하던 모델에서 벗어나, 장기적인 수익 창출이 가능한 지속 가능한 경제 모델을 가능하게 합니다 [10].
이러한 기능은 특히 디지털 아티스트, 게임 개발자, 콘텐츠 제작자 등 창의적인 작업을 통해 가치를 창출하는 이들에게 중요한 도구가 되었습니다. 제작자는 스마트 계약 수준에서 로열티 구조를 명확히 정의함으로써, 자신의 작품이 얼마나 거래되든 상관없이 지속적인 보상을 받을 수 있는 기대를 가질 수 있게 되었습니다. 이는 창작 활동에 대한 인센티브를 강화하고, 더 높은 품질의 디지털 콘텐츠 생산을 유도하는 긍정적인 효과를 가져왔습니다.
기술적 특성과 한계
ERC-2981은 주로 신호 전달 기능에 초점을 맞춘 가볍고 단순한 인터페이스입니다. 이는 스마트 계약 개발자들이 쉽게 구현할 수 있도록 하며, OpenZeppelin과 같은 주요 개발 라이브러리에서 공식적으로 지원함으로써 광범위한 채택을 가능하게 했습니다 [5]. 그러나 이 표준은 시장의 자발적인 준수에 의존하므로, 로열티 지급이 보장되는 것은 아닙니다. Blur와 같은 로열티 없는 플랫폼의 등장은 ERC-2981의 이러한 한계를 극명하게 보여주는 사례입니다 [4]. 그럼에도 불구하고, ERC-2981은 로열티 정보의 표준화라는 근본적인 문제를 해결함으로써, NFT 생태계의 기반 인프라로서의 역할을 성공적으로 수행하고 있습니다.
핵심 기능 및 royaltyInfo 함수
ERC-2981의 핵심 기능은 비대체 토큰(NFT)의 재판매 시 제작자에게 로열티를 지급하기 위한 표준화된 신호(signaling) 메커니즘을 제공하는 것입니다. 이 표준은 기존의 ERC-721 및 ERC-1155 토큰 표준과의 상호 운용성을 보장하며, royaltyInfo 함수를 통해 로열티 수령 주소와 금액을 명확하게 전달할 수 있도록 설계되었습니다 [1]. 이 함수는 시장이 로열티 정보를 자동으로 인식하고 처리할 수 있도록 하여, 제작자 보상의 일관성과 투명성을 크게 향상시킵니다.
royaltyInfo 함수의 작동 원리
royaltyInfo 함수는 ERC-2981 표준의 중심이 되는 유일한 필수 함수로, NFT 재판매 시 로열티를 계산하고 전달하는 데 사용됩니다. 이 함수는 다음과 같은 시그니처를 가집니다:
function royaltyInfo(uint256 tokenId, uint256 salePrice)
external view returns (address receiver, uint256 royaltyAmount);
이 함수는 두 가지 입력값을 받습니다:
tokenId: 재판매되는 NFT의 고유 식별자salePrice: NFT의 판매 가격 (예: ETH의 wei 단위)
그리고 두 가지 출력값을 반환합니다:
receiver: 로열티를 수령할 이더리움 주소royaltyAmount: 계산된 로열티 금액
예를 들어, 로열티 비율이 5%로 설정되어 있고 NFT가 1 ETH에 판매된다면, 함수는 royaltyAmount로 0.05 ETH(또는 50,000,000,000,000,000 wei)를 반환합니다 [1]. 이 방식은 시장이 판매 가격에 따라 정확한 로열티를 계산할 수 있도록 하며, 제작자가 설정한 조건에 따라 자동으로 지급 프로세스를 유도합니다.
표준화된 인터페이스와 ERC-165
ERC-2981은 ERC-165 표준을 기반으로 하며, 이는 스마트 계약이 지원하는 인터페이스를 공개적으로 알릴 수 있도록 합니다. ERC-2981을 준수하는 계약은 supportsInterface 함수를 통해 0x2a55205a라는 인터페이스 식별자를 사용하여 로열티 기능을 지원함을 명시해야 합니다. 이는 시장이 주어진 NFT 계약이 로열티를 지원하는지 여부를 신뢰성 있게 감지할 수 있도록 하여, 자동화된 로열티 처리를 가능하게 합니다 [1].
구현과 사용 사례
실제 구현에서는 일반적으로 다음의 내부 로직을 포함합니다:
- 로열티 수령 주소를 저장
- 로열티 수수료를 정의 (보통 1% = 100 기준점(basis points)으로 표현)
- 모든 토큰에 대해 일관되게 적용되거나, 필요 시 토큰별로 다르게 설정
주요 개발 프레임워크인 OpenZeppelin은 ERC721Royalty와 같은 사용 가능한 구현체를 제공하여, 개발자가 ERC-721 계약에 쉽게 ERC-2981 기능을 통합할 수 있도록 지원합니다 [16]. 이러한 라이브러리는 로열티 구현의 복잡성을 줄이고, 보안 감사를 거친 코드를 사용함으로써 오류를 최소화합니다.
주요 특성과 제한 사항
- 신호(signaling) 메커니즘: ERC-2981은 강제 메커니즘이 아니라 신호 표준입니다. 이는 시장이 로열티 의무를 인식하도록 하지만, 지급을 강제하지는 않습니다. 준수 여부는 시장의 정책에 달려 있습니다 [1].
- 단일 수령자 제한: 이 표준은 각 토큰당 하나의 로열티 수령자만 지원하므로, 다수의 당사자 간 수익 분배를 필요로 하는 사용 사례에는 한계가 있습니다 [18].
- 정적 비율: 로열티 비율은 일반적으로 계약 배포 시 고정되며, 쉽게 변경할 수 없습니다. 일부 확장 기능은 특정 조건 하에서 업데이트를 허용하기도 합니다.
- 가스 효율성:
royaltyInfo함수는 상태를 변경하지 않는view함수이므로, 호출 시 가스 비용이 낮고, 시장이 오프체인으로 쿼리할 수 있어 효율적입니다 [19].
이러한 특성들은 ERC-2981이 단순하고 효율적이며 광범위하게 채택될 수 있도록 하지만, 동시에 강제성과 유연성의 부족이라는 근본적인 도전 과제를 내포하고 있습니다.
ERC-721 및 ERC-1155와의 통합
ERC-2981은 기존의 비대체 토큰(NFT) 표준인 ERC-721 및 ERC-1155와의 상호 운용성을 중심으로 설계된 인터페이스입니다. 이 표준은 새로운 토큰 생성 방식을 제안하는 것이 아니라, 기존 토큰 계약에 로열티 정보를 신호로 전달하는 기능을 추가함으로써 생태계 전반에 걸쳐 일관된 로열티 구조를 가능하게 합니다 [1]. 이러한 설계는 기존의 수많은 NFT 프로젝트들이 새로운 계약을 배포하지 않고도 로열티 기능을 도입할 수 있도록 하여, 채택 장벽을 크게 낮추는 데 기여했습니다.
ERC-721과의 통합 방식
ERC-2981은 ERC-721 계약에 원활하게 통합될 수 있도록 설계되었습니다. 개발자는 기존의 ERC-721 계약에 IERC2981 인터페이스를 상속하고, royaltyInfo(uint256 tokenId, uint256 salePrice) 함수를 구현함으로써 로열티 기능을 추가할 수 있습니다. 이 함수는 특정 토큰 ID와 판매 가격을 입력으로 받아, 로열티 수령 주소(receiver)와 금액(royaltyAmount)을 반환합니다 [2]. 예를 들어, 로열티 비율이 5%로 설정되어 있고 NFT가 1 이더리움에 판매된다면, 이 함수는 0.05 ETH의 로열티 금액을 반환합니다. OpenZeppelin과 같은 주요 라이브러리는 ERC721Royalty와 같은 확장 기능을 제공하여, 전역 로열티 비율이나 토큰별 로열티 설정을 쉽게 구현할 수 있도록 지원합니다 [22]. 이는 개발자가 복잡한 커스텀 로직을 작성하지 않고도 안전하고 검증된 방식으로 통합할 수 있음을 의미합니다.
ERC-1155와의 통합 방식
ERC-2981은 다중 토큰 유형을 지원하는 ERC-1155 표준과도 호환됩니다. ERC-1155 계약은 여러 종류의 토큰(비대체, 반대체 등)을 하나의 계약 내에서 관리할 수 있기 때문에, 로열티 통합 시 추가적인 고려 사항이 필요합니다. 통합은 ERC-721과 유사한 패턴을 따릅니다. 개발자는 royaltyInfo 함수를 구현하고, EIP-165 표준에 따라 supportsInterface 함수를 통해 ERC-2981 인터페이스를 지원함을 명시해야 합니다 [1]. 중요한 점은 ERC-1155는 safeBatchTransferFrom과 같은 배치 전송 기능을 지원하기 때문에, 마켓플레이스는 번들 거래에서 각 토큰에 대해 별도로 royaltyInfo를 조회하여 총 로열티 금액을 정확히 계산해야 한다는 것입니다 [24]. 이는 단일 토큰 거래보다 더 복잡한 처리를 요구하지만, ERC-2981의 간결한 인터페이스는 이러한 통합을 가능하게 합니다.
통합을 위한 핵심 고려 사항
ERC-2981을 ERC-721 또는 ERC-1155 계약에 성공적으로 통합하기 위해서는 여러 가지 기술적 고려 사항이 있습니다. 첫째, 계약은 반드시 supportsInterface 함수를 올바르게 구현하여 ERC-2981의 인터페이스 ID(0x2a55205a)에 대해 true를 반환해야 합니다. 이는 OpenSea, Rarible 등의 마켓플레이스가 계약이 로열티를 지원하는지 자동으로 감지할 수 있도록 하는 핵심 메커니즘입니다 [25]. 둘째, royaltyInfo 함수는 view 함수여야 하며, 가스 효율성을 위해 간단하고 가벼운 로직을 유지하는 것이 중요합니다. 저장소 읽기나 복잡한 계산을 피함으로써, 마켓플레이스가 이 함수를 자주 호출할 수 있도록 해야 합니다 [4]. 셋째, 로열티 설정(예: 수령 주소 및 비율)은 적절한 접근 제어(예: Ownable 패턴)를 통해 보호되어야 하며, 무단 변경으로부터 계약을 보호해야 합니다. 마지막으로, 레거시 계약을 업그레이드하는 경우 프록시 패턴을 사용하여 기존 기능을 유지하면서 ERC-2981 기능을 안전하게 추가할 수 있습니다 [27]. 이러한 최적화와 보안 조치는 로열티 시스템의 신뢰성과 지속 가능성을 보장하는 데 필수적입니다.
주요 마켓플레이스의 지원 현황
ERC-2981은 비대체 토큰(NFT)의 재판매 시 제작자에게 로열티를 지급하기 위한 표준화된 신호(signaling) 인터페이스로, 주요 NFT 마켓플레이스들의 광범위한 지원을 통해 채택이 확산되고 있습니다. 이 표준은 로열티를 강제하는 메커니즘이 아니라, 시장이 로열티 정보를 자동으로 인식하고 처리할 수 있도록 하는 기술적 기반을 제공합니다. 따라서 각 마켓플레이스의 정책과 기술적 구현 여부가 실제 로열티 지급 여부를 결정짓는 핵심 요소가 됩니다.
주요 플랫폼의 지원 현황
여러 주요 NFT 마켓플레이스가 ERC-2981을 인식하거나 지원하고 있습니다. OpenSea는 ERC-2981과의 스마트 계약(스마트 계약) 통합을 통해 로열티 정보를 지원하며, 지속적인 개발을 통해 네이티브 지원을 개선하고 있습니다 [28]. 그러나 2023년 이후 운영자 필터(Operator Filter)를 폐지하면서 로열티 지급이 선택 사항이 되었고, 이는 로열티 강제 집행의 불확실성을 높였습니다 [4]. Rarible는 ERC-2981을 인식하여 제작자가 정의한 로열티 조건을 준수할 수 있도록 하고 있으며, 특히 커뮤니티 마켓플레이스 프로그램(Community Marketplace Program)을 통해 로열티를 강제 집행함으로써 제작자 친화적인 플랫폼으로서의 입지를 강화하고 있습니다 [30].
Nifty Gateway는 ERC-2981을 통해 온체인 로열티를 지원하며, 재판매 시 자동으로 제작자에게 로열티를 지급할 수 있도록 구현하고 있습니다 [31]. KnownOrigin은 ERC-2981을 공식적으로 채택하여 표준화된 로열티 지급을 지원함으로써 제작자의 수익 창출을 강화하고 있습니다 [3]. Art Blocks는 코어 계약에 ERC-2981을 통합하여, 로열티 정보가 보조 마켓플레이스에서도 접근 가능하고 호환되도록 보장하고 있습니다 [33]. 또한, Reservoir와 같은 인프라 제공업체는 ERC-2981을 명시적으로 지원하여, 마켓플레이스들이 로열티 신호를 읽고 이에 따라 행동할 수 있는 기반을 마련하고 있습니다 [34].
지원의 불일치와 로열티 없는 플랫폼의 등장
그러나 마켓플레이스 간의 지원 수준은 일관되지 않습니다. ERC-2981은 신호 표준일 뿐이며, 로열티 지급을 강제하지 않기 때문에 각 플랫폼의 정책에 따라 준수 여부가 결정됩니다. 이로 인해 로열티 지급이 불확실해지는 문제를 초래합니다. 특히, Blur와 같은 로열티 없는 플랫폼의 등장은 기존의 로열티 모델에 큰 도전을 제기하고 있습니다. Blur는 전문 트레이더들을 중심으로 성장하며, 로열티 없는 거래를 허용함으로써 거래 수수료를 낮추고 유동성을 높이는 전략을 취하고 있습니다. 이는 제작자들의 수익에 직접적인 타격을 주었으며, 예를 들어 Yuga Labs는 Blur의 성장 이후 보조 시장에서의 로열티 수입이 급감한 것으로 보고되었습니다 [35].
이러한 플랫폼들의 등장은 로열티가 시장 경쟁력에 부정적인 영향을 줄 수 있다는 인식을 확산시키며, 마켓플레이스들이 로열티 집행 여부를 결정할 때 경제적 인센티브를 고려하게 만듭니다. 로열티를 없애면 거래 비용이 낮아져 구매자와 판매자 모두에게 더 매력적인 환경을 제공할 수 있으며, 이는 단기적으로 거래량을 증가시키는 효과를 가져옵니다. 이로 인해 제작자 보상과 사용자 편의성 사이의 균형을 맞추는 것이 마켓플레이스들의 중요한 정책적 과제가 되었습니다.
기술적 인식과 실제 집행의 차이
마켓플레이스가 ERC-2981을 "지원"한다고 해서 반드시 로열티를 지급한다는 의미는 아닙니다. 기술적으로는 royaltyInfo 함수를 통해 로열티 정보를 인식할 수 있지만, 이를 실제로 거래 과정에 반영하고 자금을 분배하는 것은 별도의 정책적 결정입니다. 일부 플랫폼은 ERC-2981을 인식하여 로열티 정보를 표시하지만, 구매자가 이를 무시하고 거래를 진행할 수 있도록 허용합니다. 이는 "로열티 세탁(royalty washing)"이라는 윤리적 문제를 야기하며, 제작자와 컬렉터 간의 신뢰를 훼손할 수 있습니다 [36]. 따라서 제작자들은 단순히 ERC-2981을 구현하는 것 외에도, 로열티를 실제로 집행하는 마켓플레이스를 선택하거나, ERC-721C와 같은 온체인에서 로열티를 강제 집행하는 새로운 표준을 채택하는 등의 전략적 접근이 필요합니다.
채택률과 산업 내 영향
ERC-2981은 이더리움 기반 비대체 토큰(NFT) 생태계에서 제작자 로열티를 표준화하기 위한 핵심 인프라로 자리 잡으며 광범위한 채택을 이끌어냈습니다. 2020년 9월 도입 이후, 이 표준은 다양한 블록체인 및 레이어 2 네트워크 전반에 걸쳐 확산되며, 디지털 아트, 컬렉티블, 게임 자산 등 다양한 분야에서 로열티 구조의 투명성과 상호 운용성을 크게 향상시켰습니다 [1]. 초기에는 각 프로젝트가 자체적인 로열티 구현 방식을 사용하여 플랫폼 간 호환성 문제가 심각했으나, ERC-2981의 등장으로 이러한 단편화가 완화되었습니다. 주요 스마트 계약(스마트 계약) 개발 라이브러리인 OpenZeppelin이 공식적으로 IERC2981 인터페이스를 제공함에 따라, 개발자들은 검증된 코드를 활용해 안정적으로 로열티 기능을 통합할 수 있게 되었고, 이는 채택률을 가속화하는 데 결정적인 역할을 했습니다 [5].
주요 마켓플레이스의 채택 현황
다수의 주요 NFT 마켓플레이스들이 ERC-2981을 인식하고 지원함으로써, 이 표준은 사실상 업계의 디팩토(de facto) 표준으로 자리 잡았습니다. OpenSea는 초기에는 로열티 강제 기능을 약화시키는 정책을 발표하며 논란을 일으켰으나, ERC-2981 인터페이스 자체에 대한 기술적 지원은 지속적으로 유지하고 있으며, 새로운 컬렉션을 위한 온체인 로열티 강제 도구를 도입하는 등 복잡한 입장을 보이고 있습니다 [39]. Rarible은 커뮤니티 마켓플레이스 프로그램(CMP)을 통해 로열티를 강제로 시행하며, 제작자 친화적인 플랫폼으로서의 입지를 강화하고 있습니다 [30]. Art Blocks는 자체 코어 계약에 ERC-2981을 통합하여, 제작자가 로열티 정보를 안정적으로 제공할 수 있도록 하고 있으며, 이를 통해 0xSplits와 같은 제3자 서비스와 연동해 다중 수령처로의 로열티 분배를 가능하게 합니다 [33]. 그 외에도 Nifty Gateway, KnownOrigin, Reservoir 등이 ERC-2981을 지원하거나 인식하며, 로열티 정보를 자동으로 처리할 수 있는 인프라를 제공하고 있습니다 [31]. 이러한 광범위한 지원은 제작자들이 자신의 로열티 조건이 다양한 플랫폼에서 일관되게 인식될 수 있도록 보장합니다.
산업 전반에 미친 영향
ERC-2981의 채택은 디지털 창작자의 경제적 지속 가능성을 높이는 데 중요한 기여를 했습니다. 이 표준을 통해 제작자들은 단일 판매에 의존하는 모델에서 벗어나, NFT가 재판매될 때마다 수익을 얻는 지속적인 수익 모델을 구축할 수 있게 되었습니다. 이는 전통적인 예술 시장의 재판매 권리(droit de suite) 개념을 블록체인 환경에 적용한 것으로, 창작자에게 작품의 가치 상승에 대한 정당한 보상을 제공합니다 [43]. 산업 보고서에 따르면, 2026년 기준 새로운 NFT 마켓플레이스의 약 73% 가 ERC-2981을 지원하며, 약 43% 의 NFT 제작자가 이 표준을 활용해 동적 로열티를 구현하고 있습니다 [44]. 이는 ERC-2981이 산업 내에서 핵심적인 역할을 하고 있음을 보여줍니다. 그러나 이 표준은 신호(signaling) 기능에 국한되어 있어, 실제 로열티 지급은 각 마켓플레이스의 정책에 달려 있습니다. 이로 인해 Blur와 같은 로열티 없는 플랫폼의 등장은 제작자 수익에 큰 타격을 주었으며, ERC-2981의 효과를 제한하는 주요 요인으로 작용하고 있습니다 [4]. 이러한 현실은 산업이 단순한 신호 표준을 넘어, 온체인에서 강제 가능한 새로운 표준(ERC-721C, ERC-4910)으로 진화해야 할 필요성을 부각시키고 있습니다 [46].
기술적 한계와 도전 과제
ERC-2981은 비대체 토큰(NFT)의 재판매 시 제작자에게 로열티를 지급하기 위한 표준화된 신호(signaling) 인터페이스를 제공하지만, 이 표준은 여러 가지 중요한 기술적 한계와 도전 과제를 내포하고 있습니다. 이러한 문제들은 주로 강제성 부족, 시장의 일관성 없는 지원, 유연성 제한, 구현의 복잡성, 보안 문제, 기존 계약과의 호환성 등에서 비롯됩니다. 이러한 한계는 제작자와 마켓플레이스 모두에게 실질적인 영향을 미치며, 장기적인 로열티 수익 모델의 안정성에 부정적인 영향을 줄 수 있습니다 [18].
자발적 준수와 강제성 부재
ERC-2981의 가장 근본적인 기술적 한계는 강제 메커니즘의 부재입니다. 이 표준은 로열티 정보를 전달하는 신호(signaling) 기능만을 제공하며, 마켓플레이스가 실제로 로열티를 지급하도록 강제하지 않습니다 [18]. royaltyInfo 함수는 로열티 수령 주소와 금액을 명확히 전달할 수 있지만, 이 정보를 따를지 여부는 전적으로 마켓플레이스의 정책에 달려 있습니다. 이로 인해 OpenSea와 같은 주요 플랫폼이 로열티를 선택적으로 적용하거나 완전히 무시하는 경우가 발생하며, 제작자의 예상 수익이 불확실해집니다 [49]. 이러한 자발적 준수 모델은 이더리움(이더리움)의 검열 저항성 원칙과는 일치하지만, 제작자 보상이라는 핵심 목표를 달성하는 데 있어 심각한 제약을 초래합니다.
마켓플레이스 지원의 불일치
마켓플레이스 간의 지원 불일치는 또 다른 주요 도전 과제입니다. ERC-2981은 보편적인 호환성을 목표로 하지만, 실제로는 플랫폼마다 지원 수준이 크게 다릅니다. 일부 마켓플레이스는 이 표준을 완전히 존중하지만, 다른 플랫폼은 부분적으로만 구현하거나 아예 무시합니다 [50]. 이러한 분열은 제작자에게 불확실성을 초래하며, 자신의 NFT가 거래되는 모든 플랫폼에서 로열티가 존중될 것이라는 보장을 할 수 없습니다. 예를 들어, Blur와 같은 로열티 없는 마켓플레이스의 등장은 ERC-2981의 효과를 크게 약화시키는 요인으로 작용하고 있습니다 [35]. 또한, 마켓플레이스가 표준을 잘못 구현하거나 해석하는 경우, 로열티가 잘못 지급되거나 표시되지 않는 등의 오류가 발생할 수 있습니다 [44].
로열티 구조의 유연성 제한
ERC-2981은 정적이고 단일 수령자 모델에 국한되어 있어, 복잡한 수익 분배 구조를 지원하는 데 한계가 있습니다. 이 표준은 일반적으로 하나의 고정된 비율을 하나의 지정된 주소로 지급하는 방식만을 지원합니다. 이는 다음의 복잡한 로열티 요구사항을 충족시키기 어렵게 만듭니다:
- 가격대별로 다른 비율을 적용하는 계층형 로열티(tiered royalties)
- 시간이 지남에 따라 로열티 비율이 감소하는 시간 기반 변경
- 아티스트, 개발자, 투자자 간에 수익을 분배하는 다자간 수익 공유(multi-party revenue sharing)
- 소유 기간이나 거래량에 따라 조건부로 로열티를 지급하는 동적 조건
이러한 제약은 지적 재산권(지적 재산권) 라이선싱 모델이나 더 정교한 수익화 전략이 필요한 프로젝트들에게는 적합하지 않습니다 [18]. 이 문제를 해결하기 위해 일부 프로젝트는 0xSplits와 같은 제3자 서비스를 활용하여 다자간 로열티 분배를 구현하고 있습니다 [33].
기술 구현의 복잡성과 보안 문제
ERC-2981을 올바르게 구현하는 것은 기술적인 도전을 수반합니다. 개발자는 다음과 같은 요건을 정확히 준수해야 합니다:
royaltyInfo함수가 유효한 수령 주소와 로열티 금액을 반환해야 합니다.supportsInterface함수가 ERC-2981 인터페이스 ID(0x2a55205a)에 대해true를 반환해야 하여, 마켓플레이스가 이 표준을 지원하는지 확인할 수 있어야 합니다 [19].- 기존의 ERC-721 또는 ERC-1155 토큰 표준과 깔끔하게 통합되어야 합니다.
이러한 구성 요소 중 하나라도 잘못 구현되면, 로열티 데이터가 마켓플레이스에 인식되지 않을 수 있습니다. 또한, 스마트 계약(스마트 계약)의 특성상 잘못된 구현은 보안 취약점을 초래할 수 있으며, 로열티 금액 계산 오류, 자금 잠금, 민감한 함수 노출 등의 문제가 발생할 수 있습니다 [2]. 이러한 위험을 줄이기 위해, OpenZeppelin과 같은 잘 검증된 라이브러리를 사용하는 것이 강력히 권장됩니다 [5].
기존 계약과의 호환성 문제
ERC-2981이 도입되기 이전(2020년 이전)에 출시된 많은 NFT 프로젝트들은 이 표준을 지원하지 않습니다. 이러한 레거시 계약에 ERC-2981 기능을 추가하기 위해서는 새로운 계약을 배포하거나 프록시 패턴을 사용해야 하며, 이는 비용이 많이 들고 기술적으로 복잡할 수 있습니다 [58]. 더욱이, 기존 계약을 업그레이드하여 ERC-2981을 추가하더라도, supportsInterface 함수가 제대로 업데이트되지 않으면 마켓플레이스가 이를 인식하지 못할 수 있습니다. 이는 기존 NFT 컬렉션의 제작자들이 새로운 로열티 표준의 혜택을 누리기 어렵게 만드는 장벽이 됩니다.
가스 효율성과 구현 최적화
ERC-2981은 비대체 토큰(NFT)의 재판매 시 제작자에게 로열티를 지급하기 위한 표준화된 신호(signaling) 인터페이스를 제공하지만, 그 구현 과정에서 발생할 수 있는 가스 비용과 효율성 문제는 개발자들에게 중요한 고려사항입니다. 이 표준은 royaltyInfo(uint256 tokenId, uint256 salePrice) 함수를 통해 로열티 수령 주소와 금액을 반환하도록 설계되어 있으며, 이 함수의 호출은 거래의 일부로 발생할 수 있으므로, 가스 효율성은 전반적인 사용자 경험과 거래 비용에 직접적인 영향을 미칩니다 [1]. 따라서 개발자들은 ERC-2981을 구현할 때 가스 소비를 최소화하고, 스마트 계약(스마트 계약)의 성능을 최적화하기 위한 전략을 수립해야 합니다.
가스 효율성 도전 과제
ERC-2981을 구현함으로써 발생하는 주요 가스 효율성 도전 과제는 추가적인 계산 및 스토리지 작업에 기인합니다. royaltyInfo 함수는 판매 가격과 토큰 ID를 기반으로 로열티 금액을 계산해야 하며, 이는 단순하지만 여전히 표준 ERC-721 구현보다 가스 오버헤드를 증가시킵니다 [60]. 이 오버헤드는 일반적으로 몇 퍼센트 정도로 관리 가능하지만, 로열티 데이터의 저장 및 접근 방식에 따라 달라질 수 있습니다. 특히, 로열티 계산에 복잡한 로직이나 반복문을 사용하면 가스 비용이 예측 불가능하게 증가할 수 있습니다. 또한, 이 함수는 종종 마켓플레이스가 거래를 처리하기 전에 호출하는 오프체인 조회용으로 사용되지만, 일부 프로토콜은 이를 온체인에서 호출할 수 있으므로, 함수의 가스 효율성은 필수적입니다 [2].
구현 최적화 전략
가스 소비를 최소화하기 위해 개발자는 다음과 같은 최적화 전략을 따르는 것이 좋습니다. 첫째, 로열티 비율을 고정된 값(예: 기준점(basis points)으로)으로 스토리지에 저장해야 합니다. uint96 또는 uint16과 같은 작은 정수형을 사용하여 기준점을 저장하면, 매 호출 시 비율을 재계산할 필요 없이 미리 계산된 값을 사용할 수 있습니다 [62]. 둘째, 계산을 단순화하기 위해 상수 분모(일반적으로 기준점의 10,000)를 사용해야 합니다. 예를 들어, royaltyAmount = (salePrice * royaltyBasisPoints) / 10000;라는 공식은 동적 스케일링 로직을 피하고 계산 복잡성을 줄여줍니다 [60]. 셋째, 자주 접근하는 스토리지 변수는 메모리에 캐싱하여 스토리지 읽기 횟수를 최소화해야 합니다. 넷째, royaltyInfo 함수는 상태를 변경하지 않는 view 함수로 유지되어야 하며, 외부 호출, 조건부 분기 또는 루프와 같은 복잡한 로직은 피해야 합니다. 이는 가스 사용량을 빠르고 예측 가능하게 유지합니다 [62].
후방 호환성 및 인터페이스 검출
ERC-2981의 성공적인 구현은 후방 호환성과 올바른 인터페이스 검출에 크게 의존합니다. 이 표준은 인터페이스 검출을 위해 EIP-165를 활용합니다. 계약은 supportsInterface(bytes4 interfaceId) 함수를 올바르게 구현하고, ERC-2981 인터페이스 ID(0x2a55205a)에 대해 true를 반환해야 합니다. 이 선언을 누락하면, royaltyInfo 함수가 구현되어 있어도 OpenSea와 같은 마켓플레이스가 로열티 지원을 인식하지 못할 수 있으며, 결과적으로 제작자 수수료가 지불되지 않거나 무시될 수 있습니다 [65]. 따라서, ERC-721 또는 ERC-1155 기반 계약을 확장할 때, supportsInterface 함수를 올바르게 오버라이드하여 ERC-2981 인터페이스를 명시적으로 지원한다고 알리는 것이 필수적입니다. 예를 들어, super.supportsInterface(interfaceId) || interfaceId == type(IERC2981).interfaceId와 같은 패턴을 사용해야 합니다. 또한, 프록시 패턴을 사용하는 업그레이드 가능한 계약(업그레이드 가능한 계약)에서도 OpenZeppelin과 같은 검증된 라이브러리를 사용하면 이러한 호환성을 안전하게 유지할 수 있습니다 [66].
법적, 윤리적, 경제적 논의
ERC-2981은 기술적인 표준을 넘어, 디지털 창작물의 소유권과 가치 분배에 관한 깊이 있는 법적, 윤리적, 경제적 논의를 촉발하고 있습니다. 이 표준은 창작자에게 지속적인 수익을 보장하려는 의도를 가지고 있지만, 그 실행 방식은 블록체인의 탈중앙화 원칙과 사용자 자율성 사이에서 복잡한 균형을 요구합니다. ERC-2981은 강제적인 메커니즘이 아니라 신호(signaling) 표준에 불과하므로, 로열티 지급 여부는 결국 마켓플레이스의 정책과 사용자 행동에 달려 있습니다. 이로 인해 창작자 보상, 사용자 권리, 플랫폼 책임 간의 갈등이 심화되고 있으며, 이는 단순한 기술적 문제를 넘어서 거버넌스와 윤리적 책임의 문제로 확장되고 있습니다 스마트 계약, 이더리움, NFT.
법적 정당성과 지적 재산권 프레임워크
ERC-2981은 기술적으로 로열티 정보를 표준화하지만, 이 정보가 법적으로 강제력을 가지는 것은 아닙니다. 대부분의 관할권에서 NFT 소유권은 underlying 아트워크의 저작권을 자동으로 이전하지 않으며, 이는 ERC-2981이 창작자의 법적 권리를 확장하지 않는다는 것을 의미합니다. 예를 들어, 유럽연합(EU)의 droit de suite(도이 뒤 쥬트)는 시각 예술가에게 물리적 작품의 재판매 시 일정 비율을 받을 수 있는 권리(재판매 권리)를 부여하지만, 이는 현재 디지털 자산인 NFT에는 명시적으로 적용되지 않습니다 [67]. ERC-2981은 이러한 법적 틀을 대체하지 않으며, 단지 기술적으로 정보를 전달하는 수단일 뿐입니다.
법원은 스마트 계약에 포함된 로열티 신호가 법적으로 구속력 있는 계약 조건인지 여부를 아직 명확히 정립하지 않았습니다. 특히 익명의 글로벌 참여자가 있는 탈중앙화 환경에서는 관할권과 책임 소재의 문제로 인해 법적 집행이 매우 어렵습니다. 일부 학자들은 ERC-5635(NFT 라이선싱) 또는 ERC-5553과 같은 온체인 라이선스 표준을 통해 지적 재산권과 라이선스 조건을 명시적으로 연결함으로써 법적 효력을 강화할 수 있다고 제안합니다 [68][69]. 그러나 이러한 하이브리드 모델은 창작자가 전문적인 법률 자문을 받아야 하므로, 일반적인 채택에는 한계가 있습니다. 결국 ERC-2981은 기존의 저작권법을 보완하는 기술적 도구로 작용하지만, 법적 강제력 자체를 제공하지는 않습니다 저작권, 법률, 계약.
윤리적 책임과 창작자 자율성
플랫폼이 ERC-2981 로열티를 무시하기로 결정할 때, 심각한 윤리적 고려사항이 제기됩니다. 많은 창작자들은 NFT의 초기 판매 시점에서 로열티가 지급될 것이라는 기대를 바탕으로 작품을 출시합니다. 이는 암묵적인 계약적, 도덕적 의무로 간주될 수 있으며, 이를 무시하는 것은 창작자의 권리를 침해하고 신뢰 기반을 훼손하는 행위로 비판받을 수 있습니다. 이는 웹2에서 중개자가 창작자의 가치를 착취하는 모델과 유사한 구조로 회귀할 수 있다는 우려를 낳습니다.
또한, 탈중앙화 플랫폼은 사용자 자율성과 검열 저항성을 정당화하는 데 중점을 두지만, 이 원칙이 선택적으로 적용되어 창작자의 경제적 권리에는 적용되지 않는다면 모순이 발생합니다. 창작자가 자신의 작품이 어떻게 유통되고 수익화되는지에 대한 통제권을 가져야 한다는 예술적 주권(Artistic Sovereignty) 개념은 ERC-2981의 핵심 정신이지만, 플랫폼의 정책 변화로 인해 약화되고 있습니다. 이는 창작자와 플랫폼 간의 근본적인 갈등을 드러내며, 탈중앙화 생태계가 창작자의 권익을 얼마나 진정으로 보호할 수 있는지에 대한 철학적 질문을 제기합니다 윤리, 창작자 경제, 웹3.
경제적 지속 가능성과 시장 왜곡
ERC-2981의 가장 큰 경제적 도전 과제는 창작자의 장기적인 수익 모델을 위협한다는 점입니다. 로열티 지급이 불확실해지면, 창작자들은 초기 민트 가격을 높여야 하는 부담을 가지게 되며, 이는 시장의 유동성과 접근성을 저하시킬 수 있습니다. 연구에 따르면, 높은 로열티율을 가진 NFT는 거래 속도가 느려지고 최종 판매 가격이 낮아질 수 있으며, 이는 창작자들에게 로열티를 낮추거나 아예 포기하도록 부담을 주는 역설적인 결과를 초래합니다 [70].
또한, 로열티를 무시하는 플랫폼(예: Blur)의 등장은 "로열티 없는 경쟁"이라는 시장 왜곡을 초래하고 있습니다. 거래 수수료를 낮추는 것이 단기적으로는 사용자와 트레이더에게 유리할 수 있지만, 장기적으로는 창작자의 수익을 침식하여 고품질 콘텐츠의 생산을 위축시킬 수 있습니다. 이는 창작자 경제의 지속 가능성에 심각한 위협이 됩니다. 창작자들은 더 이상 영구적인 수입을 보장받을 수 없기 때문에, 대안적인 수익 모델(예: 직접 판매, 유틸리티 기반 토큰, 온체인 강제 로열티 표준)을 탐색할 수밖에 없게 됩니다 경제, 시장, 생태계.
거버넌스와 미래의 균형 잡힌 모델
ERC-2981의 채택은 이더리움의 분산된 거버넌스 모델을 통해 이루어졌으며, 이는 기술적 합의와 커뮤니티의 사회적 규범이 표준의 효과성에 얼마나 중요한지를 보여줍니다. 개발자 컨센서스와 OpenZeppelin 같은 주요 도구의 지원은 기술적 채택을 이끌었지만, 실제 강제력은 마켓플레이스의 거버넌스 결정에 달려 있습니다. DAO(탈중앙화 자율조직) 기반의 마켓플레이스는 커뮤니티가 로열티 정책을 투표로 결정함으로써, 창작자와 수집가 간의 인센티브를 조율하는 새로운 모델을 제시하고 있습니다 [71].
미래의 지속 가능한 모델은 단순한 강제가 아닌, 인센티브 기반의 조율에 초점을 맞출 가능성이 큽. ERC-721C 또는 ERC-4910과 같은 온체인 강제 로열티 표준은 기술적 해결책을 제공하지만, 사용자 자율성과의 균형을 맞추는 것이 여전히 과제입니다. 궁극적으로, 웹3의 성공은 창작자에게 공정한 보상을 제공하면서도 사용자의 자유와 탈중앙화의 핵심 원칙을 존중하는 균형 잡힌 생태계를 구축하는 데 달려 있습니다 거버넌스, DAO, 디지털 경제.
향후 발전과 대체 표준
ERC-2981은 NFT 생태계에서 로열티 신호를 표준화하는 데 중요한 기반을 마련했으나, 자발적 준수에 의존하는 구조적 한계로 인해 실질적인 로열티 집행은 여전히 불확실한 상황입니다. 이러한 문제를 해결하기 위해 다양한 기술적·정책적 접근이 등장하며, ERC-2981의 한계를 보완하거나 대체할 수 있는 새로운 표준과 메커니즘이 개발되고 있습니다. 이러한 대체 표준들은 단순한 신호 제공을 넘어, 로열티 지급을 블록체인 상에서 강제(enforceable) 하는 방향으로 진화하고 있습니다.
ERC-721C: 프로토콜 수준에서의 강제 로열티
ERC-721C는 Limit Break가 제안한 새로운 표준으로, 기존 ERC-2981의 가장 큰 단점인 비강제성을 해결하기 위해 설계되었습니다. 이 표준은 로열티 지급을 NFT 전송(transfer) 메커니즘 자체에 내장시켜, 거래가 완료되기 전에 로열티가 자동으로 지급되도록 합니다 [46]. 이는 단순히 로열티 정보를 제공하는 신호(signaling)가 아니라, 프로토콜 수준에서 강제하는(enforcement) 메커니즘입니다. ERC-721C는 특정 마켓플레이스의 정책에 의존하지 않고, 블록체인의 코드 자체가 로열티 지급을 보장함으로써, 창작자의 수익 구조를 훨씬 더 안정적으로 만듭니다. 주요 마켓플레이스인 OpenSea도 ERC-721C의 통합을 발표하며, 강제 로열티 모델에 대한 관심이 높아지고 있음을 보여주었습니다 [73].
ERC-4910: 계층적 로열티 구조와 온체인 처리
ERC-4910은 ERC-721 표준을 확장하여, 계층적 로열티 구조(hierarchical royalty structures) 를 지원하는 표준입니다. 이는 단일 수령자에게 고정된 비율을 지급하는 ERC-2981의 한계를 극복합니다. ERC-4910은 여러 당사자(예: 아티스트, 협업자, 커뮤니티 트레저리)에게 자동으로 정해진 비율로 로열티를 분배할 수 있도록 설계되어, 보다 복잡한 수익 공유 모델을 가능하게 합니다 [74]. 이 표준은 로열티 정보를 단순히 신호하는 것을 넘어, 온체인에서 로열티를 처리하는 로직을 포함함으로써, ERC-2981의 기능을 보완하고 강화합니다. 이는 스마트 계약 기반의 창작자 경제에서 다자간 협업과 투명한 수익 분배를 촉진하는 데 중요한 역할을 할 수 있습니다.
미들웨어 및 인프라 계층의 솔루션
로열티 집행을 위한 또 다른 접근 방식은 마켓플레이스 자체가 아닌, 미들웨어 또는 인프라 계층에서 해결하는 것입니다. Reservoir와 같은 프로토콜은 여러 마켓플레이스를 아우르는 인덱싱 및 거래 인프라를 제공하며, ERC-2981 신호를 정규화하고 집행하는 역할을 합니다 [75]. 이는 개별 마켓플레이스가 로열티를 무시하더라도, Reservoir와 같은 상위 계층의 프로토콜이 거래 정산 과정에서 로열티를 자동으로 계산하고 분배함으로써, 일정 수준의 집행력을 확보할 수 있게 합니다. 이러한 솔루션은 기존의 분산된 마켓플레이스 생태계 내에서 실질적인 로열티 보장을 위한 실용적인 대안으로 부상하고 있습니다.
온체인 라이선싱과 법적-기술적 하이브리드 모델
장기적으로는 기술적 집행과 법적 구속력을 결합한 하이브리드 모델이 중요해질 전망입니다. ERC-2981은 지적 재산권(IP)의 이전이나 라이선스 조건을 자동으로 설정하지 않습니다. 이에 따라 ERC-5553과 같은 새로운 표준이 제안되어, NFT 소유권 이전과 동시에 지적 재산권 및 로열티 구조를 온체인에서 표현하려는 시도가 진행 중입니다 [69]. 또한, 스마트 계약의 실행을 법적 계약으로 인정받기 위한 노력도 활발합니다. 이러한 모델은 코드(code)가 법(law)이 되는 코드-애즈-로(code-as-law) 원칙을 실현하려는 시도로, 로열티 지급이 단순한 기술적 신호가 아니라, 법적으로 분쟁이 가능한 계약적 의무로 전환될 가능성을 열어줍니다. 이는 법적 책임과 지적 재산권 프레임워크가 발전함에 따라 더욱 중요해질 것입니다.