스마트 컨트랙트
이더리움의 핵심 기능이다.
스마트 컨트랙트를 통하여 블록체인 기술을 실용적으로 여러 분야에 적용할 수 있도록 만들어준 전환점이 되었다.
이 것을 전후로 블록체인 1.0은 암호화폐의 거래 내역을 저장하는 데에 목적을 두고 있었다면, 블록체인 2.0은 암호화폐의 거래내역 저장과 자동화 계약 시스템, 즉 스마트 컨트랙트를 통하여 계약당사자 간의 신뢰성을 올려준다.
이제 스마트 컨트랙트에 대한 특징이나 좀 더 상세하게 작성하려고 하는데 아래의 글을 읽기 전 스마트 컨트랙트를 쉽게 설명하겠다. (개념이 조금 틀릴 수 있으니 이 건 그냥 이해를 돕는 설명이라고 생각해주세요!)
우리가 부동산에서 일반적인 집을 계약하는 것을 떠올리며 생각해보면 스마트 컨트랙트는 부동산이다. 스마트 컨트랙트의 안에 있는 구현된 코드는 중개사이다.
스마트 컨트랙트의 특징
스마트 컨트랙트를 설명 예로 우리가 부동산 계약을 할 때 계약당사자인 임대인을 완전히 신뢰할 수 없으므로 공인중개사를 통하여 계약의 안전성을 높인다. 이 과정에서 임차인은 중개사에게 수수료를 지불해야한다.
스마트 컨트랙트가 부동산에서 일어날 일들을 대체해주는 것이다. 결론적으로 블록체인에 돈과 직결된 암호화폐의 거래내역과 스마트 컨트랙트의 정보가 투명하게 저장되어 안전하게 계약을 할 수 있다.
스마트 컨트랙트의 작동 방식
동전 교환기를 떠올리면 작동하는 과정을 이해하기 쉽다.
지폐를 동전교환기에 넣으면 동전으로 반환해주는데, 이 과정이 스마트 컨트랙트에 정의되어있던 계약조건에 부합하면 계약을 자동으로 이행한다.
올바른 지폐를 동전교환기에 넣는 것이 스마트 컨트랙트에서는 계약 조건이 되고, 그에 맞는 동전을 반환하는 것이 계약을 이행하는 것이다.
여기서 추가적으로 더 알아야할 중요한 포인트가 있다. 부동산과 같은 전통적인 계약을 할 때는 둘 이상의 계약 당사자가 있어야하고, 계약을 증명하는 대상 또한 필요하다. 다른 점은 계약을 증명하는 대상은 다른 다수의 노드들이 이 역할을 대신한다. 이 노드들이 합의 알고리즘에 참여하여 스마트 컨트랙트의 블록에 저장한다.
스마트 컨트랙트의 장단점
스마트 컨트랙트는 중개사를 대신한 스마트 컨트랙트 안의 구현된 코드의 의해서 계약을 체결하기 때문에 중개인 없이 신뢰성 있는 계약을 체결할 수 있지만, 이 구현된 코드가 완벽하지 않고 취약점이 존재한다면 스마트 컨트랙트의 신뢰성 무너지게 된다.
(난 취약점을 찾고싶다. 그래서 앞으로 나에겐 이게 가장 중요한 포인트가 될 것 같다고 생각한다.)