[Blockchain A-Z] 암호화폐 직관적 이해 : 고아 블록(Orphaned Blocks)

yebeen·2022년 8월 31일
0

Blockchain A-Z

목록 보기
27/43
post-thumbnail

고아 블록(orphan block)

고아블록(orphan block)은 두 개의 블록이 동시에 승인되었을 때 메인체인으로 연결되지 못해 따로 떨어져 존재하는 블록을 말합니다. 스테일블록(stale block)이라고도 하며 고아블록 중에서 첫번째 블록을 엉클블록(uncle block)이라고 합니다.

고아 블록은 두 명의 채굴자들이 비슷한 시기에 블록을 생성할 때, 혹은 해커가 거래를 교란시키기 위한 공격을 시도할 때 생성됩니다.

경쟁하는 두 개의 네트워크 즉, 두 개의 체인을 동시에 갖게됩니다. 그리고 이 다음에 블록을 구축하는 자가 누구든지 간에 황금률에 따라서 더 긴 체인이 살아남습니다. 다음에도 동시에 블록을 구축하는 경우가 아니라면 그 다음 블록을 찾는 자가 이 체인을 가지게 되는 것입니다.

결국 경쟁하고 있는 두 체인 중 더 높은 해싱 파워 또는 해시율이 더 높은 쪽이 이기는 것입니다.
이는 비잔틴 장군 문제의 솔루션과 일치하는데 블록체인 합의 프로토콜을 구성하는 방식에 대해 51%의 해시율을 갖는 한 합의가 가능합니다.

경쟁에서 진 블록에 속한 모든 트랜잭션은 다시 멤풀로 돌아가게 됩니다. 이 때 다른 블록에 있던 트랜잭션 중 블록에 해당하지 않는 트랜잭션은 멤풀로 돌아가게 됩니다.

고아 블록의 생성 시간에 주목해 보면 시간상으로 누가 먼저 채굴했는지가 중요하지 않습니다. 정말 중요한 것은 결국에 어떤 체인이 가장 긴지 어떤 블록이 가장 긴체인에 속하는 블록이 되는지가 중요한 것 입니다.

거래소는 트랜잭션이 고아블록으로 전략할 위험을 최소화하고자 합니다. 따라서 대개 트랜잭션의 성공을 판가름하기까지 여섯 번의 확인을 거치도록 기다립니다. 일반적으로 고아블록이 발생했을 경우 정보가 전달되기 까지 시간이 오래걸리는 이유이기도 합니다.

또한 고아블록 생성 이후 다음 블록을 생성하면 평균 블록 생성 시간이 더 길어지기 때문에 블록 생성 후의 난이도가 줄어들게 된다는 문제점도 있습니다.


대안

- 비트코인

비트코인의 경우 평균적으로 분기가 발생했을 때 2~3개의 블록이 추가된 후에 문제가 해결됩니다. 실제 거래 상황에서는 보통 어떤 거래가 포함된 블록 이후로 3~5개의 블록이 더 추가된 후에야 그 거래를 최종적으로 유효한 것으로 확정합니다. 따라서 분기 상태가 해결되며 결국 하나의 블록체인만 남게 됩니다.

- 이더리움

이더리움은 고스트 프로토콜(Ghost Protocol : Greedy Heaviest Object subTree Protocol)을 사용하여 문제를 해결합니다. 고스트 프로토콜은 비트코인의 성능과 보안성 향상을 위해 개발된 합의 알고리즘으로 메인 체인을 선택하는 데 있어 가장 긴 체인을 채택하는 알고리즘입니다. 이더리움은 블록 생성 속도가 빨라 고아블록의 생성 확률이 높아 보안이 취약하기 때문에 수정된 고스트 프로토콜을 사용하며 이를 통해 고아 블록을 해결합니다.

profile
🐣🐥

0개의 댓글