آموزش مفاهیم پایه

شبکه فرد به فرد چیست و چه مزایا و معایبی دارد؟

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

شبکه فرد به فرد یا همتا به همتا (P2P) چیست؟

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

اما در فناوری مالی، اصطلاح فرد به فرد یا peer-to-peer معمولاً به مبادله رمزارزها  یا دارایی‌های دیجیتال از طریق یک شبکه توزیع‌شده و غیرمتمرکز گفته می‌شود. یک پلتفرم P2P به خریدار و فروشنده این امکان را می‌دهد تا بدون هیچ نیازی به واسطه معامله کنند. حتی برخی وبسایت ها یک فضای P2P فراهم کرده و در آن وام‌دهنده‌ها و وام‌گیرندگان را به یکدیگر متصل می‌کنند.

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

شبکه فرد به فرد P2P چگونه کار می‌کند؟

در واقع، یک سیستم P2P به واسطه یک شبکه توزیع‌شده از کاربران اداره می‌شود. معمولاً آن‌ها هیچ مدیر، ادمین یا سروری مرکزی ندارند زیرا هر گره، یک کپی از فایل‌ها را در خود نگه داشته و هم به عنوان سرویس‌گیرنده (Client) و هم به عنوان سرویس‌دهنده یا (Server) برای سایر گره‌ها عمل می‌کند. 

بنابراین هر گره می‌تواند فایل‌ها را از گره‌های دیگر دانلود کند یا فایل‌ها را آپلود کرده و در اختیار دیگر گره‌ها قرار دهد. درحالی‌که  در سیستم کلاینت-سروری دستگاه‌های کلاینت فایل‌ها را از یک سرور متمرکز دانلود می‌کنند. اداره سیستم به کمک گره‌ها، ویژگی منحصربه‌فردی است که شبکه‌های P2P را از سیستم‌های سنتی کلاینت-سروری متمایز می‌کند.

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

به زبان ساده هنگامی که یک گره در نقش کلاینت عمل می‌کند، فایل‌ها را از گره‌های دیگر در شبکه دانلود می‌کنند. اما هنگامی که در نقش سرور است، در واقع منبعی است که گره‌های دیگر می‌توانند از آن فایل‌ها را دانلود کنند. هرچند در عمل، هر دوی این‌ها می‌تواند هم‌زمان اتفاق بیفتد (به‌عنوان‌مثال، دانلود فایل  A و آپلود فایل B).

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

سیستم‌های فرد به فرد یا همتا به همتا را بر اساس معماری می‌توان به سه  دسته اصلی دسته‌بندی کرد:

  • شبکه‌های بدون ساختار
  • شبکه‌های دارای ساختار
  • شبکه‌های هیبرید یا ترکیبی.

شبکه‌های P2P بدون ساختار

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

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

شبکه‌های P2P دارای ساختار

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

درحالی‌که شبکه‌های دارای ساختار ممکن است کارآمدتر باشند، اما معمولاً بیشتر به صورت متمرکز هستند و به هزینه راه‌اندازی و نگهداری بالاتری نیاز دارند. البته شبکه‌های دارای ساختار در هنگام مواجهه با فعالیت‌های زیاد Churn از مقاومت کمتری برخوردار هستند.

شبکه‌های هیبرید یا ترکیبی P2P

شبکه‌های ترکیبی P2P مدل معمول کلاینت سروری (مشتری- سرور) را با برخی جنبه‌های معماری فرد به فرد ترکیب می‌کنند. به‌عنوان‌مثال، ممکن است یک سرور مرکزی طراحی شود که ارتباط بین peers یا افراد را تسهیل نماید.

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

توزیع‌شده در مقابل غیرمتمرکز (Distributed vs. Decentralized)

اگرچه معماری فرد به فرد ذاتاً توزیع‌شده است، اما باید به این نکته مهم توجه کرد که عدم تمرکز دارای درجات متفاوتی است. بنابراین، همه شبکه‌های فرد به فرد غیرمتمرکز نیستند.

در حقیقت، بسیاری از سیستم‌ها برای کنترل و هدایت فعالیت شبکه به یک مرجع مرکزی متکی هستند و همین باعث می‌شود که آن‌ها  تا حدودی متمرکز شوند. به‌عنوان‌مثال، برخی از سیستم‌های اشتراک‌گذاری فایل فرد به فرد به کاربران امکان جستجو و دانلود فایل از سایر کاربران را می‌دهند، اما آن‌ها قادر به شرکت در سایر فرایندها مانند مدیریت درخواست‌های جستجو نیستند.

علاوه بر این، می‌توان این‌طور بیان کرد که شبکه‌های کوچکی که گروهی از کاربران محدود با اهداف مشترک کنترل آن‌ها را در دست گرفته‌اند علیرغم نبود زیرساخت شبکه متمرکز، عملاً از درجه بالاتری از مرکزیت برخوردار هستند.

نقش شبکه‌های فرد به فرد در بلاکچین

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

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

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

در زمینه بلاک چین‌های رمزارزها، گره‌ها می‌توانند نقش‌های مختلفی را ایفا کنند. به‌عنوان‌مثال، گره‌های کامل از مواردی هستند که با تائید تراکنش‌های خلاف قوانین سیستم الگوریتم اجماع، امنیت شبکه را تأمین می‌کنند.

هر گره کامل، یک کپی کامل و به‌روز شده از بلاکچین را ذخیره دارد که به آن‌ها  این امکان را می‌دهد که در فعالیت تائید وضعیت صحیح دفتر توزیع‌شده شرکت کنند. البته لازم به ذکر است که همه گره‌های اعتبارسنج کامل(Full validating nodes)، ماینر نیستند.

مزایای شبکه فرد به فرد چیست؟

معماری فرد به فرد بلاکچین مزایای بسیاری را به همراه دارد. از مهم‌ترین موارد می‌توان به این واقعیت اشاره کرد که شبکه‌های P2P امنیت بیشتری نسبت به ساختار سنتی کلاینت-سرور دارند. توزیع بلاکچین در تعداد زیادی گره، آن‌ها را در برابر حملات DDoS که همواره سیستم‌های زیادی را به زحمت می‌اندازد، مصون می‌کند.

به همین ترتیب، از آنجایی که اکثر گره‌ها باید قبل از افزودن داده به بلاکچین، به اجماع برسند، تقریباً غیرممکن است که مهاجم‌ها داده‌ای را تغییر دهند. این امر به ویژه در مورد شبکه‌های بزرگی مانند شبکه بیت کوین صادق است. در بلاکچین های کوچک‌تر امکان حملات سایبری بیشتر است زیرا یک فرد یا گروه درنهایت می‌تواند بر اکثر گره‌ها کنترل پیدا کند. این حمله به عنوان حمله 51 درصدی شناخته می‌شود.

در نتیجه ، شبکه توزیع‌شده فرد به فرد به همراه اجماع اکثریت، بلاکچین را در برابر فعالیت‌های مخرب مقاوم نموده است. مدل P2P یکی از دلایلی است که بیت کوین (و سایر بلاکچین ها) توانسته‌اند به اصطلاح تحمل خطای بیزانس را به دست آورند(Byzantine fault tolerance).

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

معایب شبکه فرد به فرد چیست؟

استفاده از شبکه‌های P2P بر روی بلاکچین ها با وجود مزایای بسیار، محدودیت‌های خاصی نیز دارد.

از آنجا که دفترهای توزیع‌شده باید به جای سرور مرکزی در هر گره به‌روز شوند، بنابراین  افزودن هر تراکنشی در بلاکچین به مقدار زیادی قدرت محاسباتی نیاز دارد. درحالی‌که این موضوع باعث افزایش امنیت می‌شود، اما تا حد زیادی کارایی را کاهش می‌دهد و یکی از اصلی‌ترین موانع در مورد مقیاس‌پذیری و پذیرش گسترده همین جنبه است. با این وجود، رمزگذاران و توسعه‌دهندگان بلاکچین در حال بررسی گزینه‌هایی هستند که ممکن است به عنوان راه‌حل‌هایی برای مقیاس‌پذیری استفاده شوند. نمونه‌های برجسته آن عبارت‌اند از: شبکه لایتنینگ ، پلاسمای اتریوم و پروتکل میمبل ویمبل.

محدودیت بالقوه دیگر مربوط به حملاتی است که ممکن است در هنگام انجام شدن هارد فورک رخ دهد. از آنجا که اکثر بلاکچین ها غیرمتمرکز و منبع باز هستند، گره‌ها آزادانه می‌توانند کد را کپی و اصلاح کنند و از زنجیره اصلی جدا شوند و یک شبکه موازی جدید تشکیل دهند. هارد فورک امری کاملاً طبیعی است و به‌خودی‌خود تهدید محسوب نمی‌شود. اما اگر تدابیر امنیتی به درستی اتخاذ نشوند، هر دو زنجیره در مقابل حملات بازپخش (Replay attacks) آسیب‌پذیر می‌شوند.

علاوه بر این ، ماهیت توزیع‌شده شبکه‌های P2P کنترل و قانون‌گذاری بر آن‌ها را دشوار می‌کند.برای مثال چندین برنامه و شرکت P2P، اقدام به فعالیت‌های غیرقانونی و نقض حق کپی‌رایت کرده‌اند.

سخن پایانی

معماری فرد به فرد به روش‌های مختلفی قابل توسعه و استفاده است و به دلیل وجود این معماری درون هسته اصلی بلاکچین هاست که موجودیت رمزارزها امکان‌پذیر شده است. معماری فرد به فرد با توزیع دفتر معاملات (Ledgers) در شبکه‌ای بزرگ از گره‌ها، امنیت، عدم تمرکز و مقاومت در برابر سانسور را فراهم کرده است.

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

نوشته های مشابه