본문 바로가기
⛓️ Web3

마스터링 이더리움_Ch.1 이더리움이란 무엇인가?

by meLR 2023. 9. 9.

마스터링 이더리움을 개인적으로 정리한 글입니다. 누락된 내용이 있을 수 있으며 잘못된 해석이 있을 수 있습니다.

포스트에 문제가 있다면 언제든지 댓글 부탁드립니다. :)


컴퓨터 과학 관점

상태머신이며 전역적으로 접근 가능한 싱글톤 상태와 이러한 상태를 변화 시키는 가상머신으로 구성

 

실용적인 관점

스마트 컨트랙트 프로그램을 실행하는 오픈 소스에 기반을 둔 전세계에 걸쳐 탈중앙화된 컴퓨팅 인스트럭쳐

→ 블록체인을 이용하여 상태변화를 동기화하고 이더를 통해 실행자원 비용을 측정하고 제한한다.

비트코인과의 비교

공통요소

- P2P 네트워크

- 비잔틴 결함 허용 합의 알고리즘  📌 비잔틴 장애 허용 - 업비트 투자자보호센터

- 디지털 서명과 해시

- 디지털 화폐 기술

 

비트코인

- 디지털 화폐 지급 네트워크

- 제한된 스크립트 언어 사용

- 지불조건에 대한 참/거짓 평가에만 제한되어있는 스크립트 언어

 

이더리움

- 이더리움 플랫폼 사용료를 지불하기 위한 유틸리티 화폐

- 가상머신을 운용하는 범용프로그래밍이 가능한 블록체인

- 튜링 완전 언어

블록체인 구성요소

표준화된 가십 프로토콜 기반 검증된 트랜잭션 블록을 연결하는 P2P 네트워크  📌 가십 프로토콜 - Google Search

  • 상태전이를 나타내는 트랜잭션 형식의 메세지
  • 합의 규칙의 집합
  • 합의 규칙에 따라 트랜잭션을 처리하는 상태머신
  • 상태전이의 장부역할을 해줄수있는 암호화된 체인
  • 합의 규칙들을 적용하는데 모든 참여자가 협력가능 하도록 강제하는 탈중앙화된 합의 알고리즘
  • 인센티브 매커니즘
  • 오픈 소스 소프트웨어

비트코인의 기준이되는 구현체는 bitcoin core 오픈 소스 프로젝트가 개발되며 이것은 bitcoind라는 클라이언트 소프트웨어로 개발

이더리움은 구현체가 아닌 기준사양을 사용 이를 통해 만들어진 다양한 클라이언트가 존재

블록체인의 핵심적 성격

  • 개방성
  • 공공성
  • 국제화
  • 탈중앙화
  • 중립성
  • 검열 저항성
💡 블록체인 의미를 분명히 하기위해서 해야하는 질문 → 구성요소, 특징

이더리움의 탄생

비트코인을 개선하기위해 다양한 솔루션이 나왔고 확장성을 위해서 새로운 체인을 만들어야했다.

그렇게 비탈릭 부테린과 게빈우드가 처음 비탈릭의 아이디어를 개선하고 만들어낸 것이 이더리움이다.

 

이더리움 개발의 4단계

주요 4가지 개발단계

  • 프론티어

→ 제네시스 블록 이후 노드 활성화

  • 홈스테드

→ 이더리움 생태계 구축

  • 메트로폴리스

→ 이더리움의 대중화 단계

→ 비잔티움 하드포크, 콘스탄티노플 하드포크

  • 세레니티

→ 이더리움 최종단계

 

📌

이더리움의 메트로폴리스(Metropolis) — Steemit

[블록체인 스터디 노트 #8] Ethereum의 역사: 발자취와 로드맵 — Steemit

이더리움 범용 블록체인

비트코인

  • 비트코인 단위, 소유상태 추적
  • 트랜잭션이 상태전이를 일으키고 코인의 소유권을 변경하는 탈중앙화 합의 상태머신
  • 상태전이는 공통상태로 수렴하기위해 합의 규칙에 의해 제한된다.

이더리움

  • 키 밸류 튜플로 표현가능한 저장소의 상태전이를 추적
  • 코드와 데이터를 저장하는 메모리 존재 이러한 메모리를 추적
  • 코드를 실행가능 하며 결과 값을 저장
  • 상태변화가 합의 규칙에 의해 관리

이더리움의 구성 요소

  • P2P 네트워크
  • TCP 포트 30303 이더리움 네트워크
  • 합의 규칙
  • 트랜잭션
  • 상태머신
  • 데이터 구조
  • 합의 알고리즘
  • 경제적 보안성
  • 클라이언트

 

📌 블록체인 : 이더리움의 P2P 네트워크, 데이터베이스, 인코딩 방법 및 노드 디스커버리 과정

이더리움 튜링완전

튜링머신은 정지문제를 제외한 모든 알고리즘을 풀수있다.

튜링완전한 언어를 사용하는 이더리움은 튜링머신으로 계산될수 있는 어떤 알고리즘도 계산가능하다.

 

이더리움의 혁신

→ 범용 컴퓨터 아키텍쳐와 탈중앙화된 블록체인을 결합하여 탈중앙화된 단일 상태 월드 컴퓨터를 만든 것

→ 이더리움 프로그램은 어디에서나 실행되지만 합의 규칙에 의해 보장되는 공통 상태를 만들어 낸다.

기능으로서의 튜링 완전, 튜링완전의 함축적의미

튜링 완전 시스템은 개방형 시스템에서 위험하다

WHY?→ 정지 문제 때문

정지문제는 무한 루프를 초래하기 때문에 스마트 컨트랙트가 영원히 실행되고 이는 서비스 거부공격으로 이어질수있기에 위험하다.

이러한 위험성을 방지하기 위해 가스라는 개념을 도입

스마트컨트랙트가 실행할수있는 가스소비량을 제한하여 무한 루프가 되기전 가스를 전부소비하면 프로그램 종료

💡 가스는 리소스제한을 통해 튜링완전계산을 허용하는 매커니즘

 

범용적인 블록체인에서 탈중앙화 애플리케이션 디앱

댑 = 스마트 컨트랙트 + 웹사용자 인터페이스

dAPP 은 공개되고 탈중앙화도니 P2P 기반 서비스 위에 제공되는 웹 애플리케이션