همتا به همتا Peer to Peer – P2P چیست؟ چه مزایا و معایبی دارد؟

cropped india p2p roundup banner

در بحث ارزهای دیجیتال، بارها ذکر شده که بیت‌کوین از یک شبکه همتا به همتا (P2P یا Peer to Peer) استفاده می‌کند. در این مقاله می‌خواهیم بررسی کنیم که این تکنولوژی چیست و چگونه کار می‌کند؟

همتا به همتا (Peer to Peer یا به اختصار P2P) یک مدل ارتباطی نامتمرکز و گونه‌ای از معماری‌های توزیع شده است که در آن اعمال و بار محاسباتی روی گره های مشابهی به نام همتا (Peer) توزیع می‌شود. همتاها در این نوع شبکه ها دارای مجوزها و نقش‌های مشابهی هستند.

گره ها در یک شبکه P2P علاوه بر اینکه از دیگر گره ها خدمات و منابع دریافت می‌کنند بخشی از منابع خود (نظیر قدرت پردازشی، فضای ذخیره سازی، پهنای باند و …) را نیز در اختیار سایر گره های شبکه قرار می‌دهند. این مدل در نقطه مقابل مدل کلاینت – سرور قرار می‌گیرد. در واقع در شبکه P2P، هر همتا هر دو نقش کلاینت (مصرف کننده منابع) و سرور (یا فراهم کننده منابع) را ایفا می‌کند، این در حالیست که در مدل کلاینت – سرور این دو نقش کاملا از یکدیگر مجزا هستند.

هرچند کاربرد شبکه های P2P به زمان‌های پیش‌تر باز می‌گردد اما فراگیری و محبوبیت آن را باید مدیون سامانه‌های اشتراک فایل (به ویژه اپلیکیشن اشتراک موسیقی Napster – تأسیس در سال 1999) دانست.

کاربران برای اتصال به شبکه های P2P گسترده، معمولا نیازمند یک ارتباط اینترنتی و یک اپلیکیشن مخصوص هستند. این اپلیکیشن ها عملکرد گره به عنوان کلاینت و سرور را مدیریت می‌کنند و ممکن است به کاربر اجازه دهند پارامترهای مختلف از قبیل میزان منابعی که قرار است به شبکه تخصیص داده شود و تعداد ارتباط‌های مجاز که با سایر گره ها برقرار می‌کند را مشخص نمایند.

ویژگی ها، مزایا و معایب همتا به همتا

به طور کلی در یک شبکه همتا به همتا هرچه تعداد کاربران افزایش پیدا کند ظرفیت شبکه نیز افزایش می‌یابد. اگر یک گره در شبکه به درستی کار نکند در صورتی که به اندازه کافی شبکه گسترده باشد سایر همتاها آن را جبران کرده و در نتیجه شبکه دچار اختلال نمی‌شود. این در حالیست که در مدل کلاینت – سرور، منابع سرور (یا سرورها) روی کلاینت‌ها تقسیم می‌شود و در صورت افزایش تعداد درخواست‌ها ممکن است سرور نتواند به شکل مناسب آن‌ها را پاسخ بدهد. علاوه بر این احتمال بروز شکست در چنین شبکه هایی نیز بیشتر خواهد بود چرا که در این مدل، تعداد گره‌هایی که مسئولیت سرویس دهی را بر عهده دارند محدود است.

استفاده از مدل همتا به همتا در مقایسه با مدل کلاینت – سرور مزایا و معایب دیگری هم دارد. به عنوان مثال در مورد اشتراک گذاری فایل، اگر فایل‌ها روی یک سرور نگه‌داری شود این مدیران سرور هستند که در هر لحظه می‌توانند به دلایلی (از جمله فشار دولت یا نقض حقوق کپی رایت) فایلی را از دسترس کلاینت‌های خود خارج کنند. از سوی دیگر، کلاینت‌ها معمولا به شکلی مطمئن می‌توانند به فایل موردنظر خود دسترسی داشته باشند حتی اگر فایل، مربوط به یک موسیقی یا نرم‌افزار نه چندان مشهور باشد که روی فضای سرور ذخیره شده است. این در حالیست که در مدل همتا به همتا، دسترسی به فایل‌هایی که چندان شناخته شده نیستند معمولا کار آسانی نیست. چرا که در مدل P2P باید حداقل یک گره، فایل مورد نظر را در اختیار داشته باشد، آن را به اشتراک گذاشته باشد و از سوی دیگر گره درخواست دهنده بتواند به گره دارای این فایل متصل شود. البته باید در نظر داشت که پایداری و دسترس پذیری شبکه‌های P2P برای اشتراک فایل‌های محبوب بسیار بالاتر خواهد بود.

سامانه های انتقال محتوا و اشتراک فایل که براساس این مدل فعالیت می‌کنند نه تنها همراه با افزایش تعداد کاربران، ظرفیت سرویس‌دهی‌شان افزایش پیدا می‌کند بلکه هزینه‌های آن‌ها در برابر سامانه‌های مشابه مبتی بر مدل کلاینت – سرور بسیار کمتر خواهد بود. این سامانه‌ها با توجه به عدم وجود سرور مرکزی معمولا به راحتی می‌توانند حق کپی رایت فایل‌های چندرسانه‌ای و نرم‌افزارها را نقض کنند. BitTorrent از جمله مشهورترین پروتکل های ارتباطی برای اشتراک فایل همتا به همتا می‌باشد.

دسترسی گمنام به محتوا، ایجاد محیط‌های محاسبات موازی و پیچیده و ارزهای رمزنگاری شده دیجیتال نظیر بیت کوین از جمله دیگر کاربردهای شبکه های P2P به شمار می‌رود. از آنجایی که نرم‌افزارهای P2P به عنوان سرور و کلاینت عمل می‌کنند معمولا از نظر امنیتی می‌توانند آسیب‌پذیرتر باشند.

از ترکیب مدل همتا به همتا و کلاینت – سرور، مدل‌های هیبریدی شکل می‌گیرند. در یک مدل هیبریدی متداول از یک سرور مرکزی برای کمک به همتاها جهت یافتن یکدیگر، جستجوی نام فایل‌هایی که توسط همتاها به اشتراک گذاشته شده و … استفاده می‌شود.

در شکل زیر مقایسه بین شبکه همتا به همتا و کلاینت سرور را مشاهده می‌کنید:

همتا به همتا یا P2P در مقابل Client Server
همتا به همتا یا P2P در مقابل Client Server
سروش طیبی
سروش طیبی هستم، برنامه‌نویس و طراح وب، عاشق دنیای رمزارز و کریپتو