ERC-721C: NFT를 조합 가능하고 업그레이드 가능하게 만들기

주요 결과
• NFT는 조합 가능성과 업그레이드 가능성을 통해 더 많은 유용성을 제공해야 합니다.
• ERC-721C는 크리에이터가 전송 규칙과 로열티 정책을 스마트 계약에서 직접 관리할 수 있게 합니다.
• 업그레이드 가능성은 보유자를 보호하고 신뢰를 유지하는 데 필수적입니다.
• 다양한 조합 가능성 패턴과 함께 ERC-721C를 활용하면 NFT의 기능을 확장할 수 있습니다.
대체 불가능 토큰(NFT)은 정적인 수집품에서 게임, 소셜, DeFi에서 유용성을 갖춘 프로그래밍 가능한 디지털 자산으로 발전했습니다. 이러한 요구를 충족하기 위해 크리에이터는 NFT가 다른 프로토콜과 통합되고, 시간이 지남에 따라 동작을 발전시킬 수 있으며, 스마트 계약 수준에서 크리에이터의 의도(예: 로열티)를 보존할 수 있도록 조합 가능하고 업그레이드 가능해야 합니다.
이 글에서는 조합 가능하고 업그레이드 가능한 NFT를 위한 실용적인 경로로서 ERC-721C를 살펴보고, 기존 표준과 어떻게 비교되는지, 그리고 빌더가 안전하게 구현하기 위해 알아야 할 사항은 무엇인지 살펴봅니다.
지금 조합 가능성과 업그레이드 가능성이 중요한 이유
-
조합 가능성(Composability): NFT는 다른 자산을 소유하거나 첨부하고, 온체인 계정과 상호 작용하며, 더 복잡한 시스템에 연결할 수 있어야 합니다. ERC-721 표준과 같은 기존 노력은 NFT의 기반을 제공하지만, 복잡한 상호 작용 및 소유권 그래프를 지원하는 확장이 필요합니다. 컨텍스트는 이더리움 EIP 사이트에서 원본 ERC-721 사양을 참조하십시오: ERC-721 Non-Fungible Token Standard.
-
업그레이드 가능성(Upgradeability): NFT 생태계와 크리에이터의 요구는 변화합니다. 프록시 패턴(예: EIP-1967 및 OpenZeppelin Upgrades Plugins)을 사용하는 업그레이드 가능한 계약은 토큰 마이그레이션을 강제하지 않고 팀이 취약점을 수정하고, 기능을 반복하거나, 통합을 조정할 수 있도록 합니다.
-
시장 역학(Market dynamics): 로열티 강제 및 마켓플레이스 정책은 2022년 말부터 변동성이 컸습니다. 크리에이터 구성 가능한 전송 규칙을 허용하는 표준 및 구현이 점점 더 중요해지고 있습니다. 배경 정보는 로열티 및 마켓플레이스 변경에 대한 OpenSea의 공개 토론을 참조하십시오: On Creators and Royalties.
-
확장성(Scaling): Dencun 업그레이드 및 proto-danksharding(EIP-4844)의 등장으로 L2 수수료가 크게 절감되어 동적이고 상호 작용적인 NFT 사용 사례가 훨씬 더 접근 가능해졌습니다. 이더리움 재단에서 자세히 알아보십시오: Dencun Is Live on Mainnet.
ERC-721C란 무엇인가?
ERC-721C는 Limit Break의 커뮤니티 구현으로, 크리에이터 제어 가능한 프로그래밍 가능한 전송 제한을 통해 ERC-721을 확장합니다. 이를 통해 크리에이터는 마켓플레이스 허용 목록, 봇 방지 기능, 전송 게이팅과 같은 규칙을 스마트 계약 계층에서 강제할 수 있습니다. 리포지토리 및 문서를 참조하십시오: Limit Break’s ERC-721C.
ERC-721C의 핵심 아이디어:
- 전송 유효성 검사 훅(Transfer validation hooks): 크리에이터는 사전 전송 확인에 사용자 정의 로직을 구현하여 시간이 지남에 따라 정책을 강제할 수 있습니다.
- 마켓플레이스/운영자 제어(Marketplace/operator controls): 계약은 특정 운영자를 필터링하거나 허용하여 필요한 경우 로열티 정책을 강제하는 데 도움이 될 수 있습니다.
- 조합 가능성의 기반(Foundation for composability): 전송 동작이 프로그래밍 가능하기 때문에 ERC-721C는 조합 가능성을 향상시키는 다른 표준과 조정하기 위한 유연한 기반을 제공합니다.
ERC-721C는 공식 EIP는 아니지만, 대규모로 NFT를 배포하는 크리에이터 및 스튜디오의 실제 요구를 해결합니다.
ERC-721C와 페어링할 수 있는 조합 가능성 패턴
ERC-721C는 조합 가능성 네이티브 표준 및 패턴과 함께 사용할 때 더욱 강력해집니다.
-
토큰 바운드 계정(Token-bound accounts): 각 NFT에 온체인 계정을 연결하여 토큰이 자산을 소유하고, 트랜잭션을 실행하며, 상태를 유지할 수 있도록 합니다. 이는 온체인 게임 및 소셜 배지에 이상적인 "NFT를 지갑으로" 사용할 수 있게 합니다. 제안을 참조하십시오: ERC-6551 Token Bound Accounts.
-
중첩 또는 조합 가능한 NFT(Nested or composable NFTs): 하나의 NFT가 다른 NFT 또는 대체 가능 자산(스킨, 아이템, 업그레이드)을 소유할 수 있는 소유권 트리를 나타냅니다. 중첩 소유권에 대한 초안 제안을 참조하십시오: EIP-998 Composable NFTs.
-
로열티를 일급 원시 타입으로(Royalties as a first-class primitive): 마켓플레이스가 일관되게 읽을 수 있도록 로열티 정보에 대한 표준 인터페이스를 채택합니다. ERC-721C의 전송 규칙과 ERC-2981 NFT Royalty Standard를 결합하여 인센티브를 조정하고 크리에이터의 의도를 강제합니다.
-
민팅을 위한 가스 최적화(Gas optimization for minting): 적절한 경우 효율적인 민팅 구현을 사용하여 비용을 최소화하고 UX를 개선하며, 특히 대규모 드롭의 경우 더욱 그렇습니다. Azuki의 접근 방식을 참조하십시오: ERC-721A.
-
크로스체인 조합 가능성(Cross-chain composability): 자산 또는 사용자가 여러 네트워크에 걸쳐 있다면 안전한 메시지 전달을 계획하십시오. Chainlink CCIP는 크로스체인 로직 및 자산 이동을 위한 감사된 인프라를 제공합니다: Chainlink CCIP.
이러한 구성 요소는 ERC-721C와 깔끔하게 계층화됩니다. 토큰 바운드 계정이 첨부 파일을 관리하고, ERC-721C 정책을 통해 전송을 게이팅하며, ERC-2981을 통해 로열티 정보를 노출하도록 합니다.
올바른 업그레이드 가능성 구현
업그레이드 가능성은 강력하지만, 보유자를 보호하고 신뢰를 보존하기 위해 신중하게 처리해야 합니다.
권장 접근 방식:
- 프록시 패턴(Proxy patterns): EIP-1967 저장 슬롯과 OpenZeppelin Upgrades Plugins를 사용하여 투명하거나 UUPS 프록시를 배포합니다.
- 거버넌스 및 타임락(Governance and timelocks): 온체인 거버넌스 또는 멀티시그를 사용하여 업그레이드를 관리하고, 가능한 경우 가시성 및 옵트아웃 기간을 위한 타임락을 사용합니다.
- 명시적인 업그레이드 정책(Explicit upgrade policy): 무엇을 변경할 수 있는지, 무엇이 불변인지(예: 이름/기호 또는 핵심 메타데이터 규칙), 보유자에게 어떻게 알릴 것인지 문서화합니다.
- 감사 및 시뮬레이션(Audits and simulation): 공식 감사를 실행하고 스테이징에서 업그레이드 시나리오를 테스트합니다. 메인넷에서 실행하기 전에 포크 테스트로 상태 마이그레이션을 검증합니다.
- 서명 및 권한(Signatures and permissions): 관리 역할에서 인적 오류를 최소화하기 위해 중요한 작업에 대해 타입이 지정된 서명을 사용합니다. 참조: EIP-712 Typed Structured Data.
계약 검색 가능성 및 투명성을 위해 프록시와 구현이 탐색기에서 검증되고 잘 주석이 달려 있는지 확인하십시오. Etherscan은 업그레이드 가능한 프록시에 대한 지침을 제공합니다: Understanding Proxy Contracts on Etherscan.
조합 가능성을 위한 ERC-721C 설계
조합 가능하고 업그레이드 가능한 ERC-721C NFT를 설계하려면:
- 인터페이스를 안정적으로 유지(Keep interfaces stable): 다른 프로토콜이 호출할 것으로 예상하는 외부 인터페이스를 정의하고 호환성이 깨지는 변경을 피하십시오. 기능 플래그 또는 확장 인터페이스 뒤에 새 기능을 도입하십시오.
- 정책 로직 분리(Isolate policy logic): 전송 게이팅 및 로열티 로직을 모듈로 캡슐화하여 핵심 토큰 상태는 안정적으로 유지하면서 독립적으로 업그레이드할 수 있도록 합니다.
- 토큰 바운드 계정 지원(Support token-bound accounts): 토큰 바운드 계정이 ERC-6551을 따라 NFT 소유자를 대신하여 첨부 파일, 인벤토리 또는 권한을 관리할 수 있도록 훅을 노출합니다.
- 메타데이터 커밋먼트 게시(Publish metadata commitments): 특정 메타데이터 동작(예: 공개 후 특성의 영구성)을 약속하는 경우 코드에서 이를 강제하고 규칙을 게시하여 마켓플레이스 및 인덱서가 신호를 신뢰할 수 있도록 합니다.
실제 사용 사례
- 게임 및 디지털 상품: 토큰 자체가 보유하는 장비-업그레이드 메커니즘, 인벤토리 및 스킨. 전송 게이팅은 MEV 스나이핑 또는 게임 진행 우회와 같은 악용을 방지합니다.
- DeFi 바운드 수집품: 토큰 바운드 계정은 LP 토큰 또는 수익 창출 자산을 보유합니다. ERC-721C 규칙은 잠긴 상태에서의 안전하지 않은 전송으로부터 보호합니다.
- 브랜드 멤버십 패스: 온체인에서 강제되는 로열티 및 재판매 정책. 보유자의 기대를 깨뜨리지 않고 업그레이드를 통해 제공되는 동적 혜택.
- 온체인 신원: 기본 신원 NFT 아래에 중첩되고 제어 가능한 전송 가능성을 갖춘 기술 또는 성과를 나타내는 조합 가능한 배지.
업그레이드 가능하고 조합 가능한 NFT를 위한 보안 체크리스트
- ERC-721, 프록시 및 액세스 제어를 위한 OpenZeppelin과 같이 잘 감사된 라이브러리를 사용하십시오. 문서 참조: OpenZeppelin Upgrades Plugins.
- 업그레이드 시 저장소 레이아웃 충돌을 피하십시오. EIP-1967 저장 슬롯 규칙을 따르고 향후 변수를 위해 저장소 간격을 유지하십시오.
- 관리자 함수를 신중하게 게이팅하고, 투명한 온체인 기록과 함께 멀티시그 또는 타임락을 선호하십시오.
- 비상 일시 중지 및 복구 절차를 구현하고, 주요 변경 사항을 적용하기 전에 사회화된 커뮤니케이션을 수행하십시오.
- ERC-2981을 구현하고 운영자 필터를 사용하는 경우 테스트하여 마켓플레이스 상호 운용성을 검증하십시오.
- 크로스체인 보안을 고려하십시오. Chainlink CCIP와 같은 감사된 브리징 솔루션을 사용하고 지원되는 네트워크에 대해 명확하게 설명하십시오.
빠른 시작: 개발자의 경로
- 기본 ERC-721 구현으로 시작하고 ERC-721C 전송 유효성 검사 훅을 통합하십시오. 참조: Limit Break’s ERC-721C.
- 마켓플레이스에 로열티를 알리기 위해 ERC-2981을 통해 로열티 인터페이스를 추가하십시오.
- OpenZeppelin Upgrades Plugins를 사용하여 프록시 뒤에 배포하고 업그레이드에 대한 거버넌스 역할을 정의하십시오.
- NFT가 자산을 소유하고 관리할 수 있도록 ERC-6551을 통해 토큰 바운드 계정을 도입하십시오.
- Dencun 이후 L2 수수료가 더 빈번한 상호 작용을 선호하는 환경에서 일반적인 마켓플레이스 및 L2에 걸쳐 전송 게이팅을 테스트하십시오.
크리에이터 및 스튜디오를 위한
ERC-721C는 기술을 비즈니스 요구 사항과 일치시키는 실용적인 경로를 제공합니다. 조합 가능성을 희생하지 않고 로열티 및 전송 정책을 시행하고 향후 통합에 적응할 수 있는 업그레이드 가능한 계약을 출시하십시오. ERC-721C를 ERC-2981 및 ERC-6551과 같은 표준과 페어링하면 대화형이고 유틸리티 중심적인 NFT를 위한 강력한 프레임워크가 만들어집니다.
OneKey로 업그레이드 키 보호
업그레이드 가능한 NFT 계약을 실행하는 경우 관리 키와 멀티시그 서명자가 중요한 인프라가 됩니다. OneKey의 하드웨어 지갑은 업그레이드, 역할 변경, 재무부 이동과 같은 중요한 작업 중에 피싱 및 키 도용을 완화하기 위한 오프라인에서 검증 가능한 서명을 제공합니다. ERC-721C 계약을 관리하는 팀의 경우 안전한 서명자를 사용하면 운영 위험을 줄이고 거버넌스 승인 업그레이드를 실행할 때 보유자의 신뢰를 유지하는 데 도움이 됩니다.
엄격한 업그레이드 프로세스, 조합 가능한 표준 및 안전한 키 관리를 결합하면 미래에 대비하고 크리에이터와 일치하는 NFT를 제공할 수 있습니다.