카르다노의 네이티브 자산 이해

카르다노의 네이티브 자산 이해

출처:https://cexplorer.io/article/understanding-native-assets-on-cardano

게시됨2일2시간3분 전

네이티브 자산 기능은 토큰 발행자와 토큰 소유자를 분리하고 핵심 운영은 프로토콜에 맡길 수 있는 혁신적인 방법입니다. 네이티브 자산을 처리하는 것이 더 저렴하고 안전하지만, 프로그래밍 가능성이 낮아지는 대가가 따릅니다. 카르다노와 이더리움 플랫폼의 토큰에 대한 접근 방식을 비교해 보겠습니다.

네이티브 에셋

카르다노는 소위 다중 자산 원장이라고 불립니다. 원장 모델에 정의된 회계 인프라는 ADA 코인과 동일한 방식으로 토큰을 처리할 수 있도록 확장되었습니다. 카르다노 원장은 원장에 있는 다양한 유형의 자산에 대한 이전 및 소유권 추적을 지원합니다.

카르다노는 소위 네이티브 방식으로 토큰을 발행, 저장, 전송할 수 있습니다. 즉, 이더리움과 같은 스마트 콘트랙트가 필요하지 않습니다. 네이티브 스크립트는 토큰을 발행(및 소각)할 때만 사용됩니다.

주소에서 주소로 토큰을 기본적으로 전송한다는 것은 이 기능이 카르다노 프로토콜에서 제공된다는 것을 의미합니다. ADA 코인의 전송에 사용된 프로토콜 소스 코드의 동일한 부분이 토큰 전송에 사용됩니다. 토큰을 처리하는 데 필요한 모든 기능은 한 번만 구현되며 모든 토큰에 대해 정확히 동일합니다.

간단히 말해, 원장과 프로토콜은 제3자(토큰 발행자)가 기본 작업을 위한 추가 규칙과 기능을 갖춘 소스 코드(스마트 콘트랙트)를 제공하지 않아도 토큰을 처리할 수 있습니다.

토큰 제어

토큰을 발행하려는 사용자는 발행 정책을 정의해야 합니다. 이 사용자를 자산 컨트롤러라고 합니다. 발행 정책은 무엇보다도 누가 어떤 조건에서 토큰 공급, 즉 발행과 소각을 제어할 수 있는지를 정의하는 일련의 규칙입니다. 이러한 사용자를 토큰 발행자라고 합니다. 자산 컨트롤러와 토큰 발행자는 하나의 주체가 될 수 있습니다.

노드는 트랜잭션이 처리될 때 항상 채굴 정책 준수 여부를 확인합니다. 익스플로잇이 발생할 여지가 거의 없습니다.

아래 이미지에서 토큰의 수명 주기 동안 누가 토큰을 제어하는지 확인할 수 있습니다. 토큰의 발행과 소각은 토큰 발행자가 통제합니다. 그는 카르다노 노드와 상호 작용해야 합니다. 발행자가 토큰을 사용자 주소로 전송하면, 사용자는 자신의 지갑을 통해 토큰을 제어할 수 있는 유일한 사람입니다. 즉, 토큰의 전송과 소유권은 네이티브 스크립트에 의존하지 않습니다.

카르다노 원장은 토큰 저장을 담당하고 프로토콜은 토큰 전송을 담당합니다. 토큰 보유자는 일반 카르다노 지갑을 사용하여 토큰을 사용하기 위해 트랜잭션을 구성하고 네트워크에 제출합니다.

사용자는 타사 애플리케이션에서 토큰을 사용할 수 있습니다. 토큰을 발행하고 소각하는 스크립트는 애플리케이션과 별개라는 점에 유의하시기 바랍니다. 애플리케이션(플루터스 플랫폼에서 실행)은 카르다노와 상호 작용하여 토큰을 조작합니다.

파란색 상자 안에는 카르다노에서 제공하지만 토큰 발행자가 기능을 정의하거나 제한할 수 없는 프로세스가 있습니다. 빨간색 상자는 토큰 발행자가 정의한 프로세스입니다. 노란색 상자는 사용자 스크립트(프로그램)를 처리할 수 있는 실행 환경(플랫폼)입니다.

사용자가 토큰을 소유하게 되면, 토큰 발행자는 토큰을 전혀 통제할 수 없습니다. 사용자는 서로에게 토큰을 보낼 수 있으며, 카르다노 프로토콜과 원장만 있으면 됩니다. 토큰 발행자는 사용자가 자신의 주소로 토큰을 보낼 때만 토큰을 제어할 수 있으며, 토큰을 소각할 수도 있습니다. 사용자는 토큰 발행자의 허가를 요청할 필요나 제한 없이 모든 스마트 콘트랙트를 완전히 사용할 수 있습니다.

아래는 두 플랫폼을 비교할 수 있도록 이더리움의 유사한 이미지입니다.

네이티브 에셋의 장단점

네이티브 자산의 가장 큰 장점 중 하나는 ADA 코인과 마찬가지로 일반 거래를 통해 전송할 수 있다는 것입니다. 스마트 컨트랙트를 사용해야 하는 경우보다 전송에 필요한 컴퓨터 리소스가 적기 때문에 수수료가 더 낮습니다. 스마트 컨트랙트를 사용해야 하는 경우, 수수료는 스마트 컨트랙트의 복잡성(소비되는 리소스의 양)에 따라 달라집니다.

스마트 컨트랙트에 독립적이기 때문에 단일 트랜잭션에서 여러 토큰을 쉽게 전송할 수 있습니다. 한 트랜잭션에서 여러 수신자를 정의하는 것도 가능합니다. 이러한 트랜잭션의 검증은 간단하며, 앞서 말했듯이 모든 토큰에 대해 동일합니다.

토큰을 원장에 저장하고 카르다노 프로토콜을 통해 전송하는 것은 스마트 콘트랙트에서 제3자가 구현하는 기능에 의존하지 않기 때문에 더 안전합니다. 이렇게 하면 컨트랙트 코드의 버그로 인해 토큰이 손실되지 않습니다. 기존의 다른 콘트랙트를 복사/붙여넣거나 새로운 것을 만들 필요가 없습니다.

토큰 전송 규칙을 사용자 정의할 수 없다는 것은 토큰 발행자가 어떤 이유로 토큰 전송 규칙을 직접 정의하고자 하는 경우 단점이 있습니다. 토큰 발행자가 규정을 준수해야 하기 때문에 토큰 전송에 대한 통제권을 유지하고자 하는 경우, 카르다노의 경우 이는 불가능합니다. 예를 들어 특정 관할권에서 스테이블코인을 발행하려면 블랙리스트, 거래 검열 또는 계정 동결 기능을 구현해야 할 수 있습니다.

네이티브 토큰은 ADA 코인과 동일한(또는 매우 유사한) 속성을 가지고 있습니다. 누군가가 토큰을 사용하지 못하도록 막거나, 거래 검열을 구현하거나, 토큰으로 주소를 동결하는 것은 불가능합니다.

토큰은 원장에 투명하게 저장되므로 감사가 매우 쉽습니다. 채굴 정책을 조회하기만 하면 감사자는 필요한 모든 정보를 확인할 수 있습니다.

카르다노와 이더리움의 비교

카르다노에서 토큰을 발행할 때는 토큰의 이름, 수량, 토큰을 발행하고 소각할 수 있는 주체 등 토큰의 기본 속성만 정의할 수 있습니다. 기능은 발행과 소각에 대해서만 정의할 수 있습니다. 예를 들어, 더 이상 코인을 발행하거나 소각할 수 없는 시간을 지정할 수 있습니다.

이더리움에서 토큰을 발행할 때는 기능이 정의된 전체 스마트 콘트랙트, 즉 토큰을 사용한 각 작업의 특정 동작을 작성해야 합니다. 토큰의 이름과 개수 외에도 채굴, 소각, 토큰 전송 등에 대한 기능을 정의해야 합니다. 예를 들어, 승인 기능을 통해 계정이 발신자를 대신하여 일정 금액의 토큰을 사용할 수 있도록 보장할 수 있습니다. 또한 한 계정이 다른 계정을 대신하여 사용할 수 있는 토큰의 양을 조회할 수 있는 기능을 허용할 수도 있습니다.

이더리움은 토큰의 높은 프로그래밍 가능성을 허용합니다. 토큰 발행자는 토큰을 발행하고 소각하는 것뿐만 아니라 누가 어떤 조건에서 토큰을 사용할 수 있는지 정의할 수 있는 등 훨씬 더 많은 통제권을 갖습니다.

아래 이미지는 스마트 컨트랙트와 프로토콜에 의해 제어되는 기능을 설명합니다.

빨간색 상자 안에는 토큰 발행자가 정의해야 하는 모든 프로세스가 있습니다. 스마트 컨트랙트는 토큰의 생성, 전송, 잔액을 관리하는 기능과 이벤트를 정의합니다. 또한 스마트 컨트랙트는 스토리지에 있는 각 계정의 토큰 잔액 매핑을 유지합니다. 이더리움 프로토콜은 스마트 컨트랙트를 배포하고 실행하기 위한 실행 환경(플랫폼)만 제공합니다.

이더리움 프로토콜은 발행된 토큰에 대한 지식이나 통제권이 없습니다. 규칙에 따라 스마트 컨트랙트 코드를 실행하고 원장에 상태 변화를 기록할 뿐입니다.

카르다노 프로토콜은 발행된 토큰에 대해 알고 있으며, 트랜잭션과 원장의 저장을 통해 토큰 전송을 제어합니다.

두 플랫폼의 다른 접근 방식은 타사 애플리케이션에서 토큰을 사용할 수 있는 방법에 반영되어 있습니다.

카르다노 생태계의 애플리케이션은 네이티브 트랜잭션을 통해 기존의 모든 토큰과 임의로 작업할 수 있습니다. 탈중앙 거래소를 구축하는 팀은 모든 기능을 완전히 제어할 수 있습니다. 이들은 토큰을 사용할 수 있는 조건을 정의할 수 있습니다. 토큰 발행자는 타사 애플리케이션에서 토큰을 사용하는 것을 통제할 수 없습니다. 즉, 팀은 사용자로부터 토큰을 받을 수 있는 기능을 정의합니다(일반적으로 다른 토큰과 교환). 또한 유동성 풀과 토큰 스왑의 기능도 직접 정의합니다. 각 탈중앙 거래소는 상당히 다르게 작동할 수 있습니다.

이더리움의 경우, 여러 스마트 콘트랙트가 함께 상호작용해야 합니다. 탈중앙 거래소를 구축하는 팀은 토큰을 발행하는 데 사용된 스마트 콘트랙트와 상호 작용하는 스마트 콘트랙트를 만들어야 합니다. 유니스왑에서 토큰을 교환하려면 4개의 스마트 콘트랙트가 상호작용합니다. 토큰 X에 대한 스마트 콘트랙트, 토큰 Y에 대한 콘트랙트, 토큰 X와 Y가 있는 유동성 풀에 대한 스마트 콘트랙트, 그리고 사용자와 페어 콘트랙트 간의 상호작용을 촉진하는 소위 라우터 콘트랙트입니다. 탈중앙 거래소를 구축하는 팀은 토큰 채굴을 위한 스마트 콘트랙트에 정의된 작업으로 인해 다소 제한을 받습니다. 다행히도 표준 인터페이스가 사용되므로 상호 작용이 비교적 쉽습니다.

카르다노 블록체인의 토큰은 ADA 코인과 같은 UTxO입니다. 트랜잭션 처리와 스크립트 검증을 병렬로 처리할 수 있습니다. 토큰 전송은 플루터스 플랫폼과 완전히 독립적이라는 점에 유의하세요. 플루터스 플랫폼은 더 고급 동작을 정의하는 데 사용할 수 있습니다.

이더리움의 토큰은 스마트 콘트랙트에 의해 저장되고 조정되는 잔액입니다. 네트워크의 각 노드에서 한 번에 하나의 트랜잭션만 실행할 수 있기 때문에 병렬 처리가 불가능합니다. 이는 이더리움이 순차적 실행 모델을 사용하며 토큰 처리(토큰 전송 포함)가 실행 환경(EVM)에 따라 달라지기 때문입니다.

결론

카르다노에서 토큰을 발행하는 것은 토큰 발행자가 토큰의 기본 특성과 발행 및 소각 권한만 정의하기 때문에 간단하고 비교적 안전합니다. 토큰을 사용한 기본 작업은 카르다노 노드에서 제공하며, 더 복잡한 작업은 플루투스 스크립트에서 프로그래밍할 수 있습니다. 따라서 최소한의 컴퓨터 리소스를 소비하므로 토큰을 매우 저렴하게 전송할 수 있습니다.

이더리움은 토큰 발행자가 송금을 포함한 토큰 작업에 필요한 모든 중요한 기능을 정의(프로그래밍)해야 합니다. 토큰 발행자가 토큰을 더 많이 제어하는 것은 경우에 따라 유용하지만, 컴퓨터 리소스를 더 많이 사용해야 한다는 대가가 따릅니다.

두 접근 방식의 차이점은 규제 요건을 준수해야 하는 스테이블코인을 발행할 수 있다는 점에서 가장 두드러집니다. 이더리움에서는 사용자가 토큰을 사용하지 못하도록 제한(거래 검열, 계정 동결)하는 것이 가능하지만, 카르다노는 이를 전혀 허용하지 않습니다.

물론 이더리움의 높은 프로그래밍 가능성은 토큰 사용과 관련한 사용자의 권리를 제한하는 것뿐만 아니라 다른 긍정적인 기능에도 사용될 수 있습니다. 카르다노에는 토큰 발행자가 토큰을 더 많이 제어할 수 있는 ERC-20 표준과 유사한 기능이 부족합니다. 현재로서는 카르다노에서 규제를 준수하는 스테이블코인을 발행하는 것은 기술적으로 불가능합니다. 반면에, 규제 당국이 소유자만 통제할 수 있는 스테이블코인의 존재를 허용한다면 더 좋을 수도 있습니다.