진정한 스마트 컨트랙트의 정의,개념,의미,뜻!

in #kr6 years ago (edited)


(대문은 @carrotcake 님께 의뢰하였습니다)

스마트 컨트랙트는
Nick Szabo라는 사람이 1994년 처음으로 제안한 개념입니다.

그리고 그후
블록체인과 함께 실체화되고
이후 블록체인과 한몸 취급을 받고 있습니다.
하지만 사실은 그렇지 않습니다

정확하게는 이더리움과 함께 등장했고
이더리움외의 블록체인들은 스마트 컨트랙트와
상관없다고 봐도 됩니다.

어째서 그런지 알아봅시다.

먼저 알아둬야할 것이
사실 '그냥' 스마트 컨트랙트는 일상에 오지게
사용하고 있다는 사실입니다.

기존의 설명에선

특정 조건이 충족되었을때 자동으로 계약이 실행되는
블록체인상의 전자계약

이라고 거창하게 되어 있는데

그런 정의대로라면 블록체인 글자뺐을때

여러분이 인터넷으로 물품 구매하는거
그거 죄다 스마트 컨트랙트입니다.
복잡하게 생각할거 없어요

인터넷 상에서 네이버 페이 버튼등을 눌러서
결제했을때 네이버 본사 찾아가서
금액 지불하는 것은 아니잖아요?

구매하기 버튼을 누르는 즉시
기존에 짜여진 전자계약에 따라
자동으로 계약이 실행됩니다.

즉, 계약 조건이 충족될시 자동으로 계약 실행..

걍 스마트 컨트랙트 그 자체죠

사실 저 네이버 페이는
다른말로 네이버 스마트 컨트랙트 페이라고 불러도
별루 틀리지 않는 말입니다.
그냥 그렇게 부를 필요가 없을뿐이죠.

그럼 왜 블록체인의 스마트 컨트랙트는 그 난리였는가

그 이유는

여러분이 대기업이 아니라도 신뢰할 수 있는,
전자 계약서를 만들 수 있는 계기가 되었기 때문입니다.
아니 좀더 정확히는 계약서 자체를 신뢰 가능한 환경이
만들어진 것이 그 이유입니다.

기존의 모든 스마트 컨트랙트는
전부 강력한 신뢰의 대상을 배경으로 두고 있습니다.

네이버 페이, 삼성페이, 카드회사들, 은행등등..

사람들이 믿는 것은 스마트 컨트랙트가 아니라
그것을 만든 주체였습니다.

그러므로 사실 진정한 의미에서는
스마트 컨트랙트라고 불릴 수가 없었죠.
계약서 그 자체를 믿는게 아니니까요

예를들어 제가 트윈Pay 라는 버튼을 만들어서
인터넷 쇼핑시 쓰라고 하면 누가 쓸까요
그거 누르면 해킹프로그램이 심어진다거나
제 지갑으로 얼마 빼간다거나 무슨짓을 해놨을지 믿을 수 없죠.
설령 지금 조작을 안했더라도
훗날 몰래 조작질하는 것은 얼마든지 가능합니다.

그렇기에
이전에는 개인이 만든 전자 계약서를 누구도 믿지 않았고
(개인이 만든) 스마트 컨트랙트는 존재가 불가능했습니다.

하지만 블록체인, 아니 이더리움이
진정한 스마트 컨트랙트를 탄생시켰습니다.

이더리움에 올리는 계약서는
누구라도 그 내용을 볼 수 있어
장난친 내용을 올릴수가 없습니다.
게다가 제대로된 계약서를 올렸다가 후에
변경하는 것도 불가능하죠.

즉, 스마트 컨트랙트의 진정한 정의
블록체인에 올리는 계약서를 스마트 컨트랙트라
하는 게 아니라

  • 투명하고
  • 변경불가능

이 두가지 조건을 만족하는 전자 계약서라야
스마트 컨트랙트라고 부를 수 있는 것입니다.

블록체인이 부각된 것은 그 기본조건중
변경불가능을 만족하고 있었기 때문이죠.

하지만 하나라도 충족치 못하면
당연히 이는 스마트 컨트랙트가 아닙니다.

그점에서 이오스에 올라온 것들을
블록체인이라는 이유로
스마트 컨트랙트라고 부르는 것은 잘못된 것이라
할 수 있습니다.
(실제로 이오스에 올라오는 컨트랙트들은
투명성도 없고 심지어 새로 컨트랙트를 올리고
링크를 바꿀시 인지도 어렵습니다)

이는 다른 블록체인도 마찬가지입니다.
만약 투명성, 그리고 변경했을시 변경에 대한 인지가
불가능하거나 어렵다면
그건 아무리 블록체인에 올려진 계약이라도
절대 스마트 컨트랙트라고 할 수 없다는 것이죠.

계약서 그 자체를 믿을 수가 없으니까요

블록체인이든 뭐든
전자상에서 계약서 그 자체로써 믿을 수 있는 것
그것이 진짜 스마트 컨트랙트임을 명심하시기 바랍니다.

Sort:  

블록체인 이라서가 아니라, 말 그대로 계약서 자체를 신뢰할 수 있어야 스마트 컨트랙트 이다. 그리고 변경 불 가능해야 한다.

쉬운듯 하면서도 어려운 개념 같습니다.

그냥 신뢰할 수 있는가 없는가가 조건입니다.
신뢰를 못했기에 스마트 컨트랙트가 묻혀있었던거예요.
현실에서 지폐에는 각종 위조방지가 들어있고 종이도 필요하고 기계도 필요하고
여러모로 위조가 힘들기에 신뢰할 수 있습니다.
하지만 인터넷 상에서 지폐사진을 신뢰하는 이는 하나도 없습니다.
전자자료는 쉽게 복제,조작이 가능하니까요.
그걸 못하게 해주는게 블록체인입니다.
그래서 스마트 컨트랙트가 나올수 있었던거죠

자세하게 다시 설명해주시니 알겠습니다.

결국 신뢰가 관건이네요.
블록체인이 주도하는 세상에는 스마트컨트랙트가 당연해지는 세상이겠네요.

그런 날이 오기를...

굉장히 쉬운 설명이네요ㅎㅎ
개인거래에서 사용하면 굉장히 좋을것 같아요.

개인이라는게 블록체인에 있어서 또하나의 매우 중요한 속성이죠
그건 또 후에..

'스마트 컨트랙트'의 개념이 확실하게 잡히네요.
쉽게 설명해주셔서 감사해요.
리스팀해 갑니다!^^

리스팀 감사합니다 ^^

이오스가 그렇다면..스팀도? ㅎㅎㅎ

스팀은 스맛컨트랙 플랫폼 체인이 아니라서.. 그냥 상관이 없네요.
개인이 앱을 만들어 올릴때 얘기라..

아 SMT시작해야 해당되는 이야기군용 ㅎㅎ

매번 좋은 글 감사합니다
스마트 컨트랙트에 대해서 잘 알게 되었네요~^^

감사합니다 +_+/

스마트 컨트랙트- 이해는 될것 같은데

투명하고
변경불가능한 거래.

----이걸 구조적, 원천적으로 보증하는게 가능한가요???????

가능했기에 블록체인이 화제가 되었죠.
투명함에선 소스코드가 보이게 만드느냐 안보이게 만드느냐인데
이더리움은 보이게 만들었습니다. 그러므로 투명성 확보,
변경 불가능은 블록체인의 특성입니다.
쉽게 예를든다면 전세계 인터넷에서
마이클잭슨의 존재를 지우는 것은 불가능합니다
누군가 한명은 자료를 가지고 있을테니까요.
인터넷에 한번 어떤 자료가 퍼져버리면 완전소거가 불가능하죠.
블록체인도 그것을 이용해 장부를 인터넷에 널리 퍼뜨립니다.
누군가 장부를 조작해도 다수의 진짜 장부때문에 가짜는 버려지고
진짜기록은 계속 진행됩니다. 그게 악의든 선의든 비교후 이전과 똑같은
기록만 인정되니까 기록의 변경이 불가능합니다.
그건 이오스, 스팀도 예외가 아닙니다.
스팀에서의 글 수정은 눈속임입니다.
수정하더라도 원본은 그대로 존재합니다. 단지 이사이트에서 보여주는게
최신수정본을 가져와서 보여주기에 수정된것처럼 보이는거 뿐이죠.

오랜만에 뵙습니다! 질문이 있는데, 이오스에 올라오는 컨트랙트들은 왜 투명하지 않나요??

소스 코드를 분석할 수 없기 때문입니다.

contract DSNote {
event LogNote(
bytes4 indexed sig,
address indexed guy,
bytes32 indexed foo,
bytes32 indexed bar,
uint wad,
bytes fax
) anonymous;

이더리움에선 이렇게 코드가 올라옵니다. 언어를 알긴 알아야되지만
많은 능력자들이 있으므로 코드를 검증해줍니다.

하지만 이오스에 올라오는 코드는

606060405260126006556000600790600019169055341561001c57fe5b604051602080611c5d833981016040528080519060200190919050505b5b60005b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000819055505b5033600460006101000a81548173ffffffffffffffffffffff

이런식으로 보입니다.
따로 소스를 올려주지 않으면 검증이 불가능하죠

굳이 보려면, 디컴파일해서 봐야죠(...)

디컴 잘되나요-ㅅ- 것도 잘 안될거 같은데..

아하 제가 궁금했던 것도 이거였는데... 이오스가 코드를 공개하지 않는 이유는뭘까요? 속도 때문인가요?

공개안할려고 공개안하는게 아닙니다.
스마트 컨트랙, 전자계약, 디앱
여러모로 말해지지만 본질은 하나 입니다.

그냥 프로그램이죠.

프로그램을 짤려면 프로그래밍 언어로 짜야됩니다.
여기서 이더리움은 솔리디티라는 언어를 직접 만들었습니다
이 언어의 특성은 쉽고 투명하다는 것이죠.

한편 이오스는 기존에 있던 것중에
웹에서 매우 강력한 성능을 자랑하는 언어를 차용했습니다.
그게 웹어셈블리 라는 언어이고 이걸로 만든 프로그램은
위에서 처럼 표기가 됩니다.

그러므로 이더리움이 특수했던 것이지
딱히 이오스가 코드를 공개하지 않는 것은 아닙니다.
아마 이더리움을 제외한 대부분의 블록체인들이 그럴겁니다.
그러므로 블록체인의 디앱은 스마트컨트랙이다.. 라는 것은 처음부터 잘못된 얘기였습니다.
이더리움 블록체인의 디앱만이 스마트 컨트랙의 조건을 충족했던 것이죠.

아하! 설명 감사합니다. 프로그래밍 언어 차이 때문인 거군요.
그렇다면 댑으로 사기를 치는 케이스도 나올 수 있겠네요. ㅠㅠ
현재 어플시장처럼 신규 댑을 검증하는 작업이 필요할 것 같습니다.

천재적인 설명이십니다

사실 엄청 부족합니다. 단발성 포스팅이다보니-ㅅ-;

초보자에게 단비와 같은 명확한 정의 감사합니다~

감사합니다-0-/

항상 쉬운설명 잘 이해가 되서 너무 좋습니다^^

언제나 들려주셔서 감사합니다.
처음뵈었을때 저두 드론 살려고 했던 기억이 새록새록하네요-ㅅ-

Coin Marketplace

STEEM 0.31
TRX 0.11
JST 0.034
BTC 66772.03
ETH 3237.54
USDT 1.00
SBD 4.25