Chapter01 - 블록체인의 이해
※해당 자료는 비트코인을 기준으로 만든 내용 입니다.
1. 블록체인 암호 기초
l 기존 핀테크 서비스 모델
ü 클라이언트-서버 서비스 모델
1- 서버를 경유한 거래 서비스: 클라이언트가 거래를 서버에 전송
2- 서버가 거래 승인과 거래 장부 유지에 대한 책임: Centralized
3- 중앙 집중 형 서버 그 중에 가장 취약한 서버를 해킹하면 모든 서버 해킹이 가능함
l 블록체인 핀테크 서비스 모델
ü P2P(Peer-to-Peer) 서비스 모델
1- 참여자 간에 직접 거래 서비스: 참여자가 거래를 브로드캐스팅
2- 다수가 거래 승인과 거래 장부 유지에 참여: Decentralized
3- 모든 사람의 승인이 있어야 거래 장부가 유지됨
A. 질문: A와 B가 거래한 내역을 모든 사람에게 공유해야 할까?
i. 답1: private 블록 체인은 서로 연관 된 인원에게만 투명하게 공유 하면 된다.
ii. 답2: public 블록 체인 같은 경우는 모두에게 공유가 된다. - 비트코인
4- 거래 장부: 블록 체인
5- 모든 장부를 똑 같은 장부를 유지하는 것이 핵심
6- 장부를 기록하는 일 = 채굴
A. 질문: A와 B의 거래를 모든 사람이 기록해야 할까?
i. 답: 누구든지 기록에 참여하는 것이 아니라 블록에 거래들을 기록하는 일을 하는 사람이 있음 = 채굴자(mining)
ii. 채굴자들이 하는 일: 장부(블록)를 만드는 일을 함
B. 왜 장부를 만드는 일을 하는가?
i. 답: 비트코인의 경우, 블록체인에 연결할 블록을 만드는 일을 하는 채굴자에게 일정 금액의 비트코인을 줌
2. 블록 체인
l 정의: 투명성과 비가역성을 제공하는 분산 데이터베이스
ü 투명성(Transparency): 거래내역은 검증될 수 있음
ü 비가역성(Irreversibility): 기록된 거래내역은 변경될 수 없음
1- 동일한 시간에 만들어진 블록이 여러 개가 있으면 그 정보가 더 많은 블록이 채용된다.
ü 분산 데이터베이스(Distributed DB): 중앙 서버가 불필요한 분산된 DB
3. 암호 화폐(블록 체인의 기술이 기반이 된 화폐)
l 일반 암호화폐(Public Block Chain)
ü 일반 화폐를 대체/보완하기 위해 발생되는 암호화폐
ü 비트코인, 라이트코인
l 목적 암호화폐
ü 특정 목적이나 분야에서 사용되는 암호화폐
l 익명 암호화폐
ü 누가 누구에게 거래를 했는지 알 수 없음
ü 일반 암호화폐에 익명성을 강화한 암호화폐
ü Privacy, Untraceability, Fungibility
l 플랫폼 암호화폐
ü 단순 암호화폐의 기능을 넘어서 블록체인 기술을 플랫폼 형태로 제공
4. 블록 체인의 구조(Bit Coin에 사용된 기술)
l 채굴자들의 합의에 의해 장부가 생성된다.
l 만들어진 장부는 10분 단위로 생성된다. (시간은 플랫폼 마다 다름)
ü 단점: 블록이 만들어 져야 거래가 가능 해 진다.(실생활에 사용이 어려움)
ü 즉, 10분이 지나야 거래가 이루어 진다. 무조건 10분간 채굴이 이루어 져야 한다.
ü 이더리움에 경우 장부가 만들어지는 시간은 15초로 이 단점을 보완 한다.
l 최초 블록: 블록 헤더 + 거래 데이터
ü 이 블록을 해쉬 함수에 넣어서 하나의 코드를 만들어 낸다.
ü 만들어진 코드를 다음 블록의 블록 헤더에 입력한다.
ü 만들어진 코드는 해석이 불가능 하기 때문에 전에 만들어진 거래 장부의 수정이 불가능 하다.
l 블록 헤더: 이전 블록의 거래 데이터를 기반으로 만들어 진다.
ü version: 소프트웨어/프로토콜 버전
ü previousblockhash: 이전 블록의 해쉬 코드
ü merklehash: 거래된 개별거래 트리해쉬의 값들을 해쉬 형태로 만든 값
ü time: 블록이 만들어진 시간
ü bits: 해쉬 함수 난이도 조절용 수치
ü nonce: 해쉬를 만들어 내기 위한 값)
l 다음 블록이 만들어지기 위한 시간은 위에서 말한 10분이 된다.
l 블록체인이라는 체인을 이루는 원소인 블록
ü 블록은 유효한 거래 정보의 묶음
ü Bit Coin은 하나에 평균 약 1,800개의 거래 정보가 포함될 수 있다.
5. Bit Coin 채굴
l 개별 거래 정보는 결국 머클 트리의 해쉬값인 merklehash 값으로 집약된다.
l 블록 헤더의 6가지 정보 중에서 5가지 정보는 변하지 않는다.
l 마지막 nonce값은 채굴자가 만들어내야 하는 값이다.
ü 이 nonce값을 구해서 최종적으로 블록 해쉬 값을 구하고, 이 블록 해쉬 값을 식별자로 가지는 유효한 블록을 만들어내는 것이 바로 작업 증명(Proof of Work), 흔히 말하는 채굴이다.
l 가장 처음 기입되는 거래 정보는 채굴자의 보상 정보가 기입된다.
l 질문: 장부에 있는 모든 데이터를 모아 장부의 원본을 가려내기 위한 확인 기술
ü 답: 채굴
ü 채굴을 하기 위해서는 해시 함수를 사용한다.
'3학년 > 인터넷 보안(블록체인 이론)' 카테고리의 다른 글
Chapter02 - 해시 함수(Hash Function) (0) | 2018.12.25 |
---|