고스트 프로토콜 편집하기
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
− | '''고스트 | + | '''고스트 프로토콜'''(ghost protocol)은 'Greedy Heaviest Object subtree protocol'의 약자로 [[메인체인]]을 선택하는 데 있어 가장 긴 [[체인]]이 아닌, 가장 무거운 체인을 채택하는 [[알고리즘]]이다. |
==개요== | ==개요== | ||
− | + | 고스트 프로토콜은 비트코인의 성능과 보안성 향상을 위해 개발된 알고리즘으로서 해당 방식에서 [[블록체인]]에 분기가 일어나면 가장 큰 무게를 가진 서브트리를 선택한다. 단순히 얼마나 많은 자식 블록들이 이어져 있는지뿐만 아니라 얼마나 많은 고아블록들을 가지고 있는지를 모두 고려하여 결정되는 메커니즘인 셈이다. [[비트코인]]의 경우 [[포크]]가 발생하면 가장 길이가 긴 [[체인]]을 메인 블록체인으로 하고, [[고아블록]]은 탈락이 된다. 따라서 고스트 프로토콜은 고아블록의 처리에 대한 알고리즘이라고 볼 수 있다. 비트코인은 블록 생성 시간이 약 10분으로 매우 느리기 때문에 고아블록의 생성 확률이 낮다. 만약 분기가 발생했을 경우, 가장 큰 무게를 가진 블록을 메인 블록체인에 연결하고 나머지 블록은 버린다. 이러한 메커니즘은 채굴 후에 버려지는 블록의 갯수를 줄이는 효과를 가져온다.<ref>kblock, 〈[https://steemit.com/kr/@kblock/44-1-pow-pos (케블리)#44. 합의 알고리즘 마스터하기 - 1편(PoW, PoS)]〉, 《스팀잇》</ref> | |
− | + | 반면 [[이더리움]]의 블록 생성 시간은 약 12초로 매우 빠르다. 그러나 [[블록]]이 빠르게 생성되는 만큼 고아블록이 만들어진 확률이 높아져 안정성이 떨어진다. 이더리움은 빠른 블록 생성 속도를 확보하면서도 보안성을 높이기 위해 기존의 고스트 프로토콜을 수정한 [[수정 고스트 프로토콜]](modified ghost protocol)을 적용하였다. 수정 고스트 프로토콜 방식에서는 비트코인처럼 무게가 아닌, [[제네시스블록]]에서 출발하여 각 서브트리들이 얼마나 블록을 포함하고 있고, 그 블록들의 개수가 많은 체인을 [[메인체인]]의 블록으로 선택한다. | |
==역사== | ==역사== |