IT와 비즈니스를 연결하다.

[비트코인]PoW,PoS등 다양한 합의 메커니즘 본문

IT 관련 소식/블록체인

[비트코인]PoW,PoS등 다양한 합의 메커니즘

sujiinsight 2018. 9. 9. 21:10

1. PoS란 무엇인가요?

 

  1. PoS는 Proof of Stake(자산증명)의 줄임말
  2. 자산을 많이 가진 사람에게 분산화된 비허가성 데이터베이스인 블록체인을 업데이트하기 위한 권한을 부여하는 합의 메커니즘

2. PoS(작업증명, Proof of Work) 

  1. 채굴자(miner)가 해시연산을 반복적으로 시행하는 전문 하드웨어(채굴기)를 사용하여 작업증명(PoW)을 생성함
  2. 이를 네트워크에 전파하여 블록을 생성함
  3. 연산능력에 비례하여 데이터베이스 업데이트 권한 획득

3. PoS(자산증명, Proof of Stake)

 

  1. 검증자(validator)가 자신이 현재 보유하고 있는 자산(stake)의 양에 비례하여 데이터베이스 업데이트 권한 획득
  2. 블록에는 일련의 검증자가 자신의 자산을 보유하고 있다는 자산 증명의 리스트가 들어있음.
  3. 자산증명의 리스트 - 검증자들은 현재 자신이 일정량의 자산을 보유하고 있다는 자산증명을 블록에 추가시키고 네트워크는 증명된 자산이 가장 큰 블록체인을 가장 정당한 블록체인으로 하기로 합의

4. 블록체인- 장부

 

5. PoS의 기본원리는 무엇인가요?

 

  1. PoS는 특정 암호화화폐(crytocurrency)에 지분을 많이 가지고 있는 사람들을 거래검증 및 블록생성 절차에 참여시킴으로써 시스템의 보안을 담보하는 합의방식
  2. 특정 화폐에 지분을 많이 가진 사람들(stakeholder)일수록 특정 화폐의 가치를 상승시키려는 인센티브가 크다는 것이 그 기본원리

 

6. PoS 문제는 없나요?

 

  1. PoS의 가장 큰 문제는 자산증명을 생성하는데 있어서 한계비용이 전혀 없음
  2. 이는 PoS의 가장 큰 문제점으로 꼽히는 nothing-at-stake problem임
  3. proof 계속 지원 가능함

7. Long-range Attack(장거리 공격) - 자산 증명이 무료이므로

 

  1. 공격자가 초기의 Genesis Block부터 시작해서 자산 증명의 낮은 한계비용을 활용하여 완전히 새로운 블록체인을 생성
  2. 네트워크에 새롭게 들어온 참가자는 어느 블록체인이 정당한 블록체인인지 독자적으로 알 수 없음

8. Short-range Attack(단거리 공격)

 

  1. 공격자가 이미 있는 블록체인에 새로운 블록을 추가시켜 이중지불공격등의 공격을 수행하려고 할 때 검증자(validator)들은 정당한 블록체인이 무엇인지와 상관없이 두 블록 모두에 서명하는 것이 유리
  2. 공격자가 적은 비용으로 블록체인을 공격 가능

9. nothing-at-stake 문제를 어떻게 해결할 수 있나요?

 

  1. nothing-at-stake 문제의 핵심은 검증자가 잘못된 선택을 하더라도 잃을 것이 없다는 것
  2. 따라서, 이더리움의 Vitalik Bulterin과 Vlad Zamfir는 이더리움의 PoS 알고리즘인 Casper에서 이 문제를 보증금벌금을 통해 해결하려고 하고 있음(즉, 검증자를 하려면 보증금을 내려고 해야함)

10. 보증금이 정확히 뭔가요?

 

  1. Casper에서 검증을 희망하는 검증자들은 보증금을 예치해둠으로써 bonded validator가 되어 합의과정에 참여할 수 있음
  2. 만약 예치금을 맡긴 검증자가 정당하지 않은 블록을 생성한다면 Casper 프로토콜에 의해 검증자가 맡긴 에치금을 몰수하는 형식으로 벌금을 부과함
  3. 이를 통해 검증자는 잃을 것이 없는 상황(nothing-at-stake)이 아닌 잃을 것이 있는 상황(something-at-stake) 상황으로 바뀜

11. 하지만 예치기간(bonding period)이 지난 후에는 어떻게 하나요?

 

  1. 예치기간이 지난 상황에서는 다시 잃을 것이 없는(nothing-at-stake) 상황으로 돌아감
  2. 따라서, 네트워크 참가자는 현재 예치금이 있는 검증자의 서명(signature)만을 사용하여 블록체인을 검증해야 함
  3. (long-range attack 가능) 따라서 네트워크 참가자들은 최신화된(현재 예치금을 맡겨둔) 검증자의 리스트를 가지고 있어야 블록체인의 검증이 가능함. Weak subjectivity - 주변 상황을 고려해야 함(주변 사람과 소통해야 함)

Source: PoW, PoS등 다양한 합의 메커니즘 | 일반인을 위한 비트코인 강좌 block12