1 Metamask Setup
1) 구글 크롬 확장프로그램에서 MataMask 설치
2) 설치 및 설정을 마치면 메타마스크 축하문자 출력
3) 크롬 상단의 확장프로그램을 고정하여 로고를 누르면 바로 잔액 확인 가능
2 Ethereum Accounts
1) 이더리움 계정 구성요소
(1) Account Address
- 계정 주소는 이메일 주소, 이름과 같음
- 누구와도 공유할 수 있는 고유한 식별자
- 하나의 계정을만 사용하여 거기에 속한 다른 모든 이더리움 네트워크에 연결함 -> 새로운 계정 만들 필요 X
(2) Public Key
- 비밀키와 결합하여 일종의 암호를 형성함
- 내 계정에서 다른 계정으로 자금을 보내는데 사용
- 16진수, 10의 76제곱에 달하는 긴 숫자 -> 예측가능성이 떨어짐
(3) Private Key
- 16진수의 비밀키
3 Receiving Ether
- rinkeby-faucet에 접속하여 0.001 ether를 송금받는 예제를 했으나
" Too many requests, please try again later. " 오류 발생
- faucets.com에서 0.3 tese ETH 전송에 성공
- 계좌에 이더가 추가된 것을 확인할 수 있음
- 단, Rinkeby test Network에 연결해야만 가능함
4 What's a Transaction?
1) Transaction 과정
1) 주소를 입력하고 제출
2) 웹페이지가 입력한 주소를 백엔드 서버에 전송
3) 백엔드 서버는 Web3 라이브러리를 사용하여 트랜잭션을 생성
4) 객체가 생성된 후 동일한 웹 3 라이브러리가 해당 트랜잭션 객체를 전송하는 데 사용
5) 링크 B 네트워크(특정)로 이동하여 트랜잭션이 확인될 때 까지 기다림 -> 로딩(블록체인 무거움)
6) 브라우저로 돌아와 결과값을 전송함
2) Transaction 이란
- 송금을 시도하는 하나의 계정을 설명하는 레코드- nonce : 몇 번째로 보낸 것인지 알려주는 숫자- to: 이더가 보내질 계정의 주소 -> 내 계정 주소- value: 보내고자 하는 이더의 양 -> 0.001ETH- gasPrice/gasLimit: 수수료 - v, r,s: 복잡한 암호화의 과정 -> 보낸 사람의 개인키에 의해 생성, 단방향 프로세스(한 가지라도 없으면 생성 못함) -> 결국은 주소로 귀결되는 과정임
3) 특정 노드에서 Transaction을 처리하는 과정
- 트랜잭션은 전체 네트워크가 아닌 하나의 특정 노드로 찾아감
- 노드에 동시에 3개의 각기 다른 트랜잭션이 들어왔다면 ?
- 세가지 트랜잭션을 모두 하나의 트랜잭션 목록으로 조합하여 유효성 검사(마이닝)를 함
5 Basic Blockchains
1) Block
- 해시는 디지털 지문
- 정확히 동일한 값을 입력해야만 동일한 해시를 얻을 수 있음
- 하나의 값만 변경해도 해시값 전체가 변경됨
- Block에는 Block, Nonce, Datan Hash가 포함되며 해시는 위의 값에 따라 변경됨
2) BlockChain
- 다음 블록의 해시는 이전 블록의 값의 변경에 따라서도 변경됨
- 이전 블록의 기록이 다 기록되는 것
- 블록의 수가 많아질수록 변경하는 것이 어려워지므로 조작이 불가해짐
- 중간에 조작이 일어나면 뒤의 블록의 Hash 값이 변경되고 다른 블록들에 의해 조작된 블록임이 판명됨
3) Tokens
- 블록체인의 원리를 그대로 가져다 쓰는 것
- 하나의 트랜잭션을 조작하더라도 이후 토큰의 hash 값이 모두 변경됨
- 해시를 기반으로 이전 블록을 찾아가기 쉬우며 개인이 실제 잔액을 가지도 있는 지 확인할 수 있음