피어투피어 네트워크 설명

공유
Copied to clipboard!
피어투피어 네트워크 설명
아티클 듣기
00:00 / 00:00

P2P란 무엇인가요?

컴퓨터 과학에서 피어투피어(P2P, peert-to-peer) 네트워크는 파일을 집합적으로 저장하고 공유하는 장치 그룹으로 구성됩니다. 각 참가자(노드)는 개별적 피어 역할을 합니다. 일반적으로 모든 노드는 동등한 영향력을 갖고 있으며 동일한 작업을 수행합니다.

금융 기술에서 피어투피어라는 용어는 분산화된 네트워크를 통해 암호화폐나 디지털 자산을 교환하는 것을 일컫습니다. P2P 플랫폼은 구매자와 판매자가 중개자 없이 거래를 진행할 수 있도록 합니다. 경우에 따라 웹사이트는 돈을 빌려주는 이와 빌리려는 이를 연결해주는 P2P 환경을 제공할 수도 있습니다.

P2P 아키텍처는 다양한 사례에 적합할 수 있는데, 1990년대 첫 번째 파일 공유 프로그램이 만들어지며 특별히 인기를 끌기 시작했습니다. 오늘날 P2P 네트워크는 대다수 암호화폐의 핵심이며, 블록체인 산업에서 큰 부분을 차지하고 있습니다. 그러나 P2P 아키텍처는 웹 검색 엔진, 스트리밍 플랫폼, 온라인 시장 및 IPFS(InterPlanetic File System) 웹 프로토콜을 포함한 다른 분산화된 컴퓨팅 애플리케이션에서도 활용되고 있습니다.


P2P는 어떻게 작동하나요?

본질적으로 P2P 시스템은 분산화된 네트워크 사용자들에 의해 유지됩니다. 일반적으로 중앙 관리자나 서버가 없는데, 각 노드가 파일들의 사본들 보유하고 있으며, 다른 노드에 대해 클라이언트이자 서버 역할을 하기 때문입니다. 따라서 각 노드는 다른 노드로부터 파일을 다운받거나 다른 노드에 파일을 업로드 할 수 있습니다. 이는 P2P 네트워크가 클라이언트 기기가 중앙화된 서버로부터 파일을 다운받는 보다 전통적인 클라이언트-서버 시스템과 차별화되는 지점입니다.

P2P 네트워크상에 연결된 장치는 하드 드라이브에 저장되어 있는 파일들을 공유합니다. 데이터 공유를 중재하기 위한 소프트웨어 애플리케이션을 사용하여, 사용자는 네트워크상의 다른 장치에서 파일을 찾거나 다운로드를 요청할 수 있습니다. 사용자가 특정 파일을 다운로드한 다음부터 이는 해당 파일의 출처로 사용될 수 있습니다.

달리 말하자면, 노드는 클라이언트로 기능할 때는 다른 네트워크 노드로부터 파일을 다운로드 합니다. 그러나 이들이 서버로 기능할 때는 다른 노드가 파일을 다운로드 할 수 있는 출처가 됩니다. 그러나 실제로는 두 기능을 동시에 실행(예를 들면, 파일 A를 다운로드 하며, 파일 B를 업로드)할 수 있습니다.

모든 노드가 파일을 저장하고, 전송하며, 수신하기 때문에, P2P 네트워크는 사용자 기반이 커질수록 더 빠르고 효율적인 경향이 있습니다. 또한 분산화된 아키텍처는 P2P 시스템에 대한 사이버 공격을 잘 막아낼 수 있게 합니다. 기존 모델과 달리 P2P 네트워크에는 단일 장애 지점이 없습니다.

우리는 아키텍처에 따라 피어투피어 시스템을 구분할 수 있습니다. 세 가지 주된 유형은 비구조적, 구조적, 하이브리드 P2P입니다.


비구조적 P2P 네트워크

비구조적 P2P 네트워크에는 어떠한 노드의 조직도 존재하지 않습니다. 참여자들은 무작위로 통신합니다. 해당 시스템은 높은 이탈 활동(예를 들면, 다수의 노드가 빈번히 네트워크에 참가하고 떠나는 것)에 대해 강점이 있는 것으로 간주됩니다.

구축하기는 쉽지만, 비구조적 P2P 네트워크는 검색 요청이 전송됩니다. 가능한 가장 많은 구성원들에게 전송되기 때문에 더 많은 CPU와 메모리가 필요할 수 있습니다. 특별히 소수의 노드가 요청한 콘텐츠를 제공하는 경우 네트워크에 요청이 쇄도하는 경향이 있습니다.


구조적 P2P 네트워크

이와 대조적으로, 구조적 P2P 네트워크는 구조화된 아키텍처를 갖고 있으며, 콘텐츠가 광범위하게 이용되지 않더라도 노드가 효율적으로 파일을 검색할 수 있게 합니다. 이를 위해 대부분 데이터베이스 검색을 용이하게 하는 해시 함수를 사용합니다.

구조화된 네트워크는 더 효율적일 수 있지만, 보다 중앙 집중적인 경향이 있으며, 보통 많은 설정과 높은 유지 비용이 듭니다. 뿐만 아니라, 구조화된 네트워크는 높은 이탈률이 발생했을 때 보다 취약합니다.


하이브리드 P2P 네트워크

하이브리드 P2P 네트워크는 기존의 클라이언트-서버 모델과 피어투피어 아키텍처의 일부를 결합한 것입니다. 예를 들어, 이는 구성원들 사이의 연결을 용이하게 하는 중앙 서버를 설계할 수 있습니다.

다른 두 종류와 비교했을 때, 하이브리드 모델은 전반적으로 향상된 성능을 보이곤 합니다. 이들은 보통 각 접근 방식의 주된 장점들을 결합하여, 높은 수준의 효율성과 분산성을 동시에 달성합니다.


분산화 vs. 탈중앙화

P2P 아키텍처는 본래 분산화되어 있는 것이지만, 분산화 정도가 다양하다는 점은 중요한 사항입니다. 따라서 모든 P2P 네트워크가 탈중앙화되어 있는 것은 아닙니다.

실제로 많은 시스템은 네트워크 활동을 안내하기 위한 중앙 권위에 의존하고 있어 어느 정도 중앙화되어 있습니다. 예를 들면, P2P 파일 공유 시스템은 사용자가 다른 사용자로부터 파일을 검색하고 다운로드 할 수 있게 하지만, 사용자는 검색 요청을 관리하는 것과 같은 다른 과정에는 참여할 수 없습니다.

또한 공유된 목적을 가진 제한된 사용자 기반에 의해 제어되는 소규모 네트워크는 중앙화된 네트워크 인프라가 부족함에도 불구하고 보다 중앙 집중적일 수 있습니다.


블록체인에서 P2P의 역할

비트코인의 초기 단계에서 사토시 나카모토는 이를 "피어투피어 전자 화폐 시스템"으로 정의했습니다. 비트코인은 디지털 형태의 화폐로 만들어졌습니다. 이는 분산화된 원장을 관리하는 블록체인이라 하는 P2P 네트워크를 통해, 한 사용자에게서 다른 사용자로 전송될 수 있습니다.

이러한 맥락에서, 블록체인 기술에 내재된 P2P 아키텍처는 중개자나 어떤 중앙 서버 없이도 비트코인이나 다른 암호화폐를 전 세계로 전송할 수 있게 합니다. 또한 블록을 검증하고 승인하는 과정에 참여하고자 하는 누구나 비트코인 노드를 설정할 수 있습니다.

따라서 비트코인 네트워크에는 트랜잭션을 처리하거나 기록하는 은행이 없습니다. 대신 블록체인이 모든 기록을 공개적으로 기록하는 디지털 원장 역할을 합니다. 기본적으로 각 노드는 블록체인 사본을 보관하며, 이를 다른 노드와 비교해 데이터가 정확한지 확인합니다. 네트워크는 악의적인 활동이나 부정확한 정보를 재빨리 차단할 수 있습니다.

암호화폐 블록체인의 관점에서 노드는 여러가지 다양한 역할을 수행할 수 있습니다. 예를 들어, 풀 노드는 시스템 합의 규칙을 따라 트랜잭션을 확인하여 네트워크 보안을 제공하는 노드입니다.

각 풀 노드는 온전한 최신 블록체인 사본을 보유하며, 이는 이들이 분산화된 원장의 실제 상태를 확인하는 공동 작업에 참여할 수 있게 합니다. 그러나 한 가지 알아둘 것은 검증을 담당하는 모든 풀 노드가 마이너는 아니라는 것입니다.


장점

블록체인의 피어투피어 아키텍처는 많은 장점을 제공할 수 있습니다. 그중에서도 가장 중요한 사실은 P2P 네트워크가 전통 클라이언트-서버 합의보다 우수한 보안을 제공한다는 것입니다. 상당수의 노드에 걸쳐 분포된 블록체인은 많은 시스템을 괴롭히는 서비스 거부(Dos) 공격을 사실상 막아낼 수 있습니다.

이처럼 블록체인에 데이터를 추가하기 전에 다수의 노드가 합의를 달성해야 하기 때문에, 공격자가 데이터를 변조하는 것은 거의 불가능합니다. 이는 특별히 비트코인처럼 커다란 네트워크의 경우에는 더욱 그렇습니다. 보다 작은 블록체인은 공격에 더욱 민감한데, 한 명 혹은 한 그룹이 결국에 다수의 노드를 통제(이는 51퍼센트 공격이라 알려져 있습니다)할 수 있기 때문입니다.

결과적으로 다수의 합의 요건을 따르는 분산화된 피어투피어 네트워크는 블록체인이 상대적으로 악의적인 행동을 더 잘 막아낼 수 있게 합니다. P2P 모델은 비트코인(그리고 다른 블록체인)이 비잔티움 장애 허용을 달성할 수 있는 이유 중 하나입니다.

암호화폐 블록체인에서 P2P 아키텍처를 사용하면 보안 그 이상으로 중앙 당국의 검열에 저항할 수 있습니다. 일반 은행 계좌와 달리, 암호화폐 지갑은 정부에 의해 동결되거나 유출될 수 없습니다. 이는 또한 개인 결제 처리 과정과 콘텐츠 플랫폼에 의한 검열 시도에도 저항할 수 있습니다. 일부 콘텐츠 제작자와 온라인 상인들은 제3자에 의해 결제가 막히는 것을 방지하기 위해 암호화폐 결제를 채택했습니다.


한계

많은 장점에도 불구하고, 블록체인에서 P2P 네트워크를 사용하는 것에는 특정한 한계들이 있습니다.

분산화된 원장은 중앙 서버가 아닌 모든 단일 노드 상에서 업데이트 되어야 하기 때문에, 블록체인에 트랜잭션을 추가하려면 상당한 수준의 연산 능력이 필요합니다. 이는 보안을 강화하지만 효율성을 크게 떨어뜨리며, 확장성과 광범위한 채택에 있어 주된 걸림돌이 됩니다. 그럼에도 불구하고 암호 전문가와 블록체인 개발자들은 확장성 해결책으로 사용될 수 있는 대안책들을 연구하고 있습니다. 대표적인 예로는 라이트닝 네트워크이더리움 플라스마밈블윔블 프로토콜 등이 있습니다.

또 다른 잠재적 한계는 하드 포크 중에 발생할 수 있는 공격과 관련이 있습니다. 대부분의 블록체인은 탈중앙화되어 있으며, 오픈 소스이기 때문에, 노드 그룹은 자유롭게 코드를 복사하고 수정할 수 있으며, 메인 체인으로부터 갈라져 나와 새로운 병렬 네트워크를 형성할 수 있습니다. 하드포크는 전적으로 정상적인 것이며, 그 자체로 위협은 아닙니다. 그러나 특정 보안 방법이 적절하게 채택되지 않는다면, 두 체인 모두 리플레이 공격에 취약해질 수 있습니다.

더욱이 P2P 네트워크의 분산적인 특징은 블록체인 분야뿐만 아니라 다른 분야에서도 이를 상대적으로 통제하고 규제하기 어렵게 합니다. 몇몇 P2P 애플리케이션과 회사들은 불법적인 활동과 저작권 침해에 연루되었습니다.


마치며

피어투피어 아키텍처는 다양한 방식으로 개발되고 사용될 수 있으며, 암호화폐를 가능하게 하는 블록체인의 핵심입니다. 거래 원장을 대규모 노드 네트워크에 분산시킴으로써, P2P 아키텍처는 보안, 탈중앙화, 검열 저항 기능을 제공합니다.

블록체인 기술에서의 유용성 외에도, P2P 시스템은 파일 공유 네트워크에서 에너지 거래 플랫폼에 이르는 다른 분산화된 컴퓨팅 애플리케이션에도 서비스를 제공할 수 있습니다.

Loading