본문 바로가기

블록체인/블록체인(박승철)

블록체인 - (8) 비트코인 블록체인 합의 프로토콜 블록체인 - (8) 비트코인 블록체인 합의 프로토콜 인터넷 익명 기반 P2P 시스템의 특성 - 누구나 참여할 수 있는 완전 개방 시스템 - 특정 기관에 의존하지 않음(중간자, 중재자가 없음) - 참여자의 신원을 확인하지 않는 익명 시스템 - 지연시간이 가변적인 P2P 네트워크 기반의 비동기 시스템(지연시간이 존재) 블록 합의 문제 (1) 모든 채굴자가 10분 마다 생성되는 블록의 내용을 합의로 승인하고 (2) 승인된 블록을 블록체인에 연결하여 동기화된 블록체인으로 유지하여 (3) 모든 참여자가 동일한 블록체인으로 거래를 수행할 수 있도록 만드는 문제 블록 합의의 전제 조건 (1) 자발적인 채굴자의 참여를 유도할 수 있어야함(유인책이 필요) (2) 블록체인에 추가되는 승인된 블록은 정직한 채굴자에 의해 생..
블록체인 - (7) 비트코인 작업 증명과 블록 인센티브 블록체인 - (7) 비트코인 작업 증명과 블록 인센티브 블록 인센티브 : 블록 보상(block reward) + 거래 수수료(transaction fee) 블록 보상(Block reward) - 블록 채굴에 성공한 채굴자에게 비트코인 네트워크가 제공(=발행) - 인플레이션(inflation)을 방지하기 위해 시간이 감에 따라 축소되도록 설계 - 50 BTC로부터 시작하여 210,000 블록마다(약 4년) 보상 금액이 1/2로 축소(=반감기) - 2140년 경이 되면 비트코인 총액 2100만 BTC가 되고 화폐 발행이 종료됨 거래 수수료 = (블록 내 전체 입력값 총합) - (블록 내 전체 출력값 총합) 코인 베이스 거래(Coinbase transaction) - 블록 채굴에 대한 전체 인센티브는 해당 블..
블록체인 - (6) 비트코인 스마트 거래의 구조 블록체인 - (6) 비트코인 스마트 거래의 구조 비트코인 거래(transaction) - 참여자들이 비트코인 통화와 같은 가치를 주고 받는 행위를 규정하는 데이터 구조 - 중요 문서 저장 거래도 가능 - 블록체인에 공개적으로 투명하게 저장됨 비트코인 지불거래(payment transaction) - 블록체인 상에서 입력 값(input value)으로 표현되는 자금원(fund resource)로부터 출력값(output value)으로 표현되는 목적지(fund destination)까지 자금(funds)을 전달하는 행위를 규정 일반적 지불 거래 - 입력값은 자신이 소유권을 가지고 있는 이전 거래의 출력값중에 아직 소비되지 않은 출력값(UTXO - Unspent Transaction Output)을 해시 포인..
블록체인 - (5) 비트코인 블록체인 개요 블록체인 - (5) 비트코인 블록체인 개요 비트코인 블록체인의 역할 - 비트코인 발행을 포함한 모든 비트코인 지불 거래 정보를 기록한 장부(ledger) - 네트워크상의 비트코인 발행 내역과 이동 내역을 보여주는 장부 - 비트코인의 P2P 거래를 가능하게 하는 원천(누구나 정상 지불 확인 가능) 비트코인 블록체인의 목표 완전성(Complete blockchain) - 모든 거래 내역을 일관성 있게 기록 - 발행되어 현재 사용되고 있는 모든 비트코인 현황을 일관성 있게 확인 안전성(Secure blockchain) - 비정상 거래 기록 승인불가 - 승인된 거래를 변경, 교체하는 것이 불가 - 장부(블록체인) 파괴 불가 분산성(distributed blockchain) - 누구나 블록체인 생성에 참여가능 -..
블록체인 - (4) 비트코인 거래 블록체인 - (4) 비트코인 거래 비트코인 거래 - P2P 방식 - 투명한 거래 : 화폐 발행을 포함한 모든 거래 내역을 공개 원장(Pulic ledger)을 통해 확인할 수 있음 - 발행된 비트코인에 대한 소유를 증명할 수 있음(개인키) 비트코인 발행 주체 - 채굴자 : 블록을 생성하여 블록체인에 체인으로 연결하는 참여자 - 채굴자로 선택되는 방법 : 채굴 역량(해시 파워)에 비례하는 확률로 임의의 채굴자를 선정 발행 방식 - 비트코인 시스템이 채굴자의 주소로 블록 보상(12.5 BTC)을 송신하는 지불 거래를 생성함 - 생성된 각 블록의 첫번째 거래는 코인 베이스 거래(Coinbase transaction)으로 채굴자에게 비트코인을 지급하는 거래기록이 남김. (12.5BTC + 생성된 블록에 포함된 ..
블록체인 - (3) 비트코인 네트워크 기초 블록체인 - (3) 비트코인 네트워크 기초 기존 금융 네트워크 우리나라 금융 네트워크(금융공동망)은 금융결제원에서 운영하고 각 은행끼리만 연결된 폐쇄적인 네트워크임. 외부 사용자가 해당 네트워크에 접근하여 패킷을 스니핑하는 행위자체가 불가능함. 비트코인 네트워크 - 참여자들에 의해 자발적으로 구축되고 운영되는 네트워크 - 인터넷 상에서 비트코인 참여자들의 컴퓨터를 연결하는 네트워크 구축 - P2P 네트워크 - 인터넷 상에서 비트코인 참여자들 간에 자율적으로 구축·운영되는 네트워크를 통해 모든 비트코인 거래 정보 교환 - 누구나 비트코인 프로토콜을 구현한 소프트웨어를 설치하여 비트코인 네트워크에서 하나의 노드(Node)로 참여 가능 - 기존 블록체인 네트워크에 연결되어 있는 하나이상의 이웃 노드(neigh..
블록체인 - (2) 비트코인이란? 블록체인 - (2) 비트코인이란? 비트코인의 정의 (1) 비트코인 네트워크에서 발행되는 통화의 이름 - BTC - Satoshi ( 1 / 1억 BTC) (2) 비트코인 통화가 운영되는 네트워크 시스템 전체를 통칭하는 이름 - 거래 장부인 블록체인 - 거래 및 블록 전송을 위한 네트워크 - 블록체인을 생성하고 검증하는 채굴자 집합 비트코인 개념 발표 - 2008년 Satoshi Nakamoto가 Bitcoin : A Peer-to-Peer Electronic Cash System이라는 논문을 발표. - White Paper(백서) 형식으로 발표됨 - 2009년 참조 구현(Reference Implementation)을 배포함( 프로그래밍 구현 ) - 태초 블록(Genesis Block) 50BTC가 생성..
블록체인 - (1) 비트코인 암호 기초 블록체인 - (1) 비트코인 암호 기초 비트코인에서 사용하는 암호기술 - 해시 함수(Hash Function) - 공개키 암호화(Public key Encryption) - 디지털 서명(Digital Signature) 해시 함수(Hash function) - 메시지 지문(Message Digest)를 생성하는 데 사용한다. - SHA-1, SHA-2, MD5이 대표적인 해시 알고리즘이다. - 데이터 무결성(Integrity)을 보장한다. - 해시함수는 일방향성, 약한 충돌내성, 강한 충돌내성 특성을 갖는다. - 해시함수는 쇄도 효과(Avalanche effect) 특성을 지닌다. 즉, source 데이터가 조금 바뀌더라도 생성되는 해시 값(hash value)에 큰 변화를 일으킨다. 2019/06/05..