1 Introduction
- consensus mechanisms, 사회의 자발적 존중, 인터넷으로 계약을 체결할 수 있음
- cryptographically secure, transaction-based state machine
- 분산 가치 전달 시스템은 암호학적으로 안전한 transaction 기반 상태의 머신의 전문화된 버전임
- Ethereum is a project which attempts to build the generalised technology
- a trustfulobject messaging compute framework.
- 개체간 통신 컴퓨팅 프레임워크
1) Driving Factors
- 핵심 목표는 서로 신뢰 수단이 없는 개인들의 동의를 얻어 이들 사이의 거래를 촉진하는 것
- 명확한 언어로 state-change system 구축
- 자율적으로 합의가 시행될 수 있는 시스템의 구축
- 사람이 운용하는 시스템에서 이는 완벽하게 이루어질 수 없음
- 가능한 결과와 원인에 대한 절대적 확신과 보장을 줄 수 있는 시스템을 제공하고자 함
2) Previous Work
- Buterin [2013a]
- 블록체인 기술의 커널 기술을 처음으로 제안
- Turing-complete language and an effectively unlimited inter-transaction storage capability
- 핵심적인 기술은 지금까지 변하지 않음
- Dwork and Naor [1992]
- proof-of-work(작업증명)를 처음 사용
- currency의 용도가 아닌 아닌 스팸 억제 메커니즘으로 활용
- Back [2002]: 비슷한 맥락의 시스템을 고안
- Vish-numurthy 외 연구진 [2003]
- P2P(Peer to Peer file) 파일 거래를 견제하기 위해 이 기술을 사용
- 소비자에게 서비스에 대한 소액 결제를 할 수 있는 기능을 제공
- digital signatures and a ledger in order to ensure
- Vish-numurthy 등의 연구[2003]
- proof-of-work-secured value token 도입
- 프로젝트의 결실: 비트코인(최초로 채택된 글로벌 분산형 거래 원장)
- Bitcoin의 성공에 기반한 다른 프로젝트들
- alt-coins: 프로토콜의 변경을 통해 수많은 새로운 화폐를 도입
- Litecoin and Primecoin [2013]: 프로토콜의 핵심 가치 콘텐츠 메커니즘을 취하여 용도 변경을 추구
- Aron [2012]: Namecoin Project, decentralised name-resolution system
- Willett [2013]
- The Mastercoin project
- 비트코인 프로토콜 위에 많은 추가적인 기능을 포함하는 풍부한 프로토콜을 구축하는 것 추구
- The Coloured Coins project [2012]
- Rosenfeld 외 연구진
- “chroma-wallet”-protocol-aware piece of software 활용
- 토큰을 생성하고 추적할 수 있도록 하기 위해 단순화된 전략 추구
- Ripple by Boutellier, Heinzen [2014]
- 새로운 화폐 교환 연방 시스템의 구축
- 지방 분권 전제를 폐기할 경우 높은 효율성 이득을 얻을 수 있음을 입증
- Szabo [1997] / Miller [1997]
- Smart Contract에 대한 초기 연구
- 시행을 위한 구체적인 제도는 제시되지 않음
- 이더리움 → general implementation of such a crypto-law system
2 The Blockchain Paradigm
- 이더리움은 트랜잭션 기반의 상태 머신임
- Genesis State에서 시작해서 트랜잭션을 점진적으로 실행하여 Final State로 만듬
- State(상테): 계좌 잔액(account balances), 평판(reputations), 신탁계약(trust arrangements), data 포함
- 유효한 상태 전환: 트랜잭션을 기반으로 이루어지는 상태 전환
(1) σt+1 ≡ Υ(σt, T)
(2) σt+1 ≡ Π(σt, B)
(3) B ≡ (...,(T0, T1, ...), ...)
(4) Π(σ, B) ≡ Ω(B, Υ(Υ(σ, T0), T1)...)
(1) 다음 상태 값 = Y(현재 상태, 트랜잭션)
(2) 다음 상태 값 = 블록 레벨의 상태 전이 함수(현재상태, 블록)
(3) 블록에 트랜잭션의 값 업데이트
(4) 블록 레벨의 상태 전이 함수에 최종화 상태 전이 함수 업데이트
- Υ : 상태 전이 함수, 구성 요소가 임의 계산을 수행할 수 있게 함
- σ : 구성 요소가 트랜잭션 간에 임의 상태를 저장할 수 있게 함
- Ω : 최종화 상태 전이 함수, 지명된 당사자에게 보상을 지급하는 함수
- Π : 블록 레벨의 상태 전이 함수
- B : 블록
- 트랜잭션은 블록으로 조합, 블록은 암호화 해시를 기반으로 체인으로 연결됨
- 블록 및 최종 상태에 대한 식별자와 함께 일련의 트랜잭션을 기록
- Mining: 하나의 블록을 다른 블록보다 보강하기 위한 작업 과정
- 블록체인 패러다임(분산 거리 시스템의 백본 형성)의 기본
1) Value
- ETN(Ether, 이더)는 이더리움 네트워크에서 사용하는 currency
- 1 Ether = 10의 18승 Wei
2) Which History?
- 분산 시스테메에서는 모든 당사자들이 새로운 블록을 생성할 기회를 가짐
- 결과 구조는 항상 블록의 트리(블록체인)
- 노드들 간에 불일치가 발생하는 경우 포크(fork)가 발생함
- 특정 블록을 지나면 시스템 상의 여러 상태가 공존할 수 있음
- 그 결과로 불확실성이 발생하여 전체 시스템에 대한 모든 신뢰를 잃을 수 있음
- GHOST protocol
- Sompolinsky, Zohar[2013]의 Procd 도입
- section 10에서 자세히 설명
- 때때로 경로가 특정 높이(블록 번호)에 따라 새로운 프로토콜을 따르기도 함