시스템구조

블록체인_합의 알고리즘_PoW, Pos, DPoS, BFT, 비트코인

스윙스윙 2021. 9. 28. 21:33

▣ 블록체인_합의 알고리즘_PoW, Pos, DPoS, BFT

구분 설명
작업 증명
(PoW : Proof of Work)
블록생성을 하고자 하는 노드들이 특정한 해시(hash)값을 찾는 연산을 수행하여 
특정한 난이도의 작업을 수행했음을 증명
노드의 컴퓨팅 파워에 따라 블록 생성 확률이 높아짐 -> 계산자원 낭비
거의 동시에 블록을 생성할 경우 불필요한 Fork 발생
지분 증명
(PoS : Proof of Stake)
참여자의 소유 지분이 블록 생성권 지분에 반영이 되는 합의 알고리즘
보유하고 있는 화폐의 양에 비례하여 블록을 생성
PoW의 계산자원 낭비 문제를 해결
초기에 코인을 많이 보유한 참여자가 블록 생성에 유리한 초기 코인 분배 문제 (Initial
Distribution Problem) 발생
위임 지분증명
(DPoS :
Delegated proof of stake)
지분 보유자들은 지분에 비례한 투표로 대표자를 선출
대표자들에게 블록 생성과 검증에 대한 권한을 부여
PoW와 PoS에 비하여 합의 진행하는 노드의 개수가 감소하기 때문에 빠르게 블록 생성
BFT
(Byzantine Fault Tolerance)
3분의 1 미만이 악의적으로 행동해도 3분의 2 이상이 동의하지 않으면 합의가 되지 않음
3분의 2 이상이 합의해야 합의 성공하는 방식
PBFT(Practical Byzantine Fault Tolerant)는 전체 노드의 1/3 까지 장애를 허용
(N=3f+ 1)Paxos, Raft 의 경우 비동기 환경에서 정보변조가 없다고 가정한다(non Byzantine)

2018년 90번

정답 : 1번

작업증명 PoW는 분산 시스템에서 일부 노드의 장애 혹은 정보변조에 대응하기 위해 전체 참여 노드 중 절반 이상 노드의 합의가 필요하다
Byzantine Fault : 분산 시스템에서 발생 할 수 있는 일부 노드의 장애 혹은 정보 변조

Byzantine Fault Tolerance는 동기시스템에서 이런 장애를 견딜 수 있는 시스템 설계를 의미

비잔티움 장애 허용 시스템에서는 제한 범위를 넘지않는 한 일부 노드에 장애가 있더라도 정확한 동작을 보장한다.

 

팩소스(Paxos)는 신뢰할 수 없는 프로세서들의 네트워크에서 합의 문제를 해결하기 위한 프로토콜 그룹

Paxos의 특징은 과반수의 동의를 얻었다면 그 동의 내용이 나중에 변경되지 않는다는 점입니다. 리더를 중심으로 합의 형성을 수행하지만 Byzantine Fault 모델이 아니기 때문에 리더가 부정을 저지르는 경우 동기화되지 않습니다. 그리고 맴버가 거짓으로 신고한 경우에도 동기화가 되지 않기 때문에 악의를 가진 참가자가 있는 환경에서는 운영하기에는 적절하지 않습니다.

 


2019년 97번

정답 : 3번

비트코인은 합의 알고리즘으로 작업증명방식을 사용하고 있음 그런데 작업증명 방식의 문제점은 동시에 복수 채굴자가 서로 다른 블록을 생성할 가능성이 존재한다는 것임. 이것을 분기(fork)라고 함