중요한 것은 '대체불가'가 아니라 '토큰'! 제대로 알자, 블록체인과 NFT 기술 - 2편
상태바
중요한 것은 '대체불가'가 아니라 '토큰'! 제대로 알자, 블록체인과 NFT 기술 - 2편
  • 이태윤
  • 승인 2022.08.23 09:46
  • 조회수 3045
  • 댓글 0
이 콘텐츠를 공유합니다

 

 

2.2. 토큰

채굴’을 통해 ‘거래내역(Transaction)’들이 해시 되어 다음 블록으로 넘어가는 형태로 ‘블록체인’ 시스템의 신뢰성이 유지되고 있습니다. ‘비트코인’의 경우에는 ‘거래내역’ 안에 ‘누가 누구에게 전송했는지’의 데이터가 전부이지만 ‘이더리움’의 경우는 그 외의 기능을 수행할 수 있도록 ‘Smart Contract’라는 기능이 추가되었습니다.

 

 

그림 10. 이더리움에서의 코인과 토큰 설계

이더리움’은 ‘비트코인’의 블록체인 탈중앙화 아이디어과 ‘채굴’에 대한 보상으로 코인을 발행하는 것을 그대로 활용했습니다. 그리고 ‘비트코인’은 ‘화폐 서비스’ 단 한가지만 제공하는 점과 기존의 ‘증서와 토큰의 개념’을 응용하여 ‘이더리움’에서는 ‘화폐 서비스’ 이외에 다양한 기능을 수행할 수 있도록 ‘Smart Contract’를 도입하였습니다.

 

 

그림 11. ‘비트코인’과 ‘이더리움’의 차이

비트코인’의 경우 코인을 주고받는 정적인 내용만을 블록에 저장하는 반면, ‘이더리움’ 블록에는 코인을 주고받는 정적인 내용은 물론, 계약이 성사될 수 있는 모든 데이터를 ‘Smart Contract’를 이용하여 포함시킬 수 있습니다. ‘Smart Contract’에 어떤 프로그램 코드를 작성하여 저장하느냐에 따라 그 용도와 적용범위가 다양해집니다.

‘Smart Contract’는 기존의 서면으로 작성했던 계약을 컴퓨터 코드로 구현하고 특정 조건이 충족되었을 때 해당 계약을 자동으로 이행시키도록 합니다. 대표적인 기능으로 토큰 발행과 전송을 들 수 있습니다. 그리고 이러한 모든 것들이 블록체인 상에서 이행되기 때문에 강제성과 투명성을 갖게 됩니다. 그래서 이러한 특징을 활용하여 블록체인 상에서 시스템의 신뢰성을 내세울 수 있는 App을 만들 수 있으며 그것을 DApp(Decentralized Application)이라고 부릅니다.

그림 12. ERC 종류

인터넷에서 RFC(Request for Comment)라고 하면 개인 혹은 단체가 어떠한 새로운 아이디어를 제시하고 여러 사람들의 동의를 얻으면 ‘인터넷 표준’이 되는 것을 뜻합니다. 마찬가지로 ‘이더리움’에서도 누군가가 새로운 아이디어를 제시하고 동의를 얻으면 ‘이더리움 표준’이 되고 그것을 ERC(Ethereum Request for Comment)라고 한다. 그 중 N번째로 제안된 안건이 동의를 얻어 채택되면 그것을 ‘ERC-N’이라고 부르며 현재까지도 새로운 안건이 추가적으로 올라오고 채택되고 있습니다.

언론에서 ‘대체 불가능한’이라는 표현을 사용하며 자주 언급되는 NFT(Non-Fungible Token)는 ‘이더리움 표준’인 ERC-721를 뜻합니다. 반대로 NFT와 대비되는 ‘대체 가능한 토큰’인 FT(Fungible Token)도 있으며 ERC-20으로 채택되어 있습니다. 이 두가지의 표준으로 발행된 ‘토큰’ 즉, ‘블록체인’ 상에서의 ‘Smart Contract’에 의해 발행된 ‘토큰’이기 때문에 일반적인 ‘토큰’과 달리 ‘블록체인 기반 토큰’으로 구분지어 생각할 수 있습니다.

 

 

그림 13. FT와 NFT의 차이

ERC-20과 ERC-721 둘 다 어떠한 기초자산에 대한 가치와 권리를 대신하여 나타내는 ‘토큰’에 대한 표준인 것은 동일합니다. 그렇지만 ERC-271 표준으로 발행한 ‘토큰’은 하나하나에 고유한 ID가 부여되어 있는 반면 ERC-20로 발행한 ‘토큰’은 고유한 ID가 부여되지 않기 때문에 모두가 같은 ‘토큰’으로 취급되는 차이가 있습니다. 따라서 FT의 경우 현금, 금, 기름과 같은 동일한 양이면 같은 가치를 가지는 성격을 지녔기 때문에 화폐인 ‘코인’으로 사용되기도 합니다.

 

표 2. ERC-20과 ERC-721의 차이

기능

ERC

입력 값

진행

Mint

(발행)

ERC-20

주소(account)

발행량(amount)

토큰을 발행량 만큼 주소로 전송

ERC-721

받는 주소(to)

토큰ID(token ID)

토큰ID의 소유자를 수신 주소로 변경&전송

Transfer

(전송)

ERC-20

송신자 주소(sender)

수신자 주소(recipient)

보내는 양(amount)

보내는 양만큼 송신자 주소에서 수신자

주소로 토큰 전송

ERC-721

송신자 주소(from)

수신자 주소(to)

토큰ID(token ID)

토큰ID의 소유자를 수신자 주소로 변경하고 토큰 전송

Burn

(소각)

ERC-20

주소(account)

소각할 양(amount)

해당 주소에서 소각할 양만큼 소각

ERC-721

토큰ID(token ID)

토큰ID의 소유자 정보 삭제 후 토큰 소각

 ERC-20과 ERC-271의 큰 차이는 ‘토큰’에 고유한 ID가 부여되어 있는지 여부이며 그에 따라 실제 사용시에도 차이가 발생합니다. 표 2의 ‘Mint(발행)’를 보면 ERC-20의 경우 발행할 ‘토큰’의 양을 입력 값으로 갖는 반면 ERC-721은 특정ID ‘토큰’ 하나에 대해 작업을 수행합니다. 마찬가지로 ‘Transfer(전송)’과 ‘Burn(소각)’ 또한 ERC-20은 ‘토큰’의 총 양(amount)을 입력하는 반면 ERC-721은 특정ID ‘토큰’에 대해서만 작업을 수행합니다.

 

 

그림 14. ERC-20과 ERC-721의 상태변화 예시

그림 14의 ERC-20의 상태변화 예시를 보면 ‘Value’에는 ‘토큰’의 소지 개수가 적혀져 있으며 A와 B는 각각 4개, 2개씩 소지하고 있다. 이후 A는 B에게 2개의 ‘토큰’을 전달하였고 전달한 ‘토큰’의 개수만큼 A와 B의 ‘Value’ 값이 변화되어 각각 2개 4개씩 소지하게 됩니다. ERC-721의 경우 ‘Value’ 값으로 각각 소지하고 있는 ‘토큰’의 ID를 나타내고 있습니다. A가 B에게 ‘TokenID_04’를 전달하여 A의 ‘Value’ 값에서 ‘TokenID_04’가 사라지고 B의 ‘Value’ 값에 추가된 것을 확인할 수 있습니다.

위와 같이 ‘블록체인’ 상의 ‘Smart Contract’를 통해 발행할 수 있는 FT와 NFT의 특성을 이용하면 금융 소프트웨어, 블록체인 게임, 스트리밍 앱, 금융 자산 등 정말 많은 분야에 활용할 수 있습니다.

 

 

 

 

[참고자료]
NFT실체와 가치 – 장세형
https://www.blockchain.com/btc/blocks
https://eips.ethereum.org/erc

 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.