블록체인에서 스마트 계약은 무엇이며 어떻게 작동합니까?

스마트 계약은 계약에서 사전에 정한 조건에 따라 자동화되어 있습니다. 블록체인은 데이터를 여러 서버에 걸쳐 전세계에 저장할 수 있도록 하는 분산형 대장 기술(DLT)이기 때문에 거래 확인을 위해서는 이런 데이터베이스에 크게 의존합니다. 따라서 스마트 계약은 간접 관리 비용이 없다는 장점이 있습니다.

스마트 계약은 미리 정한 계약 요건이 충족되면 한 당사자에서 다른 당사자로 자동으로 자금을 이체하는 코드로 쓰여진 약관을 나타냅니다. 예를 들어, 양 당사자가 암호화폐 교환에 동의하면 스마트 계약에 바인딩 된 프로토콜을 통해 블록체인 원장과 함께 거래가 진행됩니다. 

오늘날 스마트 계약은 주로 암호화폐를 교환하는 암호화폐 산업에서 여전히 인기가 있습니다. 하지만 암호화폐에만 국한되는 것이 아니며, 실제로 많은 보험 및 부동산 회사가 더 저렴한 비용으로 더 나은 확장성을 위해 이 표준 프로토콜을 채택하고 있습니다. 간단히 말해서 스마트 계약은 많은 플랫폼에서 필수적인 구성 요소입니다. 그렇기 때문에 스마트 계약이 무엇이고 어떻게 작용하는지 명확히 이해하는 것은 중요합니다.

블록체인에서 스마트 계약의 목적은 무엇입니까?


스마트 계약은 블록체인에서 실행되는 프로그램이기 때문에 사용자가 프로그램을 시작하기 위해선 블록체인으로 거래를 보내야 합니다. 코드가 정의되고 논리가 맞춰지면 프로그램을 실행할 수 있습니다.

일반적으로 스마트 계약의 주요 목적은 전통적인 비즈니스 프로세스와 관련한 중개인을 제거하여 당사자 간의 비즈니스 거래를 단순화시키는 것입니다. 이러한 계약으로 진위성과 신뢰성을 손상시키지 않으면서 지불 지연, 오류 리스크 및 전통적인 계약의 복잡성을 줄이는 것을 목표로 하고 있습니다.

중개인 없이도 신뢰할 수 있는 거래를 수행할 수 있다는 것이 이 계약의 주된 장점입니다.

스마트 계약은 블록체인에서 어떻게 작동합니까?


스마트 계약은 자산 소유자에 대한 정보를 형성, 제어 및 제공하도록 설계된 컴퓨터 알고리즘을 말합니다. 실제로 이더리움 블록체인에서 실행되어 신뢰할 수 있는 거래를 자율적으로 편리하게, 확인 또는 수행하는 프로그램이라고 할 수 있습니다. 이러한 프로그램이 어떻게 작동하는지 알아보려면 먼저 스마트 계약이 무엇으로 구성되는지 이해해야 합니다. 

  • 먼저 서명(Signatures)입니다. 둘 이상의 당사자가 제안된 약관 이행에 동의해야 합니다.
  • 그리고 계약의 주제가 확실하게 인지되어야 합니다. 계약 주제는 스마트 계약 환경의 맥락을 벗어나선 안 됩니다. 
  • 마지막으로 구체화된 조건입니다. 조건을 정확하고 자세하게 묘사해야 합니다. 예를 들어, 이더리움의 스마트 계약은 솔리디티(Solidity)와 서펜트(Serpent) 프로그래밍 언어에 의존하므로 정확한 언어와 호환이 되는 특정 수학적 조건으로 쓰여야 합니다.

이러한 요건이 갖춰진다면 블록체인 기반의 스마트 계약을 입력할 수 있습니다. 그러나 계약의 조건이 블록체인에서 실행되기 전에 먼저 협상이 진행되어야 합니다.

일반적으로 스마트 계약은 블록체인을 유지하는 두 이용자 간의 계약에 따라 자동으로 작업을 수행합니다. 즉, 매도자가 BTC를 매도하려는 경우 BTC가 한 사람에서 다른 사람으로 성공적으로 바뀔 때까지 스마트 계약이 자금 이체를 관리합니다. 이때 자금이 이동되며 그 외 변경 사항은 일어나지 않습니다. 그리고 거래에 대한 모든 정보는 공개 데이터베이스에 정렬되어 저장됩니다.

누가 스마트 계약을 만들었습니까?

스마트 계약에 대한 아이디어는 본래 미국의 유명한 암호학자인 Nick Szabo가 도입했습니다. 1996년 스마트 계약에 관한 그의 기사는 Extropy 잡지에 게재되었으며, 여기에서 그는 블록체인 계약 애플리케이션의 이점과 기능을 예측했습니다. 그런 다음 그는 다음 몇 년 동안 여러 기사에서 이 개념을 발전시켰습니다.

Ian Grigg와 Gary Howland는 스마트 계약 아이디어의 또 다른 기여자들이었습니다. 그들은 1996년 Ricardo 지불 시스템의 일환으로 Ricardian Contracts에 관한 그들의 연구를 발표했습니다.

비트코인과 블록체인이 세상에 나오고 적절한 조건이 만들어지자, 스마트 계약의 구현이 기능해졌습니다.  이러한 혁신은 몇 년이 지난 뒤 마침내 이더리움 블록체인에 적용되었습니다. 오늘날에는 여러 대체 플랫폼이 나오면서 이용자가 스마트 계약을 활용할 수 있게 되었지만, 이더리움은 여전히 선구자로 남아 있습니다.

스마트 계약은 어떻게 작동합니까?


위에서 언급한 바와 같이 스마트 계약은 컴퓨터 프로토콜 또는 간단한 말해서 기본 기술 요소인 코드를 나타냅니다. 그것들은 거래 당사자 간에 체결한 모든 합의 조건을 블록체인에 명시하는 역할을 합니다.  이러한 조건이 충족되는 즉시 스마트 계약은 자동으로 거래를 시작합니다.

블록체인을 기반으로 하는 시스템은 이해 당사자가 모든 거래를 확인할 수 있는 공개 원장에 의존하기 때문에, 참여자는 중개인을 거치지 않으면서 동시에 과도한 서류 작업을 줄일 수 있습니다. 여기서 핵심 요건은 모든 계약 조건이 적절한 프로그래밍 언어를 사용하여 수학적 규칙을 통해 설명되어야 한다는 것입니다.

블록체인은 노드의 분산 네트워크를 나타내며 각 노드는 모든 거래에 대한 정보를 저장합니다. 거래를 취소하거나 자금을 이중으로 지출하려면 이러한 모든 노드의 50% 이상을 조작해야 합니다.

스마트 계약을 새로 시작하려면 특수한 소프트웨어를 다운로드하고 시스템에서 배포된 공개 키를 생성해야 합니다. 그러면 시작 메시지가 전송되며, 노드가 이를 수신합니다. 스마트 계약에 의해 설정된 이벤트가 완료되면 코드가 실행됩니다.

예를 들어, 자동 판매기는 특정 요건들이 충족될 경우 구매자에게 주문된 품목을 자동으로 제공합니다. (정해진 금액의 돈이 지불되죠.) 스마트 계약도 동일하게 작동합니다.

자금 이체 이외에도 다음과 같은 몇 가지 다른 이용 사례가 있습니다.

  • 디지털 ID(Digital identity): 위조를 막고 디지털 자산에 대한 개별 ID를 제공합니다.
  • 금융보안(Financial security): 부채 관리, 자동 지불 또는 주식 분할에 적합합니다.
  • 거래 활동(Trading activities): 스마트 계약은 거래 업무를 자동화하는 데에 활용하기 적합합니다. 국가간 결제와 국제 거래 역시 스마트 계약을 통해 보다 수월한 관리가 가능해졌습니다.
  • 임상 시험(Clinical trial): 관련 기관 간의 가시성이 향상되며, 데이터 공유를 촉진하고 자동화할 수 있습니다. 정보 보호 역시 보다 철저히 이뤄집니다.
  • 정부(Government): 스마트 계약은 투표의 투명성과 효율성을 향상시킬 수 있습니다.

스마트 계약의 이용 사례는 다양하며 수많은 기회를 다루며, 잠재적으로 인간 활동의 많은 분야에서 강력한 도구가 될 수 있습니다.

스마트 계약의 특성


스마트 계약은 다음과 같이 금융거래 관행을 벗어나는 독특한 특징이 몇 가지 있습니다.

  • 자율성(Autonomy): 이용자는 자신의 계약을 완전하게 제어할 수 있습니다. 스마트 계약은 다른 제3자(브로커, 변호사, 공증인 등)의 간섭 가능성을 배제하는 자체 보증 방식입니다.
  • 보안(Security): 스마트 계약의 필수 목적은 거래의 안전을 보장하는 것입니다. 블록체인에 입력된 정보는 삭제하거나 수정할 수 없습니다. 당사자 중 한 쪽이 계약 조건을 위반하더라도 계약은 그대로 유지됩니다.
  • 속도(Speed): 문서를 직접 수동으로 처리할 경우 시간이 많이 걸리고 작업이 지연됩니다. 스마트 계약은 직접적인 참여를 최소화하고 전반적인 효율성을 향상시켜 줍니다.
  • 신뢰(Trust): 거래 참여자가 서로 또는 제3자를 신뢰할 필요가 없습니다. 분산형 네트워크 덕분에 문제가 발생하거나 작업이 지연되지 않고 작업을 마칠 수 있는 환경이 제공되기 때문입니다.
  • 비용 효율성(Cost-effectiveness): 지나치게 높은 거래 비용을 없앨 수 있습니다. 계약 진행 및 지원에 중개인이 필요하지 않기 때문입니다.
  • 정확도(Accuracy): 프로세스가 자동화되어 인적 오류 가능성이 크게 줄어듭니다.

스마트 계약의 예


스마트 계약은 암호 화폐 거래 외에 금융 서비스, 사물 인터넷 등의 일상적인 업무에서도 유용하게 사용할 수 있습니다. 놀랍게도, 스마트 계약은 모든 사람들이 상상할 수 있는 것보다 훨씬 더 실용적입니다.

사물인터넷(IoT): 집안의 일상적인 사물에 인터넷 기능을 추가하는 개념입니다. 이용자는 스마트 계약을 통하여 분산 및 신뢰할 수 있는 방식으로 사물인터넷 (IoT) 시스템에 접근하여 제어할 수 있습니다.

고용계약(Employment Contracts): 스마트 계약을 이용하여 계약을 매우 편리하게 수행할 수 있습니다. 인사 부문에서는 스마트 계약을 이용하여 급여, 업무분장, 책임 등 직원의 세부 정보를 쉽게 기록할 수 있고, 동시에 스마트 계약의 투명성과 불변성 특성으로 인해 고용주와 직원 사이의 신뢰를 향상시킬 수 있습니다. 당사자는 스마트 계약 기술을 이용하여 계약의 일부만을 기록할 수도 있습니다. 이러한 맥락에서 계약은 다음과 같을 수 있습니다.

  • 계약서 서류 사본 없이 완전 자동화.
  • 계약서 서류 사본을 구비하면서 부분 자동화 (이 경우, 계약서 서류 내용과 코드 중에서 어떤 것이 더 높은 우선 순위에 있는지 합의가 필요함).
  • 주로 계약서 서류에 의존하면서 부분 자동화 (예: 스마트 계약은 자금 결제만을 규제하고 분쟁 해결 절차는 계약서 서류 내용에 따르는 경우).

저작권이 있는 콘텐츠(Copyrighted Content): 콘텐츠 소유자는 로열티를 받아야 하지만, 여러 당사자가 단일 작품 제작에 관여하는 경우도 있기 때문에 가끔은 누가 진짜 콘텐츠 소유자인지 확인하기가 어렵습니다. 스마트 계약을 사용하면 창작 과정 단계에서의 권리와 책임을 쉽게 파악할 수 있습니다.

스마트 계약은 어떤 암호화폐와 dApp에서 사용합니까?


오늘날 스마트 계약은 생각보다 우리의 일상 생활에 훨씬 더 가까이 있습니다. 이를 인식하는 것은 대기업 뿐만이 아닙니다. 수많은 블록 체인 플랫폼이 거래 활동에 활용되고 있으며 다양한 프로그래밍 언어가 스마트 계약을 작성하는 데 사용됩니다.

이더리움은 가장 인기있는 선택지 중 하나입니다. 그래서 개발자가 기존의 프로그래밍 언어인 솔리디티(Solidity)를 널리 사용하는 이유입니다. 다른 블록 체인에서는 다른 것을 선호할 수 있습니다. 

스마트 계약을 처리할 수 있는 블록체인에 대해 간략히 설명해 보겠습니다. 

비트코인(Bitcoin): 비트코인 블록체인은 스마트 계약에 따라 문서를 처리할 수 있습니다. 그러나 처리 과정에 제한이 있습니다.

엔엑스티(NXT): 엔엑스티는 스마트 계약을 위한 템플릿을 제공합니다. 그러나 커스터마이징을 위한 여유가 많지 않기 때문에 제약 사항이 있습니다.

이더리움(Ethereum): 이더리움은 스마트 계약을 통해 빠르게 성장하고 있습니다. 고급 코딩과 처리를 유연하고 효율적으로 지원하기 때문입니다. 그러나 비용이 발생한다는 단점이 있습니다. 직접 커스터마이징한 기능을 실행한다고 가정한다면 이에 필요한 컴퓨팅 파워에 대한 대가로 이더(ETH) 토큰을 지불해야 하기 때문입니다.

스텔라(Stellar): 가장 오래된 스마트 계약 플랫폼이지만 속도와 보안은 이더리움보다 더 낫습니다. 그리고 인터페이스도 간단하고 직관적이며 사용하기 쉽다는 장점이 있습니다. 그러나 간단한 스마트 계약을 주로 수행하기 때문에 복잡한 계약 개발에는 적합하지 않습니다. 

스마트 계약을 기반으로 하는 가장 인기 있는 dApp에는 MakerDAO 및 Complex와 같은 온라인 금융 플랫폼, Uniswap과 같은 분산형 거래소 등이 있습니다.

스마트 계약의 장단점


모든 사이즈에 다 맞는 신발은 없는 법입니다. 스마트 계약 역시 마찬가지죠. 분산형 암호화폐 분야에 도움이 되기도 하지만, 한계 역시 존재합니다. 꼭 짚고 넘어가야 할 것들을 알아보겠습니다.

장점

스마트 계약의 장점은 누구에게나 명확하며, 이는 스마트 계약의 인기를 높이는 토대가 됩니다. 자율성, 보안, 고속 성능, 그리고 중개인 관련 비용 절감 등을 들 수 있죠. 가격이 저렴하면서도 정확하고 효율적인 상거래를 보장해주기 때문에 많은 사람들이 스마트 계약을 선택하는 것입니다. 

단점

스마트 계약의 오류

스마트 계약을 통하여 운영 중에 발생할 수 있는 인적 오류 가능성을 배제할 수 있습니다. 맞는 말입니다. 그러나 동시에 스마트 계약의 코드 자체 안에 오류와 취약한 부분이 있을 수 있습니다. 만약 오류가 생기면 엄청난 규모의 손실을 초래할 수 있는 것입니다. 일부 코드 오류로 인해 플랫폼이 해킹되고 자금이 도난당한 사례들은 충분히 많습니다. 악명 높은 DAO 해킹도 그 예 중 하나죠.

모호한 조건

스마트 계약에 합법성이 있는가 역시 논의 대상입니다. 스마트 계약이 국가의 법 체계에서 벗어났을 때 정부와 사법 당국이 어떻게 처리하고 규제해야 하는지 명확하지 않으며, 정부 기관이 계약 자격을 부여할 수 있는지에 대하여는 논쟁의 여지가 있습니다. 또한 법 체계 밖에 있다는 말은 범죄자가 이 기술을 불법적인 활동에 이용할 수 있다는 것을 의미합니다. 근본적으로 말하자면, 스마트 계약을 언제나 이분법적으로 구분할 수 없기 때문에 이용 약관이 모호합니다.

이전 상태로 되돌릴 수 없는 특성

스마트 계약에서 무언가를 변경할 수 없다는 것도 단점이 될 수 있습니다. 오류를 수정하고 계약 조건을 변경하는 것 불가능할 테니까요.

프라이버시 침해

투명성은 정말 중요하지만, 항상 그런 것은 아닙니다. 가끔은 이용자에게 프라이버시가 필요한 법입니다. 일부 플랫폼은 이용자에게 “스마트 프라이빗 계약”을 제공하려고 시도하지만, 아직 일반적인 사례는 아닙니다. 게다가 새로운 기술을 도입하는 데에는 비용도 발생할 수 있습니다. 숙련된 개발자만이 신뢰할 수 있는 스마트 계약을 만들 수 있습니다.

스마트 계약에 대해서는 여전히 많은 질문이 있습니다. 하지만 미래에는 어떨까요? 스마트 계약의 한계를 극복하거나 완전히 대체할 수 있는 새로운 기술이 나올까요?

스마트 계약의 미래는 어떻습니까?


오늘날, 시간이 지날수록 스마트 계약에 대한 인지도가 늘어나게 될 것이라는 것은 이미 자명합니다. 물론, 향후 수 년 만에 기존의 종이 계약을 완전히 대체하지는 않겠지만, 상품과 서비스, 권리를 구매하거나 교환하는 분야에서는 스마트 계약이 시장 점유율을 확보하게 될 것입니다. 스마트 계약이 점점 더 많은 사람들의 삶 속으로 들어오게 될 것이라는 건 의심의 여지가 없습니다.

합법성과 관련된 문제는 피할 수 없기 때문에 향후 몇 년에 걸쳐 여러 국가에서 해결될 것입니다. 지금도 애리조나주와 네바다주는 이미 주(State) 차원에서 통일 전자 거래법(Uniform Electronic Transactions Act)을 개정하여 블록체인과 스마트 계약을 명확하게 통합했습니다.

결론


스마트 계약으로 얻을 수 있는 혜택을 부정하거나 과소 평가할 수는 없습니다. 전통적인 계약에 대한 훌륭한 대안으로서 더 높은 수준의 성과를 낼 것으로 보이기 때문이죠. 스마트 계약이 자리를 잡게 된다면 계약의 영역을 차지하게 될 것이고 그 위치는 영원히 바뀌게 될 것입니다. 사람들이 사업을 하는 방식 역시 변화할 것입니다.

비용 감소, 사기 및 지연 방지, 완전한 자율성은 스마트 계약이 대중에게 어필할 수 있는 장점입니다. 여기서 스마트 계약으로 인해 거래의 효율성과 확실성이 향상되고, 제3자에 대한 필요성이 감소한다면 더욱 큰 관심을 받게 될 것입니다.