베리드, 지분증명(PoS) 합의 알고리즘 공개

Berith Proof of Stake
Berith Proof of Stake

지난 17일 국내 2호 ICO 프로젝트인 베리드가 기존 블록체인의 합의 알고리즘 문제를 해결하고자 개발한 지분증명 알고리즘(Proof of Stake)의 소스코드를 공개했다.

블록체인은 수많은 노드가 연결된 분산원장시스템으로, 모든 노드가 동일한 거래기록을 갖기 위한 특정한 알고리즘인 ‘합의알고리즘’이라는 것이 필요하다. 이 합의알고리즘은 정상적으로 작동하지 않으면 이중지불과 같은 문제가 발생해 블록체인 생태계의 신뢰성을 무너뜨릴 수 있을 정도로 매우 중요한 기술 중 하나이다.

현재 합의 알고리즘은 작업증명(Proof of Work, “PoW”), 지분증명(Proof of Stake, “PoS”), 위임지분증명(Delegated Proof of Stake, “DPoS”)가 대중적이며, 각각의 장단점을 지닌 이들 합의 알고리즘의 문제점을 해결하기 위한 PoS의 연구가 활발이 진행되고 있다.

베리드의 PoS는 기존 PoS증명방식을 기반으로 하되, 지분만이 아닌 기간에 대한 확률 점수에 기초한 Round Robin을 구성하여 노드를 오랜 기간 유지할수록 보상 확률이 높아진다. 즉, 생태계에 우호적인 참여자에게 노드생성 권한을 주는 것으로, 노드 안정성에 대한 문제를 해결할 수 있다.


베리드에서 개발한 PoS의 블록 생성을 위한 노드로 참여하기 위해서는 기존의 PoW와 달리 고사양의 장비를 요구하지 않으며, 방대한 양의 에너지를 낭비할 필요도 없다. 또한, DPoS가 가지는 문제점 중 하나인 중앙집권 형태를 배제한다. 기존 PoS가 지닌 문제점인 빈익빈, 부익부의 문제를 생태계 우호적 참여자에 대한 혜택을 통해 해결하였고, Nothing at Stake (두 갈래로 나눠진 블록 가운데 참을 증명하지 않고, 두 방향 모두 증명해 결국 블록체인의 신뢰성이 낮아지는 현상) 문제를 Something at Stake로써 해결했다.

또한, 전통적인 방법에서는 하나의 계정(Account)에 1개의 잔고(Balance)를 가지게 되므로 채굴 중에는 해당 계정은 거래를 할 수 없어 거래를 위한 별도의 계정을 만들어야 한다는 단점이 존재한다. 하지만 PoS는 1개의 계정이 3개의 잔고를 가지게 되는데, 이는 주 거래용 거래잔고(Main Balance)와 지분잔고(Stake Balance), 그리고 보상잔고(Reward Balance)로 구분함으로써 일반적으로 채굴 중에 발생하는 거래 불가능 상태를 해결하였다. 또한 입출금이 자유로운 보상잔고가 별도로 존재하여 이 보상잔고에 코인을 보관하게 되면 지분 계산시에 별도의 보너스를 받게 되어 실제로 복리효과를 누릴 수 있게 되는 점도 전통적인 PoS와 차이를 보이는 점이다.

대부분의 지분증명 알고리즘에서는 스테이킹(Staking: 채굴을 위해 코인을 지분으로써 고정시키는 행위)시에 코인을 추가를 할 수가 없다. 이는 마치 은행 예금 시 한번 정해진 금액을 변경할 수 없는 것과 같다. 만일 코인을 추가하려면 스테이킹을 해제한 후에 다시 스테이킹을 해야 하는 번거로움이 있다. 하지만 베리드의 PoS는 스테이킹 중에도 별도의 조치 없이 정해진 한도 내에서 코인 추가가 가능하다. 더불어 보상잔고에 쌓인 코인은 특별한 제약 없이 지분잔고로 이동시켜 더 큰 지분을 확보할 수 있는 부분도 매우 특별하다.

Berith는 PoS관련 메인넷 소스코드를 Github에 공개하였으며 테스트넷 오픈을 앞두고 에어드랍 이벤트를 준비 중이다.

전자신문인터넷 장윤영 기자(young@etnews.com)