در علوم رایانه ای شبکه همتا به همتا از گروهی از دستگاه ها تشکیل شده است، که به طور جمعی پرونده ها را ذخیره و به اشتراک میگذارند. هر شرکت کننده یا گره به عنوان یک همکار فردی عمل میکند. به طور معمول همه گره ها قدرتی برابر با یکدیگر دارند و دقیقا وظایف یکسانی را انجام میدهند. در فناوری مالی، اصطلاح peer-to-peer معمولا به مبادله ارزهای رمزپایه یا دارایی های دیجیتال از طریق شبکه توزیع شده اشاره دارد. یک پلت فرم P2P به خریداران و فروشندگان این امکان را می دهد که بدون نیاز به واسطه ها معاملات خود را انجام دهند. در برخی موارد وب سایت ها همچنین ممکن است یک محیط P2P را فراهم کنند که وام دهنده ها و وام گیرندگان را به یکدیگر متصل می کند.
معماری P2P می تواند برای موارد مختلف استفاده مناسب باشد. اما به خصوص در دهه 1990 با ایجاد اولین برنامه های اشتراک فایل محبوب شد. امروزه شبکه های همتا به همتا در اکثر ارزهای رمزپایه قرار دارند و بخش عمدهای از صنعت بلاکچین را تشکیل می دهند. با این حال آنها در سایر برنامه های محاسبات توزیع شده از جمله موتورهای جستجوی وب، سیستم عامل های جریان، بازارهای آنلاین و پروتکل وب سیستم بین سیارهای IPFS مورد استفاده قرار می گیرند.
نحوه عملکرد P2P، سیستم همتا به همتا یا نظیر به نظیر
در واقع یک سیستم P2P توسط یک شبکه توزیع شده از کاربران حفظ می شود. معمولا آنها هیچ مدیر یا سرور مرکزی ندارند زیرا هر گره یک کپی از پرونده ها را در خود نگه می دارد که هم به عنوان سرویس گیرنده و هم به عنوان سرور برای سایر گره ها عمل می کند. بنابراین هر گره قادر است پرونده ها را از گره های دیگر بارگیری یا پرونده ها را در آنها بارگذاری کند. این همان چیزی است که شبکه های P2P را از سیستم های سنتی سرویس گیرنده، که در آن دستگاه های مشتری پرونده ها را از بک سرور متمرکز بارگیری می کنند متمایز می کند.
در شبکه های همتا به همتا دستگاه های متصل پرونده هایی را که روی درایوهای سخت آنها ذخیره شده است به اشتراک می گذارند. با استفاده از برنامه های نرم افزاری طراحی شده برای ایجاد واسطه در به اشتراک گذاشتن داده ها، کاربران می توانند از دستگاه های دیگر موجود در شبکه برای یافتن و بارگیری پرونده ها ارسال کنند. زمانی که یک کاربر فایل داده شده را بارگیری کند، سپس می تواند به عنوان منبع آن وارد عمل شود.
به عبارت دیگر هنگامی که گره ای به عنوان مشتری عمل می کند آنها پرونده ها را از گره های شبکه دیگری بارگیری می کنند. اما زمانی که آنها به عنوان سرور کار می کنند، منبعی هستند که گره های دیگر می توانند از آنها پرونده ها را بارگیری کنند. اگرچه در عمل هر دوی این عملکردها می توانند همزمان اجرا شوند به عنوان مثال بارگیری پرونده الف و بارگذاری گرونده ب.
از آنجا که هر گره پرونده ها را ذخیره، منتقل و دریافت می کند، شبکه های P2P با بزرگتر شدن پایگاه های کاربری، سریعتر و کارآمدتر عمل می کنند. همچنین ساختار توزیع شده آنها باعث می شود سیستم های P2P در برابر حملات سایبری بسیار مقاوم عمل کنند. برخلاف مدل های سنتی شبکه های P2P بی نقص هستند. ما ممکن است سیستم های نظیر به نظیر را بر اساس معماری آنها دسته بندی کنیم. سه نوع اصلی شبکه های همتا به همتا بدون ساختار، ساخت یافته و ترکیبی نامیده می شوند.
-
شبکه P2P بدون ساختار
این شبکه هیچ سازمان خاصی از گره ها را ارائه نمی دهد. شرکت کنندگان به طور تصادفی با یکدیگر ارتباط برقرار می کنند. این سیستم ها در برابر فعالیت زیاد CHURN (به معنی چندین گره که به طور مرتب و مکرر به شبکه می پیوندند و از آن خارج می شوند) قوی در نظر گرفته می شوند. اگرچه ساخت آن آسانتر است اما شبکه های همتا به همتا بدون ساختار ممکن است به پردازنده و حافظه بیشتری احتیاج داشته باشند زیرا درخواست های جستجو برای بالاترین تعداد همتایان ممکن است ارسال شود. این تمایل به پر کردن شبکه با پرس و جو دارد، به خصوص اگر تعداد کمی از گره ها محتوای مورد نظر را ارائه دهند.
-
شبکه های P2P ساخت یافته
در مقابل، شبکه های P2P ساخت یافته دارای معماری سازمان یافته ای هستند که به گره ها امکان می دهد تا به طور موثر فایل ها را جستجو کنند، حتی اگر محتوا به طور گسترده ای در دسترس نباشد. در بیشتر موارد، این کار را با استفاده از توابع هش که جستجوی پایگاه داده را تسهیل می کند، حاصل می شود. در حالی که شبکه های ساختار یافته ممکن است کار آمدتر باشند، مایلند سطح بالاتری از تمرکز را ارائه دهند و معمولا به هزینه های راه اندازی و نگهداری بالاتری نیاز دارند. به غیر از این شبکه های ساختار یافته هنگام مواجهه با نرخ بالای ریزش قدرت کمتری دارند.
-
شبکه های ترکیبی P2P
شبکه های ترکیبی سرور معمولی را با برخی جنبه های معماری نظیر به نظیر ترکیب می کنند. به عنوان مثال ممکن است یک سرور مرکزی طراحی کنند که ارتباط بین همتا را تسهیل کند.زمانی که با دو نوع دیگر مقایسه می شود، مدل های ترکیبی عملکرد کلی بهبود یافته تری با آن دو دارد. آنها معمولا برخی از مزایای اصلی هر رویکرد را با هم ترکیب میکنند، به طور همزمان به درجه قابل توجهی از کارایی و عدم تمرکز می رسند.
مزایای شبکه P2P
از مهم ترین مزایای این شبکه این است که امنیت بیشتری نسبت به تنظیمات سنتی سرویس دهنده دارند. توزیع بلاکچین در تعداد زیادی گره، آنها را در برابر حملات انکار سرویس DoS که سیستم های زیادی را آزار می دهد مصون نگه می دارد.
به همین ترتیب از آنجا که اکثر گره ها باید قبل از افزودن داده ها به زنجیره بلاک اجماع ایجاد می کنند. تقریبا غیر ممکن است که مهاجمان بتوانند این داده ها را تغییر دهند این امر به ویژه درباره شبکه های بزرگی مثل بیت کوین صدق میکند. در نتیجه شبکه همتا به همتا با اکثریت اجماع جفت شده مقاومت نسبتا بالایی از خود نشان می دهد. فراتر از امنیت این است که استفاده از این شبکه در بلاکچین های رمز نگاری آنها را در برابر سانسور توسط مقامات مرکزی مصون نگه می دارد.
محدودیت های شبکه P2P
از آنجا که دفترهای توزیع شده باید به جای سرور مرکزی در هر گره به روز شوند افزودن تراکنش ها به بلاکچین به مقدار زیادی قدرت محاسباتی نیاز دارد. در حالی که این مورد افزایش امنیت را به همراه دارد تا حد زیادی کارایی را کاهش می دهد.
محدودیت بالقوه دیگر محدودیت هایی است که ممکن است در هنگام انشعاب یک هارد فورک رخ دهد. از آنجا که اکثر زنجیره های بلاک غیر متمرکز و منبع باز هستند گروه های گره آزادانه می توانند کد را کپی یا اصلاح کنند و از زنجیره اصلی جدا شوند و یک شبکه موازی جدید تشکیل دهند. هارد فورک کاملا طبیعی است و به خودی خود مشکلی ایجاد نمیکند اما در صورتی که روش های امنیتی به درستی اتخاذ نشوند هر دو زنجیره در برابر حملات مجدد آسیب پذیر میشوند.
معماری نظیر به نظیر به طریق مختلف قابل توسعه است و در هسته اصلی بلاکچین ها قرار دارد که تراکنش ارزهای رمزپایه را امکان پذیر کرده اند. با توزیع دفتر معاملات در شبکه های بزرگ گره ها، معماری P2P، امنیت، عدم تمرکز و مقاومت در برابر سانسور را به طور موفقیت آمیزی ارائه می دهد.