고스트 프로토콜 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

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

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)