공통 요소
1. peer-to-peer network
: 참여자들 연결
2. 비잔틴 결함 허용 합의(Byzantine fault-tolerant consensus) 알고리즘(작업증명 블록체인)
: 상태 변경을 동기화
2. 암호학 기반 기술의 활용
: 디지털 서명, 해시, 디지털 화폐(이더)
이전 개방형 블록체인(비트코인 포함) vs 이더리움
비트코인: Bitcoin Core(기준이 되는 구현체, 오픈소스) -> 클라이언트 SW
이더리움: 기준 사양(reference specification)
비트코인
mining: 비트코인 생성 과정. 비트코인 transaction을 처리하는 동안 수학적 문제를 푼다. 비트코인네트워크 내의 모든
참여자가 miner로 동작 가능. minor로 동작 시, transactions을 검증(verify)하고 기록(record)한다.
transactions: (이더리움) 보낸 사람, 받는 사람, 값 및 데이터 페이로드가 포함된 네트워크 메시지
즉, 비트코인의 블록체인은
- 비트코인 단위 및 소유 상태를 추적
- transaction이 상태전이를 일으켜 코인의 소유권을 변경
- 탈중화된 합의 상태 머신(state machine)
이더리움
화폐가 아니라 시스템
모든 참여 노드는 모든 트랙잭션을 검증 & 그 트랜잭션이 호출하는 스마트 컨트랙트를 실행해야 함
키-벨류 튜플(key-value tuple)로 표현할 수 있는 모든 데이터를 저장하는 저장소가 존재.
해당 저장소의 상태 전의를 추적. (저장소는 RAM과 동일 용도로 사용됨)
컴퓨터의 범용 컴퓨팅 아키텍쳐 + 탈중앙화된 아키텍쳐 => 탈중앙화된 단일 상태(싱글톤) 월드 컴퓨터
이더리움 프로그램은 어디에서나 실행되지만 공통 상태(합의 규칙에 의해 보장)를 만듦
즉, 이더리움은
- 임의의 상태 추적
- 상태 머신을 프로그래밍
- 합의로 작동
- 월드-와이드 컴퓨터
참고
마스터링 이더리움 책
https://medium.com/coinmonks/ethereum-blockchain-d4398ff7c0cf
'Cryptography' 카테고리의 다른 글
Mastering Ethereum Basic - Intro (0) | 2024.02.01 |
---|