루프체인 편집하기

이동: 둘러보기, 검색

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

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
50번째 줄: 50번째 줄:
 
루프 장애 허용은 기존 [[프랙티컬 비잔틴 장애 허용]]을 사용하는 합의 알고리즘에서 발생하는 통신 오버헤드를 [[피기배킹]](Piggybacking)을 이용하여(네트워크에서 메시지를 통합하여 통신 오버헤드를 감소시키는 방법) 줄였으며, 스피닝(Spinning) 기법(리더를 매번 교체하는 기법)을 이용하여 악의적인 [[노드]]가 네트워크의 [[합의]]를 해치지 않는 범위에서 네트워크에 문제를 일으킬 수 있는 특정 노드의 [[트랜잭션]] 거부 문제, 리더에 의한 네트워크 지연과 같은 문제를 해결했다. 또한, 기존 알고리즘들이 가지고 있던 지나치게 복잡한 리더 선정 알고리즘을 단순화하였다.
 
루프 장애 허용은 기존 [[프랙티컬 비잔틴 장애 허용]]을 사용하는 합의 알고리즘에서 발생하는 통신 오버헤드를 [[피기배킹]](Piggybacking)을 이용하여(네트워크에서 메시지를 통합하여 통신 오버헤드를 감소시키는 방법) 줄였으며, 스피닝(Spinning) 기법(리더를 매번 교체하는 기법)을 이용하여 악의적인 [[노드]]가 네트워크의 [[합의]]를 해치지 않는 범위에서 네트워크에 문제를 일으킬 수 있는 특정 노드의 [[트랜잭션]] 거부 문제, 리더에 의한 네트워크 지연과 같은 문제를 해결했다. 또한, 기존 알고리즘들이 가지고 있던 지나치게 복잡한 리더 선정 알고리즘을 단순화하였다.
  
네트워크가 시작되면 검증 노드(검증을 통해 합의에 참여하는 노드)들은 사전에 결정된 리더 노드에게 처리를 원하는 트랜잭션을 전송한다. 리더 노드는 수집한 [[트랜잭션]]을 이용하여 블록을 생성하고 자신의 서명과 함께 다른 모든 검증 노드에게 전송한다. 각 검증 노드들은 [[블록]]을 받으면 현 리더가 블록을 생성했는지 확인하고, 블록의 높이와 [[이전 블록 해시]]가 올바른지 확인하며, 블록의 데이터가 올바른지 확인한다. 검증 노드는 위 세 가지 방법이 옳다면 투표 데이터를 생성하여 네트워크의 모든 노드들에게 전파한다. 투표 데이터를 전체 노드에게 전파하는 것은 매우 중요한데, 이는 리더 노드가 비잔틴일 경우 정족수 이상의 노드들에게만 블록을 전파하여 특정 노드들을 네트워크로부터 분리하도록 시도할 수 있기 때문이다. 이러한 문제를 방지하기 위해 모든 피어에게 투표 데이터를 전파하며 이는 기존 [[Raft 알고리즘]]과 다른 부분이다. 이 과정에서 블록을 못 받은 노드는 블록이 생성되었는지에 대한 정보를 알 수 있고 다른 노드에게 블록을 요청할 수 있다.<ref name="아이콘루프"></ref>
+
네트워크가 시작되면 검증 노드(검증을 통해 합의에 참여하는 노드)들은 사전에 결정된 리더 노드에게 처리를 원하는 트랜잭션을 전송한다. 리더 노드는 수집한 [[트랜잭션]]을 이용하여 블록을 생성하고 자신의 서명과 함께 다른 모든 검증 노드에게 전송한다. 각 검증 노드들은 [[블록]]을 받으면 현 리더가 블록을 생성했는지 확인하고, 블록의 높이와 [[이전 블록 해시]]가 올바른지 확인하며, 블록의 데이터가 올바른지 확인한다. 검증 노드는 위 세 가지 방법이 옳다면 투표(Vote) 데이터를 생성하여 네트워크의 모든 노드들에게 전파한다. 투표 데이터를 전체 노드에게 전파하는 것은 매우 중요한데, 이는 리더 노드가 비잔틴일 경우 정족수 이상의 노드들에게만 블록을 전파하여 특정 노드들을 네트워크로부터 분리하도록 시도할 수 있기 때문이다. 이러한 문제를 방지하기 위해 모든 피어에게 투표 데이터를 전파하며 이는 기존 [[Raft 알고리즘]]과 다른 부분이다. 이 과정에서 블록을 못 받은 노드는 블록이 생성되었는지에 대한 정보를 알 수 있고 다른 노드에게 블록을 요청할 수 있다.<ref name="아이콘루프"></ref>
  
 
===멀티채널===
 
===멀티채널===

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

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