스마트 컨트랙트란

2021. 8. 25. 00:57공부/블록체인

반응형

스마트 컨트랙트란?

서면으로 이루어지던 계약을 코드로 구현하고 특정 조건이 충족되었을 때 해당 계약이 이행되게 하는 script.

'~할 경우 ~이다(If-Then)'라는 원칙을 따르는데, 이는 합의된 금액이 시스템에 전송되어야만 주택 소유권이 매입자에게 양도됨을 뜻한다.

Ethereum에서 처음 도입되었고 현재는 에이다, NEO, Qtum, EOS 등의 암호화폐에도 적용된 상태이다.

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

스마트 컨트랙트를 활용하면 특정 조건이 충족되지 않으면 계약이 실행되지 않기 때문에 두 당사자가 서로 모르거나 신뢰하지 않더라도 계약을 체결할 수 있다. 따라서 중개인 없이도 계약을 이행할 수 있다.

-> 블록체인은 많은 감시자들을 가지고 있으며 입력을 기반한 결과를 도출하는 플랫폼이기 때문에 스마트 컨트랙트라는 개념을 도입하기에 최적의 환경이었을 것으로 예측할 수 있다.

 

스마트 컨트랙트는 돈, 재산 및 가치 있는 그 밖의 모든 것을 쉽게 교환할 수 있게 해 주며, 완전한 투명성을 보장하고, 중개자의 서비스와 그에 수반되는 수수료를 피하며, 당사자들 간의 신뢰 문제를 근절시킬 수 있다. 특정 스마트 컨트랙트의 코드에는 당사자들이 합의한 모든 약관이 포함되며, 거래 자체에 대한 정보는 탈중앙화 된 분산형 공공 원장인 블록체인에 기록된다.

스마트 컨트랙트의 작동방식

스마트 컨트랙트는 조건에 맞는 정확한 작동을 수행하는 능력을 갖추고 있다. 필요한 만큼의 암호화폐를 스마트 컨트랙트에 넣으면 자신이 원하는 결과가 계좌로 들어온다. 

기존에 사용하던 프로그래밍 언어가 아닌 Solidity, Vyper와 같은 스마트 컨트랙트를 만드는 전용 언어로 논리적인 계약의 작동을 정의할 수 있고, 컴파일러를 통해 논리적인 계약의 작동을 바이트 코드로 변환해 블록체인에 배포하게 된다.

 

모든 스마트 컨트랙트에는 필수적인 부분 세 가지가 있는데 이를 객체라고 한다.

1. 서명인 : 스마트 컨트랙트를 이용하는 둘 이상의 당사자로 이들은 디지털 서명을 이용해 계약 조건에 동의하거나 동의하지 않는다.

2. 동의의 대상 : 스마트 컨트랙트의 환경 내에 존재하는 객체여야만 한다. 또는 스마트 컨트랙트가 해당 객체에 대해 아무런 제약 없이 직접 접근할 수 있어야 한다. 2009년 최초의 암호화폐가 등장한 후에야 부분적으로나마 해결되었다.

3. 구체적인 조건 : 적절한 프로그래밍 언어를 이용해 수학적으로 자세하게 기술되어야 한다. 여기엔 앞서 언급된 조건과 관련된 모든 규칙, 보상 및 처벌은 물론 모든 참여 당사자에게 기대되는 요건들도 포함된다.

 

스마트 컨트랙트가 존재하면서 제대로 기능하기 위해서는 특정하고 적절한 환경 내에서 운영되어야 한다.

1. 이 환경은 공개키 암호 방식의 사용을 지원해야 한다. 사용자는 자신 고유의 특별 생성된 암호 코드를 통해 거래를 승인할 수 있다.

2. 모든 계약 당사자가 전적으로 신뢰할 수 있고 완전히 자동화된 개방적이고 탈중앙화된 데이터베이스를 필요로 한다. 또한 스마트 컨트랙트가 구현되기 위해선 환경 전체가 탈중앙화 되어야 한다.

3. 스마트 컨트랙트에 사용되는 디지털 데이터의 출처는 완전히 신뢰할 수 있어야 한다. 여기엔 루트 SSL 보안 인증서, HTTPS 및 기타 보안 연결 프로토콜의 사용이 포함된다.

스마트 컨트랙트의 장점

1. 누구나 컨트랙트를 배포할 수 있다.

2. 중개자 및 수수료가 필요 없으므로 비용을 절감할 수 있다.

3. 코드의 실행을 자동화할 수 있다.

4. 스마트 컨트랙트를 위한 환경은 복잡한 암호화로 보호되므로 안전성을 보장한다.

스마트 컨트랙트의 한계점

스마트 컨트랙트는 배포 이후 내용 수정이 불가하다. 따라서 스마트 컨트랙트를 구성하는 코드는 완벽하고 결함이나 버그가 없어야 한다.

스마트 컨트랙트는 외부 정보를 스스로 가져오지 못한다. 스마트 컨트랙트가 실행되기 위해서는 특정 조건에 대한 정보를 가져와야 하고, 이때 필요한 데이터를 가져오기 위해 제 3자에게 의존해야 한다면 신뢰 이슈가 발생할 수 있다.

 

 

 

 

* https://medium.com/haechi-audit-kr/smart-contract-a-to-z-79ebc04d6c86

* https://kr.cointelegraph.com/ethereum-for-beginners/what-are-smart-contracts-guide-for-beginners

 

반응형

'공부 > 블록체인' 카테고리의 다른 글

프라이빗 이더리움 네트워크 구축 및 마이닝  (0) 2021.09.01
이더리움 노드 구성  (0) 2021.09.01
가상 머신 구성하기  (0) 2021.09.01
이더리움이란  (0) 2021.08.25
블록체인이란  (0) 2021.08.25