작업증명(Proof Of Work)

김휘진·2023년 6월 3일
0

Blockchain

목록 보기
4/8
post-thumbnail
post-custom-banner

작업증명이란?

작업증명(POW) : 채굴자들이 데이터 사실여부를 서로 검증하고 거짓이라면 올라간 데이터를 무효함으로써 사기나 거짓 등 각종 악용사례들로부터 블록체인을 보호하는 방법

  • 거래내역을 채굴자들이 철저하게 검증
  • 채굴자에게 전체 네트워크가 다 아는 질문을 함
    • 채굴자는 질문의 답을 찾으면 블록을 체인에 추가
  • 탈중앙화
    • 정해진 한 명이 검증하는 것이 아니라, 모두가 검증
    • 누구나 원한다면 채굴자가 될 수 있음

작업증명 과정

  1. 거래내역(트랜잭션) 발생

  2. 채굴자가 해당 거래내역을 보고 그 사람의 모든 거래내역 체크

  3. 해당 내용의 사실이 확인되면 데이터를 블록에 넣음

  4. 블록이 차면 블록을 닫고 체인에 올림(이 과정이 어려움)

  5. 비트코인생성

합의

  • 블록이 체인에 추가되면 끝나는 것이 아님
  • 체인에 올라간 데이터는 나머지 채굴자들에 의해 승인받아야함
  • 만약 데이터가 거짓인것이 들통나면 해당블록승인을 철회
    • 하드포크 실행
  • 올바른 데이터를 가지고있는 블록을 다시 찾음

하드포크

포크

  • 기본 프로토콜과 다른 버전을 받게 되는 순간
  • 기존 블록체인을 베이스로 별도의 블록체인을 만들어 분리시키는 작업
  • 블록체인의 문제 해결 및 업그레이드 방식 중 하나
  • 업그레이드 후 기존 문제를 해결하고 이전 블록체인과 전혀 다른 프로토콜을 가지는 블록체인이 됨
  • 기존 블록체인 네트워크와 호환되지 않음
  • 포크 이후 생성돼서 연결되는 네트워크 또한 기존 블록체인 네트워크와 완전히 독립된 별개의 네트워크
  • 노드의 과반수 동의가 없이도 진행 가능
    • 기존 블록체인 복사 후 새 블록체인 개발하는 방식으로 진행
  • 하드포크 이후 새 코인이 생기는 경우가 많음
    • 비트코인-비트코인 캐시-비트코인 골드
    • 이더리움-이더리움 클래식

채굴

  • 비트코인을 얻을 수 있는 방법 중 하나
  • 작업증명 방식의 보상 지급 수단
  • 채굴자가 블록을 체인에 올릴 때마다 비트코인이 생성됨
  • 이 때 비트코인을 만들어내는 작업이 '채굴'
  • 채굴에도 난이도가 나뉨
    • 블록 생성에 소요되는 시간이 10분으로 유지되기 위해
    • 네트워크 참여자가 많아질수록 블록 생성률이 높아짐
    • 블록 생성률을 낮추기 위해 채굴 난이도가 높아짐

채굴자

  • 블록체인에 들어오는 데이터를 확인
  • 데이터를 블록 안에 넣어서 블록체인에 다시 보내는 역할
  • 채굴자는 총 2번의 보상을 받음
  1. 거래내역을 컨펌하면서 일정의 수수료를 받음
    • 거래내역 검증이 활발히 이뤄져 거짓, 사기로부터 네트워크 보호
  1. 블록을 체인에 올리기를 성공하면 비트코인을 받음
    • 체인에 올리기 위해 질문에 대한 답(논스)을 찾아야함
    • 컴퓨터들끼리 경쟁구도
    • 그 질문에 대한 답을 먼저 찾은 채굴자의 블록이 올라감
    • 질문의 답을 더 빨리 찾기 위해 성능이 좋은 컴퓨터가 필요

채굴자들이 답해야하는 질문이란?

  • 데이터, 논스, 난이도가 있음
    • 데이터 : 채굴자에게 물어보는 질문에 연결됨
    • 논스 : 채굴자가 바꿀 수 있는 유일한 값(질문의 답)
    • 난이도 : 질문의 답을 찾기 어려운 정도
  • 채굴자는 블록에 들어갈 데이터는 바꿀 수 없음
    • 오직 검증만 가능

155000000000000000000 : 비트코인 네트워크에서 1초마다 동원되는 해시 숫자

  • 10분마다 위 해시 중 하나는 논스를 찾아서 블록에 추가됨
  • 채굴자들은 그래픽 카드를 총 동원해서 논스를 찾음
  • 그만큼 채굴이 어려움
  • 블록이 너무 빨리 생성되면 난이도를 올리기도 함
profile
Don't give up, I can do (IT)
post-custom-banner

0개의 댓글