합의 알고리즘
합의 알고리즘이 나온 이유 :
-
- 누구든지 들어올 수 있고 나갈 수 있어서 옳은 정보를 결정할 수 있는 주체가 없다.(신뢰성의 문제)
-
- 누구나 도전할 수 있지만 난이도는 높은 문제 : POW(채굴)
-
- 게임이론과 연관 지을 수 있음
블록(거래내역)의 전달 과정 :
- prev header 비교
- 일치하지 않으면 길이 비교
- 더 긴 체인을 보유한 노드가 짧은 체인을 보유한 노드에게 블록 넘기기
- 받은 블록 검증 ( 채굴 결과 검증)
- 유효할 경우 체인 동기화 진행
동기화
<가장 긴 체인이 옳은 체인>
- 모든 노드가 같은 정보를 가지고 있는 것
- 합의 알고리즘의 시작 : 로컬에서의 채굴
합의 알고리즘의 끝은 : 네트워크 전체의 동기화(거래 정보의 공유)
- 서로 충돌이 났을 경우( 즉 가장 긴체인 두명이 서로 만났을 경우) : pending상태 유지
충돌 가능성 (비둘기집 원리)
정의 : 암호화 함수에 서로 다른 2개의 입력값을 넣었을 때, 동일한 출력 값이 나오는 경우를 의미
SHA-256
256 = 256bit // 64자리 16진수
각 글자는 = 4bit 256/4 = 64
SHA256의 출력 값의 총 가지 수 = 16^64
key & Address
-
key : private key + public key (단방향)
타원 곡선을 사용해서 공개키 생성
개인 키는 서명할 때, 공개 키는 주소를 생성할 때
-
address : Bitcoin Address를 의미 , 주소는 공개키로부터 생성(단방향)
UTXO
- utxo : Unspent Transaction Output
Node
Handshaking
- 채널의 물리적인 확립이 잇따르며, 정상적인 정보 전송 이전에 이루어진다.

Seed Node
- 종자노드는 오랫 동안 안정적으로 작동하는 노드들의 리스트