블록체인

jayjay28·2019년 8월 27일
0

용어

목록 보기
2/2
post-thumbnail
💡 그냥 정리하는 블록체인.....
이 포스팅은 계속해서 업데이트 해나갈 예정입니다!

01. 블록체인이란?

  • 데이터 분산 처리 기술 입니다.
  • 네트워크에 참여하는 모든 사용자가 거래 와 관련된 정보를 분산, 저장 하는 기술입니다.
  • 블록 은 개인과 개인의 거래의 데이터가 기록되는 장부입니다.
  • 이런 블록이 형성된 후, 시간의 흐름에 따라 순차적으로 연결된 사슬(체인) 구조를 가지게 됩니다.
  • 모든 사용자가 거래내역 을 가지고 있기 때문에, 거래 내역 확인 시에는 다른 사용자의 장부를 비교, 대조하는 작업을 거칩니다.
  • 따라서, 공공 거래장부 , 분산 거래장부 라고도 불립니다.

02. 블록체인의 특징

  • 보안성
    • 기존 거래방식(은행에서 거래내역을 보유함, 중앙집권형)에서는 데이터를 위변조하기 위해서는 은행의 중앙 서버 만 공격하면 되었습니다.
    • 하지만, 블록체인을 이용하면 모든 사용자가 가지고 있는 장부를 조작해야 하기에 현실적으로 힘든 일입니다.

03. 블록체인 만들기 위한 단계

3-1. Part 1

3-1-1. 기본적인 블록체인 만들기

  • Data: 거래정보
  • PreviousHash: 이전 블록의 해쉬 값
  • timestamp: 생성된 시간
  • Nonce
  • Hash: Data + Previous Hash + timestamp
    • 보통 SHA256 알고리즘을 이용하여 해쉬값을 구합니다.

3-1-2. Pow(Proof of Work) 시스템 구현

PoWProof of Work 의 약자로 블록체인을 통해 서로 공유한 자원을 악의적으로 위변조 하는 것을 막고, 모든 노드가 올바른 블록체인을 공유하고 있다는 것을 입증하기 위한 합의 알고리즘입니다.

컴퓨팅 파워를 이용해 블록의 hash값을 추적하여 블록체인 네트워크에 새로운 블록을 추가하는 합의 알고리즘 입니다.

3-2. Part 2

3-2-1. 지갑 생성

기본적으로 지갑은 주소(개인키, 공개키) 를 가지고 있습니다.

블록체인에서 의미하는 지갑주소를 저장하고 트랜잭션을 생성할 수 있는 소프트웨어 입니다. 여기서 트랜잭션은 하나의 거래 내역이라고 볼 수 있습니다.

지갑의 소유주를 구분하기 위해서 키는 중요합니다.

블록체인에서 공개키개인키트랜잭션의 검증수단 입니다.
트랜잭션이 생성되고 처리되는 과정에서 개인키트랜잭션을 서명하고
공개키올바른 서명인지 판단합니다.

3-2-2. 트랜잭션 구현

트랜잭션에 어떤 데이터가 들어가는지 한번 알아보겠습니다.

  • 송신자의 공개키
  • 수신자의 공개키
  • 전달할 금액
  • Input(수신자가 보낼 돈을 가지고 있다는 것을 증명할 이전 트랜잭션 참조값)
  • Output(거래에서 받은 관련 주소 금액)
  • 암호화된 서명

3-3. Part 3

3-3-1. P2P 구현

3-3-2. Consensus algorithm

3-3-3. 블록 저장소와 DB

Reference

profile
@탈주범 및 프론트엔드 개발자

0개의 댓글