스마트 컨트랙트 예시 - seumateu keonteulaegteu yesi

스마트 컨트랙트

블록체인을 4차 산업 혁명의 대표 기술이라고 말하는 이유에는 블록체인의 핵심 기능인 ‘스마트 컨트랙트(Smart Contract)’ 때문일 것입니다. ‘똑똑한 계약’이라고도 번역하는 스마트 컨트랙트가 과연 어떤 기술인지 살짝만 포스팅해보도록 하겠습니다.

스마트 컨트랙트의 개념

우리 주위에서 흔히 볼 수 있는 부동산 계약을 생각해봅시다.

부동산 계약은 보통 집을 파는 매도자, 집을 구매하는 매수자, 그리고 중간에서 계약을 성사시켜주고 관리해주는 중개자로 구성되어 있습니다. 정해진 날짜에 계약을 하고 계약금을 걸고, 정해진 날짜에 중도금, 잔금 등을 치르면서 집 문서를 거래합니다. 스마트 컨트랙트도 비슷합니다. 부동산 거래에서는 보통 부동산 중개업자를 포함해서 계약을 진행하지만, 스마트 컨트랙트는 중개인 없이 자동으로 거래를 성사시켜줍니다.

즉, 중개자없이 계약 당사자들끼리 자동으로 거래를 할 수 있게 해주는 것이 스마트 컨트랙트입니다.

사실 별 것이 없습니다. 스마트 컨트랙트 개념은 오래된 용어입니다. 1996년 Nick Szabo에 의해 제안된 용어이고, 지금도 이미 PC나 인터넷을 통해 제공되고 있는 서비스입니다.

스마트 컨트랙트 예시

스마트 컨트랙트 예시 - seumateu keonteulaegteu yesi

위 이미지는 (블록체인과 무관한) 아주 기본적인 스마트 컨트랙트 예시입니다. 계약서 내용을 보면 계약 내용, 당사자들 정보, 금액, 보증금 등이 있습니다. 보증금은 부동산 거래에서 계약금과 같은 역할을 하는 금액입니다. 계약 미체결시 보증금을 못 돌려받도록 해서 계약의 강제성을 갖도록 하고 있습니다.

스마트 컨트랙트의 장점

스마트 컨트랙트의 가장 큰 장점은 중개인이 없다는 점입니다. 중개인이 없다보니 비용 절감 효과가 아주 큽니다.

  • 빠르고 Realtime에 가깝다.
  • 정확도가 높다. (사람에 의해 실수하는 부분이 없다.)
  • 중개자의 수를 없애거나 줄일 수 있다.
  • 비용이 절감된다.

스마트 컨트랙트 활용 사례

스마트 컨트랙트는 블록체인이 나타나기 전부터 다양한 형태로 적용되어 왔습니다. 예를 들어 불법 복제를 막는 DRM은 스마트 컨트랙트의 초기 컨셉이라고 볼 수 있습니다. 불법 복제를 막음으로써 계약 위반을 강제적으로 방지하는 개념입니다.

옥션이나 지마켓 등 온라인 쇼핑몰에서 상품을 구매하는 것도 스마트 컨트랙트의 일종입니다. 각 마켓 서비스에서는 소비자가 금액을 지불하면 상품을 보내주거나 상품 구매 내역을 증명해줍니다.

신용 카드로 자동차를 구매했다가 구매자가 할부금을 갚지 못할 경우 자동으로 자동차 문이 안 열리게 된다거나, 할부금을 갚지 못한 전자 제품이 망가지도록 Kill Switch를 적용한 것도 스마트 컨트랙트입니다.

블록체인과 스마트 컨트랙트

블록체인에서의 스마트 컨트랙트도 위 스마트 컨트랙트와 크게 다르지 않습니다. 다만 기존에는 중앙 서버에서 계약을 관리하고 증명해야 했다면, 블록체인에서는 분산 장부를 통해 네트워크에 참여한 모든 사람들이 계약을 증명한다는 점만 다릅니다.

현실 세계의 계약이든 스마트 컨트랙트든 모두 ‘조건’과 ‘실행’으로 이루어져 있습니다. 예를 들어 부동산 거래나 물건 거래는 ‘돈을 입금하면’이라는 조건과 조건이 만족되었을 때, ‘집 문서를 전달한다’라는 실행 부분으로 구성되어 있습니다.

블록체인에서도 마찬가지입니다. 어떤 조건이 만족지면 무엇인가를 실행하도록 블록체인내에 코드로 기록할 수 있습니다. 스크립트로 작성되어질 수 있으며, 블록체인에 기록되어 네트워크의 모든 노드들이 해당 계약을 확인하고 증명합니다. 계약의 강제성을 위해 두 계약자 모두에게 일정 금액의 보증금을 입력하기도 합니다. 게약 조건이 만족되면 블록체인내에 스크립트로 작성한 실행 내용이 자동으로 이행되어집니다.

비트코인같은 경우는 Contract Code라고 부르는 아주 작은 스크립트 정도를 작성가능하며(보통은 비트코인은 스마트 컨트랙트 기능이 없다라고도 많이 표현합니다.), 이더리움 같은 경우는 스마트 컨트랙트를 위해 Solidity라는 스크립트 언어를 제공하고 있습니다. 프로그래밍 언어이다보니 코딩하듯이 스마트 컨트랙트를 작성할 수 있습니다. 프라이빗 블록체인들의 경우는 대부분 스마트 컨트랙트 기능을 제공하고 있습니다. IBM 주도하의 하이퍼레저(Hyperledger)같은 경우는 Chaincode라는 이름으로 스마트 컨트랙트를 제공하고 있습니다.

스마트 컨트랙트를 이용하면 다음과 같은 일들을 자동으로 할 수 있습니다.

  • 정해진 금액을 입금하면, 영화 1시간 스트리밍 이용권을 제공
  • 전자 장비를 보증금을 맡기면서 빌리고 사용한 시간만큼만 제하고 다시 돌려받는 서비스

프로그래밍 언어처럼 표현되다보니 조건에 돈이나 금액이 들어가지 않더라도 다음과 같은 예시도 가능합니다.

  • 내일 날씨가 맑으면, 아침 6시에 깨워저

물론, 위 조건은 블록체인의 스마트 컨트랙트가 해결하지 못하는 나쁜 예제(Bad case)이긴 하지만 그만큼 다양하게 계약 코드를 작성할 수 있다는 의미입니다.

스마트 컨트랙트가 만능은 아님

사실 이 부분은 이번 포스팅에서 적을 내용은 아니지만 위에서 이상한 예제를 하나 들었기에 살짝 언급을 해봅니다.

‘내일 날씨가 맑으면, 아침 6시에 깨워줘’와 같은 계약은 ‘내일 날씨가 맑으면’이라는 조건이 너무 모호합니다. 블록체인은 합의 기반이다보니 모든 노드들의 날씨 정보가 같지 않으면 합의가 될 수가 없습니다. 물론, ‘내일 기상청에서 발표하는 서울 강남 지역의 일기 예보가 맑음이라고 뜨면’과 같이 구체적이고 객관적인 조건으로 이를 해결할 수는 있겠지만, 또다른 조건이 누락될 수도 있고 항상 모든 조건을 커버할 수는 없기 때문에 스마트 컨트랙트를 무조건 적용하기는 어렵습니다.

또한, ‘내가 농협 계좌로 100만원을 입금하면 비트코인으로 1BTC를 나에게 전송해줘’와 같은 계약문도 블록체인만으로 해결하기는 쉽지 않은 예제입니다. 농협 계좌로 100만원을 입금하는 일은 블록체인 외부의 작업이며, 송금의 결과도 블록체인 외부에서만 확인가능합니다. 즉 블록체인 내의 노드들이 해당 조건을 확인할 수도 없으며, 설사 농협에서 해당 기록을 조회할 수 있는 API를 제공한다고 하더라도 모든 노드에서 그 결과 확인을 위해 API 호출을 할 수도 없는 일입니다.

스마트 컨트랙트 예시 - seumateu keonteulaegteu yesi

스마트 컨트랙트는 오랜 기간 동안 비즈니스 관행으로 고착화된 여러 제약을 넘어설 수 있는 사고의 파괴를 유도하고 나아가 새로운 가치를 창출할 수 있는 원천이다. 스마트 계약을 통해 해킹 위험이 낮아지고, 보안 비용이 절감되며, 중개자가 없으므로 수수료도 절감되고, 데이터 정합성 혹은 무결성 검증 시간이 단축될 수 있다. 또한, 계약의 투명성으로 인해 규제 비용이 절감되고, 이중 지불 위험도 사라지며, 정보통신(IT) 시스템 구축 비용이 절감되고, 신사업 서비스로 확장성도 가질 수 있다. 특히, 상호 약속된 규칙에 따른 절차로 작동하며 서로 간의 신뢰가 필요한 서비스 업무 영역에서 가장 큰 적용 효과를 발휘할 것으로 예상되고 있다. 기존 비트코인(Bitcoin) 블록체인에서부터 시작된 통화 및 지급 결제 수단으로써 본원적 영역은 물론이고, 유∙무형 자산을 포괄한 모든 재화에 대한 평가, 가치 관련 모든 거래 등에 빠르게 침투할 수 있다. 일정한 형식의 반복적인 계약이 많은 분야, 원격자 간 계약 체결이 필요한 분야, 제품의 유통 추적이 필요한 분야 등에서 스마트 컨트랙트를 우선적으로 도입하고 있다.


금융

비트코인이 지불 수단을 중심으로, 중개기관 없이 순수 자금의 이동·전환·처리에 중점을 두었다면, 이더리움은 거래 관련 이해관계자들 간 자금 이동을 포함하여 관련된 계약의 내용을 포괄하는 사전·사후 업무처리 범위로 관련 업무 영역이 확산되었다. 이더리움의 스마트 계약 플랫폼을 이용하면, 거래 당사자 간 스마트 컨트랙트에 따른 자동 실행이 가능하므로, 피투피(P2P) 중심 계약 시스템으로 확산될 수 있다. 특히, 일정한 형식의 반복적인 계약이 많은 분야, 예를 들어 보험업에서 특정 조건을 만족시키면 계약 보상금이 지급되도록 스마트 컨트랙트를 작성함으로써, 조건 충족 시 보험금이 자동으로 지불되도록 할 수 있다.


보험


보험업의 특성상 손해보험 보상 업무 하나만을 놓고 보더라도, 가입자, 보험사, 손해사정, 정비업체, 병원, 사법기관 등 다양한 이해관계자들이 존재한다. 다양한 이해관계자들간 확인 및 검증 처리 절차를 위하여, 그동안 각기 상이한 대외 업무 처리를 통한 복잡한 인터페이스 프로세스에 의존할 수 밖에 없어, 전체 업무 처리에 소요되는 시간과 비용이 상대적으로 높을 수밖에 없었다. 하지만 스마트 계약을 도입하면, 보상 프로세스 진행을 위해, 관련자 간 위∙변조가 불가능한 동일한 증빙문서에 의존하게 되고, 일정한 조건을 충족하는 경우 자동으로 해당 보상금이 지급되도록 함으로써, 보험 업무를 신속하고 정확하며 투명하게 처리할 수 있다. 이렇게 보험회사, 병원, 환자 간 블록체인 기반 처리가 가능해지면, 공동의 블록체인 시스템 생태계가 조성되어 네트워크 보완과 환자 의료 기록을 보호하면서, 의료비 산출 및 청구 과정에서 투명성과 효율성을 높일 수 있다. 최근 해외에서는 알리안츠 보험, 존핸콕과 같은 대형 보험사를 중심으로 블록체인의 잠재성을 높이 평가하여 스타트업과 제휴를 통해 새로운 보험 사업 모델을 개발 중이다.


은행

삼성SDS(주)는 2017년 기업형 블록체인 플랫폼인 넥스레저(Nexledger)를 선보인 후, 은행 공동 블록체인이자 은행연합회의 블록체인 공동 인증서비스인 뱅크사인(BankSige)을 출시했다. 2018년 8월 27일에 개발 완료된 뱅크 사인은 한국의 18개 은행이 모두 각자 서버를 두고 블록체인 네트워크를 운용하는 프로젝트이다. 이를 통해 만약 고객이 한 은행에서 공동 인증서를 발급받으면 다른 은행에서도 간단한 인증만으로 거래 은행의 모바일 뱅킹 서비스를 편리하게 이용할 수 있다. 매년 공인인증서를 갱신하고 은행마다 각각 별도의 등록과 인증이 필요했던 과거의 번거로운 절차도 필요 없어졌다. 또한 인증서의 유효기간도 3년 이상으로 늘어난다. 증권업계도 증권 거래에 스마트 계약을 도입해 자동화를 이뤄나가고 있다. 미국 나스닥의 경우 전문 투자자용 장외시장 거래(OTC)에 이를 적용했다.