블로그 > 2023년 > 3월 > 메인넷에서 동적 P2P 사용 가능(한국어 번역판)

블로그 > 2023년 > 3월 > 메인넷에서 동적 P2P 사용 가능

메인넷에서 동적 P2P 사용 가능

동적 P2P(피어 투 피어) 네트워킹은 node v.1.35.6 릴리스와 함께 제공됩니다. 네트워크 참여자는 이제 정적 구성 없이도 자동 노드 통신을 테스트할 수 있습니다.

2023년 3월 16일 올가 흐리니우크 6분 읽기

Dynamic P2P is available on mainnet

동적 P2P 네트워킹은 카르다노의 중요한 진화이며 네트워크의 성능, 탄력성, 탈중앙화를 더욱 향상시킵니다. 동적 P2P는 피어 선택 프로세스를 자동화함으로써 분산된 노드 간의 통신을 향상시키고 릴레이 또는 블록생성노드를 실행하는 프로세스를 간소화합니다. 따라서 정적 구성과 수동 스테이크 풀 운영자(SPO)의 입력이 필요하지 않습니다.

동적 P2P는 오늘 릴리스된 노드 v.1.35.6에서 기본 기능으로 제공됩니다. 이제 SPO 커뮤니티는 P2P 토폴로지 모드를 사용하도록 릴레이 중 하나를 업데이트하여 P2P 기능을 테스트할 것을 권장합니다. 향후 몇 주 동안 IOG와 CF 팀은 SPO 커뮤니티와 함께 동적 P2P 기능의 원활한 출시를 위해 네트워크 연결성을 평가할 예정입니다.

카르다노 네트워크의 발전과 다이내믹 P2P가 제공하는 기능에 대해 자세히 알아보세요.

연결성

카르다노의 네트워킹 프로토콜은 표준 통신 인프라를 사용하여 노드와 노드 간의 상호작용을 통합된 시스템으로 결합합니다. 네트워크는 트랜잭션과 블록에 대한 정보를 모든 활성 노드에 배포합니다.

카르다노 노드를 구성하는 방법에는 두 가지가 있습니다:

  1. 카르다노 블록체인에서 블록생성을 담당하는 블록생성노드입니다. SPO는 블록 정보를 수신하기 위해 들어오는 연결과 생성된 블록을 전파하기 위해 나가는 연결이 필요한 블록생성노드를 운영합니다. P2P는 각 연결의 양방향 사용이 가능하므로 연결 순서는 중요하지 않습니다.
  2. 릴레이 노드로서 네트워크의 다른 릴레이 노드와 통신하고 블록생성노드로부터 블록을 브로드캐스트하는 역할을 담당합니다. 또한 릴레이 노드는 블록생산자가 전체 인터넷에 직접 노출되지 않도록 블록생산자를 위한 '방어 계층’의 역할을 합니다.

최소한의 통신 지연과 최대의 복원력 보장

네트워크의 설계는 통신 지연을 최소화하고 장애, 용량 제약 또는 악의적인 행동에 대한 네트워크 복원력을 극대화하는 것을 목표로 합니다.

IOG는 시스템이 블록을 추가하고 트랜잭션을 효과적으로 검증할 수 있도록 각 블록 생성 노드에 대해 최소 두 개의 릴레이 노드를 배치할 것을 항상 권장해 왔습니다. 이렇게 하면 보안이 강화되고 서비스 거부(DoS) 공격을 막을 수 있습니다.

이전 포스트에서 언급했듯이, 카르다노의 네트워킹은 초기 연합 구조에서 하이브리드와 현재의 P2P 모델로 진화했습니다. 네트워킹은 향후 오로보로스 제네시스 및 피어 공유와 같은 추가 기능으로 계속 발전할 것입니다:

  1. 연합: 2017년 바이런 개발 단계에 도입된 IOG 코어 및 릴레이 노드는 네트워크를 유지하고 사용자, 지갑, 거래소를 연결했습니다.
  2. 하이브리드: 2020년 셸리 개발 단계부터 블록생성노드는 신뢰할 수 있는 릴레이 및/또는 커뮤니티에서 개발하고 관리하는 수동 도구인 토폴로지 업데이터를 통해 통신을 주고받았습니다.
  3. 동적 P2P: 현재 출시 중인 동적 P2P는 네트워크 성능을 최적화하기 위한 자동화 및 복원력을 제공합니다. SPO 릴레이는 자체 검색 및 최적화를 통해 서로 자동으로 연결할 수 있습니다.
  4. 우로보로스 제네시스: 개발 중. 자체 노드 또는 다이달로스 지갑을 운영하는 사람은 누구나 완전히 탈중앙화되고 자체적으로 구성된 네트워크에 연결할 수 있습니다.
  5. 피어 공유: 개발 중. 피어 공유는 전체 카르다노 노드 네트워크 내에서 체인에 등록되지 않은 잠재적인 피어를 쉽게 발견할 수 있게 해줄 것입니다. 또한 이 단계에서는 누구나 SPO의 리소스만 사용하는 것이 아니라 네트워크 운영에 기여할 수 있습니다.

현재 네트워크 상태: 하이브리드 모드

현재 블록을 생성하는 노드는 블록을 수신하고 전파하기 위해 수신 및 발신 연결이 모두 필요합니다. 그러나 이러한 연결의 선택(구성에서)은 토폴로지 업데이터 도구를 사용하여 수동으로 수행해야 합니다. 이 도구를 사용하면 SPO가 네트워크의 다른 노드에 연결하고 네트워크 변경 사항(예: 스테이크, 성능 또는 가용성)에 대한 업데이트를 수신하도록 노드를 구성할 수 있습니다.

SPO는 수동으로 도구를 실행하는 데 시간과 노력을 투자해야 합니다. 릴레이를 업데이트할 때 SPO는 블록 생성 노드가 네트워크에 연결되어 있는지 확인해야 하며, 그렇지 않으면 블록 생성 슬롯과 보상을 놓칠 수 있습니다.

동적 P2P로 연결 자동화

동적 P2P는 자체 검색 및 최적화를 통해 SPO 릴레이를 서로 자동으로 연결할 수 있으므로 하이브리드 설정에 필요한 정적 구성 및 수동 SPO 유지 관리가 필요하지 않습니다. P2P는 노드 또는 라우팅 장애와 같은 변화에 대해 네트워크의 성능과 복원력을 향상시키고 수천 개의 분산된 노드 간의 정보 흐름을 간소화합니다.

동적 P2P는 어떻게 작동하나요?

P2P는 정적 구성의 선택만 자동화하는 것이 아니라 그보다 더 동적입니다. 현재 SPO는 예를 들어 50개의 다른 SPO 노드에 연결하도록 노드를 구성할 수 있습니다. 많은 노드가 오프라인 상태이거나 주소를 변경할 수 있기 때문에 이는 상당히 많은 수입니다. 효율적인 통신을 위해서는 20개의 연결이면 충분하지만, 정적 구성으로 인해 SPO는 프로비저닝을 과도하게 해야 할 수도 있습니다.

동적 P2P 설정에서 SPO는 50개뿐 아니라 수천 개의 SPO 릴레이 중에서 선택할 수 있는 20개의 연결을 구성하도록 지정할 수 있습니다. 또한 오프라인 상태이거나 오프라인 상태가 되는 연결이 있으면 설정된 목표를 충족하기 위해 자동으로 새 연결을 선택합니다. 즉, 구성이 더 이상 50개의 피어로 구성된 정적 풀로 제한되지 않습니다.

또한 P2P를 사용하면 SPO 간의 직접 피어링 배열을 위한 보다 정교한 구성이 가능합니다. 예를 들어, 두 SPO가 릴레이 간의 연결을 유지하고자 하고 각각 두 개의 릴레이를 가지고 있는 경우, 다른 SPO의 두 개의 릴레이를 나열하되 적어도 하나의 연결이 있어야 한다는 타겟을 가진 피어 그룹을 구성할 수 있습니다. 즉, 오버프로비저닝이 필요하지 않으며 하나의 릴레이가 다운되더라도 SPO는 자동 장애 조치(failover)를 받을 수 있습니다. 정적 구성에서는 하나만 나열하여 복원력을 얻지 못하거나 둘 다 나열하고 오버프로비저닝(더 많은 리소스 사용)하는 것 중 하나를 선택해야 했습니다.

마지막으로 P2P는 전체 네트워크에서 전체 확산 시간을 최소화하기 위해 피어 선택을 최적화합니다. 이 작업은 지속적으로 자동으로 수행됩니다. IOG 내부 연구에 따르면 순전히 로컬 정보에 기반한 정책은 최적에 가까운 글로벌 결과를 달성할 수 있다고 합니다. 이 정책은 나중에 체인에 포함되는 블록 헤더를 가장 먼저 제공하는 피어의 빈도를 측정합니다. 이 메트릭에 의해 가장 유용성이 낮은 피어는 주기적으로 '퇴출’되어 무작위로 선택된 다른 피어로 대체됩니다. 시뮬레이션 결과에 따르면 이 간단한 최적화 절차 방법은 24시간 정도의 비교적 짧은 반복 횟수 내에 거의 최적의 글로벌 결과에 도달하는 것으로 나타났습니다.

자세한 내용은 이 기술 사양을 참조하세요.

저희는 SPO 커뮤니티와 지속적으로 추가 업데이트를 공유하고 있으며, 기술적인 토론을 위해 모든 분들을 SPO 텔레그램 그룹디스코드 채널에 초대하고 있습니다.

이상

번역작성자: Paul Ko (카르다노 앰버서더, JOY & HOPE 풀 운영자, 카르다노 사랑방 운영자)