스마트 계약이란 무엇이며 어떻게 작동하는가?

Ethereum 및 기타 블록체인의 스마트 계약과 그 작동 방식, 가상자산에 스마트 계약이 중요한 이유를 알아봅니다.

Jan 10, 2023
|

Deep Dive Smart Contracts Opt

스마트 계약이란?

‘스마트 계약’이라는 용어는 컴퓨터 과학자이자 암호 전문가인 닉 사보(Nick Szabo)가 1990년대에 처음 사용했습니다. 그가 발표한 글에는 스마트 계약이 ‘일련의 약속으로, 약속을 이행하는 당사자가 준수해야 하는 프로토콜을 포함하여 디지털 형식으로 규정되어 있다’라고 정의되어 있습니다.

스마트 계약은 블록체인과 가상자산 영역의 기본 구성 요소입니다. 블록체인이 인기를 얻으면서 스마트 계약도 활성화되기 시작했는데, 특히 스마트 계약을 지원하는 인기 블록체인 중 하나인 Ethereum이 등장하면서 그 현상이 두드러졌습니다.

핵심 내용

  • 스마트 계약은 블록체인에서 운영되는 자체 실행 컴퓨터 프로그램입니다. 거래가 스마트 계약의 규칙에 부합하면 디지털 계약이 거래를 실행합니다.
  • 스마트 계약의 잠재적 이점으로는 무엇보다 자동화, 투명성, 보안을 들 수 있습니다.
  • 스마트 계약의 위험성으로는 허술한 규제잠재적 취약성을 들 수 있습니다.
  • 오늘날 실제로 스마트 계약이 사용되는 사례는 금융, 공급망 등 헤아릴 수 없이 많습니다.

스마트 계약이 작동하는 방식

블록체인 영역에서 스마트 계약이란 블록체인에서 운영되는 자체 실행 컴퓨터 프로그램을 가리킵니다. 이 같은 유형의 계약은 지정된 코드 조건에 따라 이벤트와 작업을 자동으로 실행하고 제어하기 위해 생성됩니다. 코드에는 ‘x가 발생하면 y를 실행한다’(여기서 x는 이벤트, y는 작업)는 로직을 따르는 규칙과 데이터가 포함되어 있습니다. 이는 일부 비즈니스 규칙을 실행하는 일반 애플리케이션과 비슷합니다. 실행 환경으로 블록체인을 사용한다는 점만 다릅니다. 자판기의 작동 원리에 비유할 수 있습니다. 적절한 입력이 이루어지면 특정한 출력이 보장되는 것입니다.

Smart Contract Illustration

간단히 말해 스마트 계약은 블록체인에서 디지털화된 방식으로 계약을 실행하는 것이라고 할 수 있습니다. 기존 디지털 계약과 마찬가지로 스마트 계약도 둘 이상의 계약 당사자가 있고 사실상 법적 집행이 가능합니다. 이처럼 기존 계약과 스마트 계약이 일부 유사한 측면이 있지만 그렇다고 동일한 것은 아닙니다. 스마트 계약은 탈중앙화된 세계에 한 걸음 더 가까이 다가가기 위한 도구로, 표준 계약을 대체하기 위한 것이 아닙니다.

Ethereum 스마트 계약

아래 다이어그램은 Ethereum 블록체인을 예로 들어 스마트 계약 시스템이 작동하는 방식을 보여줍니다. 각 예약은 고유한 주소로 식별됩니다. 계약 조건은 코드로 작성됩니다. 계약이 블록체인에 배포된 후에는 계약 코드를 변경할 수 없습니다.

사용자가 제출한 거래가 처리되면 그 결과로 블록체인 노드에서 스마트 계약이 실행됩니다(예: ETH에서 CRO로 토큰 스왑을 실행하는 경우). 블록체인 노드는 거래를 승인하고 검증하는 컴퓨터 등의 기기로, 네트워크의 다른 노드와 커뮤니케이션하는 허브의 역할을 합니다.

그런 다음 네트워크의 각 블록체인 노드에서 이러한 거래를 실행하여 출력 결과를 확인합니다. 모든 노드에서 확인을 마치면 그에 따라 계약 상태가 업데이트됩니다. 거래는 코드를 통해 자동화되고 자체적으로 실행되므로, 이상적으로는 모든 거래가 계획대로 실행된다면 제3자가 계약 실행에 개입할 필요가 없습니다.

제출된 거래에 따라 계약은 다양한 기능을 수행합니다. 개인 저장소에 데이터를 쓰거나 읽기도 하고, 계정에 자금을 보관하기도 하며, 사용자 또는 다른 계약과 메시지나 자금을 주고 받으며, 심지어 새 계약을 생성하기도 합니다.

Smart Contract Flow

스마트 계약의 구성

스마트 계약은 블록체인에서 거래 요청을 받으면 자동으로 실행되는 데이터와 함수로 구성된 프로그램입니다. Ethereum 블록체인에서 스마트 계약을 구성하는 요소를 간단히 소개합니다.

데이터

모든 계약 데이터는 저장소든 메모리든 특정 위치에 할당되어야 합니다. 이 데이터는 토큰 수, 함수 출력 등이 될 수 있습니다. 스마트 계약에서 저장소를 수정하는 데는 비용이 많이 들기 때문에 개발자는 해당 데이터가 있어야 하는 위치를 고려해야 합니다.

함수

함수는 수행할 작업 또는 공통된 비즈니스 로직을 정의합니다. 간단히 말하자면 함수는 들어오는 거래에 대한 응답으로 정보를 가져오거나 설정하는 역할을 합니다. 함수에는 내부 함수와 외부 함수의 두 가지 유형이 있습니다. 내부 함수 및 상태 변수는 내부적으로만(즉, 현재 계약이나 여기서 파생된 계약에서만) 액세스할 수 있습니다. 외부 함수는 계약 인터페이스의 일부입니다. 즉, 다른 계약에서 또는 거래를 통해 호출할 수 있습니다.

이벤트

이벤트는 사용자에게 현재 계약 상태 또는 발생한 이벤트에 대해 알리기 위해 블록체인 외부의 탈중앙화 앱(DApp) 같은 서비스에 정보를 전달합니다. 이벤트 또한 인수를 받아서 저장한다는 점에서 함수와 유사하지만, 이벤트 데이터는 거래 로그에 저장되고 스마트 계약에서 액세스할 수 없습니다.

이벤트는 ‘emit‘ 키워드를 통해 호출하거나 처리할 수 있습니다. 이벤트와 로그는 엄밀히 따지면 스마트 계약의 일부이지만 스마트 계약은 이벤트 데이터를 읽을 수 없다는 점에 유의해야 합니다..

스마트 계약의 장점과 단점

지금까지 스마트 계약의 기본 사항에 대해 다루었으니 이제 이점과 한계점에 대해 살펴보겠습니다.

장점

  • 자동화: 스마트 계약은 독자적으로 작동합니다.
  • 투명성: 스마트 계약의 작업은 온체인에서 발생하는 한 공개적으로 볼 수 있습니다.
  • 보안: 블록체인에 저장된 거래 기록은 암호화되어 변경이 불가능합니다.
  • 정확성: 계약과 관련된 모든 정보는 ‘if-then’ 조건문 형식으로 표현됩니다. 비즈니스 로직은 컴퓨터 시스템에서 실행되므로 수작업으로 발생할 수 있는 실수를 예방할 수도 있습니다.
  • 속도와 효율성: 스마트 계약은 실행 속도가 빠르고 중개자가 없는 인터넷에서 이루어집니다.
  • 저렴한 비용: 스마트 계약을 실행하면 시간 지연 및 관련 수수료를 피할 수 있기도 하지만 일반적인 계약을 직접 실행할 때보다 비용이 낮아질 수 있습니다(이 부분은 아직 추가적인 검증이 더 필요함).

단점

  • 허술한 규제: 스마트 계약과 관련된 명확한 규제가 없습니다.
  • 변경 불가: 원본 스마트 계약은 일단 배포되고 나면 의도한 대로 작동하지 않더라도 변경할 수 없습니다.
  • 잠재적 취약성: 스마트 계약은 코드의 버그, 취약성, 실수 등으로 인해 해킹이나 악용의 위험을 초래할 수 있습니다.

스마트 계약 활용 사례

오늘날 스마트 계약은 블록체인 애플리케이션을 구성하는 기본 요소로, 아래와 같은 분야에서 활용되고 있습니다.

탈중앙화 금융(DeFi)

가상자산 부문은 많은 면에서 스마트 계약에 의존하고 있습니다. 2020년 이후 스마트 계약 애플리케이션 수가 기하급수적으로 늘어난 탈중앙화 금융(DeFi)이 좋은 예입니다. DeFi는 대출, 환전, 파생상품, 보험 등 기존의 다양한 금융 서비스를 제공하는 데 스마트 계약을 사용하여, 중개자가 없고 신뢰가 불필요하며 비용 효율적인 경제의 이점을 누릴 수 있습니다.

금융 분야에서 스마트 계약을 사용하는 예는 DeFi에 국한되지 않습니다. DeFi 외에도 트레이딩이나 정산과 같이 스마트 계약이 빛을 발할 수 있는 수많은 시나리오가 있습니다.

디지털 신원

스마트 계약은 자주적 신원(Self-Sovereign Identity, SSI)을 가능하게 합니다. 자주적 신원이란 웹사이트와 온라인 애플리케이션에 신원을 증명하는 데 사용하는 정보를 사용자가 직접 관리하는 방식을 가리키는 Web3의 핵심 디지털 개념입니다. SSI는 스마트 계약을 사용하여 본인의 개인 데이터를 본인이 직접 소유하고 관리하는 사용자 중심의 원활한 인터넷 환경을 구현합니다(계약 당자사가 거래를 확인하기 위해 서로의 민감한 데이터를 보유할 필요가 없음). 이를 통해 마찰 없는 ‘고객 알기(KYC)’ 절차가 더욱 간편하게 진행되어 프로세스가 한층 간소화됩니다.

공급망

스마트 계약을 이용하면 브랜드, 소매업체, 물류, 거래 당사자 전반에 걸쳐 상품 추적이 가능해 공급망을 더욱 확실하게 파악할 수 있습니다.

보험 청구

스마트 계약의 잠재적 활용 사례로 자주 언급되는 또 다른 분야는 보험입니다. 스마트 계약으로 고객의 보험 청구를 수월하게 확인 및 관리하고 효율적인 재보험 시스템을 통해 향후 보험 사기를 예방하거나 줄일 수 있을 것으로 기대됩니다.

부동산

스마트 계약은 모든 당사자의 신뢰와 투명성이 바탕이 되는 믿을 수 있는 거래를 가능하게 하므로 향후 부동산 분야에서도 유용하게 사용될 수 있습니다. 부동산 소유권 변경 절차를 빠르게 진행하고, 임대 및 임차 계약을 신속하게 처리하며, 전반적으로 안전한 P2P 거래를 보장함으로써 중요한 역할을 할 수 있습니다.

결론: 스마트 계약은 Web3에 필수적인가?

스마트 계약도 저마다 미묘한 차이가 있을 수 있지만 관심을 가질 만한 혁신 기술인 것은 분명합니다. 그러나 스마트 계약을 직접적으로 활용할 수 있는 기술적 지식이 없다면 스마트 계약을 사용할 때 해당 사용자 인터페이스를 사용하여 거래를 완료하도록 해야 합니다. 적절한 지식이 없는 상태에서 실수로 자금을 직접 계약 주소로 송금할 경우 계약 함수가 실행되지 않아 자금을 영원히 잃어버릴 수도 있습니다.

주의 사항 및 책임 소재

본 문서에 제시된 모든 사례는 정보 제공을 위한 것입니다. 이러한 정보 또는 기타 자료를 법률, 세금, 투자, 재무 등과 관련된 조언으로 해석해서는 안 됩니다. 본 문서에 포함된 어떠한 내용도 크립토닷컴이 코인, 토큰 또는 기타 가상자산을 투자, 매수, 매도하라고 권유, 권장, 추천, 제안하는 것으로 해석해서는 안 됩니다. 거주하는 관할지에 따라 가상자산 매매로 발생하는 수익에 양도소득세 등의 세금이 부과될 수 있습니다. 크립토닷컴 상품 또는 기능에 대한 설명은 예를 보여주기 위한 것으로, 추천, 제안, 권유로 해석되어서는 안 됩니다.

과거 실적은 미래 실적을 예측하는 지표가 아니며 미래 실적을 보장하지 않습니다. 가상자산의 가치는 상승 또는 하락할 수 있으며, 가상자산 투자로 투자금 전액 또는 상당액을 잃을 수 있습니다. 모든 투자에 대한 책임은 투자자 본인에게 있으며, 가상자산 투자를 고려할 때는 해당 자산을 직접 조사해 보고 충분히 고려한 후에 최선의 판단을 내리도록 해야 합니다.

태그

smart contracts

친구와 공유

가상자산 여정을 시작할 준비가 되셨나요?

단계별 가이드에서 크립토닷컴 계정을 설정하는 방법을 확인하세요

'시작하기' 버튼을 클릭하는 경우 개인 데이터 사용 및 보호 방식에 관한 크립토닷컴의 개인정보보호고지에 동의하는 것으로 간주됩니다.
Mobile phone screen displaying total balance with Crypto.com App

Common Keywords: 

Ethereum / Dogecoin / Dapp / Tokens