이 글은 https://callisto.network/callistonft-advanced-standard/ 원문을 번역한 글입니다.
이 글은 https://gov.callisto.network/t/news-nft-nft-callistonft-advanced-standard/211 에서도 보실 수 있습니다.
소개
이 글에에서는 기존 ERC223 표준의 작성자인 @Dexaran이 개발한 새로운 대체 불가능한 토큰 표준에 대해 설명합니다. 토큰 표준은 EthereumVM 호환 플랫폼에 적합합니다.
레퍼런스 구현은 오픈 소스 소프트웨어로 Solidity 로 작성되었습니다 .
소스 코드는 https://github.com/Dexaran/Advanced-NFT/blob/main/NFT.sol 에서 찾을 수 있습니다.
새로운 NFT 표준을 환영합니다
NFT는 지난 몇 년 동안 암호화 산업의 새로운 유행어입니다. 그러나 NFT의 개념은 전혀 새로운 것이 아닙니다. 현재 NFT 표준은 2017년 이더리움 개선 제안 #721 (현재 기존 표준인 ERC721을 정의함)로 도입되었습니다.
이것은 제일 처음으로 구현된 이런 형식의 토크이였습니다. "이런 원조의 경우"의 가능한 모든 기능을 고려하고 아직 발견되지 않은 단점을 제거하는 것이 불가능한 경우는 매우 흔합니다. 결과적으로 ERC721 표준에는 결함이 있고 몇 가지 중요한 기능이 부족합니다.
나는 항상 프로그래밍에서 무언가를 처음부터 개발하는 것보다 이미 사용가능하게 만들어진 솔루션에 의존하는 것이 훨씬 낫다고 말했습니다. 그러나 보안상의 이유라면 예외가 있어야합니다. 이것이 제가 2016년에 ERC223 표준을 개발한것과 같은 이유로 새로운 NFT 표준 개발에 착수한 이유입니다.
CallistoNFT 대 ERC721
참고: ERC 번호는 개발자가 이더리움 개선 제안 (EIP) 저장소에 제안을 제출할 때 할당됩니다. 이것은 아직 완료되지 않았음으로 새로 개발된 표준은 이 글에서 "CallistoNFT"로 불릴것입니다. 이것은 표준이 확정되고 이더리움 커뮤니티에 제안되는 그 즉시 ERC번호로 대체될 것입니다.
기존 ERC721에 비해 CallistoNFT의 주요 장점은 다음과 같습니다.
- 내장된 자체 "거래" — 이제 NFT를 위해 제3자 시장에 의존할 필요가 없습니다. 토큰 계약을 통해 바로 특정 NFT를 판매/구매 할 수 있습니다!
- NFT 생성자를 위한 수익 창출, 제3자 시장이 아닌 — NFT 개발자/크리에이터는 이제 전통적으로 이를 수행하던 마켓플레이스 대신 이러한 기본 제공 거래에 대해 % 수수료를 받을 수 있습니다.
- 스마트 계약을 위한 통신 모델 — "이벤트" 는 프로그래밍의 매우 표준적인 관행이며 프로그램 간 통신 모델의 핵심 기능입니다. 그러나 ERC721에는 이 기능이 없습니다. 새로운 표준은 이 문제를 해결하여 더 넓은 자동화 기회를 제공합니다.
- 표준화된 속성 — NFT는 일반적으로 일부 고유 개체를 나타내고 해당 속성을 저장합니다(예: 그림을 위한 비트맵이라던지 웹 사이트 링크). 이 고유한 속성은 ERC721의 구현에 따라 제각기 다릅니다. CallistoNFT는 이 기능을 표준화하기 위한 한 걸음을 내디뎠습니다.
아래에서 더 자세히 설명하겠습니다.
1. 내장된 자체 "거래"
NFT의 주요 속성은 고유성입니다. 결과적으로 각 NFT는 추적 가능하며 사용자는 NFT를 온체인에서 찾기를 원할 수 있습니다.
사용자는 하나의 특정한 NFT를 사고 싶어할 수 있습니다!
CallistoNFT는 NFT와 교환하여 자금을 제공할 수 있는 가능성을 표준화합니다. 동시에 NFT 소유자가 "가격"을 설정할 수 있습니다. 제안된 가격이 입찰가를 충족하면 토큰은 바로 그순간에 자동 판매되고 양 당사자는 원하는 것을 받게 됩니다.
이 접근 방식의 장점은 신뢰의 문제를 완전히 제거한다는 것입니다. 사용자는 토큰을 보유하고 있는 동안 3자 거래소가 해킹당하는 것에 대해 걱정할 필요가 없습니다.
동시에 이 방법의 확장성과 "범위"는 기존 시장에 비해 엄청납니다. 체인상에서 멋진 NFT를 발견하고 백만 달러를 제안하고 싶지만 누군가의 계정에 있고 누가 그것을 누가 소유하고 있는지 모르는 경우 어떻게 하시겠습니까? 원하는 NFT가 거래하려는 거래소에 없으면 어떻게 됩니까? 여러 개의 거래소가 있지만 하나의 특정 NFT가 그 중 하나에서만 거래 가능하다면 어떻게 될까요? — 이러한 모든 문제는 철저한 토큰 계약 거래로 해결됩니다.
내장된 자체 거래에서 가장 중요한 것은 NFT가 전송될 때 입찰가가 제거되지 않는다는 것입니다. 즉, NFT가 판매되었거나 다른 방식으로 소유자가 변경되었는지 여부는 중요하지 않습니다. 여전히 입찰을 제안할 수 있습니다.
2. NFT 크리에이터를 위한 수익 창출
NFT는 이제 토큰 계약 자체를 통해 거래할 수 있기 때문에 거래소가 하듯이 개발자가 수수료를 징수할 수도 있습니다. 이는 수익 창출을 단순화합니다. 개발자가 NFT를 성공적으로 만들면 어떻게 지불이 이뤄질지에 대해 걱정하지 않아도 됩니다. 일단 채택되고, 사용되고 및 거래되면 개발자는 평생 수익을 얻습니다.
시스템은 유연하고 계층화되어 있습니다. 수수료를 제거하거나 고정하거나 조정할 수 있습니다.
계층화된 NFT 시스템을 사용하면 다양한 유형의 NFT에 대해 서로 다른 금액의 수수료를 설정하거나 일부 외부 이벤트가 NFT의 수수료 수준을 결정하는 NFT의 "진화 모델"을 도입할 수도 있습니다. 예를 들어 "오래된" NFT는 NFT 발행 시점부터 2년이 지나면 내장된 거래 수수료에 대해 할인을 받을 수 있습니다.
3. 스마트 계약을 위한 커뮤니케이션 모델
ERC20 표준의 치명적인 문제에 대해서는 https://dexaran820.medium.com/erc20-token-standard-critical-problems-3c10fd48657b 에서 많이 다뤄졌습니다.
ERC721은 (ERC20과 같이) 커뮤니케이션 모델이 구현되지 않은 동일한 문제를 가지고 있습니다.
두 프로그램이 서로를 이해하는 방법에 대해 생각해 본 적이 있습니까? 전화를 받고 텔레그램으로 친구에게 메시지를 쓸 수 있습니다. 그러면 친구가 읽을 수 있습니다.
이것은 클라이언트와 텔레그램 서버가 구현하는 통신 모델(요청-응답) 때문입니다. 당신이 메시지를 작성할 때 당신의 소프트웨어는 텔레그램 서버에 "헤이, 내가 <친구> 에게 뭔가를 했어"라고 알려줍니다. 그런 다음 서버는 그 친구의 텔레그램 클라이언트에게 "이봐, 여기 당신을 위한 메시지가 있습니다 - 보세요"라고 알리고 그의 메시지 기록을 업데이트합니다.
그러나 ERC20 토큰은 "사일런트 서버"(무인 서버) 처럼 작동합니다. 당신이 트랜잭션을 보내면 "헤이, 내가 <지갑주소>에 뭔가를 했어" 라는 메시지를 받고 주소의 잔액을 아무 반응없이 업데이트하고 무슨 일이 일어났는지 알려주지 않습니다. 결과적으로 수신자의 주소가 토큰을 받지 않아야 하는 경우(예를 들어 수신자가 토큰을 저장하기 위한 것이 아닌 시스템 계약이고 트랜잭션이 실수로 전송된 경우) 거부할 수도 없고 되돌릴 수도 없습니다.
CallistoNFT는 이 문제를 해결합니다.
4. 표준화된 속성
대부분의 NFT는 고유 ID와 함께 자신이 나타내는 것의 고유한 속성을 유지합니다. 이는 카드 게임 NFT용 카드의 경유 "통계"나, 외부 웹사이트 링크 또는 기타 데이터일 수 있습니다.
그러나 이러한 데이터의 형식은 ERC721 표준에서 정의되지 않습니다. 스마트 컨트랙트에서 이러한 데이터를 가져오는 기능또한 정의되어 있지 않아 토큰 계약에서 이 정보를 얻을 범용 소프트웨어(지갑, 블록체인 탐색기)를 구축하기가 더 어렵습니다.
CallistoNFT는 NFT의 고유한 속성을 계약에 저장하고 이를 계약 기능을 통해 반환하는 형식을 표준화하는 방향으로 나아가고 있습니다.
추신 "더 나은 금융 세계"
이 글에서 이더리움, 칼리스토 및 ERC721 표준에 대해 많이 언급했습니다. 이 "ERC20 vs ERC223" 및 "CallistoNFT vs ERC721"을 비교하는 일의 주요 목표는 우리를 위해 더 나은 금융 인프라를 구축하는 것입니다. 우리가 지금 하고 있는 일이 인류 문명사회가 20-30년동안 사용할 뭔가를 정의 하는것일 수도 있습니다. 그러므로 올바른 목표는 언뜻 보이는 것보다 더 중요합니다.
제가 칼리스토 네트워크(내가 직접 설립한 이후)와 일하고 그것을 대변해 말하는것처럼 보이지만 제 목표는 이더리움 커뮤니티의 평판을 떨어뜨리는 것이 아닙니다.
나는 이더리움 커뮤니티가 더 나은 토큰 표준을 채택하기를 진심으로 바라며 항상 그래왔던 것처럼 우리의 솔루션을 제안할 것입니다. 저는 이더리움 클래식 및 기타 EVM 호환 프로젝트에 대해서도 같은 일을 할 것입니다, 왜냐면 이더리움 패밀리안에서 우리는 우리 모두를 위해 더 나은 제품을 만들기 위한 노력을 통합할 수 있기 때문입니다.
이것은 초기에 Ethereum Commonwealth를 만든 목표였으며 그 이후로 변함이 없습니다.