[신뢰의 혁명, 블록체인의 철학 010] '블록체인 기술 개관' 번역 연재 10회. "6 스마트 컨트랙트"

in #kr-coin6 years ago (edited)

번역 연재 소개의 말

미국 국립표준기술원(National Institute of Standards and Technology, NIST)에서 2018년 10월 3일에 발간한 "블록체인 기술 개관"(Blockchain Technology Overview) 이라는 66쪽 짜리 보고서 최종본(National Institute of Standards and Technology Internal Report (NISTIR) 8202)을 번역합니다. 이 보고서의 초고는 2018년 1월 24일에 공개되었고, 많은 공개 논평(public comment)를 받아 새롭게 작성되었습니다.


문서와 관련된 자세한 내용은 다음 포스팅을 참고하세요.

[신뢰의 혁명, 블록체인의 철학 001] '블록체인 기술 개관' 번역 연재 01회. "목차"


많은 호응과 후원 부탁드립니다. 그리고 오류가 있으면 거침없이 지적해주세요. 번역물의 저작권은 저에게 있고, 출처와 함께 링크로 퍼가시기 바랍니다. 보팅과 리스팀은 고래도 춤추게 합니다. 맨 아래 dclick 광고 링크도 한 번 눌러주고 가시면 제게 도움이 됩니다.

이번 회는 "6 스마트 컨트랙트"입니다.


6 스마트 컨트랙트

스마트 컨트랙트라는 용어는 1994년까지 거슬러가는데, 닉 재보(Nick Szabo)는 이렇게 정의했다. "계약 조항들을 실행하는 컴퓨터화된 거래 프로토콜. 스마트 컨트랙트 설계의 일반적인 목적은 보통의 계약 조건(지불 조항, 유치권, 비밀유지, 심지어 강제집행)을 충족시키기, 악성이건 우연이건 예외를 최소화하기, 신뢰받는 매개자의 필요를 최소화하기이다."[주17]

스마트 컨트랙트는 블록체인 기술을 확장하고 강화한다. 스마트 컨트랙트란 블록체인 네트워크에서 암호 서명한 거래를 사용해서 전개되는 코드와 데이터(때로는 함수와 상태로 지칭됨)의 모음이다(가령, 이더리움의 스마트 컨트랙트, 하이퍼레저 패브릭의 체인코드). 스마트 컨트랙트는 블록체인 네트워크 내 노드들에 의해 실행된다. 스마트 컨트랙트를 실행하는 모든 노드는 실행에서 같은 결과를 도출해야 하며, 실행 결과는 블록체인에 기록된다.

블록체인 네트워크 이용자는 스마트 컨트랙트가 제공하는 공개 함수에 데이타를 전송하는 거래를 창조할 수 있다. 스마트 컨트랙트는 이용자가 제공한 데이터로 적절한 방법을 실행해 서비스를 수행한다. 블록체인 상에 있는 코드는 또한 손을 대면 흔적이 분명하게 남으며 손 타기 어렵게 되어 있어서 (그 어떤 목적보다) 신뢰받는 제3자로 사용될 수 있다. 스마트 컨트랙트는 계산을 수행하고, 정보를 저장하고, 공개적으로 드러난 상태를 반영하는 성질들을 드러낼 수 있고, 적합할 경우엔 자동으로 다른 계정에 기금을 전송하는 등의 일을 할 수 있다. 심지어는 꼭 금융 기능을 수행할 필요도 없다. 가령 이 문서의 저자들은 공개적으로 믿을 만한 난수를 생성하는 이더리움 스마트 컨트랙트를 창조해 왔다[주18]. 모든 블록체인이 다 스마트 컨트랙트를 구동할 수 있는 건 아니라는 점을 유념하는 것이 중요하다.

스마트 컨트랙트 코드는 다자간 거래를 표상할 수 있는데, 전형적으로 사업 과정의 맥락에서 그러하다. 다자간 시나리오에서의 이점은 이것이 신뢰를 조성하는 입증 가능한 데이터와 투명성을 제공하고, 더 나은 사업 결정을 가능케 해 주는 통찰을 제공하고, 전통적인 B2B 어플리케이션에 존재하는 조정 비용을 감소시키며, 거래를 완료하는 시간을 감소시키는 등의 일을 할 수 있다.

어떤 입력이 주어지면 그 입력에 기반해서 항상 똑같은 출력을 산출할 거라는 점에서, 스마트 컨트랙트는 결정론적이어야만 한다. 더욱이 스마트 컨트랙트를 실행하는 모든 노드는 실행 뒤에 만들어진 새 상태에 동의해야만 한다. 이를 달성하기 위해 스마트 컨트랙트는 직접 그 안에 들어온 것 바깥에서 데이타에 작동할 수 없다(가령, 스마트 컨트랙트는 스마트 컨트랙트 안에서부터 웹서비스 데이타를 얻을 수 없으며, 매개변수처럼 데이터가 안으로 들어올 필요가 있다). 자기 시스템 맥락 밖에서 온 데이터를 이용하는 모든 스마트 컨트랙트는 '오라클'을 이용한다고 이야기된다(오라클 문제는 7.3절에서 기술된다).

많은 블록체인 시행에서 공표 노드는 새 블록을 공표하는 것과 동시에 스마트 컨트랙트 코드를 실행한다. 몇몇 블록체인 시행에서는 스마트 컨트랙트를 실행하지 않는 공표 노드도 있는데, 그렇긴 해도 그 대신 스마트 컨트랙트를 실행하는 노드들의 결과를 인가한다. (이더리움 같은) 비허가형 블록체인 네트워크를 작동시킨 스마트 컨트랙트에서는, 스마트 컨트랙트에 거래를 보내는 이용자는 코드 실행 비용에 대해 지불해야만 할 것이다. 코드의 복잡성에 따라, 스마트 컨트랙트에 요청함으로써 얼마나 많은 실행 시간이 소모될 수 있는지에는 한계가 있다. 이 한계를 초과하면, 실행은 멈추고, 거래는 폐기된다. 이 메커니즘은 공표자에게 스마트 컨트랙트 코드를 실행한 데 대한 보상을 줄 뿐 아니라, 악성 유저가 모든 자원을 소모함으로써 공표 노드에 서비스 부인을 수행하게 될 스마트 컨트랙트(가령 무한 루프 사용)를 펼치고 접속할 수 없게 막아주기도 한다.

하이퍼레저 패브릭의 체인코드를 이용하는 것 같은 허가형 블록체인 네트워크를 작동시킨 스마트 컨트랙트에서는, 이용자가 스마트 컨트랙트 코드 실행에 비용을 지불할 필요가 없을 수도 있다. 이런 네트워크는 서로 아는 참가자를 중심으로 설계되었으며, 악행을 막는 다른 방법(가령 접속 철회)이 채택될 수 있다.

출처: BLOCKCHAIN TECHNOLOGY OVERVIEW, pp. 22 ~ 33.



Sponsored ( Powered by dclick )
퍼블리토 유저 왈 : 「다운보팅 없이도 우리는 잘 해낼수 있습니다. 여러분 」 에 대한 갠적인 느낌

동의하는 점도 있고 그렇지 않은 점도 있는데 여러분의 생각

Sort:  

덕분에 내용 잘 읽었습니다. 꾸벅

캬~! 아름다운 형아~!
스마트 컨트랙트 톺아보기 완전 이해 도움 고마워용~♥♩♬

헤이~! 브로~! 형아~!
브로체인 ☞ 블록체인
옥의티 발굴~!

디클릭 ♥ 사랑 함께 응원합니당~!
디클릭 광고 monetize 기능 업데이트 된것두 체험해바바용~!
행복한 불금 ♥ 보내셔용~^^

Posted using Partiko Android

짱짱맨 호출에 응답하여 보팅하였습니다.

짱짱맨 보팅이 누적 3000 SBD를 돌파하였습니다. 참여와 응원에 감사드립니다.

짱짱맨 누적보팅 3000SBD 돌파

Hi @armdown!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.366 which ranks you at #2358 across all Steem accounts.
Your rank has improved 34 places in the last three days (old rank 2392).

In our last Algorithmic Curation Round, consisting of 186 contributions, your post is ranked at #57.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 67651.30
ETH 3269.44
USDT 1.00
SBD 2.64