X

스마트 계약 (Smart Contract)

I. 블록체인 2.0 핵심기능, 스마트계약

가. 스마트계약(Smart Contract)의 개념

  • 계약, 공증 등 블록체인 코드 업로드, 실행 기반 다양한 형태 계약 체결 및 자동 이행 기술

나. 스마트계약의 특징

구분 특징 설명
계약
측면
계약 / 이행 – 조건 업로드, 일치 시 자동 이행
프로세스 간소화 – 복잡한 프로세스 간소화
기술
측면
탈중앙화 – P2P 중심의 노드 간 운용
튜링 완전성 – 튜링 기계와 동일한 계산 능력

 

II. 스마트계약 개념도 및 기술요소

가. 스마트계약 개념도

나. 스마트계약 기술요소

구분 기술요소 설명
신뢰성 전자서명 – RSA 기반 부인 방지
Mining – 합의 알고리즘 기반 신뢰성보장
튜링완전
언어
Solidity – JavaScript와 유사, 객체지향
Serpent – Python과 유사, 이더리움 개발
이더리움 EVM – 바이트배열 키/값 스택 가상머신
DApp – 사용자 UI 제공 기술

 

III. 스마트 계약 사례 기반 절차

BLOCK3 – 모든 거래과정 블록체인으로 묶임, 거래성사
BLOCK4 – 거래에서 대금 지불 완료 확인
BLOCK5 – 블록체인으로 묶이고 이력화, 상호부인 불가

 

IV. 스마트계약 개발 환경 및 절차

가. 스마트계약의 개발 개념도

  • 스마트계약은 크게 [Creation/Deployment], [Invoke by Message], [Call]의 절차로 구성

나. 스마트계약의 구성요소

구분 구성요소 설명
스마트
계약
개발환경
Byte Code – 스마트계약 코드, EVM 위 실행
– Message TX, Call 통해 실행
Function
Signature
– to: Contract Address
– data: method signature
ABI – Application Binary Interface
– Method → Contract 함수 호출
Blockchain
Engine
– geth, parity,eth 등 이더리움 노드
– 스마트계약 관련 트랜잭션 처리
Application – 이더리움과 인터페이스 기반 스마트계약 어플리케이션

다. 스마트계약 절차

절차 설명
Contract Creation
/Deployment
– Byte Code 생성 시 트랜잭션 수행
– Contract 생성 후 contractAddress에 생성된 contract 주소 사용
Message
Transaction
– Contract 함수 실행 트랜잭션(쓰기)
– 계약 저장, 변경 시 수행(Gas소모)
Call – Contract 함수 실행 트랜잭션(읽기)
– 노드의 Contract를 로컬에서 수행

 

Categories: 디지털서비스
도리: