이더리움 스마트 계약의 원리

smart contracts.jpeg

우리 중 대부분은 스마트 계약이 우리 사회가 영위하고 있는 사회 경제 틀 전체에 미치는 영향을 완전히 이해하지 못한 채로 동료 혹은 친구들과 블록체인에 대한 논쟁을 할 때 ‘스마트 계약’이라는 용어를 분명 이용했을 것입니다.

저희는 블로그에서 블록체인이 새로운 기술로써 혁신적이라고 여러번 언급하였습니다.

당사는 당사를 어느 특정 가상화폐의 맥시멀리스트 (maximalist)라고 하는 것을 자제합니다. 대신에 당사를 블록체인/가상화폐 맥시멀리스트 (maximalist)라고 부를 수 있습니다.

주제로 돌아가서, 여러분은 이미 지금 쯤 블록체인이 무엇인지와 블록체인은 어떻게 작동하는지를 이미 알고 있을 수 있습니다. 이제는, 스마트 계약이 무엇인지에 대한 보다 흥미로운 주제를 자세히 알아보겠습니다.

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

위키피디아를 인용하자면,,

“스마트 계약은 계약의 협의 혹은 수행을 디지털 상에서 용이화, 입증 혹은 실행하기 위한 목적으로 만들어진 컴퓨터 프로토콜입니다. 스마트 계약은 제 3자 없이 신뢰할 수 있는 트랜잭션의 수행을 가능케합니다. 이러한 트랜잭션은 추적 가능하며 불가역적입니다.”

위에 있는 정의는 스마트 계약은 그 이름이 의미하듯이 제 3자 없이 프로그래밍 되고 입증될 수 있는 계약이며, 추적 가능하고, 계약에서 명확하게 언급되지 않는 한, 변경 불가합니다.

여러분이 다양한 유스 케이스를 위한 맞춤형 스마트 계약을 생성하도록 하는 수 많은 블록체인 플랫폼이 있습니다. 그 중 일부는 이더리움, 하이퍼레져 패브릭 (Hyperledger fabric), R3 코다 (R3 Corda), 스텔라, 에이체인 (Achain) 등입니다.

스마트 계약은 어떻게 작동하는가

우리는 지금 스마트 계약을 터득하여 이해하고자 할 것입니다.

스마트 계약은 1994년에 암호학자이자 프로그래머인 닉 자보 (Nick Szabo)에 의해 처음 도입되었습니다. 스마트 계약의 대략적인 개념은 자판기를 분석하여 이해될 수 있습니다. 당신은 특정 과자를 선택하고 그에 맞는 금액을 기계에 넣으면, 과자가 나올 것입니다. 그렇게 마법처럼요.

하지만, 가끔은 블록체인에 관하여 매우 효율적으로 다뤄지는 기계가 제대로 작동하지 않습니다 (주로 프로그래밍과 중앙집중화가 잘 못 되어 발생합니다).

스마트 계약은 원활히 기능하기 위한 몇가지 수학적인 요소들이 필요합니다.

  1. 블록체인 플랫폼 – 블록체인이 하고 체인 상에서 트랜잭션을 입증하기 위해 필요함
  2. 공개 키와 개인 키 – 스마트 계약은 제어하고자 하는 개인키에 대한 액세스를 얻어야 합니다.
  3. 조건 – 관련 트랜잭션이 수행되도록 스마트 계약에 의해 분명한 조건이 정의되어야 합니다.

스마트 계약은 다양한 범위의 도메인에서 대단히 유익하며, 안전하고, 빠르고, 다양한 유스 케이스를 위해 표준화된 계약을 생성하도록 합니다.

스마트 계약의 유스 케이스는 너무 다양해서 아마 각각의 유스 케이스에 대해 설명하려면 1개 이상의 포스팅을 작성해야 할 것입니다. 하지만, 저희는 한 개의 포스팅에서 가능한 한 많이 다루고자 할 것입니다.

저희는 성장 단계에서 스마트 계약을 취할 3가지의 예시로 정의하도록 하겠습니다.

  1. 최소
  2. 부분
  3. 완료

스마트 계약이 가까운 미래에 이용될 수 있는 현실적인 시나리오를 예로 들어봅시다. 이러한 예시에서 우리는 우버를 고려해볼 것입니다. 우리 모두가 알다시피 우버는 기존의 택시 시장을 파괴적으로 혁신하였으며, 아마도 전세계에서 가장 규모가 큰 택시 호출 서비스일 것입니다. 스마트 계약은 이러한 서비스의 시장을 파괴적으로 혁신할 잠재적인 능력이 있습니다.

최소

본 시나리오에서, 우리는 택시에 탄 후에 우버에서 이용할 수 있는 결제 시스템을 변경할 것입니다. 당신은 완벽하게 신용 카드를 택시를 탈 때 자동으로 수수료를 차감하는 우버에 연결할 것입니다.

디지털 화폐를 선호하지 않는다면, 핸드폰에 나타나는 금액을 기반으로 우버 운전기사에게 현금으로 지불할 것입니다. 우버는 운전한 거리 및 교통/대기 시간을 기반으로 운전기사에게 부과해야 하는 비용이 얼마인지 계산하는 알고리즘을 실행합니다.

이제 이것이 스마트 계약과 연결되면 완전히 자동화될 수 있습니다.

택시에서 내릴 때, 우버는 프로필과 연결된 스마트 계약으로 메시지를 전송할 것이며 적절한 금액이 원활하게 차감될 것입니다. 이러한 유스 케이스는 오늘날의 신용카드와 매우 유사하지만, 스마트 계약은 이보다 안전합니다.

부분

부분 (Partial) 시나리오에서, 우리는 스마트 계약의 적용을 한 단계 올리고 인간 운전기사를 완전히 제거하겠습니다.

테슬라의 혁신으로, 우버 및 구글은 자율 주행 자동차를 만들려 하고 있으며, 고속 도로를 매일 달리는 자율 주행 자가용차와 우버를 볼 날이 머지 않았습니다.

이제, 당신이 우버를 예약하고 자동차가 자율 주행 자동차인 것을 알게 된 상황을 상상해보세요. 차에서 내릴 때, 스마트 계약은 가상화폐 지갑에서 직접 부과된 수수료가 차감되는 식으로 프로그래밍 될 수 있으며 수수료 결제 이후에, 택시의 문이 열릴 것입니다.

우버 택시는 한 명 이상의 소유자가 있을 수 있으며 그 후에 수수료는 스마트 계약에 쓰여진 로직을 토대로 그들의 계좌로 송금될 것입니다.

완료

이제 본 시나리오는 이상적이며 터무니 없지만 이러한 일이 일어날 가능성은 완전히 부정할 수 없습니다.

본 시나리오에서, 우버는 누구에게도 소유되지 아니며 그 자체에 의해 소유됩니다. 자동차 자체로 저절로 분산화된 자치체입니다. 이러한 개념은 안드레스 안토노폴로스(Andreas Antonopoulos)에 의해 ‘돈의 인터넷’으로부터 적용되었습니다. (한번 읽어보시길 강력 추천해드립니다)

소유자가 없는 자율 주행 자동차를 생각해보세요. 이 자동차를 타는 것은 유지 비용 및 연료 비용을 충당합니다. 이는 주요한 업그레이드 혹은 예기치 못한 상황에 쓰이는 과잉 자금을 절약하게 합니다.

하지만 자동차는 근본적으로 소유주가 없으며 택시를 타서 생기는 모든 수익은 다양한 목적으로 이용될 수 있으며, 이는 모두 자동차 자체에 의해 결정된 것입니다.

이러한 자동차를 타려고 자동차를 세울 때, 택시에서 내릴 때는, 스마트 계약이 자동적으로 지갑에서 공제하고 이를 DAE (Decentralised Autonomous Entity)로 전송합니다. 이러한 경우에는 우버겠죠.

우버 혹은 자율 주행 자동차는 이러한 하나의 예시입니다. 당신은 부동산 거래를 포함하여, 스마트 계약 상에서 수많은 거래를 할 수 있습니다.

스마트 계약의 유스 케이스는 일상 생활에서도 볼 수 있습니다. 지금으로 따지면 인터넷 없이는 상상할 수 없는 일들이죠. 미래에는 이러한 것들을 스마트 계약 없이는 상상할 수 없을 것입니다!

스마트 계약의 또 다른 실생활 유스 케이스는 어떻게 BBOD에서 이더리움 지갑에 거래를 결제하는지입니다.

당사는 중앙 지갑으로 자금을 송금하지 않고도 BBOD에서 거래할 수 있는 전용 비 보호 (non custodial) 스마트 계약을 실행합니다. 여러분의 자금은 여러분만의 이더리움 지갑에 안전하게 보관됩니다.

이 블로그 포스팅이 스마트 계약 원리에 대한 대략적인 개념을 잘 설명했기를 바랍니다. 다음 포스팅에서는, 블록체인 생태계에 대해서 더 자세히 다뤄보겠습니다. 놓치지 마세요!

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다