Pwnstar

Ethereum이란? 본문

블록체인(BlockChain)/블록체인 기본 개념

Ethereum이란?

포너블처돌이 2023. 1. 10. 02:05

인프런의 이더리움 입문 바이블: 모든 이더리움 입문자를 위하여 강의를 보고 단순 정리 목적으로 작성한 글이다.

[무료] 이더리움 입문 바이블: 모든 이더리움 입문자를 위하여 - 인프런 | 강의
초급자를 위해 준비한 [블록체인] 강의입니다. 본 텍스트 강의는 하나의 '바이블' 을 자처하고, 그러한 기초 내용을 올바르게 담고자 노력한 자료입니다. 너무나도 중요하고 뼈대있는 이더리움 기초 내용들 블록체인에 대한 관심, 이더리움에 대한 학습 열의에 대해서 논하는건 이제 너무나도 당연해서 식상하다는 생각이 들 정도입니다.
https://www.inflearn.com/course/ethereum-bible/dashboard

이더리움이란?

  • 퍼블릭 블록체인 기반의 분산 컴퓨팅 플랫폼
  • 응용프로그램을 작성하고 글로벌 컴퓨터에서 실행 가능
  • 중단시간, 검열, 사기 또는 제 3자의 간섭 없이 항상 실행되도록 보장
  • 이더리움 블록체인을 통해 중앙 권한 없이 두 당사자 간에 돈을 이체할 수 있다.
  • 모든 컴퓨터(노드)는 서로 연결되어 있으며 코드와 데이터의 전체 복사본을 가지고 있다.
  • 이더리움 블록체인에 코드를 배포하면 코드가 네트워크의 모든 노드로 복제된다.

이더리움과 기존 클라이언트/서버 아키텍처 비교

기존의 아키텍처

  • 일반적인 웹 응용 프로그램은 자바, C#, 루비, 파이썬과 같은 프로그래밍 언어로 작성된 서버 단 코드(백엔드)와 HTML/CSS/자바스크립트와 같은 언어로 구현된 코드(프론트엔드)로 구현된다.
  • 전체 어블리케이션은 AWS, 마이크로소프트 애져, 구글 클라우드 플랫폼 등과 같은 호스팅 제공 업체에서 호스팅된다.
  • 사용자는 웹 브라우저(크롬, 파이어폭스 등), curl,wget(CLI) 또는 API를 통해 클라이언트를 사용하여 웹 응용프로그램과 상호작용한다.
  • 중앙화된 하나의 웹 응용 프로그램이 있고, 모든 클라이언트가 이 응용프로그램과 상호작용한다.

이더리움

  • 모든 클라이언트는 응용프로그램의 자체 인스턴스와 통신(중앙 서버 X)
  • 단일/중앙화된 서버에 의존하지 않음
  • Dapp(탈중앙화 어플리케이션)과 상호작용하려는 모든 사람은 컴퓨터/스마트폰 등의 기기에 실행중인 블록체인의 전체 복사본이 필요
  • 어플리케이션의 사용을 위해 전체 블록체인의 다운로드가 필요
  • 블록체인의 두 가지 구성 요소
    1. 데이터베이스
      1. 네트워크의 모든 트랜잭션은 블록체인에 저장됨(응용프로그램을 배포하는 행위도 트랜잭션으로 간주)
      1. 트랜잭션은 공개되고 누구나 볼 수 있다.
      1. 데이터 조작 불가능
      1. 네트워크의 모든 노트에 동일한 데이터 복사본이 있는 지 확인하고, 유효하지 않은 데이터가 데이터베이스에 기록되지 않도록 하기 위해 작업증명(Proof of Work)이라는 알고리즘을 사용하여 네트워크를 보호
    1. 코드
      1. 블록체인의 데이터베이스 요소는 트랜잭션을 저장
      1. Solidity라는 언어로 논리/응용 프로그램 코드(스마트 컨트랙트)를 작성
      1. Solidity Compiler를 사용하여 이더리움 바이트코드(Ethereum Byte Code)로 컴파일 후 블록체인에 배포
  • 기본적으로 블록체인은 데이터를 저장하고 코드를 저장하며 코드를 EVM(Ethereum Virtual Machine)에서 실행

Uploaded by N2T

'블록체인(BlockChain) > 블록체인 기본 개념' 카테고리의 다른 글

이더리움 관련 개념  (1) 2023.01.21
블록체인 기본 개념  (0) 2023.01.07
Comments