Smart Contract 란?
Smart Contract
“똑똑한 계약서”라고 직역할 수 있는데 무슨 말일까 알아보도록 합시다.
Smart Contracts - Nick Szabo
- 1994년 닉 사보(Nick Szabo)의 논문에서 처음 제시된 개념.
- 당시 기술적 한계로 구현하지 못함.
- 기본 성질
-
관측 가능성(observability)
서로의 계약 이행 가능성을 관찰하거나 그 성과를 입증할 수 있어야 한다. -
검증 가능성(verifiability)
계약을 이행하거나 위반했을 때 계약 당사자들이 이를 알 수 있어야 한다. -
당사자 원칙(privity)
계약의 내용은 계약이 필요한 당사자들만이 알 수 있어야 한다. -
강제 가능성(enforceability)
계약이 이루어질 수 있도록 구속력이 있어야 한다.
-
Smart Contract 의 등장 배경
기존 계약 방식
신뢰할 수 있는 제3자(Trusted third party)를 통한 거래
자산의 복제, 이중 지불등의 금융 시스템을 붕괴시킬 수 있는 행위를 막기 위해서는 아무나 자산을 함부로 다룰 수 없도록 은행과 정부에서 신뢰할 수 있는 금융 기관을 설립해서 거래 행위를 검증
해야 합니다.
이때 신뢰할 수 있는 금융기관을 신뢰할 수 있는 제3자(Trusted third party)
라고 합니다.
기존 계약 방식의 문제점
-
주식 거래
-
주식 거래는 아래와 같이 매도자와 매수자 간의 거래
flowchart LR seller((매도자)) buyer((매수자)) buyer -->|"현금"|seller seller -->|"주식"|buyer -
하지만 실제 거래는?
→ 증권 회사를 통한 제 3자 거래flowchart LR seller(매도자) buyer(매수자) fund((증권 회사)) ex(((한국예탁결제원))) seller-->|"주식-매도 주문"|fund buyer-->|"현금-매수 주문"|fund fund-->|"주식소유이전 요청"|ex증권 회사는
거래 수수료
를 요구한다!
-
-
해외 송금
flowchart LR people(고객) bank((국내 은행)) ex(((외환 중개 은행))) foreign((해외 은행)) people2(수취인) people-->|현금|bank bank-->|지급요청|ex ex-->|입금|foreign foreign-->|송금|people2은행은
송금 수수료
와환전 수수료
를 요구한다!
Blockchain 의 등장과 Smart contract 의 구현
사전에 정해진 계약자 간의 규칙에 따라 디지털 자산을 자동으로 이동하는 시스템
-비탈릭 부테린 (Vitalik Buterin)
닉 사보가 제안한 Smart Contract는 앞서 살펴본 것처럼 다음과 같은 특징을 가지고 있습니다.
- 지불 조권, 유치권, 기밀 보장 등
일반적인 계약의 조건을 만족
해야 한다. - 계약 지불 조건이 만족되면,
자동으로 계약이 이행
되어야 한다.
→ 이를 위해서컴퓨터 코드로 Smart Contract를 작성
하여,조건에 따라 자동으로 계약이 수행
되도록 한다.
Smart Contract 구현의 걸림돌
Smart Contract의 구현에 있어서 가장 큰 문제점은 데이터의 무결성
을 보장하는 방법 이었습니다.
→ Ethereum 창시자 비탈릭 부테린은 이 Blockchain
을 활용하여 데이터의 무결성을 보장
하고, 이를 통해 Smart Contract의 구현
에 성공하였습니다.
Smart Contract의 장점
보안
Contract의 내용과 그 이행 내역을 블록체인 네트워크에 참여하는 모든 노드가 공유
→ 조작 가능성이 낮아짐
신뢰성 & 투명성
블록체인 네트워크의 모든 노드가 검증
→ 계약 내용 및 이행 결과를 위변조하기 어려움
→ 신뢰성과 투명성이 높아짐
효율성
계약 상대의 계약 의무 이행 여부 검증, 제 3자를 통한 계약 이행 등의 불필요한 절차를 줄일 수 있습니다.