CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·일본산당 ·방탄소년당 ·MaClien ·자전거당 ·안드로메당 ·개발한당 ·이륜차당 ·AI당 ·소셜게임한당 ·냐옹이당 ·나스당 ·소시당 ·오른당 ·위스키당 ·PC튜닝한당 ·스팀한당 ·노젓는당 ·패스오브엑자일당 ·바다건너당 ·와인마신당 ·가상화폐당 ·젬워한당 ·육아당 ·클다방 ·IoT당 ·키보드당 ·리눅서당 ·찰칵찍당 ·달린당 ·날아간당 ·골프당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·물고기당 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

가상화폐당

자유 이더리움 EL 클라이언트 소개 ( reth - Rust Ethereum 1.0 )

1
2024-07-01 04:20:49 수정일 : 2024-07-01 04:53:31 39.♡.133.188
쉐도우

이글은 새로운 정보과  경험을 소개할뿐  무언가를 강제로 권하는 글은 아닙니다.  참고만 하시고 모든 선택은 본인의 결정으로..  


0.들어가기전

- 이더리움 클라이언트 다양성 


이더리움은  현재  POS 라는 합의알고리즘에 의해 블럭을 생성합니다.

POS에 참가하려면 32이더를 예치하고 밸리데이터가 되어야 하고.  

EL ( Excution Layer) 과  CL ( Consensus Layer) 두 클라이언트를   구동하면서 풀노드를 운영하며 체인을 유지합니다.


ethereum-full-node-281bc402bbd16a07837b05a99b57d75b.png

https://eth-docker.net/assets/images/ethereum-full-node-281bc402bbd16a07837b05a99b57d75b.png


이더리움 네트워크의 최종성(비가역적으로 되돌릴수 없는, 확정된 블럭) 은 만들어진 후  2 에폭을 지나야  하는데.  ( 1에폭 = 32슬롯. 1슬롯(12초) = 6.4분 )    최종화 되기까지 각  에폭에서   총 참가자의  2/3이상의 합의가 있어야   됩니다. 

EL 과 CL은  여러 클라이언트로 구현되어 있는데.  

만약 특정 클라리언트의 점유율이  1/3을 넘고.   점유율이 높은   클라이언트가 오류를 일으키면  이더리움 네트워크는  최종성을 유지 못하고  통제불능에 빠질수도 있습니다.   그래서  이더리움 재단에서는  각 클라이언트이 점유율을  33% 이하로  낮추기 위해 애를 쓰고 있습니다.  


현재 각 클라이언트  점유율입니다.  

https://clientdiversity.org/


client_diversity.JPG


한때 EL클라이언트중 Geth ( GO Ethereum)는 점유율이 80%를 육박했고.   

CL 클라이언트중 Prysm도 50%넘는 점유율을 보였었는데.  여러 노력에 의해  분산되고 있는중입니다.  


저도 메인노드는  사실 Geth와 Prysm을 사용하고 있습니다. - 오래 사용해서 로그 보기도 편하고  유지보수가  쉽습니다. 

그러나 백업노드도 돌려야 하고  메인노드도  다른 클라이언트로  갈아타기를 위해 계속 이거저거 사용을 해봤는데. 

딱 맘에 드는게 아직 없었습니다.  


네더마인 + 라이트하우스 조합은   

네더마인이  C++로 만들어졌는데  CPU부하가 좀 큰편이고  실시간 노드 크기 증가도 커서 ( 물론 온라인 프루닝이 되긴 하지만  )

맘에 들지가 않더라구요.  다만 동기화 속도가  가장 빨라서.  비상시에  처음부터 동기화 해야 할때는 유용할것 같습니다. 


자바로 만들어진 BESU + TEKU 조합도  한동안 테스트해봤는데.  자바의 메모리 누수문제인지. 이상하게 오류가 많아서 백업노드를 돌리다 두번이나 깨져서 이제 놓아주려고 합니다.  


그러다가  아카이브 노드가 필요해져서.. 


*여기서 잠깐.. 이더리움 노드는 크게    아카이브 노드,  풀 노드 , 라이트 노드  로 나뉘어져있습니다. 

라이트노드는   블록헤더만을 처리해서  블럭검증은 못하나  데이터를 쿼리하고  트랜젝션을 발행할수 있어 모바일지갑에 주로 사용됩니다.  


풀노드는   제네시스부터의  블럭,헤더 등을  모두 저장하나  상태 정보는  수백블럭만 저장하고  이후 최신데이터로 교체합니다.

스테이킹을 위해서는 full node가 필요합니다.  


아카이브 노드는  헤더 블럭  상태 등 모든 데이터를 저장해서.  특정시점에 특정  어카운트의 밸런스등을 알수가 있습니다만 

데이터가 어마어마하게 커집니다. 


예를 들어 Geth는  full 노드의 경우  현재 약 1.1TB를 차지하나  아카이브노드는 13TB에  육박합니다.  

그러나 여기서.. Erigon이 등장하는데..  아시는분은 아실.. 진정한  Pied Piper...  

2.6xx 버전에서  아카이브노드 사이즈를 3.2TB로 줄였고.  현  3.0 베타에서는  1.8TB로 줄였습니다.  


새 버전인 에리곤 3.0 베타를   계속 테스트하던 중..   알수없는 오류로  계속 블럭 동기화가  중단되어..  2.6으로 돌아가려던 찰라.. 

오늘 소개해드릴 Reth를 알게되었습니다.  


geth는  말그대로 Go Ethereum의 약자인데..  Go 언어로 쓰여진 이더리움 이란 뜻입니다. 

EL 클라이언트인  reth는  Rust Ethereum입니다.  Rust 언어로 쓰여졌네요.  

( Rust로 쓰여진 CL 클라이언트는 많이 사용하는 Lighthouse입니다.  )  


이더리움 클라이언트계에서 Pied Piper인  erigon에서 사용한 기술을 그대로 차용해서  비슷한 사이즈로 크기를 줄였습니다.

key-value를 쌍으로 MDBX에  저장합니다.  - 자세한게 궁금하시면 아래 링크를 참고하세요.  

 https://github.com/ledgerwatch/erigon/wiki/Choice-of-storage-engine

https://github.com/ledgerwatch/erigon/blob/release/2.60/docs/programmers_guide/db_walkthrough.MD


그래서  백업노드를  Reth와  Lighthouse로 갈아탔는데.  동기화도 잘 되었고. 특별한 무리없이 잘 운영중입니다.  


Reth는  얼마전  라이트하우스의 개발사인  시그마프라임으로 부터 코드 감사를 받고. 

https://github.com/paradigmxyz/reth/blob/main/audit/sigma_prime_audit_v2.pdf


드디어 Production 버전인 1.0을  4일전 막  출시했습니다. 

https://github.com/paradigmxyz/reth/releases


풀노드는 1.1TB  , 아카이브 노드의 경우  현재  2.16TB정도라 개인이 운영하기에도 크게 부담스런 사이즈는 아닙니다. 

reth_1.JPG


EL 클라이언트 비교를 보면 Reth는 DB증가율도 낮은 편이라  2TB 저장장치를 가진 사람들한테도 장기 운영에 좋을거 같습니다. 

EL.JPG


 메모리가 적은 저사양 시스템에서는  CL 클라이언트로 Nimbus를 권해드립니다.  

CL.JPG

쉐도우 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [0]
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.