스마트 컨트랙트

덤프버전 :




1. 개요


1. 개요[편집]


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

Ethereum에서 처음 도입되었다. 현재는 에이다, NEO, Qtum, EOS 등의 암호화폐에도 적용된 상태이다.

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

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

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


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-04 15:41:42에 나무위키 스마트 컨트랙트 문서에서 가져왔습니다.

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