블룸필터

트랙잭션 목록이나 해당 트랜잭션들에서 생성된 로그들이
중복 저장되는것을 막고 이들정보를 쉽게 찾기 위해 사용하는것이
블록의 256비트 블룸 필터이다.


어플리케이션에서 주어진 컨트랙트나 특정 색인된 필드로부터
해당로그항목들을 찾고자할때 이더리움은 각 블록의 헤더를
신속하게 탐색하며 연관된 정보를 포함하고 있는지
블룸필터에서 찾는다.
연관정보를 발견하게되면 이더리움은 해당 블록의 트랜잭션을
재실행하고 로그를 재생성한 후 이를 애플리케이션에 전달한다.

엉클블록

다른블록들 보다 난이도가 낮아 블록체인에 등록되지않은 블록들을 엉클블록이라고하는데
이렇게 생성된 엉클블록뒤에 블록들은 전부엉클블록이됌
엉클블록비율이 너무높으면 블록체인이 폭이 넓어짐
엉클블록에 들어간 트랜잭션은 다시 맴풀로 들어가고
트랜잭션이 없는상태가되는데
이런 엉클블록들의 양이 많아지면(전체 채굴 난이도가 올라감)
 트랜잭션이 지연되고  컴퓨팅파워가 늘어남

엉클블록 생성 뒤
다음블록을생성하면 평균블록생성시간이 더길어짐
블록생성후 난이도가 줄어들게됌 (블록생성속도증가)
컴퓨팅파워가 높은 노드의 독점의 문제점생성

이러한 문제들을 해결하려고 나온 알고리즘이

고스트프로토콜 알고리즘

고스트 알고리즘은 블록 생성 시 정상 블록에 최대 2개의
 엉클블록까지 추가하고 보상하여 엉클블록의 문제를 해결한다. 

이때 엉클블록에는 트랜잭션과 컨트랙트가 비어있음

이때 고스트프로토콜 알고리즘은 정상블록에게 (3이더+트랙잭션수수료+엉클블록1개당 블록보상의 3.125%)의 보상을
주고 엉클블록을 캘때도 2개의 엉클블록을 찾은대가로 어느정도의 보상을 줌으로써
엉클블록들이 무한정으로 쌓이는것을 방지하였음

복사했습니다!