스마트 컨트랙트 (Smart Contract)

  • 스마트 컨트랙트란 블록체인 기반으로 금융거래, 부동산 계약, 공증 등 다양한 형태의 계약을 체결하고 이행하는 것

  • 스마트 컨트랙트는 블록체인 네트워크에 호스팅되고 실행되는 프로그램

  • 개발자가 직접 계약 조건과 내용을 코딩할 수 있기 때문에, 원칙적으로 인간이 상상할 수 있는 모든 종류의 계약을 이더리움 플랫폼을 이용해 구현할 수 있다

  • 스마트 컨트랙트는 일반적인 중앙 집중식 서버가 아니라 탈중앙화된 블록체인에서 실행하기 때문에, 계약 조건이나 이행 내용을 변조하기 어려우며 계약을 신뢰하기 위한 제 3자가 필요하지 않다

스마트 컨트랙트

1994년 ‘닉 자보(Nick Szabo)’ 가 처음 제안했다
2013년 ‘비탈릭 부테린(Vitalik Buterin)’ 이 기존 비트코인의 소스 코드를 일부 수정하여
스마트 계약 기능을 구현하고자 하였으나
, 비트코인 커뮤니티에서 자신의 요구가 받아들여지지 않자, 비트코인을 포크(fork)하여 새로 이더리움(Ethereum)이라는 가상화폐를 만들고 ‘스마트 계약’ 기능을 구현하였다


스마트 컨트랙트 동작방식

  • 개발자라면 누구나 스마트 컨트랙트를 만들고 퍼블릭 블록체인에 배포할 수 있다
  1. 코드가 블록체인 네트워크에 올라가면
  2. 네트워크는 미리 결정된 조건이 충족되고
  3. 검증된 경우 조건에 따른 액션을 실행
  4. 이러한 액션은 트랜잭션에 기록📜되며
  5. 완료된 트랜잭션은 블록체인에 올라간다
  6. 스마트 컨트랙트는 한번 액션이 수행되면 되돌리거나 수정할 수 없다 🚫

⭐ 예를들어
여러 펀드 중 가장 높은 수익을 내는 펀드로 옮기는 작업을 자동화하는 ‘수익률 집계 어플리케이션’을 만들 수도 있다
일정 시각마다 여러 펀드들 중 현재 가지고 있는 펀드보다
높은 수익률🔺을 내고 있는 펀드가 있는 경우라는 조건에 부합하는지 확인하고, 🧐
그러한 펀드가 있는 경우 새로운 펀드로 이동하는 액션을 취하도록 스마트 컨트랙트 코드를 작성할 수 있다


스마트 컨트랙트의 장점

  • 보안
    한번 스마트 컨트랙트 코드가 블록체인 네트워크에 올라가면 누군가에게 뇌물을 주고 ‘계약 내용’ 이나 ‘결과’변조할 위험이 없다

  • 신뢰성
    블록체인 네트워크에 있는 노드들에 의해 ‘여러번 수행되고 검증’되기 때문에, 위변조가 매우 어렵고 정확도가 높다 👉 투명한 거래

  • 공평함
    수수료를 가져가는 등 ‘영리적 목적’ 의 중개자가 필요하지 않다 👉 수수료와 같은 비용 절감

  • 효율성
    계약 이행을 ‘자동화’ 하기 때문에 계약 당사자들은 데이터를 입력 / 검증 / 계약 집행을 확인할 필요가 없다


스마트 컨트랙트의 단점

  • 이미 배포된 스마트 컨트랙트는 수정이 불가능하다

  • 스마트 컨트랙트를 이용하기 위해서는 수수료인 ‘gas’ 가 필요한데, gas가 생각보다 비싸다

  • 오라클 문제가 있다

오라클 문제

오라클 문제가 블록체인에서 가장 해결하기 어려운 상황인데,
‘블록체인 밖에 있는 데이터’‘블록체인 안으로 가져올 때’ 발생하는 문제를 ‘오라클 문제’라고 한다


참고 했던 사이트 🖥

https://m.blog.naver.com/chowk17/221565227526