비개발자의 블록체인 독학 with <Mastering Bitcoin> #1. 서론

in #blockchain6 years ago (edited)

비개발자로서 앞으로의 대세 기술인 블록체인 기술을 학습하고자 'Mastering Bitcoin' 도서를 참고하며 나름대로 정리해보고 있습니다.

서비스 기획시 개발자들과 원활한 커뮤니케이션을 위해 독학하는 것이니 블록체인을 처음 공부하시는 분들도 참고하시면 좋을 듯 합니다.

아마 블록체인 하시는 분들이라면 한 번쯤은 일독 하셨을 것 같네요. 아무튼 전공이 아니라 쉽지 않겠지만... 그래도 끝까지 해보려 합니다!

그럼 블록체인 독학 하시는 분들 모두 모두 화이팅!

비트코인이란?

  • 디지털 통화 생태계의 근간이자 거래의 단위
  • 비트코인 프로토콜을 통해 비트코인 네트워크 상에 있는 참여자에게 가치를 보관/전송이 가능
  • 기존 통화와 동일한 서비스 제공 → 상품 매매, 송금, 대출, 환전 등

비트코인의 특징

  • Virtual money: 거래
  • Open Source: 시스템 운영 소스 코드가 공개 → 누구나 검증/수정 가능
  • Fully-distributed, Peer-to-peer System, Decentralized system
  • Mining: 경쟁 및 보상을 통한 위/변조 및 이중지불 방지
  • Cryptocurrency: 수학적 알고리즘에 의해 유통량 제한, 위/변조 및 이중지불 방지
  • 순수한 P2P 버전의 전자 화폐
  • 제 3의 신뢰 기관의 개입 없이 한 쪽에서 다른 한 쪽으로 화폐 가치를 직접 보낼 수 있는 온라인 지불 수단
  • P2P 네트워크는 거래를 해시로 전환한 후 타임스탬프를 찍고 이 과정을 일련의 해시 기반의 Proof-of-Work 사슬로 연결함으로써 이러한 Proof-of-Work 과정을 반복하지 않고서는 거래 기록을 수정할 수 없도록 함
    • 가장 긴 연결고리 사슬은 발생한 거래의 시퀀스를 증명할 뿐 아니라 가장 많은 CPU 파워를 사용하여 만들어진 사슬임을 증명
    • 정직한 노드들이 가장 긴 연결고리 사슬을 만들어 내며, 연결 고리 사슬을 만드는 경쟁에서 공격자들을 앞서 나가게 될 것이다.

Blockchain

  • Block: 거래의 집합으로, 타임스탬프와 이전 블록의 지문이 표시되어 있음
    블록 헤더를 요약해서 작업 증명(Proof of Work)을 만들고 이를 통해 거래가 유효화 됨
    유효화 된 블록들은 네트워크의 동의를 얻은 후 주 블록체인에 추가
  • Blockchain: 유효화 된 블록의 집합
    각 블록체인은 이전에 생성된 블록체인과 연결되어 최초블록(genesis block)까지 연결됨

채굴하기(Mining)

  • P2P 네트워크를 통해 거래를 검증하는 과정
  • 실물 화폐에서는 정부나 은행과 같은 중앙 관리 기구(제 3의 기관)가 신뢰를 제공하여 거래를 성사시킴
  • 비트코인은 P2P 네트워크에 참여하는 사람들의 자발적 참여(Mining)로 거래를 성사
    → 이에 대한 보상으로 Bitcoin이 발행/지급
  • 특정 조건을 충족시키는 해시(암호값)을 찾아 내는 것
  • **비트코인 통화 공급 역할을 하는 매우 중요한 과정
  • 비트코인의 거래 시스템을 유지하는 핵심 메커니즘에 자발적으로 참여할 동기를 제공

Byzantine Fault Tolerance(BFT)

  • Byzantine Generals’ Problem(by L. Lamport, R. Shostak, M. Pease)에서 제시한 종류의 Failure를 극복하는 System을 Byzantine Fault Tolerance하다
  • 적군의 도시를 공격하려는 비잔티움 제국군의 여러 부대가 지리적으로 떨어진 상태에서 각 부대의 지휘관들이 중간에 잡힐지도 모르는 전령을 통해 교신하면서 공격 계획을 함께 세우는 상황을 가정
  • 이 부대의 지휘관 중 일부에는 배신자가 섞여 있을 수 있고, 배신자는 규칙을 충실히 따르는 충직한 지휘관들과 달리 규칙에 얽매이지 않고 마음대로 행동할 수 있음
  • 이 때 배신자의 존재에도 불구하고 충직한 지휘관들이 동일한 공격 계획을 세우기 위해서는 충직한 지휘관들의 수가 얼마나 있어야 하며, 이 지휘관들이 어떤 규칙을 따라 교신해야 하는지에 대한 문제가 바로 비잔티움 장군의 문제
  • 그렇다면 Bitcoin은 BFT system 인가?

지갑 만들기

  • 지갑은 계정을 생성할 때, 한 쌍의 암호키, 즉, 공개키와 비밀키를 생성
    ex) 15ChaTuCDpaPXkmigDWZMKzvCCxiMCmjFB
  • 비밀키는 지갑 속에 저장되며 공개키는 곧 돈이 송금될 주소
  • Full Client
    • 모든 비트코인의 거래 장부를 보유
    • 3rd party 도움없이 비트코인 네트워크에 연결가능
  • Web Client
    • Web browser를 통해 3rd party server가 보관하는 지갑에 접근함을 통해 거래가 가능
      ex) 거래소
  • Lightweight Client
    • 지갑을 로컬에 저장한다.
    • 거래 및 거래 검증 등 비트코인 네트워크에 접근하기 위해서는 3rd party server에 접속
      ex) Mobile Wallet
Sort:  

Congratulations @jakers! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!