devops

Cardano Native Token(네이티브 토큰)과 ERC-20 비교 본문

Cardano

Cardano Native Token(네이티브 토큰)과 ERC-20 비교

vata500 2024. 1. 21. 21:30
반응형

이더리움의 대표적인 Fungible Token인 ERC-20이 사용되듯이, 카르다노에서도 비슷한 역할을 하는 네이티브 토큰이라는 개념이 존재한다.

카르다노에서 $ADA 는 네트워크 수수료로 사용되는 카르다노의 Principle Token다. 먼저, Native Token과는 몇가지 차이가 있다.

  ADA Native Token
트랜잭션 전송이 되는가 YES YES
UTXO 출력에 저장되는가 YES YES
스크립트 출력으로 잠금이 가능한가 YES YES
거래소 주소로 전송되는가 YES YES
mint와 burn이 되는가 NO YES
네트워크 수수료로 지불하거나 보상으로 받는 것이 가능한가 YES NO

 위 표에서 보듯이, Natvie Token은 ADA처럼 트랜잭션을 통해 전송이 가능하며, 컨트랙트를 지원한다. 특히, ERC-20처럼, mint, burn이 가능하지만, 네트워크 수수료로 사용되는 것은 불가능하다.

Cardano Native Token

카르다노의 밈토큰인 SNEK

토큰은 짧은 단어로 asset token이라고 불리며, 온체인 상의 어느 자산을 의미한다. 이 asset은 unique identifier인 ID로 표시되며, 발행되는 Policy ID와 asset name에 의해서 fingerprint가 생성된다.

  • Policy ID: 어떤 상황에서 새 토큰을 mint 하거나 기존 토큰을 burn 하는지를 정의하는 일련의 규칙으로 통화 정책을 결정함. 토큰 발행자는 정책이 생성된 후에 정책을 변경하거나, 토큰을 새 정책과 연결할 수 없게됨
  • Asset name: 동일한 발행 Policy 내에서 식별하기 위한 불변의 속성값임.

Policy ID와 Asset name이 동일해야만 서로 대체가 가능하다. 동일한 이름을 가진 두개의 자산이 존재하더라도, 서로 다른 Policy ID를 가지고 있다면 대체할 수 없다. 

그러나 동일한 Policy ID 하에서 서로 다른 Asset name이 존재하는 것은 카르다노에선 NFT로 활용된다.

Cardano Native Token vs ERC-20

이더리움의 ERC-20은 가장 많이 사용되는 토큰으로 전송과 교환, 보상과 거버넌스 투표 등 다양한 유틸리티를 목적으로 사용된다. 카르다노의 Native Token은 추적과 회계가 모두 ledger에서 지원한다.(ERC-20은 스마트 컨트랙트에서 이루어짐)

중간에 Contract를 거치지않고 mint/burn/transfer/recieve 가 가능함

Natvie Token은 스마트 컨트랙트를 거치지 않고 tranfer가 가능하며, 다른 토큰과 함께 전송도 가능하다는 장점이 있다. 또한, transfer를 위한 특별한 수수료를 요구하지 않으며, 추가적인 이벤트 핸들링 로직(트랜잭션을 트래킹할)도 요구하지 않는다.

  ERC- 20 Native Token
블록체인과의 관계 Contract Standard로 유저의 복붙 코드 표준이 아닌 원장에 내장되어 있음.
컨트롤 주체 솔리디티 스마트 컨트랙트 카르다노가 지원하는 언어의 Policy Script
스마트 컨트랙트 mint / burn 을 실행 가능한가 YES YES
mInt 로직 커스터마이징 가능한가 YES YES
스마트 컨트랙트가 Transfer해야만 하는가  YES NO
다른 스마트 컨트랙트가 특별한 지원없이 사용할 수 있는가 NO YES
다른 토큰과 함께 전송되는가 NO YES
Transfer 로직이 제공되는 것 ERC20 템플릿의 복붙 코드 카르다노 렛저
Transfer 로직이 커스터아밍되는가 YES NO
Transfer 를 위해 특별한 수수료가 요구되는가 YES NO
Transfer를 위한 추가적인 이벤트 핸들링이 필요한가 YES NO
non-fungible token을 지원하는가 NO YES
Readable 메타데이터 스마트 컨트랙트에 의해서 제공 off-chain의 메타데이터 서버에서 제공

ERC-20은 사실상 스마트 컨트랙트의 내부에서 Account의 value를 관리하는 구조라고 본다면, 카르다노 Native token은 원장에서 지원하기 때문에 스마트 컨트랙트의 보유량 확인과 같은 이벤트 핸들링이 필요하지 않으며, 동시에 여러 기능도 지원한다.

특히 카르다노 네이티브 토큰은 Security 측면에서 더 우수하다고 판단한다.

ERC-20은 보안에 취약하다. Contract Standard를 따르기 때문에 발행되는 ERC-20은 코드 상으로 다른 차이가 존재할 수 있으며, 이로인해 예기치 못한 오류와 버그가 발생할 수 있다. 

카르다노 네이티브 토큰은 토큰 생성과 거래에 Ledger가 로직을 처리하기 때문에 ERC-20의 overflow나 underflow같은 취약성은 제거된다.

즉, Standard 코드를 활용하는 과정에서 발생하는 코드 상의 오류, overflow와 underflow 취약점 그리고 gas price 공격과 같은 리스크는 카르다노 네이티브 토큰에선 존재할 수 없다.


네이티브 토큰 발행은 아래 링크를 통해서 진행하면 된다. Monentary Policy 스크립트만 준비되면 cardano-cli를 통해서 mint할 수 있다.

https://developers.cardano.org/docs/native-tokens/minting/

 

Minting Native Assets | Cardano Developer Portal

How to mint native tokens on Cardano.

developers.cardano.org


참고 자료

https://developers.cardano.org/docs/native-tokens/minting/

https://forum.cardano.org/t/native-custom-tokens-on-cardano-the-anatomy-and-why-its-better-than-erc-tokens/59744

https://github.com/IntersectMBO/cardano-ledger/blob/master/doc/explanations/features.rst

반응형
Comments