(수근수근)

[초급]합의알고리즘 (public vs private) 본문

블록체인

[초급]합의알고리즘 (public vs private)

InformationFarm 2020. 8. 18. 17:05

합의 알고리즘

= 블록을 만드는 합의 방법
서로다른 노드가 어떻게? 동일한 원장을 동일한 순서로 나누어 가질 것인가?

  • 노드는 자발적으로 운영되어야 한다.
  • 노드를 운영하는 사람에게 이득을 주어야 한다.
  • 독점을 막기 위해 노드운영이 쉬워서는 안된다.
  • PoW  작업증명 / PoS 지분증명 =>합의 알고리즘의 종류


PoW(Proof of work)

채굴이란 말이 생기게 된 이유이기도 하며 합의 알고리즘 가장 초창기의 종류 중 하나이다.

 

[특징]

- 블록해시가 특정 난이도에 맞게 계산되어야 한다.

- 블록 해시는 역방향으로 복호화 할 수 없어 계속 해시값을 대입해봐야 하는 단순작업이 반복된다.

- 난이도를 각각 정해서 16진수에서 몇 bit이하의 값은 정답으로 하겠다 라를 정책을 가지고 실행된다.

- 이를 해결하는 조건을 만족하기 위해 Nonce라는 임의의 값을 계속 대입한다.

- 전기세, 컴퓨터 ...의 조건보다 < 채굴해서 얻는 비용 => 사람들을 채굴을 하게 된다.

이해하기 쉽게 설명해본다면......

예를 들어 카드가 1~10 까지 있다고 하자!
처음에는 사람들에게 2이상의 수가 나오면 너에게 100원을 줄게 라고 한다!
2이상이 나올수 있는 경우는 90%에 속한다 한마디로 쉽다는 것이다.

하지만 2이상이 나왔을 경우!
룰을 바꾸어 5이상이 나오면 너에게 500원을 준다고 하자!
확률울 50%로 줄었지만 이익은 5배로 커졌다.
이런 과정이 계속 반복되면 우연의 법칙으로 인해서 난이도는 점점 올라가고 이득은 점점 커진다.
이렇게 작은 수가 아니라 엄청나게 큰 숫자로 가정해서 대입하면 이가 PoW 방식이 되는 것이다

-채굴 : 노드 운영이 필요한데 누가 운영해주지?

- 채굴 =  작업증명 + 보상 

 

PoS (Proof of Score) 지분증명

블록체인 이후에 나온 알고리즘으로 최근에 많이 사용되고 있음

 

[특징]

- 블록이 선택 받는 가중치를 정함

- 그 가중치의 기준은 내가 가지고 있는 지분량과 시간으로 정해진다.

- 보상을 많이 받고 싶으면 많은 돈을 가지고 있어야 한다

- 은행의 이자를 주는 방식과 유사하다

- 기존 작업증명은 쓸데없는 에너지 낭비가 많다!

- "지분증명이 유지되기 위해서는 사람들이 암호화폐를 많이 사서 보유해야한다."

    -> 암호화폐의 가치상승에 대한 기대치....

 

기업이 운영하는 블록체인에서 합의알고리즘이란?

우선적으로 기업이 블록체인을 운영할 때 자주 나오는 질문이다!

프라이빗 블록체인에서 암호화페가 필요한가?

프라이빗 블록체인에서 마이닝이 필요하나?

프라이빗 블록체인에서 작업증명 지분증명 어떤것이 좋은가?

 

결론부터 말하자면 

채굴 보상 필요 X       암호화폐 필요 X

 

그럴까

기업이 블록체인을 운영하는 경우 그 목적에 따라 노드운영자가 지정된다.

따라서 보상체계를 만들경우없고

누군가가 안정적으로 끊임없이 블록을 생성해주면된다.

 

그렇다면 기업이 운영하는 블록체인에서 중요한 합의 알고리즘은?

- 어떻게 악의적인 노드가 있어도 정상적으로 합의할 것인가?

- 어떻게 항상 안전하게 대표 선출해 시스템을 유지할 것인가?

  -> PBTF / Paxos / RAFT

  -> 지극히 안정저인 알고리즘만을 고려하여 선택함

 

 

 

[결론]

 

퍼블릭 블록체인은 

- 노드운영 장려하고 암호화페 가치상승을 목표로 운영

 

프라이빗 블록체인

- 오직안정적인 운영을 목표로 한다.

 

하지만 공통점은 누군가와의 약속 제 3자를 위한 약속이 아니라

그 노드를 운영하는 사람들 간의 약속이라는 것!

Comments