BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

대중 과학: 이더리움의 네트워크 주소

Unitimes
特邀专栏作者
이 기사는 약 1502자로, 전체를 읽는 데 약 3분이 소요됩니다
이 기사에서는 다중 주소, ENR 및 enode의 세 가지 유형의 네트워크 주소에 대한 개요를 제공합니다.
AI 요약
이 기사에서는 다중 주소, ENR 및 enode의 세 가지 유형의 네트워크 주소에 대한 개요를 제공합니다.

편집자 주: 이 기사의 출처는Unitimes(ID:Uni-times)편집자 주: 이 기사의 출처는

Felix Lange와 논의한 후 이더리움 생태계에서 접하는 다양한 유형의 네트워크 주소와 그 차이점에 대해 이 글을 작성하는 것이 좋겠다고 생각했습니다. 나 또한 그것들에 대한 내 자신의 이해에 약간의 오해가 있기 때문에 그것들을 설명하는 것이 가치가 있을 것이라고 생각합니다.

보조 제목

다중 주소(Multiaddr)

보관된 가장 초기의 multiaddr(Multiaddr[1])부터 시작하거나 커밋 시간별로 시작하겠습니다. 다중 주소는 Protocol Labs의 다중 형식 프로젝트의 일부입니다. 다중 형식은 기본적으로 자체 설명 값의 다양한 사양입니다. libp2p, IPFS 및 기타 Protocol Labs 프로젝트에서 광범위하게 사용되기 때문에 이미 들어보셨을 것입니다.

/ip4/127.0.0.1/udp/1234

다중 주소에는 두 가지 표현이 있습니다. 하나는 저장 또는 전송 시 사용되는 이진 표현이고 다른 하나는 사용자에게 제공되는 읽기 가능한 형식입니다., }). 이진 표현도 동일합니다. 키용 바이트 배열과 값용 바이트 배열이 있습니다. 키는 프로토콜 테이블[2]을 통해 사람이 읽을 수 있는 형식에서 코딩된 형식으로 매핑할 수 있습니다.

enode

보조 제목

enode://6f8a80d6ad92a0@10.3.58.6:30303?discport=30301

enode 시스템은 URL을 나타내는 데 사용됩니다. enode:// 뒤에 16진수로 인코딩된 노드 ID가 옵니다. 다음으로 @ 기호는 IP 주소여야 하는 호스트를 나타냅니다. TCP 포트는 호스트 뒤에 나열되며 이 경우에는 30303입니다. UDP와 TCP의 포트가 다른 경우 끝에 disport 매개 변수를 추가하여 UDP 포트를 지정할 수 있습니다.

ENR

보조 제목

마지막으로 ENR[4](이더리움 노드 레코드)에 도달했습니다. ENR은 처음 두 가지 유형(다중 주소 및 enode URL)의 기능을 모두 사용하여 매우 일반적이기 때문에 흥미롭습니다. ENR의 주요 동기는 포워딩 프로세스 중에 더 많은 정보를 전달하여 노드 레코드를 도입하는 것입니다. 노드 레코드는 자체 인증되며 노드는 서명을 통해 자신을 식별할 수 있습니다. 이러한 레코드는 RLP 목록[5]으로 표시됩니다. 여기서 자세히 설명하지는 않겠지만 간단히 언급하자면 RLP는 이더리움에서 사용하는 직렬화 형식입니다.

노드 레코드에는 서명, 일련 번호 및 서명을 만들고 확인하는 데 사용되는 인증 메커니즘을 나타내는 필드가 포함됩니다. 마지막으로 레코드의 나머지 부분에는 연결 정보와 같은 항목을 포함할 수 있는 임의의 키-값 쌍이 포함됩니다. EIP는 4바이트로 표시되는 노드 IPv4 주소인 ip와 같이 미리 정의된 의미를 가진 일부 키를 정의합니다.

서명은 전달된 공개 키가 서명 생성에 사용된 것인지 확인하여 레코드를 확인하는 데 사용됩니다.

동일한 ID가 2개의 다른 레코드를 발행하는 경우 일련 번호를 사용하여 충돌을 해결할 수 있습니다. 일련 번호가 더 높은 레코드가 지정됩니다.

형식은 미래 보장형이며 일부 클라이언트가 구문 분석할 수 없는 경우에도 새 키를 추가할 수 있으며 서명을 확인하기 위해 새 인증 메커니즘을 추가할 수 있습니다.

Eth 2.0

보조 제목

이제 Eth2.0을 살펴보겠습니다. Eth2.0 이전에는 Ethereum에 주소가 많지 않았지만 지금은 매우 중요합니다. 왜? Eth2.0은 libp2p를 사용하고 libp2p는 여러 주소를 사용하여 노드를 식별하기 때문입니다.

  1. 그렇다면 이 상황을 어떻게 처리해야 할까요? Eth2.0의 P2P 사양[6]은 두 가지 솔루션을 보여줍니다.

  2. ENR에서 여러 주소를 내보낼 수 있습니다.

ENR은 임의의 키를 추가할 수 있으므로 여러 주소가 ENR에 포함될 수 있습니다.

ETH
Odaily 공식 커뮤니티에 가입하세요