ethp2p 통합, 두 개의 통신망을 하나로

Strawmap L* (2029~30) · ethp2p unification

실행 클라이언트와 합의 클라이언트가 따로 쓰는 두 가지 노드 간 통신 방식(p2p 네트워크 스택)을 하나의 체계로 합칩니다. 거래와 블록의 규칙은 바뀌지 않습니다.

왜 필요한가

이더리움 노드는 프로그램 두 개로 움직입니다. 거래를 실행하는 실행 클라이언트와 블록에 합의하는 합의 클라이언트입니다. 두 프로그램은 다른 노드와 연결하는 방식도 따로 씁니다. 실행 클라이언트는 2015년부터 쓰던 devp2p를, 합의 클라이언트는 비콘체인을 설계할 때 고른 libp2p를 씁니다. 2022년 머지(The Merge)로 두 체인은 하나가 됐지만 통신망은 그대로 둘로 남았습니다. 통신 체계가 둘이면 할 일도 둘입니다. 클라이언트 팀은 두 종류의 네트워크 코드를 각각 유지하고 보안 문제도 따로 살펴야 합니다. 새 클라이언트를 만드는 팀도 두 체계를 모두 구현해야 합니다. 노드 하나가 피어 목록도 두 벌 관리합니다. ethp2p 통합은 이 두 통신 체계를 하나의 공통 체계로 합치는 작업입니다. 합의 규칙을 바꾸는 일이 아니라 클라이언트 구현과 네트워크 명세를 고치는 일이어서 Strawmap은 이를 프로토콜 밖 작업으로 분류합니다. Strawmap은 이 항목을 L* 포크(2029~30년 예상) 칸에 두었지만 이는 예상일 뿐 확정이 아닙니다. 어떤 기술 위에서 합칠지 같은 구체적인 설계는 아직 논의 단계입니다.

어떻게 동작하나

  1. 지금은 통신 체계가 둘입니다 실행 클라이언트는 devp2p로, 합의 클라이언트는 libp2p로 다른 노드와 연결합니다. 한 노드 안에서 두 통신망이 각자 상대를 찾고 각자 데이터를 주고받습니다.
  2. 하나의 ethp2p로 합칩니다 두 체계를 하나의 공통 통신 체계로 합쳐 노드가 한 가지 방식으로 상대를 찾고 블록과 거래 같은 데이터를 주고받게 합니다. 노드끼리 말하는 방법만 바뀌고 규칙은 그대로입니다.

← 로드맵