일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- function
- 러스트
- fluent python
- Kubernetes
- Thread
- 알고리즘
- 플랫폼
- 코어 이더리움 프로그래밍
- 이더리움
- 전문가를 위한 파이썬
- Ethereum
- BlockChain
- 백준
- IMAGE
- BAEKJOON
- Algorithm
- docker
- Network
- guru
- AWS
- Container
- 블록체인
- rust
- Refactoring
- dockerfile
- Python
- 파이썬
- RabbitMQ
- 동시성
- Fast API
Archives
- Today
- Total
글쓰기 | 방명록 | 관리 |
Victoree's Blog
[2-2] 이더리움 단일 상태 모델 본문
728x90
이더리움 단일 상태 모델
이더리움 상태 전이 모델
이더리움은 네트워크상에서 서로 모르고, 신뢰할 수 없는 개인들의 합의 과정을 통해 트랜잭션이 처리되도록 설계되었다.
트랜잭션이 발생할 때마다 신뢰여부를 참여자들에게 묻고, 과반수가 문제 없다는 합의가 된 경우에만 해당 트랜잭션이 정상처리된다.
트랜잭션이 완료되었을 때, 어카운트의 상태 변화가 일어난다
이더리움에서의 거래, 상태 전이 based on "상태변이 함수"
- 특정 상태변이 함수에 의해 특정 상태가 전이되거나, 전이에 실패하면 이전 상태로 복귀
- EX) 트랜잭션 또는 스마트 컨트랙트 (이더리움 가상머신에서 실행되는 프로그램)
- 상태는 복수의 상태 변이를 가지 못하고, 단 하나의 상태 변이만 갖음
이더리움의 기본 단위 → 어카운트
- 모든 어카운트는 유니크한 식별자로 특정 주소를 부여받음
- 상태 == 전체 어카운트의 상태 == 이더리움의 상태
- 잔액이나 트랜잭션, 스마트 컨트랙트의 컴파일된 중간 파일처럼 필요한 데이터를 저장하기 위한 저장공간
- 이더리움의 새 블록 추가? → 전체 어카운트의 상태도 변화함
특정 시점의 한 상태는 상태 변이 함수를 통해 단 하나의 상태로 전이됨
→ 블록체인은 단일한 상태 변이 과정에 관련된 트랜잭션들과 상태 정보를 하나의 블록으로 구성하고, 이 블록을 시간순으로 연결하며 단일 상태를 유지한다
- 비트코인 상태 정보 모델비트코인은 스마트 컨트랙트를 지원하지 않기 때문에,, 암호화폐 구현에 목적을 둔 비트코인!UTXO는 비트코인 금액과 해당 코인 소유자의 주소를 가지고 있다.
- 비트코인의 상태는 UTXO(Unspent Trasaction Outpus) 라 하는데, UTXO는 사용하지 않고 남은 비트코인이라고 생각하면 된다.
- 비트코인 역시 상태 전이 모델을 기반으로 하지만,, 비토코인을 옮기는 상태전이만 가능하다.
이더리움 플랫폼 참조 모델
- 데이터 계층
- 이더리움에서 다루는 갖공 데이터 구조를 정의하고, 관련 데이터를 관리함
- 데이터 구조로는 어카운트, 트랜잭션, 메시지, 리시트, 블록과 블록이 연결된 블록체인 등
- accounts : 이더리움 어카운트와 월렛
- les, light : 경량 라이트 체인
- 합의 계층
- (트랜잭션과 트랜잭션과 관련된 데이터들이 모인)블록의 유효성을 검증하는 엔진과 과정을 수행하는 마이닝과 마이닝의 난이도, 인센티브인 Gas 등을 처리함
- miner : 블록 생성과 마이닝 처리
- Consensus : 합의 엔진
- 실행 계층
- 구동가능한 스마트 컨트랙트와 스마트 컨트랙트를 수행시켜줄 EVM의 처리
- eth : 이더리움 프로토콜의 중앙 실행체
- contracts : 스마트 컨트랙트
- console : 도커와 베이그랜트 등 컨테이너 관리
- Node : P2P 노드
- 공통 계층
- 이더리움의 공통 기능을 제공 → 암호 해시, 전자 서명, 인코딩, 노드간 연결과 동기화를 위한 P2P 네트워크 프로토콜
- p2p: P2p 네트워크 프로토콜
- crypto : 다양한 암호화 함수
- 응용 계층
- 분산된 웹 개발이 가능한 이더리움은 DApp과 더불어 스마트 컨트랙트, 스웜, 분산 메시징 시스템 휘스퍼 등을 제공하는 계층
- ethstats : 네트워크 상태 리포팅 서비스
- swarm : P2P 분산 파일 서비스
이더리움은 P2P 네트워크를 기반으로 신뢰할수없는 대상들이 모여 트랜잭션의 유효성을 합의한 후, 전체 데이터를 분산된 원장을 통해 공유함
728x90
'Blockchain' 카테고리의 다른 글
[2-3] 2) 데이터 계층 - 어카운트와 트랜잭션, 리시트 (0) | 2021.06.23 |
---|---|
[2-3] 1) 데이터 계층- 어카운트 (0) | 2021.06.23 |
[2-1] 이더리움 플랫폼 (0) | 2021.06.22 |
[1-3] 블록체인 기반 플랫폼 (1) | 2021.06.21 |
[1-2] 블록체인 기술 및 P2P 컴퓨팅 (0) | 2021.06.21 |
Comments