오늘 끝나면
스마트 컨트랙트
- ✓스마트 컨트랙트의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 스마트이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
코드가 곧 계약 — 이더리움이 연 것 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
암호 & 보안 · 16
스마트
컨트랙트
코드가 곧 계약임. 조건 맞으면 사람 없이 자동 실행됨. 이더리움이 연 것임.
자판기를 떠올리셈
자판기엔 직원이 없음. 돈 넣고 버튼 누르면 음료가 나옴. 규칙이 기계 안에 박혀 있어서 사람 없이도 알아서 집행됨.
“돈이 가격 이상이면 음료를 준다.” 이 한 줄이 자판기를 굴림. 감독 없어도 됨. 조건만 맞으면 그대로 됨.
스마트 컨트랙트는 이 자판기를 블록체인 위에 올린 것임. 사람 대신 코드가 약속을 지킴. 그게 다임.
감독하는 직원 없음 · 규칙이 알아서 집행
조건 → 자동 실행되는 코드
스마트 컨트랙트는 블록체인 위에 올린 작은 프로그램임. 핵심은 딱 하나, 조건문임.
if (조건) then (실행). 코인이 가격 이상이면 상품을 줌. 미달이면 거절하고 돌려줌. 한 번 정한 규칙이라 변덕 없음.
사람이 매번 확인하고 도장 찍는 게 아님. 조건 맞는 순간 코드가 스스로 집행함. 밤이든 명절이든 쉬지 않음.
투입 코인 >= 가격 ?
상품 지급
거절 · 환불
사람 손 안 탐 · 조건 맞으면 즉시 집행
직접 돌려보는 컨트랙트
오른쪽 자판기 컨트랙트를 직접 굴려 보셈. 가격은 3코인임.
코인을 슬라이더로 정하고 [컨트랙트 실행]을 누름. 그럼 컨트랙트가 직접 판정함. 3코인 이상이면 음료 지급 + 잔액 차감, 미달이면 거절 + 환불임.
내가 판정하는 게 아님. 코드가 판정함. 아래 장부에 결과가 쌓임. 한번 찍힌 건 못 지움. 이게 다음 장의 핵심임.
if (투입 >= 3) {
상품 지급
} else {
거절 · 환불
}코인을 정하고 [컨트랙트 실행]을 눌러 보셈. 사람 없이 코드가 판정함.
장부에 남으면 못 무름
실행 결과는 블록체인 장부에 박힘. 한번 기록되면 못 무름. 이게 종이 계약과의 결정적 차이임.
종이 계약은 “안 했다”고 우기거나, 몰래 고치거나, 법정까지 감. 스마트 컨트랙트는 그게 안 됨. 실행은 자동, 기록은 영구임.
좋게도 나쁘게도 작동함. 잘 짠 규칙은 절대 어겨지지 않음. 근데 버그가 있어도 못 무름. 그래서 코드를 신중히 짜야 함.
블록끼리 사슬로 묶임 · 하나 고치면 뒤가 다 깨짐 → 사실상 수정 불가
중개자 없이 약속이 집행됨
원래 약속을 지키려면 믿을 만한 중간 사람이 필요했음. 은행, 변호사, 에스크로. 이들이 사라짐.
돈 들어오면 자동으로 소유권을 넘기는 컨트랙트가 있으면, 중개인이 떼먹거나 늑장 부릴 일이 없음. 코드가 곧 중립 심판임.
정리하면 셋임. 자판기처럼 조건→자동 실행. 블록체인 위라 결과는 못 무름. 그래서 중개자 없이 약속이 그대로 집행됨. 이게 스마트 컨트랙트의 전부임.
Q. 스마트 컨트랙트의 핵심 성질은?
조건 맞으면 사람 없이 코드대로 자동 실행됨 / 그 결과는 되돌릴 수 없음. 자판기처럼 규칙이 코드로 박혀 자동 집행되고, 블록체인 장부에 영구히 남아 못 무름. 그래서 중개자 없이 약속이 그대로 지켜짐.수수료 · 늑장 · 떼먹기 위험
컨트랙트
중립 심판 · 약속 그대로 집행