[스마트 컨트랙트] 스마트 컨트랙트의 정의와 비트코인 스크립트

in #coinkorea7 years ago (edited)

슬라이드1.PNG

안녕하세요 tmkor입니다. 스마트 컨트랙트란 무엇일까요? 그리고 어떠한 일을 할 수 있을까요? 어떻게 작성해야 될까요? 다양한 질문에 대한 기술적인 해답을 찾아가는 과정, [스마트 컨트랙트] 입니다.

오늘은 스마트 컨트랙트에 대한 제 생각과, 최초의 스마트 컨트랙트인 비트코인 스크립트를 살펴볼까 합니다.

스마트 컨트랙트의 정의

슬라이드3.PNG

스마트 컨트랙트의 개념은 1994년도 Nick Szabo에 의해 세워졌습니다. 사실 스마트 컨트랙트는 매우 간단합니다. 계약의 실행을 컴퓨터가 자동으로 수행하면, 그것이 스마트 컨트랙트입니다. 계약은 우리가 일상생활에서 접하는 은행 업무, 보험금 처리, 등기, 공증에서부터 엔터프라이즈 영역의 기업 의사결정, 신규 사업 발주 등 광범위하게 존재합니다. 이 모든 과정을 코드로서 자동으로 처리하는 패러다임은 스마트 컨트랙트로 완성됩니다.

기존에 이러한 계약이 자동화 된거 아닌가? 라는 질문은 당연하게 들 것입니다. 카카오뱅크에서 은행 업무 볼 때 창구 직원을 보지 않고 실제로도 컴퓨터 프로그램이 트랜잭션을 만들고 정산 하고 그럽니다. 그렇다면 카카오뱅크를 스마트 컨트랙트라고 볼 수 있을까요? 개인적으로는 스마트 컨트랙트가 아니라고 생각합니다.

계약의 핵심은 '신뢰'를 부여하는 것 입니다. 금전 거래의 신뢰는 누가 보장하나요? 정부와 은행이 합니다. 중개업자가 존재하고, 공증인이 존재하는 이유는 계약에 필요한 신뢰를 충족시키기 위해서 입니다. 카카오 뱅크의 신뢰는? 카카오 그룹과 금융법이 담당하는 것 입니다.

제가 바라보는 스마트 컨트랙트는 '코드' 자체가 신뢰를 보장하는 자동화된 계약입니다.

블록체인 기술 이전에는 제3의 신뢰 가능한 기관이 없다면 신뢰를 만들 수가 없었습니다. 그렇기 때문에 스마트 컨트랙트의 구현은 블록체인에서 이루어집니다.

스마트 컨트랙트의 기술적 정의

슬라이드4.PNG

Richard Hull은 블록체인을 2가지 단계로 나누고 있습니다. 첫 번째는 블록체인이 구동되기 위한 필수적인 구성요소들 입니다. 트랜잭션 단위의 신뢰성을 부여하는 암호학, 장부 단위의 신뢰성을 부여하는 합의 알고리즘, 그리고 공유하기 위한 네트워크 기술입니다.

두 번째는 스마트 컨트랙트 단계입니다. 개발자와 비즈니스 사용자로 하여금 데이터를 정의하고, 모든 사람이 지켜야 하는 논리와 행동을 기술하는 것 입니다. 부동산 거래를 생각해보면 데이터는 등기 양식이 될 것이며, 논리와 행동은 계약의 범위와 관련 법안들이 될 것입니다.

기술적으로 스마트 컨트랙트는 이벤트 기반으로 동작하며, 데이터 중심이고 다수의 기관의 이해관계자들이 사용할 수 있는 공용의 자산이 됩니다.

최초의 스마트 컨트랙트, 비트코인 스크립트

슬라이드5.PNG

제가 바라볼 때 비트코인은 스마트 컨트랙트를 지원하는 암호 화폐입니다. 하지만 어느 누구도 스마트 컨트랙트를 개발할 때 비트코인을 언급하진 않을겁니다. 왜냐하면 금융 거래에만 특화된 스마트 컨트랙트이기 때문입니다.

비트코인은 비트코인 스크립트라는 스택 기반의 언어를 가지고 있습니다. (어셈블리어에 가깝습니다.) 모든 트랜잭션에는 비트코인 스크립트로 기술된 scriptPubKey가 들어갑니다. 보기에 이상해 보이지만, 사실 컴퓨터 언어로 표현된 거래의 검증 코드 입니다. 이를 이용하면 다양한 형태의 거래 검증 작업을 '블록체인' 상에서 실행할 수 있습니다.

즉, 비트코인 스크립트는 금융 이체 거래 계약을 코드로 자동화하고 있습니다. 그렇기 때문에 저는 이를 스마트 컨트랙트라 보고 있습니다.

하지만, 비트코인 스크립트는 굉장히 제한적입니다. 상태값(state)를 저장할 수 없습니다. 그렇기 때문에 튜링 컴플릿 언어가 아닌 것이지요. 단적으로 반복문조차 제공하지 않습니다. 왜냐하면, 비트코인 스크립트는 블록체인의 모든 노드에서 실행되기 때문입니다. 생각해보세요 전세계의 수천만대의 컴퓨터에서 코드가 돌아갑니다. 만약에 무한반복이 하나라도 발생한다면? 500만원이 0원이 될 수도 있겠지요. ^^; 이러한 일을 막기 위해서 (매우 영리한) 비트코인 개발자들은 비트코인 스크립트를 의도적으로 매우 약한 언어로 제한하고 있습니다. 사실 화폐로 사용할 때는 충분히 유용하지만 말이지요.

스마트 컨트랙트라는 개념은 매우 광범위하게 적용될 수 있으므로, 좀 더 유연한 컴퓨터 언어를 사용할 수 있을 것입니다. 물론 무한반복이라던지, 무결성이라던지를 보장해야 될테지만요.

비트코인 스크립트의 제한을 뛰어넘은 블록체인이 있을까요?

Sort:  

감사합니다.
비트코인은 파파미 인가요? 알면 알 수록 대단하다는 생각이 듭니다.스마트 컨트랙트를 일상적으로 사용하게 되면 제3자에 해당하는 직업들은 사라지게 되겠죠. 모집인, 중개인, 브로커, 딜러등등. 가까운 미래에 그려지는 삶이 어마어마하게 달라질 수 있는 기술을 몸소 체험하고 있다는 것 만으로도, 운이 좋은 사람이라고 생각합니다. 이더리움, 이오스, 보스코인, 테조 등이 스마트 컨트랙트를 표방하고 있습니다만, 과연 어떻게 될지 흥미진진합니다.
좋은 하루 보내세요.

비트코인은 milestone을 찍은 것 같습니다. 뭐랄까.. 아이폰3 같은 느낌? 완전 새로운 개념들은 아닌데 잘 모았어요. 스마트 컨트랙트에 대한 미래는 아직 잘 그려지지는 않지만, 법률적인 제한이 없고 기술적인 완성도가 모아진다면 굳이 비싼 돈을 주고 사람을 쓸 일이 없을 것 같습니다. 보스코인은 국내 기술로 알고 있는데 한번 살펴봐야겠네요. 좋은 글 감사드립니다. ^^

감사합니다. 최근 이 부분에 관심이 많습니다 잘 보았습니다

저도 항상 궁금해하던차라 정리 시작해보았습니다. 댓글 감사드립니다. ^^

어서 다음 글을....

아직 소화가 덜 되어서 ㅎㅎㅎ; 최대한 빨리 써보도록 하겠습니다. 아마 1주에 1번정도이지 않을까 싶어요 ㅜㅜ)

잘 읽었습니다. 저랑 관심분야가 같군요 ㅋㅋㅋ

확실히 핫한 분야인 것 같아요~ 팔로하겠습니다!

Congratulations @tmkor! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

좋은 정보 감사합니다

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 67978.59
ETH 3270.89
USDT 1.00
SBD 2.65