/스터디 가이드/블록체인 백과사전/DeFi/스마트 계약이란 무엇인가요?

스마트 계약이란 무엇인가요?

2023.08.16 MEXC
공유:

스마트 계약의 개념은 원래 블록체인의 맥락에서 등장한 것이 아니라 1994년 컴퓨터 과학자이자 전문 암호학자인 닉 자보(Nick Szabo)가 일련의 프로토콜과 프로토콜에 관련된 당사자의 실행을 포함한 디지털 형식의 일련의 약속으로 정의했습니다.

그러나 탈중앙화된 P2P 전송 시스템인 비트코인의 탄생과 프로그래밍이 가능하고 불변하는 블록체인 기술이 등장하기 전까지는 그다지 주목받지 못했습니다. 이러한 발전으로 스마트 계약은 단순한 이론적 개념 이상의 의미를 갖게 되었습니다.

2013년 말 비탈릭 부테린은(Vitalik Buterin) 이더리움 백서를 발표했고, 이후 몇 년 동안 팀을 이끌며 탈중앙화된 스마트 계약 애플리케이션 플랫폼을 개발했습니다. 이더리움은 애플의 iOS나 안드로이드와 같은 기본 운영체제처럼 작동하며, 개발자가 다양한 유형의 스마트 계약과 블록체인 애플리케이션을 빠르게 만들 수 있는 풍부한 API 인터페이스를 제공합니다.

이제 스마트 계약의 개념이 더 명확해졌습니다. 스마트 계약은 컴퓨터에 코드로 작성된 불변의 계약 프로토콜입니다. 참여자들이 합의한 특정 조건이 충족되면 스마트 계약이 실행됩니다.

1. 스마트 계약의 특징


간단히 말해 스마트 계약은 컴퓨터 프로그램입니다. 스마트 계약은 우리가 상상하는 것만큼 지능적이지 않으며, 기존 계약의 법적 강제력을 가지고 있지도 않습니다.

결정론적: 동일한 스마트 계약을 전 세계 여러 지역에 분산된 컴퓨터에서 실행하더라도 실행 결과는 항상 일정합니다.

개방성 및 투명성: 스마트 계약 내의 모든 이용 약관은 참여 당사자가 완전히 액세스하고 볼 수 있습니다.

불변성: 일단 계약이 배포되면 그 내용은 변경할 수 없습니다. 어떤 당사자도 계약의 실행을 방해할 수 없습니다.

2. 스마트 계약의 수명 주기


스마트 계약은 트랜잭션에 의해 호출될 때만 실행됩니다. 한 계약이 다른 계약을 호출할 수 있으며, 이러한 호출은 여러 계층의 계약 사이에서 계속될 수 있습니다. 그러나 이 실행 체인에서 첫 번째 계약의 실행은 외부 계정에서 생성한 트랜잭션에 의해 시작되어야 합니다. 스마트 계약은 자동 또는 백그라운드에서 실행되지 않습니다. 트리거 트랜잭션이 없으면 계약은 호출을 기다리는 상태로 유지됩니다.

트랜잭션의 실행은 전체이며, 글로벌 상태의 수정은 모든 실행이 성공적으로 확인된 후에만 발생합니다. 성공 확인은 프로그램 실행에 오류나 종료 조건이 발생하지 않았음을 의미합니다. 오류로 인해 프로그램 실행이 종료되면 이전에 수행한 모든 작업이 마치 실행이 없었던 것처럼 롤백됩니다.

3. 스마트 계약의 문제점


스마트 계약의 사용이 점점 더 널리 보급됨에 따라 사람들은 현실 세계의 계약과 마찬가지로 신중하게 검토하고 검증하지 않으면 취약점이 발생하여 자산 보안 문제로 이어질 수 있다는 사실을 알게 되었습니다.

이더리움 역사상 가장 잘 알려진 사건 중 하나는 TheDAO 이벤트입니다. TheDAO는 한 달 만에 1억 5천만 달러 상당의 이더를 모금한 탈중앙화 자율 펀드 프로젝트였습니다. 하지만 한 달 만에 토큰 코드의 취약점으로 인해 해커가 상당한 양의 자금을 유출하는 사건이 발생했습니다. 스마트 계약의 불변성 특성으로 인해 프로젝트 팀은 개입할 수 있는 권한이 없었습니다.

오늘날에도 계약 취약점은 계속 발생하고 있습니다. 하지만 이러한 해킹 사건으로 인해 더 많은 개발자가 현실 세계의 계약과 마찬가지로 프로토콜 프로세스가 너무 복잡할 경우 전문적인 제3자 감사가 필요하다는 사실을 깨닫게 되었습니다.

4. 요약


스마트 계약은 제3자 중개자를 개방적이고 투명하며 변경 불가능한 프로토콜 코드로 대체하여 계약 참여자의 신뢰 비용을 절감합니다. 스마트 계약은 광범위한 응용 분야와 전망을 가지고 있습니다. 보안 감사에 대한 과제는 여전히 남아 있지만, 이 분야가 10년도 채 되지 않았다는 점을 인식하는 것이 중요합니다. 스마트 계약 개발은 아직 초기 단계에 있으며, 스마트 계약의 광범위한 시장 수용은 시간 문제일 뿐이라고 생각합니다.

신규 사용자 이벤트

지금 바로 가입하고, 최대 1,000 USDT의 신규 사용자 보상을 받아보세요!