코딩 및 기타
스마트 컨트랙트 smart contract
정지홍
2024. 9. 19. 14:30
스마트 컨트랙트 ( 스마트 계약 )이란?
- 블록체인 기반으로 제 3의 인증기관 없이 개인 간의 계약이 체결되게 해주는 기술을 의미
- 즉, 중개자 없이 조건 및 이행을 확인하고, 승인 및 계약을 진행
- 다른 의미로 탈중앙화를 구현한것 임
- 이더리움에서 처음 도입되었다.
- 이더리움에서는 c++,python,js의 영향을 받아서 만들어진 solidity라는 언어로 스마트 계약서를 작성함.
스마트 컨트랙트의 주요 개념
- 자율성
- 미리 정해진 조건이 만족되면 외부의 개입 없이 자동으로 실행됨.
- 단, 한번 기록된다면 변경이나 중단이 불가능
- 분산성
- 블록체인에 저장된 모든 스마트 계약은 네트워크의 모든 노드에서 동일한 복사본을 유지하며 실행됨.
- 이를 통해서, 계약이 임의 수정 및 삭제될 위험이 없다.
- 신뢰성
- 모든 트랜잭션 기록이 공개되어서 누구나 검증 가능. 즉, 위조 및 변조가 어려움.
- 투명성
- 스마트 컨트랙트의 코드는 누구나 열람이 가능해서 실행 방식이 투명함.
스마트 컨트랙트의 특징
- 자동화
- 신뢰성
- 보안성
- 중개자 제거로 인하여 계약 이행에 필요한 비용 감소 => 비용 효율성
스마트 컨트랙트의 성질
- 관측 가능성
- 계약 이행 과정을 투명하게 추적 가능. 즉, 계약이 언제 이루어지고 조건이 충족되었는지 확인 가능.
- 불변성
- 배포된 계액을 변경이 불가능하다. 이는 악의적인 수정으로부터 보호되는 장점이 있으나, 잘못된 코드를 수정하기 어려운 단점 존재.
- 검증 가능성
- 계액의 당사자들은 스마트 컨트랙트가 실행,이행,위반 되었는지 검증할 수 있어야 함.
- 프라이버시
- 계약에 참여하는 당사자들만 볼 수 있어야함. 즉, 제 3자에게는 노출 x
- 강제 가능성
- 외부의 개입 없이 계약 내용을 강제할 수 있으며, 조건이 불충족되면 자동으로 실행되지 않거나 다른 조건을 트리거하는 방식으로 설계