나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2025-01-12 05:22:06

스마트 컨트랙트

스마트 계약에서 넘어옴
{{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px); word-break:keep-all"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
암호화폐 목록(2024년 1월 12일 기준, 시가총액 순위로 정렬)
파일:비트코인 아이콘.svg 비트코인 | 파일:이더리움 심볼.svg 이더리움 | 파일:Tether 심볼.svg 테더 | 파일:BNBcoin.png BNB | 파일:솔라나로고.png 솔라나
파일:리플 심볼.svg 리플 | 파일:USDC-logo.png USDC | 파일:ada-coin-logo.png 에이다(카르다노) | 파일:도지코인 로고.svg 도지코인 | 파일:비트캐시로고.png 비트코인 캐시
파일:라이트코인 심볼.svg 라이트코인 | 파일:EthereumClassic.png 이더리움 클래식 | 파일:스텔라루멘 아이콘.svg 스텔라루멘 | 파일:HBAR.png 헤데라 | 파일:스택스로고3.png 스택스
파일:비트코인 아이콘.svg 비트코인 SV | 파일:알고랜드 아이콘.svg 알고랜드 | 파일:NEO(암호화폐) 아이콘.svg NEO | 파일:ICON-EOS.png 이오스 | 파일:IOTA Mark White.png 아이오타
파일:클레이튼 신로고.png 클레이튼 | 파일:비트코인 골드 아이콘.svg 비트코인 골드 | 파일:베이직 어텐션 토큰 아이콘.svg 베이직 어텐션 토큰 | 파일:Qtum 아이콘.svg Qtum | 파일:NEM 아이콘.svg NEM
파일:finschialogoonly.png 핀시아 | 파일:Creditcoin_2021_02_21_new_mark.png 크레딧코인 | 파일:스테이터스 네트워크 아이콘.svg SNT | 파일:ICON-omisego.png 오미세고 | 파일:ICON-CVC.png 시빅
파일:카이버 네트워크 로고.png 카이버 네트워크 | 파일:trustverse-logo2.png 트러스트버스 | 파일:xpc.png XP­Chain | 파일:Gluwacoin logo.png 글루와코인
<colbgcolor=#000><colcolor=#fff>관련 용어블록체인 · 스마트 컨트랙트 · 작업 증명 · 지분 증명 · 알트코인 · ICO · P2E · NFT · 탈중앙화
국내 주요 거래소파일:업비트 로고.svg 업비트 · 파일:빗썸 아이콘.svg 빗썸 · 파일:코인원 아이콘.svg 코인원 · 파일:코빗 로고.svg 코빗 · 파일:고팍스 로고.svg 고팍스
상위권 주요 글로벌 거래소파일:바이낸스 로고.svg · 파일:Coinbase 로고.svg · 비트멕스 · Bybit · OKX · Bitget · Gate.io · KuCoin · Bitfinex · 파일:크립토닷컴 로고 가로형.svg · HTX
관련 이슈그래픽 카드 채굴 대란 (2021년 · 2022년) · 대한민국의 암호화폐 규제 논란 · 김치 프리미엄 · 중앙은행 디지털화폐
관련 범죄스캠 코인 · 크립토재킹
사건/사고비트코인 플래티넘 사건 · 2022년 LUNA 대폭락 · FTX 파산}}}}}}}}}

1. 개요

1. 개요

스마트 컨트랙트(smart contract) 또는 스마트 계약블록체인 기반으로 체결하는 계약을 말한다.

비트코인에서 스택 기반의 튜링 불완전한 스마트 컨트랙트가 사용되었으며, Ethereum에서 처음 튜링 완전한 도입되었다. 현재는 에이다, NEO, Qtum, EOS 등의 암호화폐에도 적용된 상태이다.

비트코인에서는 잠금 스크립트, 해제 스크립트라는 형태로 존재한다. 트랜잭션 발생 시 잠금 스크립트와 해제 스크립트를 연결하여 실행하고 True가 결과로 도출되면 유효한 트랜잭션으로 간주된다. 비트코인에서 사용하는 스크립트는 OP 코드로 구성되어 있으며, 스크립트가 무한히 실행되는 것을 막기 위해 반복을 허용하지 않아 튜링 불완전하다.

Ethereum에서는 C++, Python, 그리고 JavaScript의 영향을 받아 만들어진 솔리디티(Solidity)라는 프로그래밍 언어를 사용하여 스마트 계약서를 작성한다. 초기의 이더리움은 자바스크립트[1]로 만들어졌었고, 스마트 컨트랙트를 용이하게 하기 위해 자바스크립트에 몇몇 명령어를 추가한 솔리디티라는 언어를 만들었다. 이름이 달라졌지만 기본 구성은 자바스크립트와 유사하다.

자바의 JVM과 유사하게, 이더리움의 각 노드에서는 EVM이라는 일종의 가상머신을 에뮬레이팅하여 스마트컨트랙트 코드를 실행하고 그 결과를 이더리움 네트워크에 연동한다.

Solidity 언어는 자바 기반이어서 대부분의 개발자들이 쉽게 적응할 수 있었으나, 스마트컨트랙트 개발의 확장성을 위하여 이더리움 재단에서는 파이썬, 자바, C언어 등의 다른 프로그래밍 언어로 스마트컨트랙트를 개발할 수 있도록 다양한 EVM 컴파일러 또는 Wrapper를 개발하고 있다.


[1] 비트코인이 C++로 만들어진 것에 비해, 고등학생때부터 비트코인을 연구한 비탈릭 부테린이 이더리움은 이 언어로 만든 이유는 어디까지나 스마트 컨트랙트를 위함이 가장 컸다. 플랫폼이 되기 위한 길.