Cardano에서 거래를 구축하는 기술 가이드
Cardano가 작동하는 방식을 완전히 이해하려면 몇 가지 개념을 알아야 합니다. Cardano의 메커니즘은 비트코인과 매우 유사하지만 추가 기능이 확장되어 있습니다.
- UTXO
- 네이티브 자산(토큰 및 NFT)
- 스마트 계약
간단히 말해, Cardano는 비트코인의 UTXO 모델을 채택하여 확장한 것이며, 실제로 중요한 기능은 두 가지뿐입니다. 네이티브 자산과 스마트 계약입니다.
UTXO
Cardano를 이해하는 데 있어 가장 중요한 개념은 아마도 UTXO 모델일 것입니다. 이 모델은 원래 비트코인에서 사용되었지만 스마트 계약 개발에는 많은 제약이 있었기에, 이더리움은 스마트 계약을 구현하기 위해 이러한 모델을 포기하고 대신 계정 기반 모델(account model)을 채택했습니다. 대부분의 스마트 계약 지원 퍼블릭 블록체인도 이와 같은 방식을 따릅니다.
Cardano는 합의층에서 비트코인의 장점을 계승하면서도 상태 선택 관점에서는 스마트 계약 구현 요구 사항을 고려하여 이더리움의 설계 아이디어를 참고하였고, 이를 개선한 UTXO의 변형 버전(EUTXO)을 통해 스마트 계약을 지원합니다.
Cardano 문서에는 거래가 어떻게 이루어지고 UTXO가 어떻게 작동하는지 설명하는 여러 동영상 튜토리얼이 포함되어 있습니다.
그 중 UTXO와 거래에 관한 처음 두 동영상은 매우 중요한 개념이며 반드시 이해해야 합니다. 이를 통해 Cardano 내에서 자산이 어떻게 저장되는지, 그리고 각 거래에 포함된 정보가 무엇인지 파악할 수 있습니다.
UTXO와 거래의 고급 개념을 이해한 후에는 실제로 거래를 생성하고 제출해 보는 것이 가장 좋습니다. 구체적으로 다음 3단계로 나뉩니다.
- 거래 생성;
- 개인키를 사용하여 해당 거래에 서명;
- 거래를 Cardano 노드에 제출;
cardano-cli
거래를 생성하고 서명하며 제출하는 첫 번째 방법은 'cardano-cli'를 사용하는 것입니다. 이 방법은 매우 직관적이며 거의 확실하게 거래를 성공시킬 수 있지만, 사용자가 직접 Cardano 노드를 설정해야 한다는 전제 조건이 필요합니다.
많은 일반 사용자에게 이것은 상당한 진입 장벽입니다. 강력한 하드웨어와 많은 여유 메모리가 필요하기 때문입니다.
다행히 Cardano 문서에는 노드와 CLI 실행 방법에 대한 가이드가 제공되어 있습니다.
노드 설정을 마쳤다면, 시도해 볼 수 있는 아주 간단한 거래 예제에 대한 가이드도 있습니다.
cardano-serialization-lib + 경량 지갑
거래를 생성하고 제출하는 두 번째 방법은 cardano-serialization-lib과 경량 지갑을 함께 사용하는 것입니다.
특정 경량 지갑을 자유롭게 선택할 수 있지만, 저는 Cardano-serialization-lib과 Yoroi 지갑을 활용해 테스트넷으로 거래를 생성하고 서명하며 제출하는 방법을 보여주는 예제 프로젝트를 만들었습니다.
주요 내용은 NFT를 생성하여 스크립트 주소로 전송하는 과정을 시연하는 것입니다.
- 먼저 Yoroi Nightly(테스트넷을 지원하는 Yoroi 지갑의 개발 버전)을 설치하세요.
- 그런 다음 물받이(faucet)에서 테스트넷 ADA를 일부 확보하세요.
- 다음으로 Github 저장소를 복제하고 npm을 개발자 모드로 실행하세요 (기본 서비스 위치는 http://localhost:8080/).
토큰 및 NFT
기본적인 거래 방식을 이해했다면, 이제 Cardano 상에서 토큰과 NFT가 어떻게 작동하는지 더 깊이 이해할 필요가 있습니다.
Cardano 문서에는 장문의 소개 글이 있으며, 사실 Cardano에서 토큰과 NFT는 '네이티브 자산(native tokens)'이라고 불립니다. Cardano는 블록체인 계층에서 자체 토큰과 NFT를 직접 지원하기 때문이며, 반면 이더리움은 이러한 자산을 표현하기 위해 스마트 계약을 사용합니다.
Cardano에서 토큰과 NFT는 ADA와 동일한 방식으로 처리됩니다. 본질적으로 모든 자산은 고유한 ID를 가지며, ADA는 공백 문자열을 고유 ID로 사용합니다.
토큰과 NFT에 대해 이해해야 할 중요한 두 가지 개념은 다음과 같습니다.
- 민팅 정책(Mint policy)
- 메타데이터(Metadata)
토큰의 ID는 사실상 민팅 정책의 해시(hash)일 뿐이며, 민팅 정책은 토큰 발행(minting)이 가능한지를 결정하는 일련의 지침입니다.
토큰의 메타데이터는 토큰에 관한 기타 중요한 정보를 담고 있으며, 현재 CIP25에서 토큰 메타데이터 형식을 표준화하기 위한 기준을 제공하고 있습니다.
토큰 민팅
CLI 또는 serialization-lib + 경량 지갑을 사용하여 토큰을 민팅할 수 있습니다.
플루터스 스크립트(Plutus Scripts, 스마트 계약)
Cardano를 진정으로 완전히 이해하기 위해서 마지막 퍼즐 조각은 바로 그 스마트 계약 시스템을 이해하는 것입니다.
하지만 이 부분을 배우는 쉬운 방법은 없으며, 많은 시간 투자가 필요합니다. IOG가 공개한 동영상 시리즈를 따르는 것보다 더 좋은 학습 방법은 없습니다. 바로 「Plutus Pioneer Program」입니다.
이 동영상 시리즈는 플루터스 스크립트 작성법부터 테스트, 배포까지 안내하며, Cardano 위에서 다양한 스크립트를 구성할 수 있는 훌륭한 예제들을 제공합니다.
Cardano 기술에 관한 더 많은 정보와 지식을 원하신다면 Adaverse에 문의하시기 바랍니다.
About Adaverse
- 공식 홈페이지: adaverse.co
- 트위터: @Adaverse_Acc
- 페이스북: Adaverse Accelerator
- 인스타그램: @adaverse_acc
- 미디엄: Adaverse Accelerator ; Adaverse Asia
- 링크드인: @Adaverse
- 텔레그램: @Adaverse Founders Group
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News










