코인 스토리: 비탈릭 부테린의 이더리움 백서 연구 - ③부; Ethereum White Paper By Vitalik

in #coinkorea6 years ago (edited)

btc.png copy.jpeg

안녕하세요 오늘은 코인 스토리로, 이더리움 백서 번역 3부입니다 36페이지 중 10-11 페이지의 내용인데요 여전히 비트코인에 대한 분석이 이어지고 있습니다 오늘 내용 가운데 비트코인이 스크립트 언어를 사용해서 약한 수준의 “스마트 컨트랙트”를 구현할 수 있다는 사실은 처음 알았네요 좀 더 좋은 번역을 위해서 다양한 자료를 읽고 내용을 이해한 상태에서 작업하고 있습니다 감사합니다 ~฿

3부 1부, 2부


  • History
    • Alternative Bockchain Applications
    • Scripting

Ethereum White Paper

A NEXT GENERATION SMART CONTRACT & DECENTRALIZED
APPLICATION PLATFORM

By Vitalik Buterin
번역: @phuzion7


Alternative Blockchain Applications

Screen Shot 2018-07-28 at 11.33.45 PM .png

대체 블록체인 애플리케이션

기본적인 블록체인 아이디어를 취하여 그것을 다른 개념에 적용하는 생각은 오랜 역사를 가진다 2005년에, Nick Szabo는 “소유자 권한을 통한 재산권 보장(secure property titles with owner authority)”의 개념을 갑자기 발표했고, 그 문서는 “중복 데이터베이스(replicated database) 테크놀로지의 새로운 진전”이 블록체인-기반 시스템으로 하여금 토지 소유주가 누구인지의 등록과, 홈스테딩, 불법 점유 그리고 조지아 주 주민의 토지세와 같은 개념을 포함하는 정교한 체계(framework)를 만드는 것을 어떻게 가능하게 하는지 설명하고 있다 그러나, 안타깝게도 당시에는 이용 가능한 효율적인 중복 데이터베이스 시스템이 없었기 때문에 그 프로토콜은 절대 상용화되지 못했다 그렇지만 2009년 이후에, 비트코인의 탈중앙화 컨센서스가 개발되자마자 수많은 대체 애플리케이션이 빠르게 나타나기 시작했다:

• 중복 데이터베이스: 분할 데이터베이스와 달리 둘 이상의 복제된 데이터가 다른 노드에 존재하고, 최악의 경우 시스템 내의 모든 노드가 어떤 데이터 복제 파일을 가질 수 있는 데이터베이스
• 홈스테딩(homesteading): 누구에게도 소유되지 않은 자산이 있다면 그것은 최초의 소유자가 주인이 된다는 뜻

  • Namecoin - 2010년에 만들어진 네임코인은 탈중앙화 명칭 등록 데이터베이스(decentralized name registration database)라고 잘 표현 할 수 있다 Tor, Bitcoin 그리고 BitMesage 같은 탈중앙화 프로토콜들의 경우, 다른 사람들이 그들과 상호작용할 수 있도록 일부 계정을 식별하는 방법이 필요하지만, 모든 기존 솔루션에서 이용 가능한 유일한 식별자의 종류는 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy와 같은 유사난수(pseudorandom) 해시(hash) 뿐이다 이상적으로는, 누군가 “george” 같은 이름의 계정을 소유할 수 있기를 원할 것이다 그러나, 문제는 만약 한 사람이 “george”라는 이름의 계정을 생성할 수 있다면 그럼 다른 누군가도 마찬가지로 “george”를 등록하기 위해 같은 과정을 이용해서 그들을 가장 할 수 있다 유일한 솔루션은 선출원주의(first-to-file) 패러다임으로, 처음 등록자가 성공하고 두 번째는 실패한다 - 비트코인 합의 프로토콜에 완벽하게 적용되는 문제이다 네임코인은 그런 아이디어를 사용한 가장 오래되고 성공적인 명칭 등록 시스템의 구현이다

  • Colored coins - 컬러드 코인의 목적은 사람들이 그들 자신의 디지털 화폐를 만들 수 있는 프로토콜을 제공하는 것이다 - 또는, 비트코인 블록체인 상에서, 디지털 토큰(digital tokens)이라는, 하나의 단위를 가지는 상당히 흔한 화폐의 사례를 제공한다 컬러드 코인 프로토콜에서는, 누구든 특정 비트코인 UTXO(unspent transaction output)에 공개적으로 색(color)을 입힘으로써 새로운 화폐를 “발행(issue)”할 수 있고, 프로토콜은 다른 UTXO의 색을 그들이 만든 트랜잭션의 입력값의 색과 같도록 반복적으로 정의한다 (혼합된 색 입력값의 경우는 일부 특별한 규칙을 적용한다) 이것으로 사용자는 특정한 색의 UTXO만을 포함한 지갑을 유지하고 그것을 보통의 비트코인처럼, 그들이 받은 모든 UTXO의 색을 판별하기 위해 블록체인을 통해 추적하여, 여기저기 보낼 수 있게 한다

  • Metacoins - 메타코인 이면의 아이디어는 비트코인 상에 살아있는 프로토콜을 가지는 것으로, 비트코인 트랜잭션을 이용해서 메타코인 트랜잭션을 저장하지만 별도의 상태 변환 함수, APPLY’를 갖는다 메타코인 프로토콜은 유효하지 않은 메타코인 트랜잭션이 비트코인 블록체인 안에서 보이는 것을 막을 수 없기 때문에, 하나의 규칙이 추가된다 만약 APPLY’(S,TX)가 에러를 반환하면(returns an error), 프로토콜 기본값(defaults)은 APPLY’(S,TX) = S 이 된다 이것은 임의의 암호화폐 프로토콜을 생성하는 쉬운 메커니즘을 제공하고, 잠재적으로 비트코인 자체 내에서 구현할 수 없는 진보된 기능들을 가지면서도, 마이닝과 네트워크의 복잡함은 이미 비트코인 프로토콜에 의해 처리되므로 개발 비용이 매우 저렴하다

그러므로, 일반적으로, 컨센서스 프로코콜을 구축하는 데에는 두 가지 접근이 있다: 즉 독립적인 네트워크 구축과 비트코인 상에서 프로토콜을 구축하는 것이다 전자의 접근은, Namecoin과 같은 애플리케이션의 경우에 매우 성공적이지만, 구축하는 것이 어렵다; 각 개별 구현은 독립적인 블록체인에 대한 부트스트랩(bootstrap)이 요구되고, 그뿐만 아니라 필요한 모든 상태 변환(state transition)과 네트워트 코드를 구축하고 테스트해야 하기 때문이다 게다가, 우리는 탈중앙화된 컨센서스 기술의 애플리케이션 집합이 멱법칙 분포(power law distribution)를 따르는, 즉 대부분의 애플리케이션이 너무 작아서 자체 블록체인을 보증할 수 없을 것으로 예측한다 그리고 우리는 특히 탈중앙화 자율 조직(decentralized autonomous organizations)처럼, 서로 상호작용이 필요한 대형 등급의 탈중앙화 애플리케이션이 존재함을 주목하고 있다

반면에 비트코인-기반 접근은 비트코인의 간소화된 지불 증명(simplified payment verification) 기능을 물려 받지 못한다는 단점이 있다 SPV는 블록체인의 복잡함으로 인한 유효성의 대용으로 사용할 수 있기 때문에 비트코인에서 작동한다; 어떤 점에서는, 트랜잭션의 이전 기록을 충분히 추적해보면, 그것을 합법적으로 그 상태의 일부였다고 믿어도 된다 반면 블록체인-기반 메타-프로토콜은 자체 프로토콜의 상황 내에서 블록체인이 유효하지 않은 트랜잭션을 포함하지 않게 할 수가 없다 따라서, 완전히 안전한 SPV 메타-프로토콜을 구현하려면 트랜잭션이 유효한지를 결정하기 위해 비트코인 블록체인의 시작에 이르기까지 모든 것을 살펴볼 필요가 있다 현재, 비트코인-기반 메타-프로토콜의 모든 “light” 구현은 데이터를 제공하는 신뢰받는 서버에 의지하는데, 특히 암호화폐의 중요한 목적 가운데 하나가 신뢰 기관의 필요성을 제거하는 것이라면 아마 틀림없이 매우 부적절한 결과가 발생한다

Scripting

Screen Shot 2018-07-28 at 11.33.45 PM .png

어떤 익스텐션(확장 기능) 없이도, 사실 비트코인 프로토콜은 “스마트 컨트랙트” 개념의 버전을 약한 수준으로 쉽게 만들 수 있다 비트코인 안에 UTXO(계정 가치)는 단지 공개 키가 아니라, 심플한 후위 표기법 스택 베이스(stack-based) 프로그래밍 언어로 표현된 좀 더 복잡한 스크립트로 소유된다 이 패러다임에서, 그 UTXO를 소비하는 트랜잭션은 스크립트를 만족하는 데이터를 제공해야만 한다 실제로, 기본 공개 키 소유권 메커니즘조차 스크립트를 통해서 구현된다: 즉 스크립트는 입력값으로 타원 곡선 암호화 서명(elliptic curve signature)을 취하고, 트랜잭션과 UTXO를 소유한 주소에 대해 그것을 증명한다 그리고 1을 반환(return) 하면 그 증명은 성공이고 0이면 그 반대이다 그 밖에, 더 복잡한 스크립트가 추가적인 다양한 사용 사례를 위해 존재한다 예를 들어, 누구든 유효성을 입증하기 위해 세 개의 개인 키 중에 두 개의 서명이 필요한 스크립트를 구성할 수 있다 (“multisig, 다중 서명”), 이것은 회사 계정, 저축 예금 계좌 그리고 일부 상업 에스크로 상황에 유용한 계획이다 또한 스크립트는 계산적인 문제에 대한 해결책으로 보상금 지금으로 사용될 수 있다 그리고 누구든지 다음과 같은 것을 말하는 스크립트를 작성할 수도 있다 - “이 비트코인 UTXO는 당신이 이 금액의 Dogecoin 트랜잭션을 나에게 보냈다는 SPV(간편 지불 증명)을 제공할 수 있다면 너의 것이다”, 이것은 본질적으로 탈중앙화 상호-암호화폐 교환을 가능하게 한다

그렇지만, 스크립트 언어가 비트코인에 구현될 때 몇 가지 중요한 한계가 있다: 다음 포스팅에 이어집니다^^

1000x1.png

Screen Shot 2018-05-13 at 7.50.25 PM .png

최근글 ✏️

Sort:  

날이 너무 덥습니다......덥다 ㅠ

늘 감사합니다 ^^

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70391.42
ETH 3572.68
USDT 1.00
SBD 4.74