작업증명이란?
작업증명(POW) : 채굴자들이 데이터 사실여부를 서로 검증하고 거짓이라면 올라간 데이터를 무효함으로써 사기나 거짓 등 각종 악용사례들로부터 블록체인을 보호하는 방법
- 채굴자에게 전체 네트워크가 다 아는 질문을 함
- 채굴자는 질문의 답을 찾으면 블록을 체인에 추가
- 탈중앙화
- 정해진 한 명이 검증하는 것이 아니라, 모두가 검증
- 누구나 원한다면 채굴자가 될 수 있음
작업증명 과정
-
거래내역(트랜잭션) 발생
-
채굴자가 해당 거래내역을 보고 그 사람의 모든 거래내역 체크
-
해당 내용의 사실이 확인되면 데이터를 블록에 넣음
-
블록이 차면 블록을 닫고 체인에 올림(이 과정이 어려움)
-
비트코인생성
합의
- 체인에 올라간 데이터는 나머지 채굴자들에 의해 승인받아야함
- 만약 데이터가 거짓인것이 들통나면 해당블록승인을 철회
하드포크
포크
- 기존 블록체인을 베이스로 별도의 블록체인을 만들어 분리시키는 작업
- 블록체인의 문제 해결 및 업그레이드 방식 중 하나
- 업그레이드 후 기존 문제를 해결하고 이전 블록체인과 전혀 다른 프로토콜을 가지는 블록체인이 됨
- 포크 이후 생성돼서 연결되는 네트워크 또한 기존 블록체인 네트워크와 완전히 독립된 별개의 네트워크
- 노드의 과반수 동의가 없이도 진행 가능
- 기존 블록체인 복사 후 새 블록체인 개발하는 방식으로 진행
- 하드포크 이후 새 코인이 생기는 경우가 많음
- 비트코인-비트코인 캐시-비트코인 골드
- 이더리움-이더리움 클래식
채굴
- 채굴자가 블록을 체인에 올릴 때마다 비트코인이 생성됨
- 채굴에도 난이도가 나뉨
- 블록 생성에 소요되는 시간이 10분으로 유지되기 위해
- 네트워크 참여자가 많아질수록 블록 생성률이 높아짐
- 블록 생성률을 낮추기 위해 채굴 난이도가 높아짐
채굴자
- 데이터를 블록 안에 넣어서 블록체인에 다시 보내는 역할
- 거래내역을 컨펌하면서 일정의 수수료를 받음
- 거래내역 검증이 활발히 이뤄져 거짓, 사기로부터 네트워크 보호
- 블록을 체인에 올리기를 성공하면 비트코인을 받음
- 체인에 올리기 위해 질문에 대한 답(논스)을 찾아야함
- 컴퓨터들끼리 경쟁구도
- 그 질문에 대한 답을 먼저 찾은 채굴자의 블록이 올라감
- 질문의 답을 더 빨리 찾기 위해 성능이 좋은 컴퓨터가 필요
채굴자들이 답해야하는 질문이란?
- 데이터, 논스, 난이도가 있음
- 데이터 : 채굴자에게 물어보는 질문에 연결됨
- 논스 : 채굴자가 바꿀 수 있는 유일한 값(질문의 답)
- 난이도 : 질문의 답을 찾기 어려운 정도
- 채굴자는 블록에 들어갈 데이터는 바꿀 수 없음
155000000000000000000 : 비트코인 네트워크에서 1초마다 동원되는 해시 숫자
- 10분마다 위 해시 중 하나는 논스를 찾아서 블록에 추가됨
- 채굴자들은 그래픽 카드를 총 동원해서 논스를 찾음
- 그만큼 채굴이 어려움
- 블록이 너무 빨리 생성되면 난이도를 올리기도 함