P2P시스템 정의


P2P(Peer to Peer) 시스템은 여러개의 개별 컴퓨터들로 구성된 분산 시스템으로, 한 노드의 자원(계산능력, 저장공간, 정보배분등)을 다른 노드들이 직접 사용할 수 있다는 특징을 가진다.


즉 P2P시스템에 참여 하게 되면 사용자의 컴퓨터는 P2P시스템의 노드로 전환되고, 모든 노드에게는 동등한 권리와 역할이 주어진다. 


예를 들어 P2P 파일공유시스템에 가입하게 되면 개별 파일은 각자의 컴퓨터에 저장되어 있으나 모든 사용자와 공유된다. 누군가 파일 다운로드를 실행하면 다른 누군가의 컴퓨터로 부터 파일이 다운로드 되기 시작한다. 





P2P시스템 아키텍처



P2P는 분산 컴퓨터 시스템으로 운영된다.  


순수 분산 P2P 시스템에서는 모든 노드는 동일한 과제를 수행하며 자원과 서비스의 생산자이인 동시에 소비자 역할을 한다.


중앙통제 P2P시스템은 중앙 노드를 이용해 노드간 상호작용을 중재하고 피어노드가 제공하는 서비스 목록을 유지 관리하고 노드를 검색하고 식별하는 역할을 수행한다. 대표적인 예가 냅스터이다. 냅스터는 중앙 데이터베이스에 접속한 모든 노드가 각 노드가 보유한 노래 정보를 저장하고 있다.



P2P 시스템과 블록체인의 연관성


블록체인은 분산시스템에서 무결성을 확보하고 유지하는 도구라고 할 수 있다. 즉 순수 분산 P2P 시스템은 무결성의 확보와 유지를 위해 블록체인 시스템을 사용한다.




P2P 시스템과 무결성


무결성이란?

소프트웨어 시스템 관점에서 무결성은 시스템의 안전성, 완결성, 일관성, 정확성 및 변형과 오류 없음을 의미하는 비기능적 측면이다. 


순수 P2P 시스템의 무결성을 위협하는 요소로 다음 2가지를 고려해 볼 수 있다.


- 기술적 결함

   인터넷으로 연결된 개별 컴퓨터로 구성되는 시스템이기 때문에 모든 기계장비는 언제든지 고장이나 오류를 일으킬 수 있다. 


- 악의적 피어

   시스템을 자신의 이익을 위해 착취하려는 개인의 악의가 원인이 될 수 있다.  P2P시스템 사용자들은 다른 피어를 믿지 못하는 순간 시스템을 떠날것이고, 더 이상 계산 자원에 기여하지 않게 되어 시스템 구성원이 감소하게 되고, 저하된 시스템 효용성으로 인해 또 다른 이탈자가 나오게 되어 시스템이 완전히 와해 되는 상황이 발생될 수 있다.



블록체인이 해결해야 할 핵심 문제는 "개수도 알려져 있지 않고 신뢰성과 안정성도 알수 없는 피어들로 구성된 순수 분산 P2P 시스템의 무결성을 확보하고 유지하는 것이다"





 다니엘 드레셔가 지은 "블록체인 무엇인가?"를 정리하고 있습니다.



블로그 이미지

오픈이지 제로킴

시큐어코딩 교육/컨설팅 전문가 그룹

티스토리 툴바