در علم کامپیوتر، شبکه p2p به دستگاه های کامپیوتری گفتهمی شود که به صورت گروهی، فایل های مشخصی را ذخیره کرده و آن ها را به اشتراکمی گذارند. هر شرکت کننده و یا همان کامپیوترها که به آن ها گره گفتهمی شود، همسان سایر گره ها بوده و قدرت مشابه ای را با سایرین در بر دارد.
حال در تکنولوژی اقتصادی بلاکچین، واژه p2p، عموما به مبادله ارزهای دیجیتال در یک شبکه توزیعشده اطلاقمی گردد. بدین معنی که یک شبکه p2p بلاکچینی، به خریداران و فروشندگان این امکان را می دهد که مبادله مورد نظر خود را بدون نیاز به واسطه به انجام برسانند.
ساخت و توسعه شبکه همتا به همتا، در موارد متفاوتی به کار گرفته می شود. با این حال، در دهه 90، در زمانی که اولین برنامه اشتراک فایل منتشر شد، این تکنولوژی محبوبیت زیادی در بین کاربران پیدا کرد.
حال با وجود این که امروزه، بیشترین استفاده از شبکه های p2p، برای خرید و فروش ارزهای دیجیتال به کار می رود، این سیستم را همچنین می توان در سایر برنامه های محاسباتی توزیع شده مانند موتورهای جستجوگر، سیستم عامل ها، بازارهای آنلاین و سیستم های IPFS به کار برد. برای کسب اطلاعات بیشتر به مقاله بلاکچین چیست مراجعهکنید.
نحوه کارکرد شبکههای P2P
اساسا شبکه های P2P، توسط گروهی از کاربران اداره می شوند. بدین معنی که این دسته ازسیستم ها، توسط هیچ گونه نهادی کنترل نمی شوند چراکه هدایت شبکه تماما به دست کاربران انجام می شود. در یک سیستم P2P تمام کاربران، یک نسخه از پرونده ها را در دست دارند و بدین ترتیب، هم به عنوان گره کاربر و هم به عنوان گره خدمت کننده فعالیت می کنند.
بر همین اساس، هر گره در شبکه P2P، هم قادر است که اطلاعات را بر روی سایر گره ها، بارگذاری کرده و هم آن ها را بارگیری نماید. حال نکته اینجاست که این موضوع دقیقا همان امری است که شبکه های P2P را از سایر شبکه های اشتراک گذاری متمایز می کند. چرا که نحوه بارگیری و بارگذاری در سیستم های متمرکز بدین گونه است که کاربران، فقط ی منبع خاص برای دانلود و یا آپلود اطلاعات دارند که آن منبع، همان سرور اصلی است.
به زبان ساده تر، در شبکه های P2P، یک گره، هم می تواند در نقش گره کاربر باشد و هم در نقش گره سرور. اگر گره مذکور بخواهد فایلی را دانلود کند، گره مشتری نام داشته و اگر بخواهد فایلی را آپلود کند، یک گره سرور به شمار می رود.
از آنجایی که هر گره، فایل ها را انتقال، دریافت، ذخیره و به اشتراک می گذارد، با بیشتر شدن تعداد گره ها در یک شبکه P2P، کارایی و سرعت شبکه نیز بیشتر می شود. یکی دیگر از مزایای سیستم P2P این است که از آنجایی که اطلاعات در دست تمام کاربران قرار دارد، این شبکه ها در مقابل هک شدن و حملات سایبری بسیار مقاوم هستند. واضحاست که هک کردن یک سرور مرکزی، بسیار آسان تر از سرورهای توزیع شدهاست.
سیستم های P2P از نظر نوع معماری به سه دستهتقسیممی شوند: شبکه P2P ساختاریافته، شبکه P2P بدون ساختار و شبکه P2P ترکیبی.
شبکه P2P بدون ساختار
در چنین شبکه هایی، ارتباط بین گره ها هیچ نظمی ندارد و در صورت نیاز به برقراری ارتباط، گره ها به صورت رندوم به هم متصل می شوند. این نوع از شبکه نسبت به گره های ناکارامد حساس است و قادر است تا گره های طغیان گر را به سرعت از سیستم خارج نماید.
اگرچه ساخت و توسعه شبکه های P2P بدون ساختار آسان تر از سایرین است، اما این سیستم ها ممکن است که CPU و حافظه بیشتر نیاز داشته باشند چرا که موتورهای جستجو، کاربران را بیشتر به سمت این دسته از شبکه ها سوق می دهند.
شبکه P2P ساختاریافته
شبکه های P2P ساختاریافته، یک معماری منظم را به کاربران ارائهمی دهند. در چنین حالتی گره ها قادرند تا به صورت کارآمد، به جستجوی فایل ها بپردازند. حتی اگر محتوای مورد جستجو، به صورت گسترده در دست نباشد. در اکثر مواقع چنین سیستم هایی با استفاده از توابع هش کار می کنند.
با وجود این که این دسته از شبکهها، به صورت کارآمدتری عملمیکنند، با این حال تمایل به متمرکز بودن شبکه، بیشتر در آن ها دیدهمی شود. و هزینه توسعه بیشتری نیز برای این شبکه ها مورد نیازاست. به علاوه از آنجایی که این سیستم ها متمرکز هستند، در مقابل حملات سایبری، مقاومت کمتری را نسبت به P2Pهای بدون ساختار ارائه میدهند.
شبکه P2P ترکیبی
این دسته از شبکه های P2P، مدل متمرکز کاربر-سرور را با مدل P2P ترکیب می کند. بدین معنی که یک سرور مرکزی، قادر است تا ارتباط بین کاربران را تسهیل کند.
در مقایسه با دو مدل قبلی، شبکه های P2P ترکیبی، عملکرد بهتری را ارائه میدهند چراکه این دسته از سیستمها، مزیت های هر دو گروه قبلی را در بر دارند. بدین معنی که P2Pهای ترکیبی، هم کارایی و سرعت بالایی دارند و هم نسبت به حملات سایبری مقاوم هستند.
تفاوت بین دو مفهوم توزیعشده با متمرکز چیست؟
سیستم های P2P، تماما به صورت توزیعشده عملمیکنند.برخی از سیستم ها، متمرکز و برخی دیگر به صورت غیرمتمرکز کار می کنند. بنابراین می توانگفت که همه شبکههای P2P، توزیعشده هستند، اما همه آن ها غیرمتمرکزنیستند.
به عنوان مثال، در یک سری از شبکه های P2P متمرکز، کاربران قادرند که هم به صورت سرور و هم به صورت کاربر فعالیت کنند. بدین معنی که می توانند فایل ها را هم از سایر کاربران دریافت کرده (دانلود) و هم اطلاعات را برای آن ها آپلود کنند. اما این درحالی است که آن ها هیچ نقشی در تنظیم و کنترل موتورهای جستجو ندارند. این امر به این معنیاست که این شبکهها، باوجود ماهیت توزیعشدهشان، به صورت متمرکز و تحت کنترل یک سرور خاص فعالیتمی کنند.
نقش شبکه های P2P در بلاکچین
در وایت پیپر بیت کوین که توسط فردی به نام ساتوشی ناکاموتو (ساتوشی ناکاموتو کیست) نوشتهشده، در مورد بیت کوین چنین گفتهشدهاست:
“بیت کوین یک نوع پول الکترونیکیاست که با استفاده از سیستم P2P کارمی کند.”
از این جمله این را متوجه میشویم که بیت کوین، یک فرم دیجیتال از پول است. این تکنولوژی یک شبکه p2p غیرمتمرکز به نام بلاکچین، پایدار شده و به فعالیت می پردازد.
حال در این میان، سیستمی که باعث می شود تا بیت کوین، به صورت غیرمتمرکز و بدون نیاز به واسطه ها معامله شود، همان سیستم p2p است. کاربران در سیستم p2p بلاکچین قادر هستند تا به خرید بیت کوین و سایررمز ارزها به صورت مستقیم و بدون نیار به واسطه بپردازند. به علاوه کاربران بر نوع انجام تراکنش ها واقف بوده و آن ها را کنترل کنند.