티스토리 뷰

🥝 Wiki

 

Protocol Wiki

EPF Study Group Wiki

epf.wiki


📜 Prehistory and Philosophy

  • 1960년대 UNIX 운영체제의 등장은 모듈성(modularity)을 고려한 개발 방식과 개방된 협업 문화(open collaborative environment)를 조성하는데 기여하였다. 이는 오늘날 이더리움의 디자인과 코어 개발 과정에도 중요한 역할을 하고 있다.
  • 이더리움과 대다수의 암호화폐 관련 프로젝트의 개방적이고 독립적이며 협력적인 개발 문화는 FOSS(Free and Open Source Software)에 뿌리를 두고 있다.
  • 비대칭 암호화(Asymmetric Cryptography)의 등장으로 암호화 애플리케이션의 새로운 패러다임이 탄생했다. 기존의 암호학은 정부에 의해 주로 군사적인 목적으로 사용되었기 때문에 정부에서는 민간에서 암호학이 활용되는 것은 제어하려 했다.
  • 이에 반감을 가진 개발자들은 CryptoPunks 운동을 벌여 암호학에 기반한 개방 & 분산 시스템을 개발하여 민간에 보급하였다.

📡 Ethereum Protocol Design

What is Ethereum?

  • White Paper : 비트코인과 앞서 설명한 배경으로부터 영감을 얻어 만들어진 '다음 세대의 스마트 컨트랙트와 탈주앙화 애플리케이션을 플랫폼'
  • Yellow Paper : '안전한 탈중앙화된 일반화된 거래 장부'
  • EIP(Ethereum Improvement Proposal)는 단일 주체가 아닌 커뮤니티의 협력을 통한 이더리움의 발전안을 구상하는 것으로, 이더리움 개발의 주요 원동력이다.
  • 지난 업데이트 목록은 다음을 참고. 
  • https://ethereum.org/ko/history/

Design Principles

  • Simplicity, Universality, Modularity, Non-discrimination, Agility
  • Sandwich/Encapsulated complexity
  • Freedom, Neutrality
  • Generalization, No features
  • Non-risk aversion

🎡 Implementation and Development

 이더리움 구현은 실행 레이어(EL)와 합의 레이어(CL)로 나뉘며 이들을 클라이언트(client)라고 부른다. 노드(node)는 EL과 CL 클라이언트를 실행하여 네트워크에 적극적으로 참여하는 컴퓨터를 이른다.

Excution Layer (EL)

  • EVM(Ethereum Virtual Machine) : 이더리움의 컴퓨팅 플랫폼. 모든 실행은 서로 다른 클라이언트에서도 동일한 환경에서 실행된다.
  • State & Txs : 이더리움은 글로벌 상태를 가지고 있으며 트랜잭션을 실행하여 상태를 변경하는 상태 머신이다.
  • P2P network : 실행 레이어 간의 통신을 위한 네트워크로, 트랜잭션 전파를 가능하게 한다.
  • JSON-RPC API : 실행 레이어의 RPC 메서드를 호출하기 위한 API로 DApp 또는 사용자와 연결된다.
  • Engine API : 실행 레이어가 합의 레이어와 통신하기 위해 구현하는 API로, 블록체인의 상태를 동기화하기 위해 사용한다.

Concensus Layer (CL)

  • Fork Choice : 어떤 블록이 헤더이고 어떻게 합의가 이루어졌는지 결정하여 실행 레이어에게 알려주는 역할을 한다.
  • LMD-GHOST(Latest Message Driven-Greedy Heaviest Observed SubTree) : Fork Choice를 관리한다.
  • P2P network: 합의 레이어 간의 통신을 위한 네트워크.
  • Blobs : 덴쿤 업그레이드(EIP-48440)에 포함된 새로운 데이터 구조.
  • RANDAO : 비콘 체인의 핵심 알고리즘으로, 탈중앙화된 방법으로 난수를 생성한다.
  • Beacon API : 검증자 측에서 주로 사용하는 합의 레이어의 API.

🔧 Coordination

 이더리움 개발은 Idea - Research - Specs - Implementation - Testing - Adoption/Rejection 과정을 거친다. 이 과정은 전통적인 개발 과정과 달리 모든 것이 공개되어 있어 누구나 기여할 수 있고, 서로다른 부분을 담당하는 여러 조직에 의해서 관리된다.

 

 이더리움의 복잡성은 갈수록 증가하고 있기 때문에 이더리움 전체에 대한 전문가는 찾아보기 어렵다. 대신 이더리움의 모듈화 특성을 통해 각 분야의 전문가들이 자신이 자신 있거나 선호하는 과제에 집중하며 협업할 수 있다.


🔬Research & Roadmap

  • the Merge : PoS 전환 완료 / Single Slot Finality (SSF)는 미달성.
  • The Surge : 확장성에 초점. 덴쿤 업그레이드를 통해 일부 달성. 
  • The Scourge : 경제성에 초점. Mev 추적 및 유동성 스테이킹/풀링.
  • The Verge : 검증성에 초점. 버클 트리(Verkle tree) 데이터 구조로의 전환.
  • The Purge : 이더리움 구현체 경량화. 오래된 데이터 제거.
  • The Splurge : 다른 모든 문제들을 해결. 궁극적으로는 트릴레마 문제를 해결.

Blockchain Trilemma

  • 트릴레마 : 세 가지 선택지 중 세 가지 모두를 만족시킬 수 없는 상황.
  • 블록체인에서의 트릴레마 : 블록체인의 구현이 확장성, 탈중앙성, 보안성 세 가지 모두를 만족시킬 수 없는 상황.

 

  • 확장성 : 높은 트랜잭션 처리량과 미래의 증가량에 대비할 수 있는 능력. 확장성을 선택하면 불가피하게 합의 및 검증 과정을 간소화해야 하므로 탈중앙성을 포기해야 한다. 또한 탈중앙성의 저하로 인한 보안성의 약화를 야기할 수 있다.
  • 탈중앙성 : 분산된 노드들에 의해 네트워크가 자율적으로 운영되는 정도. 탈중앙성을 선택하면 보안성이 증가하나, 느린 블록 생성 시간이 증가하여 확장성이 떨어진다.
  • 보안성 : 데이터 변조, 사기 및 공격으로부터 네트워크를 보호하는 능력. 일반적으로 네트워크 참여자가 많을 수록 보안성이 높아진다.

📖 마무리

 ETHDenver에서 스터디 그룹 운영진 중 한 분이 스터디 그룹과 EPF 관련해 진행한 발표 영상으로 마무리.

 

'교육 과정 > EPF' 카테고리의 다른 글

[EPF] Study Group 2주차 Execution Layer  (2) 2024.03.06
최근에 올라온 글
최근에 달린 댓글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday
글 보관함