스마트 컨트랙트

 

1. 개요


1. 개요


'''스마트 컨트랙트'''(smart contract) 또는 '''스마트 계약'''은 블록체인 기반으로 체결하는 계약을 말한다.
Ethereum에서 처음 도입되었다. 현재는 에이다, NEO, Qtum, EOS 등의 암호화폐에도 적용된 상태이다.
Ethereum에서는 솔리디티(Solidity)라는 자바 기반의 프로그래밍 언어를 사용하여 스마트 계약서를 작성한다.
자바의 JVM과 유사하게, 이더리움의 각 노드에서는 EVM이라는 일종의 가상화 머신을 에뮬레이팅하여 스마트컨트랙트 코드를 실행하고 그 결과를 이더리움 네트워크에 연동한다.
Solidity 언어는 자바 기반이어서 대부분의 개발자들이 쉽게 적응할 수 있었으나, 스마트컨트랙트 개발의 확장성을 위하여 이더리움 재단에서는 파이썬, 자바, C언어 등의 다른 프로그래밍 언어로 스마트컨트랙트를 개발할 수 있도록 다양한 EVM 컴파일러 또는 Wrapper를 개발하고 있다.