이 글을 이해하기 위해서 컴퓨터 공학 지식이 필요하지 않습니다.
Non Fungible Token
고유하며, 대체될 수 없는 Token 을 Non Fungible Token 이라고 부릅니다.
- $1 지폐는 다수 존재할 수 있으며, $1 지폐 끼리의 가치는 동등하고, 서로 대체 될 수 있습니다.
- 조각품이 있습니다. 조각가가 똑같은 조각품을 하나 더 만들더라도, 두 조각품은 서로 다른 조각품이며, 각각 세상에서 유일합니다.
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
...
}
(Reference : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)
Crypto Currency 는 수치로써 다뤄집니다.
- A 주소는 $10 을 가지고 있다.
- A 주소는 $5를 B 주소에게 양도 (지불) 하고, $5가 남았다.
contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
...
// Mapping from token ID to owner address
mapping(uint256 => address) private _owners;
// Mapping owner address to token count
mapping(address => uint256) private _balances;
...
}
(Reference : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol)
NFT 는 각각의 자산에 일련번호가 매겨지고, 그 소유자를 기술하는 방식으로 다뤄집니다.
- A 주소가 1번 자산을 가지고 있다.
- A 주소는 총 자산을 N 개 가지고 있다.
- A 주소가 B 주소로 1 번 자산을 양도 (지불) 하였다.
Use Case of NFT
Asset on Blockchain
NFT 가 의미하는 자산 그 자체도 Blockchain 내에 존재하는 경우입니다.
- 탈중앙화 Lottery Service 는 Lottery 를 일련번호로 발급하여 관리할 수 있습니다.
- 탈중앙화 Game Service 는 공격력을 비롯한 수치 데이터를 가지는 Item 을 특정한 일련번호로 발급하여 관리할 수 있습니다.
NFT 는 Blockchain 내 서비스의 수요에 의해 스스로 가치를 가질 수 있습니다.
Asset by Oracle
NFT 가 의미하는 자산이 Blockchain 내에 존재하지 않는 경우입니다. 소유권 증명에 사용되지만, 소유권과 실물 자산에 대한 연결고리가 없습니다.
- 미술 작품 소유권을 비롯한 여러 권리를 NFT 로 등록하고, 거래 대상으로 다룰 수 있게 합니다.
- NFT 자체는 Smart Contract 를 통해 강제력이 있는 게약을 맺을 수 있는 장점이 있습니다.
- 게임을 비롯한 중앙화 서비스에서 Item 을 NFT 로 발급하여 거래 대상으로 다룰 수 있게 합니다.
- Item 에 대한 증서로써 NFT 를 발급합니다. 이때, 중앙화 서비스에서는 Item 을 동결 혹은 소각합니다.
- NFT Market 에서 NFT 를 거래합니다. Crypto Currency 혹은 서비스 간의 경계를 넘어 거래 할 수 있습니다.
- 매수자는 NFT Item 을 중앙화 서비스의 Item 으로 환원 받습니다.
Crypto Currency 가 사회 구성원의 합의에 의해 그 자산 가치가 매겨지는 것 처럼, NFT 또한 일련번호를 누군가 인정해 주어야만 그 가치가 인정됩니다.
- 가치를 인정해주는 Oracle 이 없어진다면, NFT 는 의미 없는 숫자 번호에 불과 합니다.
- 각각의 NFT 에 엮인 이해 당사자는 Crypto Currency 에 비해 소수이며, 가치 산정에 어려움이 있을 수 있습니다.
Reference
- EIP-721
- open zeppelin ERC20, MIT License
- open zeppelin ERC721, MIT License