이더리움 기초
이더(ether): 이더 화폐 단위
단위는 ETH나 기호 ◆를 사용함
더 작은 단위인 웨이(wei)가 있고 1이더는 100경(10^18)웨이임
이더리움 지갑
:이더리움 계정을 관리하는 데 도움이 되는 소프트웨어 애플리케이션으로 이더리움 시스템의 gateway임
- 사용자의 키를 보유하고, 사용자를 대신해 트랜잭션을 생성하고 브로드캐스트 할 수 있음
1. 메타마스크: 웹 기반으로 브라우저 확장 지갑
2. 잭스
3. 마이이더월렛
4. 에메랄드 지갑
- 종류마다 기능, 디자인 등이 다양하게 존재하고 선택 변경이 쉬움
이더리움의 각 사용자는 스마트 컨트랙트에 대한 접근을 제어하는 자체 개인키를 관리하고 제어할 수 있어야 함
1 개인키 = 1 계정
*개인키를 분실하면 자금 및 컨트랙트에 대한 접근 권한을 잃게 됨, 복구도 x
메타마스크 실습
롭스텐 테스트 네트워크에서 실행
(생략)
월드 컴퓨터
- 암호화폐 기능은 탈중앙화된 월드 컴퓨터로서 이더리움의 기능의 부차적인 것임
- 이더: 이더리움 가상 머신에서 실행되는 스마트 컨트랙트를 실행하는 데 사용되기 위한 것
- EVM: 글로벌 싱글톤으로 전 세계에 걸친 단일 인스턴스 컴퓨터인 것처럼 작동하고, 세상 어디에서든 실해욈
- 컨트랙트 실해 확인 -> EVM 로컬 사본 실행
- 이더리움 블록체인에서 트랜잭션, 스마트 컨트랙트 처리 -> EVM의 상태 변화 기록
외부 소유 계정(EOA_externally owned account) 및 컨트랙트
EOA: 메타마스크 지갑에서 생성한 계정, 개인키가 있음(=자금 or 컨트랙트에 대한 접근을 제어함)
컨트랙트 계정: 개인키 x, 스마트 컨트랙트 코드 o, 주소 o
- 스마트 컨트랙트 코드: 컨트랙트 계정 생성 시 이더리움 블록체인에 기록되고 EVM에 의해 실행되는 소프트웨어 프로그램임
- 개인키가 없어 트랜잭션을 시작할 수 없음
- 다른 컨트랙트를 호출해 컨트랙트에 반응은 가능
*zero address: 컨트랙트를 등록하고자 하는 이더리움 블록체인에 알리는 특별한 주소