분산 컴퓨팅 네트워크를 설정할 때 배포 할 수있는 다양한 유형의 분산 시스템 아키텍처가 있습니다. 이 기사에서는 블록 체인의 P2P 분산 시스템 아키텍처에 중점을두고 분산 시스템 아키텍처 유형에 대해 자세히 살펴 봅니다..

분산 시스템 아키텍처의 유형

클라이언트-서버 모델

이메일 또는 네트워크 프린터와 같은 애플리케이션은 일반적으로 클라이언트-서버 아키텍처를 사용합니다. 기본적으로 공급자 (서버라고 함)와 요청자 (클라이언트라고 함)는 서로 다른 역할을합니다. 서버는 모든 처리, 데이터 관리 및 컴퓨팅 요구 사항을 처리하며 이는 클라이언트가 필요에 따라 사용할 수 있습니다. 데이터베이스 항목이 변경 되더라도 클라이언트는 반드시 아무것도 할 필요가 없습니다. 서버의 데이터 만 변경하면됩니다..

이 모델에서는 서버가 단일 장치 일 필요가 없습니다. 워크로드를 분산하기 위해 유사한 작업을 수행하는 여러 서버가 될 수 있습니다. 모델은 특정 하드웨어가 아닌 클라이언트와 서버의 역할을 나타냅니다..

클라이언트-서버 모델 다이어그램

클라이언트-서버 모델 다이어그램. 출처 : Wikimedia Commons

우리는 랩톱이나 스마트 폰을 사용하여 웹 서핑을하거나 소셜 미디어 앱을 사용하거나 모바일 게임을하거나 Netflix에서 영화를 볼 때마다 매일 클라이언트-서버 상호 작용을 사용합니다. 클라이언트-서버 분산 시스템 아키텍처는 분산 형 분산 시스템 아키텍처 인 블록 체인과 달리 “중앙 집중식”컴퓨터 시스템에 대해 말할 때 언급하는 것입니다..

이것은 간단한 설명이지만 3 계층과 같은 다양한 유형의 클라이언트-서버 아키텍처가 있습니다. 이 모델에는 애플리케이션 자체를 실행하는 서버를 애플리케이션 뒤에있는 데이터를 보관하는 서버와 분리하는 것이 포함됩니다. 다른 것도 있지만 블록 체인과 관련이 없기 때문에 여기에서 모두 분석하지는 않겠습니다..

피어 투 피어 모델

P2P (Peer-to-Peer) 분산 시스템 아키텍처에는 특정 클라이언트 나 서버가 없습니다. P2P 네트워크는 노드라고하는 분산 시스템 시스템입니다. 모든 노드는 동시에 또는 다른 시점에서 클라이언트와 서버의 역할을 수행 할 수 있습니다. 모델은 이름 자체에 내재되어 있습니다. P2P 네트워크에서 각 머신은 클라이언트 나 서버가 아닌 동등한 피어입니다..

P2P 네트워크는 음악 공유 사이트 Napster와 같은 파일 공유 서비스가 출시 된 후 인기를 얻었습니다. P2P의 아이디어는 시스템이 중앙 집중식 제어와 독립적으로 작동 할 수 있기 때문에 일종의 컬트 상태를 얻었습니다. 오늘날, 블록 체인 외부에서 파일 공유 프로토콜 BitTorrent는 아마도 P2P 네트워크와 관련된 가장 크고 가장 잘 알려진 이름 일 것입니다..

구조화되지 않은 네트워크와 구조화 된 네트워크

노드가 서로 연결되는 방식과 데이터가 인덱싱 및 검색되는 방식에 따라 P2P 네트워크는 구조화 또는 비 구조화로 분류됩니다. 구조화되지 않은 시스템에서 노드는 단순히 서로 무작위 연결을 형성합니다. 비정형 네트워크는 쉽게 구축하고 확장하거나 축소 할 수 있습니다..

구조화되지 않은 P2P 네트워크 다이어그램 (출처 : Wikimedia Commons)

그러나 구조화되지 않았기 때문에 인덱싱이 훨씬 더 어려워집니다. 노드가 특정 데이터 또는 다른 노드를 찾으려는 경우 검색의 잠재적 대상이 될 수있는 가능한 한 많은 노드에 도달하도록 네트워크를 플러딩해야합니다. 이는 모든 노드가 모든 요청을 처리해야하므로 더 많은 네트워크 전력을 사용합니다. 또한 데이터가 드문 경우 네트워크의 모든 노드가 모든 요청을 처리 할 수없는 경우 데이터를 찾지 못할 수 있습니다. 비정형 네트워크의 예로는 Kazaa 및 Limewire가 있습니다..

반면에 구조화 된 네트워크에서 데이터를 찾는 것은 쉽습니다. 구조화 된 네트워크는 분산 해시 테이블을 사용하여 어떤 피어가 어떤 파일과 파일 버전을 보유하고 있는지 식별합니다. 코드는 구조화 된 P2P 네트워크의 한 예입니다..

분산 해시 테이블

구조화 된 P2P 네트워크에서 사용되는 분산 해시 테이블의 다이어그램. 출처 : Wikimedia Commons

블록 체인이 특별한 이유

분산 시스템 아키텍처를위한 순수 모델 인 P2P 네트워크에는 다양한 이점과 과제가 있습니다. 주요 이점은 중앙 장애 지점이 없기 때문에 다운 타임에 대한 복원력입니다..

그러나 P2P 네트워크의 노드는 클라이언트와 서버 역할을 모두 수행하기 때문에 공격에 더 취약합니다. 이러한 공격에는 서비스 거부 또는 맬웨어 배포 또는 손상된 데이터가 포함될 수 있습니다.. 한 연구 Kazaa에서 다운로드 한 50 만 파일 중 15 %가 52 개의 다른 바이러스에 감염된 것으로 나타났습니다..

블록 체인이 100 % 썩지 않는 것은 아니지만 Satoshi는 비트 코인을 작성할 때 취약성 문제에 대한 독창적 인 해결책을 제시했습니다. 백지. 합의 프로토콜을 도입함으로써 비트 코인 네트워크의 모든 노드는 거래가 유효하다는 데 동의해야합니다. 게임 이론을 사용하면 각 노드가 다음 블록을 채굴하기 위해 경쟁합니다..

다음 블록을 성공적으로 채굴하면 보상이 주어지며, 노드 운영자에게 네트워크를 깨끗하게 유지하는 인센티브를 제공합니다. 노드 운영자의 51 % 이상이 협력하여 다음 블록 보상을 위해 계속 경쟁한다면 블록 체인은 계속해서 공격없이 실행됩니다..

결론

물론 디지털 가치의 저장소를 만드는 해싱 및 암호화 서명 사용과 같은 비트 코인의 다른 요소도 있습니다. 그러나 P2P 분산 시스템 아키텍처의 고유 한 약점을 극복하기 위해 Satoshi가 발명 한 솔루션은 블록 체인의 가장 강력하고 혁신적인 구성 요소 중 하나입니다..

비트 코인이 시작된 이래 많은 다른 사람들이 Satoshi의 아이디어를 바탕으로 창의적인 개발을했습니다. 이러한 발전은 오늘날까지 계속되고 있습니다. 블록 체인은 분산 시스템 아키텍처에서 혁신적인 단계를 나타냅니다. 또한이 기술은 앞으로도 계속 발전 할 것입니다..

Pixabay의 추천 이미지 제공