일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- fluent python
- BAEKJOON
- docker
- 플랫폼
- 이더리움
- 백준
- 알고리즘
- Refactoring
- function
- 전문가를 위한 파이썬
- Algorithm
- Container
- 러스트
- Python
- Ethereum
- IMAGE
- 파이썬
- 블록체인
- Fast API
- AWS
- BlockChain
- RabbitMQ
- 동시성
- 코어 이더리움 프로그래밍
- Network
- Kubernetes
- guru
- Thread
- rust
- dockerfile
Archives
- Today
- Total
글쓰기 | 방명록 | 관리 |
Victoree's Blog
[2-1] 이더리움 플랫폼 본문
728x90
이더리움 플랫폼
이더리움 작동 과정
- 블록체이 기술 하에 Ether 같은 다양한 암호화폐를 생성하고 운용할 수 있음
- 네트워크 상에서 서로 신뢰할 수 없는 대상간에 서로 합의한 계약을 준수하도록 강제하는 스마트 컨트랙트를 지원
이더리움은 프로그래밍한 대로 작동하는 스마트 컨트랙트를 작동시키는 분산된 플랫폼이다
이더리움 플랫폼의 작동과정
- 이더리움 지갑 및 계정 생성
- 매매 / 환전
- 이더 송금
- 상품 구매 / 이더 결제
- 상품 판매 이더 수취
- 블록 N-1 헤더 해싱 계산 (Proof of Work) → 신규 블록 추가 & 브로드 캐스팅
- 이더리움 플랫폼 개발
- 컨트랙트 기반 응용 서비스 개발
스마트 컨트랙트 기반 DApp 서비스
블록 내부 데이터
- 블록 헤더
- 타임스탬프
- 이전 블록 헤더의 해시값
- 넌스
- 머클 트리 루트
1. 이더리움 지갑 설치와 사용
- 이더(Ether)를 사용하기 위해 Mist나 이더리움 월렛을 설치함
- 내부에 이더리움 클라이언트를 내장하고 있어서 작동되면 자동으로 이더리움 네트워크에 연결됨
- 사용자 어카운트 생성 → 메인 어카운트 == Etherbase
- 어카운트 이름 대신 어카운트에 대한 암호문구를 입력
- 해당 암호는 절대 변경될 수 없으며, 외부에 유출되지 않도록 잘 기억하고 보관해야함
→ 분실하거나 유출 시 암호화폐를 다시 찾을 수 없음 - Etherbase는 마이닝 등의 작업 대가를 지급받을 때, 디폴트 어카운트가 됨
- 복수로 생성 가능
- 어카운트 주소는 암호화된 16진수 값이며, 이 값을 통해 Ehter를 주고 받을 수 있음
- Ether를 얻는 방법
- 거래소에서 구매 (빗썸 or 업비트)
- 다른 사용자에게 이더 송금 받기
- 채굴자가 되어 마이닝 작업을 통해 이더를 확보할 수도 있으나, 많은 장비가 필요함
- 상품이나 서비스 판매 후 "이더로 결제"를 통해 획득
2. 모든 거래 기록의 공유 및 블록체인 구성
트랜잭션
- 사용자 어카운트 상태를 다른 상태로 전이하게 될때, 상태 변화를 일으키는 모든 활동
- 물건 구매 후 이더 지급 || 송금
- 트랜잭션이 모여 하나의 블록이 되고, 이 블록이 시간순으로 연결되면서 블록체인이 됨
합의 알고리즘 Pow (Proof of Work)
- 채굴자 == PoW 합의 알고리즘을 실제 수행하는 사람
- 각 트랜잭션과 이들이 모여있는 블록에 정의된 난이도보다 적은 수의 해시값을 찾는 컴퓨터 해시 연산을 한 후, 해당 값을 찾으면 네트워크상에 연결된 모든 참여자 노드에 전파하여 이를 알린다
- 블록당 3 Ether와 블록 내 포함된 트랜잭션들의 처리 비용을 획득
- PoW를 통한 채굴에 성공하기 위해선 높은 컴퓨팅 해시 연산 파워가 필요하기 때문에, 막대한 장비 투자와 전기 사용, 대형 채굴업자에 의한 영향도 집중 등 여러 문제점이 많음
- 지분 증명 (Proof of Stake)의 방식으로 변경하는 중...
3. 다양한 응용 앱 개발
- Git에서 이더리움 오픈 소스를 클론하여, 오류 수정 및 신규 기능 추가가 가능
- EIP (Ethereum Improvement Proposal)를 커뮤니티에 제출하여 새로운 기능과 기술을 추가할 수도 있음
- 스마트 컨트랙트를 이용하여 응용 서비스 개발 가능
- DApp은 기존 자바스크립트나 HTML, CSS 등을 사용하여 스마트 컨트랙트를 조작함으로 다양한 서비스 개발이 가능함
- 이더리움은 솔리디티 같은 사위 스마트 컨트랙트 개발언어로 개발된 컨트랙트 프로그램을 바이트 코드로 컴파일한 후, 블록체인에 배포하고 저장함
- 사용자가 스마트 컨트랙트를 이용하기 위해서는 Gas라는 내부 운용 토큰을 대가로 지급해야 함
- → 이상이 없을 경우, 이더리움 가상 머신(EVM)에서 Op코드(실행 가능한 코드)로 변환되어 실행됨
728x90
'Blockchain' 카테고리의 다른 글
[2-3] 1) 데이터 계층- 어카운트 (0) | 2021.06.23 |
---|---|
[2-2] 이더리움 단일 상태 모델 (0) | 2021.06.22 |
[1-3] 블록체인 기반 플랫폼 (1) | 2021.06.21 |
[1-2] 블록체인 기술 및 P2P 컴퓨팅 (0) | 2021.06.21 |
[1-1] 블록체인 컴퓨팅 (0) | 2021.06.21 |
Comments