오늘은 블록체인이 작동하는 원리를 스마트 컨트랙트(Smart Contract)를 중심으로 살펴보려 해. 블록체인은 기본적으로 여러 사람이 같은 장부를 가지고 있어서 다른 사람이 함부로 장부를 조작할 수 없는 원리야. 온체인은 블록체인 위에서 일어나고 기록되는 모든 것을 통칭해. 블록체인에서 일어나는 거래, 또는 블록체인 위에서 구동하는 스마트 컨트랙트의 실행 등이 온체인에 속해.
스마트 컨트랙트란?
출처: 업비트 투자자보호센터, https://upbitcare.com/academy/education/blockchain/71
지금부터 알아볼 스마트 컨트랙트는 특정 조건을 넣은 코드를 블록체인에 기록하고, 조건이 충족되면 자동으로 코드가 실행되는 시스템이야. 예를 들어, A가 중고차를 판매하고, B는 그 걸 사려고 해. 판매자 A는 계약금을 받고, 구매자 B가 품질보증서를 받으면 A의 자동차가 B에게 운반되고, B의 잔금이 A의 계좌에 자동으로 송금되는 스마트 컨트랙트를 작성했어. 하지만 A의 품질보증서가 잘못되었다면 계약이 자동으로 이행되지 않고, 보낸 계약금은 다시 구매자 B에게 돌아가. 그럼 이제 스마트 컨트랙트가 어떻게 작동하는지 구체적으로 살펴볼게.
스마트 컨트랙트가 작동하는 방식
스마트 컨트랙트가 작동하는 순서는 다음과 같아.
스마트 컨트렉트 작성 및 배포 → 트랜잭션 제출 → EVM이 컨트랙트 실행 → 결과값을 블록체인에 저장
지금 우리는 스마트 컨트랙트의 단순한 작동 순서만 알아도 충분해. 대신 반드시 알아야 할 몇 가지 개념들을 살펴보자. 스마트 컨트랙트는 솔리디티(Solidity)라는 언어로 코드를 작성하고 블록체인에 배포해. 이더리움에서 작성된 스마트 컨트랙트를 배포, 실행하기 위해 EVM(Ethereum Virtual Machine, 이더리움 가상 머신)을 사용해. EVM은 이더리움이 정한 규칙에 따라 코드를 수행하고, 코드 실행이 성공적으로 완료됐을 때만 상태를 변경해. 그래서 스마트 컨트랙트가 직접적으로 블록체인에 영향을 미치지 않도록 보호하는 샌드박스(보호 영역) 같은 역할을 해.
출처: https://velog.io/@chlvlftn22/이더리움과-EVM
이더리움에 참여한 모든 사람, 즉 노드들은 이더리움 블록에 담긴 스마트 컨트랙트와 트랜잭션들을 각자의 EVM에서 실행시켜서 다른 노드들과 동일한 블록체인 상태를 유지해야 해. 문제는 악의적인 사용자가 혼자 EVM을 무한히 실행시켜버릴지도 모른다는 거야. 그래서 EVM 사용 대가로 수수료인 가스비(Gas Fee)를 지불하도록 했어. 그러면 EVM을 무한히 돌리기에 비용이 너무 많이 들겠지.
이용자들은 두 부분에서 가스비를 지불하는데, 베이스피(Base Fee)와 프라이어리티 피(Priority Fee)가 있어. 베이스피는 지불해야 하는 최소 금액이야. 프라이어리티 피는 블록에 내 트랙잭션을 먼저 처리하기 위해 추가로 지불하는 팁이야. 더 많은 팁을 줄테니 노드에게 내 거래를 먼저 블록에 기록해달라고 부탁하는 것이지. 프라이어리티 피는 채굴자인 노드에 직접 지급되고, 노드들은 인센티브를 받기 위해 열심히 일하겠지.
오픈씨로 보는 스마트 컨트랙트
NFT는 스마트컨트랙트의 꽃이라고 할 수 있어. NFT는 스마트 컨트랙트를 통해 발행되고, 거래가 이루어질 때도 스마트 컨트랙트가 거래를 자동으로 수행하기 때문이야. 오픈씨 같은 NFT 마켓플레이스는 블록체인에 코드 형태로 저장되어 있는 NFT를 소비자에게 필요한 요소만 뽑아서 구현해주는 어플리케이션이야. 오픈씨의 NFT를 보면서 어떤 온체인 요소들이 있는지 확인해보자.
BAYC #5176, 출처: 오픈시 캡처
https://opensea.io/assets/ethereum/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/5176/
NFT의 Details를 보면 다음과 같은 정보를 볼 수 있어.
Contract Address는 토큰의 발행부터 구동까지 모든 내용이 담긴 스마트 컨트랙트 주소야. 클릭하면 블록탐색기의 해당 컨트랙트로 연결돼. BAYC는 이더리움 기반 NFT기 때문에 이더스캔(Etherscan)으로 연결되고 있어.
출처: Etherscan, https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d
Token ID는 해당 NFT가 스마트 컨트랙트에서 발행된 순번이야. 클릭하면 NFT의 그림과 속성(메타데이터)이 저장된 주소로 연결돼.
Token Standard는 NFT가 어떤 NFT 토큰 표준을 따랐는지 보여줘. 이 NFT는 흔히 쓰이는 ERC-721에 따라 만들어졌다는 걸 확인할 수 있지.
Chain은 NFT가 발행된 블록체인 네트워크가 무엇인지 알려줘. 이 NFT는 이더리움 기반으로 만들어졌다는 걸 알 수 있군.
Metadata는 데이터에 대한 데이터라고 할 수 있어. NFT에는 디지털 콘텐츠를 비롯해서 여러가지 속성 정보를 담아야 하는데, 모든 것을 온체인으로 처리하기에는 가스비가 너무 많이 들어. 그래서 오프체인에 이 정보들을 저장해두고 그 주소를 온체인에 기입해서 연동하는 방식을 활용해. 외부에 저장된 정보를 메타데이터라고 불러. 이 때 분산화된 저장 시스템(IPFS)을 주로 이용해. IPFS는 NFT에 연결된 이미지와 정보를 탈중앙화해서 저장하는 기술인데, NFT를 구매했던 플랫폼이 없어져도 NFT에 연결된 이미지는 영구적으로 보존할 수 있어.
Item Activity에는 NFT의 판매 및 지갑 이동 기록이 모두 나와 있어. 누가, 누구에게, 언제, 얼마에 거래를 했는지를 다 알 수 있어.
지금까지 스마트 컨트랙트의 작동 방식을 NFT로 알아봤어. 비트코인은 단순히 코인을 송금하려는 목적이었는데, 이더리움은 여기에 스마트 컨트랙트라는 새로운 기능을 장착해 활용성을 높였어. 스마트 컨트랙트로 구현된 NFT를 기점으로 블록체인은 다양한 활용성을 뽐내게 되었는데, 다음에는 블록체인 기술을 활용한 어플리케이션인 디앱(Dapp)에 대해 얘기해볼게.
출처: 루디움(https://ludium.world),
디애셋 프로(https://contents.premium.naver.com/digitalasset/digitalassetpro)
Editor: Koo (@Koorypto)
크립토가 세상을 바꿀 수 있다고 믿는 낭만파
📍더 알아보기 : https://t.me/coiniseasy
📍코인이지 앱 :
IOS- https://apps.apple.com/us/app/coineasy/id6463145391
Andoid - https://play.google.com/store/apps/details?id=com.coineasy.coineasy
댓글 63개
CEDA
2024.03.31 10:42:36
감사합니다.
CEDA
2024.03.30 08:49:09
감사합니다.
감성돔
2024.03.01 22:09:44
잘봤어요
코인이지
2024.03.01 23:23:04
감사합니다
quince1109
2024.03.01 14:08:12
좋은 글 감사
코인이지
2024.03.01 23:23:06
감사합니다
eeyclim
2024.03.01 13:22:42
좋은 글 감사
코인이지
2024.03.01 23:23:07
감사합니다
StarB
2024.03.01 12:07:02
^^
코인이지
2024.03.01 23:23:10
감사합니다
2024.02.23 21:08:10