컴퓨터과학으로 배우는 블록체인 원리와 구현

수학, 암호학, 네트워크 이론과 실습으로 이해하는 블록체인

블록체인은 네트워크와 암호학을 비롯한 컴퓨터과학의 광범위한 학문을 바탕으로 합니다. 그래서 사전 지식 없이 무작정 블록체인 개발에 뛰어들기는 쉽지 않습니다. 이 책은 블록체인을 ‘신뢰를 부여하는 분산 데이터 저장 기술’로 바라보고, 블록체인의 추상화부터 시작해 구체화하는 과정까지 독자가 블록체인 코어를 이해하고 구현할 수 있게 하는 데 목적을 두고 있습니다. 블록체인의 기본 개념뿐 아니라 블록체인의 본질을 이해하기 위한 네트워크, 기초 수학, 암호학을 소개합니다. 아울러 실습을 통해 자바스크립트로 직접 블록체인 코어를 개발해 봅니다.

 

★ 이 책에서 다루는 내용 ★

  • 블록체인의 의의, 정의, 한계
  • 인터넷 프로토콜 스택을 통한 네트워크 학습
  • 정수, 대수 구조, 소수 등의 기초 수학
  • 대칭키 암호, 비대칭키 암호, 디지털 서명, 영지식 증명을 통한 암호학 학습
  • 트랜잭션을 통한 거래 계층 학습과 가상 머신을 통한 가상 머신 계층 학습
  • 자바스크립트를 이용한 재사용 가능한 블록체인 코어 개발

 

도서 상세 이미지

박상현

서강대학교 컴퓨터공학과를 졸업하고 서울대학교 가상머신 및 최적화 연구실 석사 과정에 있습니다. 학부생 당시 서강대학교 블록체인 연구회인 SGBL 기술팀장이자 학회장을 역임했습니다. 현재는 대학교 연합 리서치 그룹 CURG의 그룹장을 담당하고 있습니다. 또한 중앙대학교 블록체인 학회 C-Link의 학회원이기도 합니다. 블록체인과 인공지능에 관심이 많아 관련해서 여러 해커톤 수상, 강의, 저자 경력이 있습니다. 연구실에서 좋아하는 분야를 실컷 연구하면서 행복한 나날을 보내고 있습니다.

조유정 (멘티)

2016년 이화여자대학교 융합콘텐츠학과에 진학해 분주한 대학 생활을 보내고 있습니다. 2018년 이화여자대학교 블록체인 학회인 이화체인 활동을 통해 블록체인을 공부했습니다.

손가은 (멘티)

2016년 이화여자대학교 컴퓨터공학과에 진학했습니다. 2018년 이화여자대학교 블록체인 학회인 이화체인 활동을 통해 블록체인을 공부했습니다. 현재 마이크로소프트 학생 파트너 그룹에 속해 있습니다.

  • ▣ 1장: 블록체인의 등장
    • 블록체인의 정의
    • 블록체인의 한계
    • 상향식 접근법과 하향식 접근법
      • 이 책 톺아보기
    • 실습
      • 구동 및 개발 환경 구축하기
      • 블록 구조
      • 블록 생성
      • 블록 검증
    • 정리
    •  
  • ▣ 2장: 네트워크
    • 인터넷 프로토콜 스택
    • 응용 계층
      • 클라이언트-서버 구조와 P2P 구조
      • 응용 계층 프로토콜
      • P2P 파일 전송
    • 전송 계층
      • 다중화와 역다중화
      • UDP
      • TCP
      • 공평성
    • 네트워크 계층
      • IPv4
      • IPv6
      • 포워딩
      • 라우팅
      • 브로드캐스트
    • 링크 계층과 물리 계층
    • 실습
      • HTTP 인터페이스
      • 웹소켓 인터페이스
      • 체인 선택 규칙
    • 정리
    •  
  • ▣ 3장: 기초 수학
    • 정수
      • 모듈로 연산
      • 역원
    • 대수 구조
    • 소수
      • 오일러 피 함
      • 페르마의 소정리
    • 이산 로그
    • 실습
      • 작업 증명
      • 난이도 조정
      • 타임스탬프 검증
    • 정리
    •  
  • ▣ 4장: 암호학
    • 암호 시스템
      • 암호 공격
    • 대칭키 암호
      • 치환 암호
      • 단일 치환 암호
      • 다중 치환 암호
    • 비대칭키 암호
      • RSA 암호 시스템
      • 타원 곡선 암호
    • 디지털 서명
      • 타원 곡선 디지털 서명
      • 이더리움 트랜잭션 서명
    • 영지식 증명
      • 어린이를 위한 영지식 증명
      • 영지식 증명의 수학적 구현
    • 실습
      • 비밀키 생성
      • 공개키 생성
    • 정리
    •  
  • ▣ 5장: 사용 사례
    • 거래 계층
      • 트랜잭션
    • 가상 머신 계층
      • 스마트 계약
      • 이더리움 가상 머신
      • 트루빗
      • 네뷸라스
    • 정리
    •  
  • ▣ 부록
    • main.js
    • blockchain.js
    • utils.js
    • network.js
    • wallet.js