작업증명

작업증명

    Go 언어로 블록체인 메인넷 만들기 - 작업증명(PoW)

    이번엔 지난 포스트에서 만든 프로토타입 블록체인에 작업증명을 추가해보자. 지금은 블록을 아무런 작업 없이 생성할 수 있게 되어있으나, 비트코인에서는 작업증명 합의 알고리즘을 통해 블록을 생성한다. 퍼블릭 블록체인에서는 채굴자의 참여유도를 위해 블록 생성자에게 코인을 지급하게 되어있는데, 이것을 쉽게 해버리면 지급되는 코인의 가치가 사라지기 때문에 네트워크가 제대로 돌아가지 않을지도 있으므로 이러한 합의 알고리즘을 만드는 것은 중요하다고 할 수 있다. 여담으로 작업증명은 채굴(Mining)이라고도 할 정도로 작업시간이 오래걸릴 수도 있다. 이는 블록체인 내부에서 설정한 난이도에 따라 다르다. 이러한 난이도 설정도 해볼 것이다. 코드를 짜기전에 내용을 이해하는 것은 필수적이다. 작업증명은 단순히 말하자면 끝..