민프

[블록체인] 합의 알고리즘과, 작업증명과 지분증명 차이 본문

[정보]

[블록체인] 합의 알고리즘과, 작업증명과 지분증명 차이

민프야 2023. 7. 31. 14:47

블록체인이라는 네트워크가 유지되기 위해서는
블록을 생성하고 연결하는 방식을 통해 거래를 기록하고 검증해주는 누군가 필요합니다.

위 행위를 이어갈 수 있도록 인센티브가 주어지게 되는데, 이 인센티브가 우리가 알고 있는 암호화폐이다.

 

여기에서 거래를 검증하고 기록하는 합의 알고리즘이 있는데 작업증명(PoW, Proof of Work)과 지분증명(PoS, Proof of Stake), 위임지분증명 등등.. 여러 증명들이 있는데 여기에서 가장 일반적인 PoW와 PoS에 대해서 알아보았다. 

 


1. 먼저 합의 알고리즘은 무엇일까?

http://wiki.hash.kr/index.php/%ED%95%A9%EC%9D%98_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98

 

합의 알고리즘 - 해시넷

합의 알고리즘(consensus algorithm)이란 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말한다. 합의 모델, 합의 방식, 합의 메커니즘 또는 합의 프로토콜이라고도 한다. 블록

wiki.hash.kr

해시넷에 나온 내용에 따르면

다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말하고, 합의 모델, 합의 방식, 합의 메커니즘 또는 합의 프로토콜이라고도 한다.

블록체인 시스템의 경우 네트워크에 참여하는 모든 참여자들이 동일한 데이터를 복사하여 분산 저장하기 때문에 원본과 사본의 구별이 없고, 통일된 의사결정을 내릴 수 있는 권위 있는 중앙이 존재하지 않아서 효율적인 의사결정을 내릴 수 있는 다양한 알고리즘이 개발되었는데

아래 사진과 같은 증명들이 있다는 것을 확인 할 수 있었다. 

합의 알고리즘 종류

합의 알고리즘은 암호 화폐 네트워크의 무결성과 보안을 유지하기 위해 중요하다. 합의 알고리즘은 분산화 노드들이 어떤 버전의 블록체인이 진짜 버전인지 합의할 수 있게 한다

위 사진에서 가장 일반적인 증명은 작업증명(PoW, Proof of Work)과 지분증명(PoS, Proof of Stake)인데 이 두 부분에 대해서 간단하게 살펴보자 

 


2. 작업증명은 뭘까?

작업증명(PoW)은 1993년 심시아 더크(Cynthia Dwork)와 모니 나노어(Moni Naor)이 작업증명의 기본 개념을 고안했다. 그 후 마커스 제이콥슨(Markus_Jakobsson)과 아리 쥬엘스(Ari Juels)에 의해 1999년 Proof of Work 라는 명칭이 붙었다

 

작업증명 방식을 최초로 고안하여 적용한 것은 1997년 아담 백(Adam Back)이 개발한 해시캐시였다. 

해시캐시(hashcash)는 대량 스팸메일을 막기 위해 개발한 암호화폐이다. 이메일을 보낼 때 우표 대신 해시캐시를 지불하게 함으로써 시간과 비용 부담 때문에 대량 스팸메일 발송을 못 하게 하려는 목적이었다. 즉, 이메일을 발송하기 위해서는 해시캐시 스탬프를 미리 받아야 하는데, 이 스탬프를 받으려면 컴퓨터 연산을 통해 일정한 해시(hash)를 찾도록 하는 작업증명(PoW) 과정을 거치도록 했다. 작업증명을 통해 특정 해시값을 찾기 위해 수많은 반복 연산을 수행하도록 함으로써, 상당한 시간과 비용이 들게 해서 결국 대량 스팸메일을 보낼 수 없도록 하겠다는 생각이었다.

해시캐시가 도입한 작업증명 방식은 이후 2009년 사토시 나카모토가 개발한 비트코인(bitcoin)에 적용되었다.

 

작업증명(PoW, Proof of Work)이란 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식의 알고리즘이고, 채굴을 통해 작업증명을 한다. 비트코인, 이더리움, 라이트코인, 비트코인캐시, 비트코인골드, 모네로, 지캐시, 시아코인, 불웍, 에이치닥 등의 암호화폐에서 작업증명 방식을 사용하고 있다.

 

쉽게 말해서
어떤 트랜잭션이 발생하였을 경우 해당 트랙잭션이 유효한 트랜잭션인지에 대한 합의 방법 및 새로운 블록이 진짜인지, 가까인지에 대한 검증을 수행한다.

 

여기에서 '작업'이란 '채굴'에 이르기까지 연산 과정을 뜻한다. 

채굴자들은 컴퓨터로 복잡한 수식을 풀어 조건에 맞는 해시값을 찾는 과정을 반복하게 되는데,  이 경우 모든 노드들이 찾아낸 해시값을 검증하고 승인하는 과정을 거쳐 블록에 거래 내역을 저장한다.

 

장점으로는

보안성이다.

모든 노드들의 승인을 거쳐야 하기 때문에 거래 내역을 속이기가 힘들다는 장점(51% 공격을 손쉽게 방어)이 있다.

이런 점에서 작업증명 합의 알고리즘은 블록체인이 가지는 탈중앙화라는 본질을 가장 잘 살린 합의 방식이다.

 

그러나 단점으로는

이런 과정 때문에 거래 처리 속도가 늦어진다는 한계가 있다. 또한 채굴에 필요한 에너지 소비가 심하다는 것도 단점이다. 이 때문에 일정 조건에 따라 블록 생성에 참여하는 노드들을 제한하는 지분증명방식 등장했다.

 


3. 지분증명은 뭘까?

지분증명(PoS, Proof of Stake)은 작업증명(PoW, Proof of Work)과 다르게 작업량이 아닌 지분에 비례하여 블록에 기록할 권한이 더 많이 부여되는 것이다. 해당 암호화폐를 보유한 지분에 따라 채굴에 성공할 확률이 결정된다.

 

다시 말해 모든 노드들의 승인을 거치지 않아도 되니 작업증명 방식보다 거래 처리 속도가 빠르고, 이는 곧 전력소비를 줄일 수 있음을 의미한다.

 

그러나 지분증명 방식은 ‘평등’을 추구하는 블록체인의 본질에서 벗어나 ‘부익부 빈익빈’을 초래한다는 꼬리표가 따라다닌다.

많은 코인을 가지고 있을수록 더 많은 보상을 받는 구조이기 때문이다.

 

큐텀(QTUM), 피어코인(Peercoin) 등의 암호화폐가 지분증명 방식을 사용하고 있고, 스트라티스(Stratis)는 처음에 작업증명 방식을 사용했으나 지분증명 방식으로 변경했다. 
이더리움도 작년 9월 업그레이드를 시작으로 이더리움 2.0이 되면서, 작업증명 방식에서 지분증명으로 바뀌었다. 

왜 이더리움이 2.0으로 바뀌었을까? 업비트에 올라온 글을 참고해보면

https://upbitcare.com/academy/education/coin/168

 

이더리움2.0이란 무엇인가? - 업비트 투자자보호센터

이더리움2.0 디파이(DeFi), NFT 등 새로운 기술들이 이더리움 네트워크 위에서 활성화되면서 이더리움에서는 확장성 문제(scalability problems)가 대두되기 시작했습니다. 많은 프로젝트가 활성화되어

upbitcare.com

디파이(DeFi), NFT등 새로운 기술들이 이더리움 네트워크 위에서 활성화되면서 트랜잭션이 증가하고 네트워크 혼잡 현상이 발생하여서 높은 가스 수수료 및 느려진 트랜잭션 처리 속도 등의 문제로 네트워크 효율성이 떨어졌다

따라서 이더리움 커뮤니티는 확장성 문제를 해결하기 위해 이더리움 2.0을 도입했다고 하였다. 

 

이렇게 합의 알고리즘에 대한 부분과
PoW, PoS의 장단점에 대해서 알아보았다

사실 상 가볍게 알아본거라 부족한 부분이 많지만 기회가 된다면 다른 증명에 대한 부분도 알아보아야겠다.

 

알면 알수록, 파면 팔수록 뭔가 계속 배워야할 부분이 많아지는 것 같아서 쉽지는 않지만 개발에 필요한 부분만 잘 찾아봐야겠다.

 

Comments