비트코인부터 해야 하나?
•비트코인은 어렵습니다.
• 이더리움은… 비트코인은 그나마 쉬웠습니다.
• 비트코인 80% + X배 더 추가
• 귀찮으니 같이 할게요. (갑자기 넘어가는건 끊고 질문하기)
3.
비트코인과 이더리움의 차이
•비트코인
• 최초의 블록체인. Cryptocurrency POC. 최소한의 구현
• P2P, POW, Signature, Hash, …
• 이더리움
• 디지털 통화 지불 네트워크… 아님!
• But, 블록체인 재발명… 역시 아님!
4.
블록 체인의 구성요소
• 네트워크 - P2P
• 메시지 - 트랜잭션 메시지 (상태 전이)
• 상태 시스템 - 트랜잭션을 처리하는 시스템
• 블록 체인 - 트랜잭션 (상태 전이)들을 기록
• 합의 규칙 & 알고리즘 - 전이와 유효성 관리, 분권화
• 인센티브 제도 - 상태 시스템을 안정적으로 보장하기 위한 게임이론
• 이 모든 것들을 위한 소프트웨어 구현체들
Contract
• 실행 가능한코드
• Immutable, Deterministic, EVM context
• 변경 불가
• 결정적으로 재생 가능한 상태 변화를 발생
• 자체적으로 Ether, data (그 외 다른 것들도) 소유할 수 있음
• 작동은 언제나 EOA 에서 시작
• 절대 스스로 동작하지 않음 (백그라운드 프로세스? 그런거 없다)
12.
Solidity vs Viper
•Solidity (Java 같은 느낌)
• Viper (Scala 같은 느낌. 본질적으로 계약 구현에 유리함)
• 익숙해지려면 시간이 필요… ㅠㅠ
13.
Tokens
• 비트코인에는 없는개념
• ColoredCoin 이라는 기술이 있었음 (비공식, 사장된 기술)
• 대체 가능성 (Fungible)
• “대체 가능 토큰”과 “대체 불가능 토큰” 생성 가능
14.
토큰의 종류
• ERC20
• 초기의 토큰. 쉽고 간단하고 많지만 별 볼일 없음
• ERC 223, ERC 777
• 거의 안 쓰이거나 별로 볼 일 없음
• ERC 721
• 고유 (Non-fungible, 대체불가) 토큰
• 기존 사례들을 많이 찾아서 연구해야 함
15.
ERC 1155
• 새로운제안 (마스터링 이더리움에는 없음 ㅠㅠ)
• Fungible + Non-fungible
• 아직은 널리 받아들여지지 않고 있음
16.
신탁 (Oracle)
• 이책을 꼭 읽어야 했던 가장 큰 이유 (읽고 나서야 깨달음)
• 저작권 등록 구현은 매우 쉽다는 것을 깨달음
• 그래서 너무 늦었을 수도 있음… (늦었다고 생각할 때가…)
17.
분산 응용 프로그램
•DApps = Web3
• 이더리움의 원대한 꿈
• Back-end: 스마트 계약
• Front-end: 웹 기반 UI
• Storage: DB 같은 것