어제 내 c# 모니터링 프로그램 담겨있는 usb를 갑자기 발견하게 되었다.
어디 흘린 줄 알고 자포자기 하고 있었는데 아껴줘야지.. 유에스비가 워낙 콩알만해서 한번 잘못두면 찾기가 힘들다.
그 곳에는 블록체인 수업 자료도 싹 있었고..
그래서 시작하는 블록체인 포스팅 레츠고
참고: 20년도 말 자료여서 무언가 신규 내용은 덜 할 것이다.
현재까지도 적용가능한 기초 개념 위주로만 적어보도록 하겠다.
1. 디지털 세상의 블록체인 기반 암호경제 출현
원본증명
암호화 증명으로 원본과 가짜 구별. 개인정보와 저작권 보호, 위변조 해킹 방지 등
신뢰 매개
디지털 세상에서 초신뢰 거래 매개, 유통 수단 으로서 암호화폐, 디지털 자산 기능 등
보상 체계
디지털 통화로서 탈중앙 발행과 유통 관리, 생성과 거래에 참여자 인센티브 제공 등
2. 블록체인 기술의 등장 배경 및 개념 정립
등장 배경
PC와 스마트폰을 통한 온라인 거래가 보편화되고 사물인터넷(IoT) 기반이 확충되어 온라인-오프라인(O2O) 거래도 증가하면서 금융과 정보통신(ICT)가 접목된 핀테크(Fintech)에 이어 해킹과 위조·변조가 거의 불가능한 거래시스템에 대한 사회적 요구 증대
- 암호통화 출현 : 디지털 가상화폐인 '비트코인(Bitcoin)'에 적용된 블록체인(Blockchain) 기술을 금융 거래뿐만 아니라 산업 전반에 적용하려는 새로운 비즈니스 모델 확산
기존 금융거래 → 블록체인 거래 → 탈중앙·보안성·익명성·투명성 → 안전한 거래 실현
개념 정의
블록 체인은 다양한 정보를 기록한 원장(ledger)을 모든 구성원(node/peer)이 각자 분산 관리하고, 주기적 및 새로운 거래가 발생할 때마다 암호방식으로 장부를 검증 및 업데이트하여, 개념적으로는 탈중앙, 보안성, 익명성, 투명성이 강력한 디지털 공공장부 또는 분산원장(distributed ledger) 이라 말할 수 있다.
3. 블록체인 및 암호화폐의 원리
- 블록체인은 컴퓨터 프로그램으로 암호기술을 이용하여 설계한 블록(Block)에 다양한 정보를 담아 체인(Chain)처럼 연결한 것을 말하고, 비트코인은 이를 실제 적용하여 구현한 대표적 사례
- 비트코인은 안전한 해시 알고리즘(SHA) 중의 하나인 SHA256 암호방식으로 다수의 참여자(NODE)가 작업증명(Proof of Work)을 통해 블록체인을 만든 것으로 이를 암호화폐(BTC)라고 부른다.
- 작업증명 : SHA256 알고리즘에서 특정 목표값보다 작은 해시값을 구하는 작업(계산)에 참여하고 완결(증명)하는 행위를 의미
4. SHA256 해시 암호화의 속성
SHA256은 항상 임의의 입력 값에 매칭되는 고정된 출력 값(16진수, 64자리)을 갖고 암호화되며, 반대의 출력 값으로 입력 값을 찾는 복호화가 불가능한 단방향 특징으로 작업증명(PoW)에 활용
5. 블록체인의 블록 구조 및 내용
블록구조
블록체인은 헤더(header)와 바디(body) 로 구분되며, 블록 헤더에는 해시(Hash)와 Version, Previous Gash, Merkle hash, Timestamp, Bits, Nonce 로 구성되어 있고, 블록 바디에는 여러개의 거래(Transaction)와 기타 정보로 구성되어 암호학적 방식으로 연결

6. 블록체인 개인키/공개키, 지갑 생성(예시)

7. 블록체인 기술의 구조 및 특성
기술 구조 : 블록체인은 P2P 네트워크에서 일정 시간마다 새로운 거래 내역을 담은 신규 블록(block)이 형성되어 기존 블록에 계속 연결(chain)되는 데이터베이스 구조를 가지며, 원천적으로 이중지불(double spending) 방지 및 이체 불가역성(irreversibility)'
8. 블록체인 거래 : Transaction & UTXO
블록체인에서 거래(Transaction)란 특정 정보의 입력과 출력을 말하며, 주소를 통해 이동하는 형태로 구성하고, 개별 거래를 구별하기 위해 TXID(Transaction ID) 또는 TxHash를 부여하여 거래시 발행되는 해시값을 통해 송수신 주소, 수량, 컨펌, 시간 등을 확인할 수 있다.
- UTXO(Unspent Transaction Output)란 자신에게 보내진 거래 출력 중에 아직 다른 사람에게 전송되지 않은 미사용(Unspent) 데이터 구조를 말하며, 블록체인 지갑 주소에서 잔액 개념을 의미한다.