반응형

블록체인에서 Finality란? 왜 중요한가?


Finality란 블록체인의 특징중 하나인 거래는 절대 되돌려질 수 없고 수정될 수 없다는 것이다. 하지만 우리가 이전에 봐왔던 “가장 긴 체인의 법칙”을 생각하면 말이 달라진다. 채굴자들은 블록을 생성할 때 가장 긴 체인에 채굴자들 자신이 만들어낸 블록을 붙여 보상을 받으려 한다.


하지만 이 순간에 A와 B가 동시에 채굴하면 체인이 두갈래로 나뉘어 질 수 있게 되고 메인 체인이 두개로 나누어지게되면 여러 노드들이 A 또는 B 체인으로 서로 나뉘게 된다. 이후 이중에서 더 빠르게 가장 긴 체인이 된 블록체인이 다시 메인 체인이 되고 이때 A 체인이 가장 긴 체인이 됐다면 B 체인에 있던 노드들은 A 체인으로 모두 붙기 때문에 B 체인은 자연스레 소멸된다. 이때 B 체인에만 있던 트랜잭션은 다시 멤풀로 가게 된다.



이때 가장 긴 체인의 법칙은 POW 알고리즘에서 과거 거래들이 절대 바뀔 수 없도록 보장한다는 것에대해 문제를 일으킬 수 있다.



현재 블록체인은 마이닝 풀이라는 집단들이 존재한다. 마이닝 풀이란 마이닝을 위해 Hash rate를 집중시켜 자신들이 채굴하고 서로 기여한 Hash rate에 비례하여 보상을 받는 집단인데 이 집단이 커졌고 블록체인 네트워크의 51% 이상의 노드가 하나의 마이닝 풀에서 존재한다 생각해보자.



그리고 그 마이닝 풀에서 처음부터 블록을 만들어 앞서 말했던 가장 긴 A체인을 넘어간다 생각해보자. 그럼 마이닝 풀의 블록체인이 가장 긴 체인이 되고 그 안의 내용은 모두 위조 될 수 있다. 따라서 PoW 방식에서는 Finality의 문제점이 생길 수 있게 된다.

이를 방지하기 위해 이더리움 PoS 합의 알고리즘에서는 검증인이라는 개념을  도입했다.



검증인들은 key checkpoints라는 특정 시점(대략 100 블록마다)에 블록체인을 점검하는 역할을 하게 된다.

이 Checkpoint에서 검증인들이 2/3 이상 특정 블록을 승인하면 그 블록은 finalized가 되고 과거에 조작되지 않았다는 것을 인정받게 된다. 이렇게 한번 검증받게 되면 체크 포인트 전의 어떠한 블록도 지금부터는 변경이 불가능하게 되어 마이닝 풀에서 새로이 시작하는 블록체인을 만들어도 체크포인트 이전의 블록들은 모두 무효화 되기에 새로 만들 수 없게 되는 것이다.








반응형

'Applied > Blockchain' 카테고리의 다른 글

이더리움 플라즈마(Ethereum Plasma)란?  (0) 2018.11.01
EVM에 대한 간단한 정리  (0) 2018.10.31
UTXO SET이란  (0) 2018.10.26
SPV(Simple Payment Verification)  (0) 2018.10.02
블록체인 간단한 개념 PPT  (0) 2018.07.22