스마트 컨트랙트
스마트 컨트랙트는 블록체인 네트워크에 호스팅되고 실행되는 프로그램입니다. 스마트 컨트랙트는 조건을 지정해두고, 해당 조건이 충족되면 미리 정해둔 계약을 이행하는 방식으로 코드를 작성합니다. 탈중앙화 된 블록체인에서 실행하기 때문에, 계약 조건이나 이행 내용을 변조하기 어려우며 계약을 신뢰하기 위한 제 3자가 필요하지 않습니다.
스마트 컨트랙트의 발전
스마트 컨트랙트의 개념은 1994년 닉 사보(Nick Szabo)에 의해 만들어졌습니다. 닉 사보는 스마트 컨트랙트를 '계약 조건을 실행하는 전산화된 트랜잭션 프로토콜은 일반적인 계약 조건을 만족하고, 악의적이거나 우발적인 예외를 최소화하며, 신뢰할만한 중개자의 필요성을 최소화하는 것을 목표로 한다.'라고 정의했습니다.
스마트 컨트랙트를 실제로 지원하기 시작한 첫 화폐는 2009년에 출시된 비트코인입니다. 비트코인이 스마트 컨트렉트를 지원할 수 있었던 이유는 블록체인이 디지털이며, 위조를 방지할 수 있고, 제 3자의 개입이 필요하지 않아서입니다. 다만 오피코드를 사용해 화폐 거래를 위한 제한적인 스크립트만 작성할 수 있었습니다.
※ 오피코드 : 비트코인에서 스마트 컨트랙트를 동작시키는 연산의 집합
2015년에는 스마트 컨트랙트를 위한 블록체인인 이더리움이 등장했습니다. 이더리움은 Solidity라는 언어를 통해 스마트 컨트랙트를 위한 코드를 작성하고, EVM을 통해 블록체인 위에서 코드를 실행시킬 수 있습니다. 이더리움은 여러 개의 독립적인 스마트 컨트랙트를 동시에 실행할 수 있어서 월드 컴퓨터라고 불리기도 합니다.
스마트 컨트랙트의 동작방식
로직
if or when (이벤트가 실행되면){
실행
}
코드가 블록체인 네트워크에 올라가면, 네트워크는 미리 결정된 조건이 충족되고, 검증된 경우 조건에 따른 액션을 실행합니다. 이러한 액션은 트랜잭션에 기록되며, 완료된 트랜잭션은 블록체인에 올라갑니다. 즉, 스마트 컨트랙트는 한번 수행되면 되돌릴 수 없습니다.
스마트 컨트랙트의 장점
보안
스마트 컨트랙트는 분산형 블록체인 인프라 위에서 실행되기 때문에, 한번 스마트 컨트랙트 코드가 블록체인 네트워크에 올라가면 모든 노드가 스마트 컨트랙트 내용과 이행 결과를 가지게 됩니다. 따라서 계약에 대한 중앙화 된 공격 지점이 없고, 누군가에게 뇌물을 주고 계약 내용이나 결과를 변조할 위험이 없습니다.
신뢰성
스마트 컨트랙트 로직은 조건에 부합해 계약이 이행되면 블록체인 네트워크에 있는 노드들에 의해 여러 번 수행되고 검증되기 때문에, 위변조가 매우 어렵고 정확도가 높습니다.
공평성
계약 조건을 공유하고 강제하기 위해 분산화된 블록체인 네트워크를 사용하기 때문에, 수수료를 가져가는 등 영리적 목적의 중개자가 필요하지 않습니다.
효율성
계약 이행을 자동화하기 때문에 계약 당사자들은 수동으로 데이터를 입력하거나, 상대방의 계약 의무 이행 여부를 검증하거나, 중개자가 계약을 집행하는지 확인할 필요가 없습니다.
'BlockChain > theory' 카테고리의 다른 글
[BlockChain] 분산 데이터베이스 알아보기 (1) | 2022.05.12 |
---|---|
[BlockChain] 비트코인-UTXO 알아보기 (0) | 2022.05.11 |
[BlockChain] ICO 알아보기 (0) | 2022.05.10 |
[BlockChain] DAO 알아보기 (1) | 2022.05.10 |
[BlockChain] FLP Impossibility (0) | 2022.05.10 |
댓글