고스트 프로토콜 편집하기

이동: 둘러보기, 검색

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

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
44번째 줄: 44번째 줄:
 
GHOST Protocol은 stale 블록의 처리에 대한 알고리즘이다. GHOST protocol은 bitcoin을 위해 나왔다. 비트코인은 블록생성시간이 약 10분으로 느리지만 stale블럭의 생성확률이 매우 낮다. 그래서 stale 블록이 발생하면 가장 긴 블록을 메인블록체인(Canonical Blockchain)에 연결하고 나머지 stale 블록은 버린다. 하지만 이를 위해 10분을 기다리므로 비트코인은 매우 느리다. 이를 보완하기 위해 이더리움은 블록생성 시간을 약 12초 정도로 매우 빠르게 만들었다. 그러나 블록이 빠르게 생성되면 그만큼 stale 블록이 생성될 확률이 높아지므로 안정성이 떨어진다. 따라서 이를 보완하기 위해 이더리움은 수정된 GHOST protocol을 적용했다.<ref name="버억">이홍석, 〈[https://medium.com/tomak/ethereum-ghost-protocol%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4-56590765eb18 Ethereum GHOST Protocol에 대한 이해]〉, 《미디엄 기업》, 2018-07-26
 
GHOST Protocol은 stale 블록의 처리에 대한 알고리즘이다. GHOST protocol은 bitcoin을 위해 나왔다. 비트코인은 블록생성시간이 약 10분으로 느리지만 stale블럭의 생성확률이 매우 낮다. 그래서 stale 블록이 발생하면 가장 긴 블록을 메인블록체인(Canonical Blockchain)에 연결하고 나머지 stale 블록은 버린다. 하지만 이를 위해 10분을 기다리므로 비트코인은 매우 느리다. 이를 보완하기 위해 이더리움은 블록생성 시간을 약 12초 정도로 매우 빠르게 만들었다. 그러나 블록이 빠르게 생성되면 그만큼 stale 블록이 생성될 확률이 높아지므로 안정성이 떨어진다. 따라서 이를 보완하기 위해 이더리움은 수정된 GHOST protocol을 적용했다.<ref name="버억">이홍석, 〈[https://medium.com/tomak/ethereum-ghost-protocol%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4-56590765eb18 Ethereum GHOST Protocol에 대한 이해]〉, 《미디엄 기업》, 2018-07-26
 
</ref>
 
</ref>
GHOST Protocol은 Greedy Heaviest Object subTree의 약자이고 말 그대로 가장 큰 무게를 가진 subtree를 선택하는 알고리즘이다. Bitcoin의 경우 fork가 발생했을 때 더 긴 블록이 연결된 블록을 메인 체인으로 하고 Uncle은 버린다. Ethereum의 경우에는 fork가 발생했을 때 더 무거운 쪽을 선택한다. 이더리움은 이런 수정된 GHOST Protocol을 사용한다. 먼저, GHOST Protocol의 기본 메커니즘을 따라간다. 다음은 GHOST Protocol algorithm이다. 이더리움의 수정된 GHOST Protocol로 수정된 GHOST Protocol의 내용은 다음과 같다.
+
GHOST Protocol은 Greedy Heaviest Object subTree의 약자이고 말 그대로 가장 큰 무게를 가진 subtree를 선택하는 알고리즘이다. Bitcoin의 경우 fork가 발생했을 때 더 긴 블록이 연결된 블록을 메인 체인으로 하고 Uncle은 버린다. Ethereum의 경우에는 fork가 발생했을 때 더 무거운 쪽을 선택한다. 이더리움은 이런 수정된 GHOST Protocol을 사용한다. 먼저, GHOST Protocol의 기본 메커니즘을 따라가보자. 다음은 GHOST Protocol algorithm이다. 이더리움의 수정된 GHOST Protocol로 넘어오자. 수정된 GHOST Protocol의 내용은 다음과 같다.
 
*하나의 블록은 반드시 하나의 모블록을 지정해야 하며, 0 또는 그 이상의 삼촌을 지정해야 한다.
 
*하나의 블록은 반드시 하나의 모블록을 지정해야 하며, 0 또는 그 이상의 삼촌을 지정해야 한다.
 
*블록 B에 포함된 삼촌은 다음과 같은 속성들을 가지고 있어야 한다.
 
*블록 B에 포함된 삼촌은 다음과 같은 속성들을 가지고 있어야 한다.

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

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