(수근수근)
[초급]합의알고리즘 (public vs private) 본문
합의 알고리즘
= 블록을 만드는 합의 방법
서로다른 노드가 어떻게? 동일한 원장을 동일한 순서로 나누어 가질 것인가?
- 노드는 자발적으로 운영되어야 한다.
- 노드를 운영하는 사람에게 이득을 주어야 한다.
- 독점을 막기 위해 노드운영이 쉬워서는 안된다.
- 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자를 위한 약속이 아니라
그 노드를 운영하는 사람들 간의 약속이라는 것!
'블록체인' 카테고리의 다른 글
[초급] 블록체인 비즈니스 기획시 고려사항 (0) | 2020.09.01 |
---|---|
[초급] 블록체인 인프라 구축사례 (0) | 2020.09.01 |
[초급] 프라이빗 블록체인과 퍼블릭 블록체인 (0) | 2020.08.20 |
[초급] 스마트컨트랙트 (0) | 2020.08.18 |
geth 설치하기 (0) | 2020.07.09 |