작업증명(PoW)

user-image
블록헤더스
블록헤더스
2023.06.27

[Xangle Digest]

※해당 컨텐츠는 1월 28일 외부에서 기발간 된 컨텐츠입니다. 컨텐츠에 대한 추가적인 주의사항은 본문 하단에서 확인해주세요.

작성자: 이동규 (블록체인 밸리 2기), 김희지 (블록체인앳연세 9기) 이승아 (하이블록 1), 고준호 (디사이퍼 8), 박근영 (블록체인 밸리 1), 윤태웅 (블록체인앳연세 8기)

 

목차

개요
작업증명(PoW)
작업증명 vs 지분증명
마치며

 

개요

이중지불

이중지불은 하나의 자금을 동시에 두 명의 수취인에게 전송하는 것이며, 이는 수취인이 받은 자금의 사용 여부를 확인할 방법이 없다는 점에서 생기는 문제입니다. 예를 들어, 직접적인 기존의 자금 거래에서는 물리적으로 자금이 이동하거나 신뢰할 수 있는 중개인이 존재하기 때문에 이중지불 위험이 없습니다. 하지만 비트코인과 같은 P2P 디지털 화폐 시스템은 물리적으로 자금이 이동하지 않고, 중개인이 존재하지 않기 때문에 이중지불 문제가 발생하게 됩니다. 따라서 P2P 디지털 화폐 시스템은 반드시 이중지불 문제를 사전에 차단할 수 있는 규칙이 필요하며, 이 규칙을 합의 알고리즘이라고 합니다.

단일 채굴자가 네트워크에서 나타나는 거래 검증, 블록 생성 및 보상 수령에 필요한 연산력의 50% 이상을 독점하는 ‘51% 공격’이 발생할 경우, 이론적으로 해당 채굴자는 네트워크상 모든 거래를 조작해 이중지불을 실현할 수 있습니다. 다행히도 비트코인과 같이 오랜 기간 유지된 블록체인 네트워크는 소수 채굴자가 네트워크의 연산력을 독재하기 힘들어, 현재까지 이중지불로 피해를 본 사례는 존재하지 않습니다.

작업증명

이중지불 문제를 방지하기 위한 규칙을 합의 알고리즘이라고 하는데, 대표적으로 작업증명과 지분증명 방식이 있습니다. 비트코인이 대표적인 작업증명 블록체인이며, 이더리움은 대표적인 지분증명 블록체인입니다.

하지만 이더리움도 원래는 작업증명 방식을 사용했으며, 현재까지도 많은 블록체인 네트워크가 작업증명을 사용하고 있습니다. 따라서 작업증명은 블록체인의 분산원장을 지키기 위한 대중적인 방식임을 알 수 있습니다.

많은 블록체인이 사용하는 작업증명(PoW, Proof of Work)이라 불리는 알고리즘은 블록체인이란? 자료에서 설명됐듯, 노드들이 네트워크에서 발생하는 거래를 상호 검증하고 승인하기 위해 사용하는 합의 알고리즘 중 하나이며, 주로 이중지불을 막기 위해 활용됩니다.

작업증명이라는 개념이 공식적으로는 2008년에 발행된 비트코인 백서에 처음 등장했으나, 이 기술은 이전부터 논의됐습니다. 그 중 작업증명을 도입한 초기 사례로, 1997년 영국의 암호학자 애덤 백(Adam Back)이 고안한 해시캐시(Hashcash)를 꼽을 수 있습니다. 해시캐시는 스팸메일과 서비스 거부(DoS) 공격을 막기 위해 사용한 시스템으로, 이메일을 전송하기 전 송신자가 소량의 연산 작업을 하게 합니다. 공격자가 대량의 스팸메일을 송신하려 할 경우 금전적, 시간적 비용이 발생하게 되므로 공격을 줄일 수 있게 됩니다. 애덤 백의 해시캐시 시스템은 이후 1998년 웨이다이(Wei Dai)에 의해 새로운 블록 생성 방식으로 채택됐으며, 추후 비트코인의 합의 알고리즘으로 채택됐습니다.

본 글에서는 많은 블록체인이 합의 알고리즘으로 사용하는작업증명에 대해 자세히 알아보도록 하겠습니다.

 

작업증명(PoW)

작업증명의 필요성

과거에 효과적인 디지털 통화 시스템의 개발을 방해했던 문제 중 하나가 앞서 언급한 이중지불 문제였습니다. 암호화폐는 데이터일 뿐이므로 시스템이 트랜잭션을 블록체인에 기록하기 전에 다른 곳에서 동일한 단위를 중복으로 사용하지 못하도록 방지하는 메커니즘이 필요합니다.

각기 다른 두 번의 결제에 동일한 지폐를 지불하는 것은 물리적으로 어렵지만, 복사 및 붙여넣기로 화폐 데이터를 복제할 수 있다면 디지털 화폐를 두 번, 심지어 열 번 이상 사용할 수 있게 될 겁니다.

작업증명이 중요한 이유는 바로 이중지불 문제를 해결하는 방법이기 때문입니다. 작업증명은 블록체인에 거래 내역을 기록하기 전에 발생하는 새로운 거래의 무결성을 확인하도록 채굴자에게 보상을 제공함으로써 이중지불을 방지하는 데 도움이 됩니다.

전통적인 은행 계좌를 한 번 생각해봅시다. 우리는 계좌에 돈을 입금하면 정확한 금액이 입금되었는지 어떻게 알 수 있나요? 수표 작성자는 수표에 쓴 금액만큼만 인출될 것이라고 어떻게 믿을 수 있을까요? 은행 거래도 사실상 눈으로 확인하기 어려운 건 마찬가지지만, 은행의 가치는 결국 거래를 이행하는 모든 고객이 은행이 자금을 정확하게 이동한다고 신뢰하기에 유지될 수 있습니다.

다만 암호화폐에는 신뢰를 보장할 은행이나 금융 기관이 없습니다. 대신 작업증명을 통해 투명하고 정확한 거래를 보장합니다. 작업증명을 사용하는 블록체인의 채굴자는 시스템이 원활하고 정확하게 실행되도록 하는 네트워크의 보호자이자 감시자 역할을 합니다.

그럼 이제 작업증명 과정에 대해 알아보겠습니다.

 

작업증명 과정

채굴이라고도 표현되는 작업증명은 논스값을 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 알고리즘이며, 작업증명의 참여자를 ‘채굴자’라고 합니다. 쉽게 말해, 작업증명은 풀기 어려운 문제를 빨리 해결한 사람에게 블록을 생성할 수 있는 권한을 주고 그 보상으로 코인을 제공하는 알고리즘 입니다.

채굴자는 새로운 블록을 생성하고 채굴 보상을 얻기 위해 복잡한 계산 작업을 수행하며, 이러한 계산 작업에는 상당한 연산력와 에너지가 필요합니다.

작업증명의 단계별 메커니즘은 다음과 같습니다.

1. 새롭게 발생하는 거래는 블록이라는 단위로 함께 그룹화됩니다. 따라서 암호화폐를 사고파는 등의 거래 데이터는 블록으로 모이게 됩니다.

2. 채굴자들은 본인이 새로운 블록 생성을 제안하기 위해 복잡한 계산 작업을 가장 먼저 해결하려고 노력합니다.

그렇다면 이 복잡한 계산 작업을 통해 무엇을 계산하는 걸까요? 채굴자는 적절한 논스값* 찾기 위해 계산 작업을 진행하며, 가장 먼저 논스값을 찾은 채굴자는 새로운 블록의 생성을 제안할 수 있는 권한을 얻기 때문입니다. 어떤 채굴자가 새로운 블록을 제안할 권리를 획득할지 결정하는 데에는 앞서 언급한 대로 논스값을 계산하는 과정이 필요하며, 어느 정도의 무작위성이 있습니다.

*논스값은 ‘지문’처럼 작동합니다. 입력 데이터의 ID이며 각 블록마다 고유합니다.

3. 논스값을 찾은 한 명의 채굴자가 선택됩니다. 채굴자는 네트워크로부터 새롭게 발행된 암호화폐를 보상으로 받고 블록체인에 새로운 블록을 추가합니다.

 

작업증명 vs 지분증명

많은 합의 알고리즘이 존재하지만, 그 중에서 가장 기대되는 알고리즘은 바로 지분증명(Proof of Stake, PoS)입니다. 해당 알고리즘의 컨셉은 2011년에 등장했고, 현재는 이더리움 2.0에서 사용하고 있습니다.

지분증명 방식에서 채굴자는 검증자(Validators)로 대체합니다. 채굴 과정도 없고 논스값을 맞히기 위한 경쟁도 없습니다. 대신 검증자가 임의로 선택되며, 선택된 검증자는 블록을 제시해야 합니다. 만약 블록이 유효하다면, 블록 내 거래 수수료와 블록 보조금으로 구성된 보상을 받습니다.

다만, 아무나 검증자가 될 수는 없습니다. 지분증명 프로토콜은 몇 가지 기준에 따라 이들을 선택합니다. 먼저, 검증자가 되기 위해서는 정해진 일정량 암호화폐를 ‘지분’으로 사전에 예치해야 합니다. 블록체인 네트워크에서 검증을 불성실하게 하거나 부정행위를 저지르지 못하게 미리 보증금을 내는 것과 비슷합니다. 만약 검증자가 부정행위를 저지른다면 보증금 전체나 일부분을 뺏기게 됩니다.

지분증명 방식은 작업증명 방식보다 몇 가지 장점이 있습니다. 가장 눈에 띄는 장점은 전략 소모를 획기적으로 줄여 탄소 배출량을 줄이는 점이며, 이는 작업증명과는 달리 지분증명에는 채굴 과정과 논스값을 맞히기 위한 경쟁이 없기 때문입니다.

 

마치며

비트코인은 작업증명으로 이중지불 문제를 해결하고 공개키 암호화, 해시 함수, 게임 이론 등을 집대성해 중앙화된 주체의 관리가 필요 없는 분산 네트워크를 만들고자 했습니다. 그 결과, 십 수년간 이중지불이 한 번도 발생하지 않고 수많은 공격에도 무너지지 않는 네트워크라는 사실을 훌륭히 증명하고 있습니다.

한편 작업 증명의 안정성이 증명되었음에도 앞서 언급대로 전력 소모량을 줄이기 위해 작업증명에서 지분증명으로 합의 알고리즘을 전환하는 이더리움의 움직임도 존재합니다.

이처럼 암호학을 기반으로 한 블록체인 생태계는 그 가치를 입증하고 실생활에 쓸 수 있을 정도로 안전한 네트워크를 만들기 위해 계속 발전해나가고 있습니다.

 

-> '작업증명(PoW)' 원문 보러가기

 

※ 참고자료

주의사항
본 글에 기재된 내용들은 작성자 본인의 의견을 정확하게 반영하고 있으며 외부의 부당한 압력이나 간섭 없이 작성되었음을 확인합니다. 작성된 내용은 작성자 본인의 견해이며, (주)크로스앵글의 공식 입장이나 의견을 대변하지 않습니다. 본 글은 정보 제공을 목적으로 배포되는 자료입니다. 본 글은 투자 자문이나 투자권유에 해당하지 않습니다. 별도로 명시되지 않은 경우, 투자 및 투자전략, 또는 기타 상품이나 서비스 사용에 대한 결정 및 책임은 사용자에게 있으며 투자 목적, 개인적 상황, 재정적 상황을 고려하여 투자 결정은 사용자 본인이 직접 해야 합니다. 보다 자세한 내용은 금융관련 전문가를 통해 확인하십시오. 과거 수익률이나 전망이 반드시 미래의 수익률을 보장하지 않습니다.
본 제작 자료 및 콘텐츠에 대한 저작권은 자사 또는 제휴 파트너에게 있으며, 저작권에 위배되는 편집이나 무단 복제 및 무단 전재, 재배포 시 사전 경고 없이 형사고발 조치됨을 알려드립니다.