동적 P2P 네트워킹은 Cardano의 중요한 발전이며 네트워크의 성능, 탄력성 및 분산화를 더욱 향상시킵니다. 피어 선택 프로세스를 자동화함으로써 Dynamic P2P는 분산 노드 간의 향상된 통신을 가능하게 하고 릴레이 또는 블록 생성 노드를 실행하는 프로세스를 단순화합니다. 이렇게 하면 정적 구성 및 수동 스테이크 풀 운영자(SPO) 입력이 필요하지 않습니다.

동적 P2P는 오늘 노드 v.1.35.6 릴리스와 함께 내장 기능으로 제공됩니다. SPO 커뮤니티는 이제 P2P 토폴로지 모드를 사용하도록 릴레이 중 하나를 업데이트하여 P2P 기능을 테스트하도록 권장됩니다. 앞으로 몇 주 동안 IOG 및 CF 팀은 SPO 커뮤니티와 함께 동적 P2P 기능의 원활한 롤아웃을 보장하기 위해 네트워크 연결을 평가할 것입니다.

여기에서 Cardano 네트워크의 진화와 Dynamic P2P가 제공하는 기능에 대해 자세히 알아보세요.

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

Cardano 노드를 구성하는 두 가지 방법이 있습니다.

Cardano 블록체인에서 블록 생성을 담당하는 블록 생성 노드. SPO는 블록 정보를 수신하기 위해 들어오는 연결과 생성된 블록을 전파하기 위해 나가는 연결이 필요한 블록 생성 노드를 실행합니다. P2P는 각 연결의 양방향 사용을 가능하게 하므로 연결 순서는 중요하지 않습니다. 릴레이 노드로서 네트워크의 다른 릴레이와 통신하고 블록 생성 노드에서 블록을 브로드캐스팅하는 역할을 합니다. 릴레이 노드는 또한 블록 생산자가 전체 인터넷에 직접 노출되지 않도록 블록 생산자를 위한 '방어 계층' 역할을 합니다. 최소 통신 지연 및 최대 복원력 보장 네트워크 설계는 통신 지연을 최소화하고 오류, 용량 제한 또는 악의적인 동작에 대한 네트워크 복원력을 최대화하는 것을 목표로 합니다.

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

이전 게시물에서 언급했듯이 Cardano의 네트워킹은 초기 연합 구조에서 하이브리드 및 현재 P2P 모델로 진화했습니다. 네트워킹은 Ouroboros Genesis 및 피어 공유와 같은 향후 추가 기능으로 계속 발전할 것입니다.

연합: 2017년 Byron 개발 단계에서 도입된 IOG 코어 및 릴레이 노드는 네트워크와 연결된 사용자, 지갑 및 교환을 유지 관리합니다. 하이브리드: 2020년 Shelley 개발 단계 이후 블록 생성 노드는 신뢰할 수 있는 릴레이 및/또는 토폴로지 업데이터라고 하는 수동 커뮤니티 개발 및 관리 도구를 통해 통신을 송수신합니다. 동적 P2P: 현재 출시 중인 동적 P2P는 자동화 및 복원력을 제공하여 네트워크 성능을 최적화합니다. SPO 릴레이는 자체 검색 및 최적화를 통해 서로 자동으로 연결할 수 있습니다. 우로보로스 제네시스: 개발 중. 자신의 노드 또는 Daedalus 지갑을 실행하는 사람은 누구나 완전히 분산되고 자체 구성된 네트워크에 연결됩니다. 동료 공유: 개발 중. 피어 공유는 전체 Cardano 노드 네트워크 내의 체인에 등록되지 않은 잠재적인 피어의 검색을 용이하게 합니다. 또한 이 단계에서는 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는 여전히 자동 페일오버를 받습니다. 정적 구성을 사용하면 하나만 나열하여 복원력을 얻지 못하거나 둘 다 나열하고 과잉 프로비저닝(더 많은 리소스 사용) 중에서 선택해야 했습니다.

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