본문 바로가기
  • 시 쓰는 개발자
1일 1개념정리 (24년 8월~)/블록체인

1일1개 (33) - ERC721

by poetDeveloper 2024. 9. 13.

1일 1개념정리 24.08.09.금 ~ 

 

큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.

무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!


#33. ERC-721

ERC-721은 이더리움 블록체인에서 사용되는 대체 불가능 토큰(NFT)의 프로토콜이다. NFT를 만들 때 쓰는 표준(?)이라고 생각하면 될듯하다. 이는 대체 불가능한 자산을 의미하는데 각각의 토큰이 고유하고 교환이 불가능하도록 설계되어 있다. 오늘은 블록체인 ERC-721 프로토콜에 대해 알아봅시다.

 

대체 불가능이란 ?

일단 대체 불가능이 뭘까 ? 어떤 자산이 고유해서 다른 자산으로 서로 교환될 수 없다는 의미이다. 우리가 현금을 쓸 때 만원짜리는 모두 같은 가치를 가지니까 교환할 수 있다. 자세히 보면 만원에 고유번호 뭐 AB13241ABCD 이런식으로 적혀있는데 이 번호는 다 달라도 모두 같은 가치니까 교환이 가능하다. 이는 대체 가능한 자산이다.

그러나 대체 불가능한 자산은 교환이 불가능하다. 하나 하나가 모두 독특하고 고유하다는 의미이다. 대체 불가능한 자산은 제각기 다른 그림이나 디자인을 가지고 있을 수 있다. 예를 들면 내 만원은 세종대왕이 선글라스를 끼고있고 .... 다른 만원은 브이를 하고 있고 이런 느낌 ? 그래서 NFT에서는 각 토큰이 고유한 특징을 가져서 하나 하나가 작품처럼 취급되는 것이다. 원숭이 NFT가 몇억에 팔리고 그런 것 처럼 ......

 

ERC-721 특징

보통 NFT를 말할 때 ERC-721 프토코롤을 이야기한다. 이 표준으로 만든 토큰이 우리가 이야기하는 NFT이다. 다음과 같은 특징을 보자.

  • 고유성 : ERC-721 토큰은 각각 고유한 식별자(tokenId)를 가진다. 이 식별자는 해당 토큰이 블록체인상에서 유일하다는 것을 보장하며, 다른 토큰과 동일하지 않음을 보여준다.
  • 소유권 : ERC-721 표준은 각 토큰의 소유권을 추적하는 기능을 제공한다. 소유자는 자신이 가진 토큰을 블록체인상에서 검증 가능하며, 해당 자산에 대한 독점적인 권리를 가진다.
  • 전송 및 거래 : ERC-721은 토큰을 다른 주소로 전송하는 방법을 표준화한다. 이를 통해 개인 간에 NFT를 안전하게 거래할 수 있다.
  • 인터페이스 : ERC-721은 기본적으로 balanceOf, ownerOf, transferFrom, approve 등의 함수가 있는데 이들이 토큰의 소유권 관리와 전송을 담당한다.
  • *메타데이터 : 각 토큰에 메타데이터를 첨부할 수 있어서 해당 자산의 정보(이미지, 설명, 속성 등)를 블록체인상에 저장하지 않고도 참조할 수 있다.

* 메타데이터 : 데이터에 대한 데이터, 혹은 '어떤 목적을 가지고 만들어진 데이터'라고도 정의하는데... 너무 직관적이지 못하다. 쉽게 말하면 속성정보라고 보면 된다. 즉, 다른 데이터를 정의하고 기술하는 데이터이다. 예를 들면 파일 생성 시간, 날짜, 작성자, 파일크기, 수정날짜 등.....

파일에서 메타데이터 예시

 

ERC20   vs   ERC721

그런데 ERC-20 이라는 것도 있다. 이는 위에서 살짝 언급한 "대체 가능한 토큰"이다. 살짝 비교해보자.

  • ERC-20 : "대체 가능(Fungible)" 토큰인데, 각 토큰이 동일한 가치와 속성을 지니고 교환이 가능하다. 예를 들어, 1이더리움은 다른 1이더리움과 동일한 가치를 가지고 있기 때문에 상호 교환이 가능하다. 이처럼 ERC-20 토큰은 주로 암호화폐나 포인트 시스템 등 동일한 가치를 지닌 자산을 표현하는 데 사용된다.
  • ERC-721 : 앞서 언급했듯 대체 불가능한 토큰이고 각 토큰이 고유한 ID를 가지며, 각 토큰의 특성이나 메타데이터가 다르기 때문에 서로 교환이 불가능하다.
  ERC-20 (대체 가능한 토큰) ERC-721 (대체 불가능한 토큰)
대체 가능성 토큰 간에 차이가 없고 토큰끼리 동일한 가치로 교환 가능. 각 토큰은 고유한 ID를 가지고 가치가 동일하지 않아서 교환 불가능.
사용 구조 주로 암호화폐나 토큰화된 자산을 표현하며, 동일한 토큰 단위를 쉽게 교환할 수 있는 상황에 적합. 디지털 아트, 게임 아이템, 부동산, 티켓 등과 같이 고유한 특성을 지닌 자산을 블록체인에서 관리하고 거래할 때 사용 (NFT)
토큰 목적 동일한 계약 내에 여러 개의 균등한 토큰이 발행 각 토큰은 개별적으로 식별되며, 고유한 ID(tokenId)를 가진다. 하나의 계약 안에서 여러 개의 고유한 토큰을 생성하고 관리할 수 있다

 

Smart Contract

블록체인에서는 "스마트 컨트랙트"라는 용어가 자주 언급된다. 스마트 계약이 무슨 뜻일까 ?? 위 표에서도 하나의 계약 안에서.... 아니면 동일한 계약 내에서.... 이런 이야기가 자주 나온다. 계약 = Smart Contract인데, 스마트 컨트랙트는 블록체인 위에서 작동하는 자동화된 프로그램으로, 특정 조건이 충족되면 사전에 정의된 작업을 자동으로 수행하도록 설계되어 있다.

즉, 스마트 컨트랙트 = 코드인데 이더리움 같은 블록체인 플랫폼 위에서 동작하는 코드이다. 사람들이나 시스템 간의 계약을 코드로 짜놓은 것이라고 보면 된다. 예를 들어, 어떤 조건이 만족되면 그에 따라 특정한 작업이 자동으로 실행되는 것을 스마트 계약이 담당한다.

 

계약의 역할

  1. 자동화 : 스마트 계약은 조건을 사전에 코딩해 놓았기 때문에 누군가가 수동으로 실행할 필요 없이 자동으로 작동한다. 예를 들어 A가 B에게 토큰을 보내면 스마트 컨트랙트는 이 조건이 만족되었는지 확인하고, 그에 따라 자동으로 결과를 처리함.
  2. 신뢰성(투명성) : 스마트 계약은 블록체인 위에 저장되므로 누구나 그 내용을 확인할 수 있어서 신뢰성이 높다.
  3. 변경 불가능 : 스마트 계약이 블록체인에 배포되면, 그 내용은 변경할 수 없다. 따라서 계약의 실행 방식이 처음부터 정확하게 설정되어야한다.

'1일 1개념정리 (24년 8월~) > 블록체인' 카테고리의 다른 글

1일1개 (34) - 블록체인  (0) 2024.09.14