어느날 동규와 진세는 갑자기 내기를 하고 싶어 졌다.
둘이 하는 내기는 그냥 간단하다
내일 코스피 종가 끝자리가 홀수로 끝나면 동규가 이기는거고 짝수로 끝나면 진세가 이기는거다.
내기금액은 100만원이다.
즉 요약하면
내일 코스피 종가가(소숫점빼고)
2501라면 동규의 승리(끝자리가 홀수)
2502 라면 진세의 승리이다.(끝자리가 짝수)
사실 현실세계에서 실제로 이런 내기는 종종 있다
정말 순조롭게 다음날 코스피 종가가 나오고 누가 이기든간에 진사람이 이기사람한테 깔끔하게 100만원을 주면
아무 문제가 없겠지만 현실은 그렇지 않다.
이런저런 문제가 발생할수 있지만 가장 큰 문제는
'계약불이행' 이다.
즉, 동규나 진세중에 진사람이 이긴사람한테 100만원을 줘야하는데 주지를 않는것이다.
현실에서는 이런 문제점들을 방지하기 위해서는 크게 두가지 방법이 있다.
1. 계약서 작성
문서를 작성하고 서로의 도장을 찍거나 사인을 함으로 해서 상대방이 계약 불이행시 법적인 절차를 받아 돈을 받아 내는 방법이다.
이경우 상대방이 계약불이행시 소송을 걸면 증거가 있기 때문에 높은확률도 돈을 받을 수 있으나 시간깨지고 비용깨지고 실제로 진행하려면 쉬운일은 아니다.
2. 3자가 진행
내준이라고 하는 둘의 10년 지기 친구에게 심판을 봐달라고 하는것이다.
내준이에게 일단 동규 진세 모두 100만원씩 계좌이체하고 내준이는 다음날 코스피종가에 따라 승자에게 200만원을 계좌이체 하면 된다.
내준이가 조금 수고 하는것이기 때문에 수고비 명목으로 약간의 수고비를 줄수도 있지만 그래도 일방적인 계약불이행에 대한 위험도는 낮아진다.
위 두가지 방법이 현재 현실세계에서 쓰이는 방법중 대부분을 차지하지만 단점이 존재한다.
1의 경우 소송을 통해 받아낼가능성이 높지만 상대방이 재산이 없거나 그 기간이 길어질수 있다는 단점이 있고
2의 경우는 내준이가 먹튀를 할 가능성 및 실수로 다른사람에게 계좌이체할 가능성등 역시 단점이 존재한다.
즉, 일상생활속에서 존재하는 수많은 계약들중 가장 큰 리스크는 '계약불이행'에 대한 것이다.
그런데 이더리움의 스마트 컨트랙트 기술은 이러한 계약불이행에 대한 리스크를 0으로 만들수 있다.
위의 경우를 이더리움 스마트 컨트랙트 기술로 구현하고 내기를 진행해보자.(1 이더리움의 가격을 100만원으로 가정)
1. '코스피 종가 내기' 라고 하는 스마트컨트랙트용 이더리움 지갑 주소를 생성
2. 해당 지갑에 다음과 같은 스마트 컨트랙트를 입력
1) 동규에게 1 이더리움이 '코스피 종가 내기 지갑 주소'로 입금되었는지 확인
2) 진세에게 1 이더리움이 '코스피 종가 내기 지갑 주소'로 입금되었는지 확인
3) 둘 모두에게 각각 1 이더리움이 입금이 미리 정해진 시간안에 입금이 되었으면 1차 조건 완료 후 다음날 코스피 종가 나올때까지 대기
4) 다음날 오후 3시 이후 코스피 종가를 코스콤 API를 통해서 획득
5) 코스피 종가 끝자리가 1,3,5,7,9(홀수)면 동규의 이더리움 지갑에 2 이더리움 전송
6) 코스피 종가 끝자리가 0,2,4,6,8(홀수)면 진세의 이더리움 지갑에 2 이더리움 전송
7) 종료
위와 같은 스마트컨트랙트는 현재 이더리움 기술로도 이미 구현이 가능하다.
그럼 '코스피 종가 내기'를 이더리움 스마트 컨트랙트로 진행하면 어떤점이 좋은가?
1. 계약 불이행의 리스크가 사라진다.
2. 심판을 해주는 3자가 필요없음으로 수수료가 거의 없다.
3. 처리속도가 빠르고 오차가 없다.
"에이 그냥 친구한테 부탁하거나 돈 안주면 소송걸면 됨 ㅋㅋ 글구 내준이는 1000억대 부자여서 100만원 가지고 먹튀할일도 없는데 굳이 저렇게까지 할필요가 있어?"
라고 반문할수도 있겠지만
예를 좀더 바꿔서
1. 내기 금액이 100만원이 아니라 100억이면 내준이가 이 금액을 먹튀하지 않고 공정하게 심판을 봐줄 가능성이 예전에 100만원때내기 하고 리스크가 같을까?
2. 저런식의 내기를 하루에 1천명이 내준이에게 부탁하면 내준이가 계좌번호를 헷갈리지 않고 전부다 정확히 보내줄수 있을까?
3. 하루에 1억명이 이런식의 내기를 한다고 하면 발생되는 수수료와 시간이 얼마나 들까?
참고로 스마트 컨트랙트의 위의 조건 부분은(프로그래밍)
누구나 볼수있게 공개되어 있고 해커에 의해 수정이 불가능하다. 블록체인위에 소스가 공개되어있기때문에 안전한것이다
만약 그 조건자체가 불합리하거나 문제가 있다면 동규와 진세는 입금을 안하면 되기 때문에 안전하다.
물론 프로그래밍 언어로 되어 있기 때문에 코드가 적합한지 확인하기 위해서는 프로그래밍을 할줄 아는 사람이 최초 검증을 해줘야겠지만
(미래에 이런것을 검증해주는 직업이 생길 가능성도 잇다.)
일단 신뢰할수 있는 사람에게 검증이 끝난후의 스마트 컨트랙트 라면 그 뒤부터는 누구나 믿고 쓸수가 있다.
아주 간단한 내기를 스마트 컨트랙트로 구현한것이지만
계약이라고 하는것은 일종의 약속이고
이 약속들은 우리 일상생활속에서 우리도 모르는 사이에 엄청나게 많이 쓰인다.
과거에는 약속들이라고 해봐야 사람대 사람의 구두 약속이 대부분을 이루었지만
스마트폰의 보급으로 최근에는 많은것들이 전산화되었고 이런것들을 스마트컨트랙트로
구현하기 시작하면 이더리움의 파급력은 어마어마 해진다.
즉 결과 확인 및 처리를 api와 프로그램을 통해 it정보로서만 해결할수있다면 어떤 복잡한 계약도 스마트컨트랙트를 통해 안전하게 3자 없이 진행할수있다
(쉬운 예로 누구에게나 확률과 작동 알고리즘을 공개한 이더리움을 걸고 하는 온라인 카지노 역시 구현가능하다.
먹튀의 가능성도 없고 딜러에게 더 유리하게 게임을 진행할수도 없다)
사실 지금도 이더리움을 통해 복잡하고 다양한 스마트컨트랙트를 구현가능하고 많음 DAPP들이 나와 있지만
현재는 이더리움이 POW 방식이어서 트랜잭션 속도가 느린 단점이 있다.
2018년 10월 이더리움이 완전 POS 전환 이후에 섀딩까지 적용되어 1초 트랜잭션 가능수가 무한대가 되면 이더리움의 스마트컨트랙트가 우리 일상생활속에서
정말 많이 쓰이게 될 확률이 높다.
================
부족하지만 친구에게 쉽게 설명해주기 위해 쓴글 입니다. ㅎㅎ
이더리움의 스마트컨트랙트는 가치가 분명히 있습니다.
금본위제니 튤립거품 들먹이며 코인 자체에 가치가 없다는 사람들에게
보여주면 좋을듯 합니다.
다들 성투하시길..
-------------------------------------
꼬리말
* 게시글 내용 삭제시 레벨 강등
* 질문은 각 주제별 게시판에.
비트코인 암호화화폐 커뮤니티 땡글~ 땡글~
-------------------------------------