خرید و فروش بیت کوین، وبمانی، پرفکت مانی و دیگر ارزهای دیجیتال | مرجع آموزشی و خبری در حوزه بلاکچین | changino.com
شبکه همتا به همتا (Peer-to-Peer Network) چیست؟
در علوم کامپیوتر، شبکه همتا به همتا (peer-to-peer) یا به اختصار P2P به گروهی از دستگاه ها گفته می شود که به طور مشترک فایل ها را ذخیره کرده و به اشتراک می گذارند. هر شرکت کننده یا نود (Node) به عنوان یک همتا عمل می کند. به طور معمول، همه نودها قدرت برابری دارند و وظایف یکسانی را انجام می دهند.
در فناوری مالی، اصطلاح همتا به همتا معمولاً به مبادله ارزهای رمزپایه یا دارایی های دیجیتال از طریق شبکه توزیع شده اشاره دارد. پلتفرم P2P به خریداران و فروشندگان این امکان را فراهم می کند که بدون نیاز به واسطه ها معاملات خود را انجام دهند. در برخی موارد، ممکن است وب سایت ها یک محیط همتا به همتا ایجاد کنند که وام دهنده ها و وام گیرندگان را به هم متصل کند.
در این نوشته میخوانید: [ نمایش ]
شبکه همتا به همتا می تواند برای کاربردهای متفاوتی مورد استفاده قرار گیرد. این شبکه به خصوص در زمانی که اولین برنامه های اشتراک گذاری فایل در دهه 1990 ایجاد شدند، مورد توجه قرار گرفت. امروزه شبکه های P2P، پایه و اساس اکثر ارزهای رمزپایه بوده و بخش عمده ای از صنعت بلاک چین را تشکیل می دهند. با این حال، آنها در سایر برنامه های محاسباتی توزیع شده، از جمله موتورهای جستجوی وب، پلتفرم های استریم (stream)، بازارهای آنلاین و پروتکل وب «سیستم فایل بین سازمانی» (IPFS) نیز استفاده می شوند.
همچنین بخوانید: دفتر کل توزیع شده (Distributed Ledger) چیست؟
تاریخچه شبکه همتا به همتا
اولین استفاده از شبکه های همتا به همتا اندکی پس از معرفی رایانه های شخصی در دهه 1980 اتفاق افتاد. گپ رلهٔ اینترنتی (Internet Relay Chat) که در آگوست 1988 ایجاد شد، یکی از اولین شبکه های همتا به همتا بود که برای اشتراک متن و چت ساخته شد.
در 1 ژوئن 1999، شبکه نپستر (Napster) اشتراک موسیقی را در شبکه متمرکز همتا به همتای خود فعال کرد. نپستر و سایر شبکه های همتا به همتای نسل اول به فرد اجازه می دهد مستقیماً از طریق شبکه به شخص دیگری که از نسخه مشابه برنامه استفاده می کند، متصل شود.
ناتلا (Gnutella) اولین شبکه اشتراک گذاری فایل همتا به همتای غیرمتمرکز بود که در سال 2000 تاسیس شد. ناتلا به کاربران امکان می داد از طریق یک فولدر مشخص شده، به فایل های رایانه های سایر کاربران دسترسی پیدا کنند. طی سال های بعد، سرویس های اشتراک فایل رسانه ای P2P دیگری ساخته شدند و زمینه را برای ایجاد شبکه بیت کوین که در 3 ژانویه 2009 منتشر شد، فراهم کرد.
شبکه همتا به همتا چگونه کار می کند؟
در واقع، سیستم همتا به همتا توسط کاربران یک شبکه توزیع شده عمل می کند. معمولاً این کاربران دارای مدیریت یا سرور مرکزی نیستند زیرا هر نود یک کپی از فایل ها را در اختیار دارد و هم به عنوان کلاینت (رایانه گیرنده خدمات) و هم به عنوان سرور برای سایر نودها عمل می کند. بنابراین، هر نود می تواند فایل ها را از نودهای دیگر دانلود یا برای آنها آپلود نماید. این همان خصوصیتی است که شبکه های همتا به همتا را از بیشتر سیستم های سنتی کلاینت-سرور (Client-server) که در آن دستگاه های کلاینت باید فایل ها را از یک سرور متمرکز دانلود نمایند، متمایز می کند.
در شبکه های P2P، دستگاه های متصل فایل هایی را که در هارد درایوهای آنها ذخیره شده است، به اشتراک می گذارند. با استفاده از نرم افزارهای طراحی شده برای ایجاد واسطه در به اشتراک گذاری داده ها، کاربران می توانند از دستگاه های دیگر در شبکه برای یافتن و دانلود فایل ها درخواست کنند. کاربر پس از آنکه یک فایل را دانلود کند، به عنوان منبع آن فایل شناخته می شود.
به عبارت دیگر، هنگامی که یک نود به عنوان کلاینت عمل می کند، فایل ها را از سایر نودهای شبکه دانلود می کند. اما وقتی که به عنوان سرور کار می کند، منبعی است که نودهای دیگر می توانند از طریق آن فایل ها را دانلود کنند. در عمل، هر دو می توانند همزمان اجرا شوند (به عنوان مثال، دانلود فایل A و آپلود فایل B).
از آنجا که هر نود فایل ها را ذخیره، منتقل و دریافت می کند، شبکه های همتا به همتا با بیشتر شدن تعداد کاربران، سریعتر و کارآمدتر می شوند. همچنین، ساختار توزیع شده آنها باعث می شود سیستم های همتا به همتا در برابر حملات سایبری بسیار مقاوم باشند. برخلاف مدل های سنتی، شبکه های همتا به همتا نقطه تکی شکست (single point of failure) ندارند.
می توانیم سیستم های همتا به همتا را بر اساس ساختار آنها به سه دسته اصلی بدون ساختار، ساختارمند و ترکیبی تقسیم بندی کنیم.
شبکه های همتا به همتای بدون ساختار
در این شبکه ها هیچ سازمان و نظم خاصی در نودها وجود ندارد. شرکت کنندگان به طور تصادفی با یکدیگر ارتباط برقرار می کنند. این سیستم ها در برابر فعالیت های ریزشی زیاد (یعنی چندین نود که به طور مکرر به شبکه می پیوندند و از آن خارج می شوند) مقاوم هستند.
اگرچه ایجاد شبکه های همتا به همتای بدون ساختار آسان تر است، اما ممکن است به CPU و حافظه بیشتری احتیاج داشته باشند زیرا درخواست های جستجو به بیشترین مقدار ممکن برای همتایان ارسال می شود. در نتیجه این امر باعث ایجاد طوفان درخواست ها در شبکه می شود، به خصوص اگر تعداد کمی از نود ها محتوای درخواست شده را ارائه دهند.
شبکه های همتا به همتای ساختارمند
در نقطه مقابل، شبکه های P2P ساختارمند دارای ساختار سازمان یافته ای هستند که به نودها امکان می دهد به طور موثر فایل ها را جستجو کنند، حتی اگر محتوا به طور گسترده در دسترس نباشد. در بیشتر موارد، این کار با استفاده از توابع هش که جستجوی پایگاه داده را تسهیل می کند، حاصل می شود.
شاید شبکه های ساختارمند کارآمدتر باشند، اما تمایل دارند سطح بالاتری از متمرکز بودن را ارائه دهند و معمولاً نیازمند هزینه های بیشتری برای راه اندازی و نگهداری هستند. غیر از این، شبکه های ساختارمند هنگام مواجهه با نرخ بالای ریزش (Churn rate) مقاومت کمتری از خود نشان می دهند.
شبکه های همتا به همتای ترکیبی
در شبکه های P2P ترکیبی مدل معمولی کلاینت - سرور با برخی از جنبه های ساختار همتا به همتا ترکیب شده است. به عنوان مثال، ممکن است یک سرور مرکزی طراحی شود که ارتباط میان همتایان را تسهیل کند.
مدل های ترکیبی وقتی با دو نوع دیگر مقایسه می شوند، عملکرد توسعه یافته تری را ارائه می دهند. آنها معمولاً برخی از مزایای اصلی هر دو روش را با هم ترکیب کرده و به طور همزمان به درجه بالاتری از کارآیی و عدم تمرکز دست می یابند.
توزیع شده در مقابل غیرمتمرکز
شبکه همتا به همتا ذاتا یک شبکه توزیع شده محسوب میشود؛ اما توجه به این نکته مهم است که غیرمتمرکز بودن آن درجات مختلفی را در بردارد. بنابراین، همه شبکه های P2P غیرمتمرکز نیستند.
در واقع بسیاری از سیستم ها به یک مرجع مرکزی متکی هستند که فعالیت های شبکه را کنترل کرده و آنها را تا حدودی متمرکز می سازد. به عنوان مثال، برخی از سیستم های اشتراک فایل همتا به همتا به کاربران اجازه می دهد تا فایل ها را از کاربران دیگر جستجو و دانلود کنند، اما آنها نمی توانند در فرآیندهای دیگر مانند مدیریت درخواست های جستجو مشارکت کنند.
علاوه بر این می توان گفت شبکه های کوچکی که توسط کاربرانی محدود با اهداف مشترک کنترل می شوند، با وجود عدم برخورداری از زیرساخت شبکه متمرکز، دارای درجه بالاتری از متمرکز بودن هستند.
نقش همتا به همتا در بلاک چین ها
در مراحل اولیه ظهور بیت کوین، ساتوشی ناکاموتو (Satoshi Nakamoto) آن را به عنوان «سیستم پول الکترونیکی همتا به همتا» معرفی کرد. بیت کوین به عنوان شکل دیجیتالی پول ایجاد شد. این ارز دیجیتال را می توان از طریق شبکه همتا به همتا که توسط یک دفترکل توزیع شده به نام بلاک چین مدیریت می شود از یک کاربر به کاربری دیگر منتقل کرد.
از آنجایی که ساختار همتا به همتا در فناوری بلاک چین ذاتی است، بیت کوین و سایر ارزهای رمزپایه می توانند بدون نیاز به واسطه ها و یا سرور مرکزی در سراسر جهان منتقل شوند. همچنین، هر کس که می خواهد در روند تأیید و اعتبار بخشی بلاک ها شرکت کند، می تواند یک نود بیت کوین ایجاد کند.
بنابراین در شبکه بیت کوین هیچ بانکی برای پردازش یا ثبت معاملات وجود ندارد. در عوض، بلاک چین به عنوان یک دفترکل دیجیتالی عمل می کند که تمام فعالیت ها را به صورت عمومی ثبت می کند. اساساً، هر نود یک نسخه از بلاک چین را در خود نگه می دارد و برای اطمینان از صحت داده ها، آن را با نودهای دیگر مقایسه می کند. شبکه به سرعت هرگونه فعالیت مخرب یا اشتباهی را برطرف می کند.
در زمینه بلاک چین های ارز دیجیتال، نودها می توانند نقش های متفاوتی را برعهده بگیرند. به عنوان مثال، نودهای کامل (Full nodes) با تأیید تراکنش ها برخلاف قوانین اجماع سیستم، امنیت شبکه را تأمین می کنند.
هر نود کامل یک نسخه کامل و بروز شده از بلاک چین را حفظ می کند و به آنها امکان می دهد تا در کار جمعی بررسی وضعیت واقعی دفترکل توزیع شده مشارکت کنند. البته لازم به ذکر است که تمامی نودهای کامل اعتبارسنجی، ماینر یا استخراج کننده نیستند.
مزایای شبکه همتا به همتا
ساختار همتا به همتای بلاک چین ها مزایای بسیاری را به همراه دارد. یکی از مهمترین مزایای آن این واقعیت است که شبکه های P2P امنیت بیشتری نسبت به سیستم های سنتی کلاینت-سرور دارند. توزیع بلاک چین ها در بین تعداد زیادی از نودها، آنها را تقریبا در برابر حمله «محرومسازی از سرویس» (DoS) که سیستم های زیادی را آزار می دهد، مصون می دارد.
همچنین از آنجا که اکثر نودها باید قبل از افزوده شدن داده ها به بلاک چین، اجماع تشکیل دهند، برای حمله کننده تقریباً غیرممکن است که داده ها را تغییر دهد. این امر به ویژه در مورد شبکه های بزرگی مانند بیت کوین صادق است. بلاک چین های کوچکتر بیشتر در معرض حملات قرار دارند زیرا یک فرد یا گروه می تواند در نهایت بر اکثر نودها کنترل پیدا کند (که به حمله 51 درصد معروف است).
در نتیجه شبکه توزیع شده همتا به همتا مقاومت نسبتاً بالایی در برابر فعالیت های مخرب به بلاک چین ها دارد. مدل P2P یکی از دلایلی است که بیت کوین (و سایر بلاک چین ها) توانستند به تحمل خطای بیزانس دست بیابند.
علاوه بر امنیت، استفاده از ساختار P2P در بلاک چین های ارز دیجیتال نیز آنها را در برابر سانسور توسط مراجع مرکزی مقاوم می کند. برخلاف حساب های بانکی استاندارد، کیف پول های ارز دیجیتال توسط دولت ها نمی توانند مسدود یا تخلیه شوند. برخی از تولیدکنندگان محتوا و بازرگانان آنلاین، پرداخت ارزهای رمزپایه را به عنوان راهی برای جلوگیری از مسدود شدن پرداخت هایشان توسط اشخاص ثالث پذیرفته اند.
معایب شبکه همتا به همتا
استفاده از شبکه های P2P بر روی بلاک چین ها با وجود برخورداری از مزایای بسیار، معایب خاصی را نیز به همراه دارد.
از آنجا که دفترکل های توزیع شده باید به جای سرور مرکزی در هر نود بروز شوند، افزودن تراکنش ها به بلاک چین به مقدار زیادی از توان محاسباتی نیاز دارد. با وجود آنکه این امر امنیت را افزایش می دهد، تا حد زیادی بازدهی را کاهش داده و یکی از اصلی ترین مشکلات را در فناوری بلاک چین ها بوجود می آورد که مقیاس پذیری نامیده می شود. با این وجود، رمزگذاران و توسعه دهندگان بلاک چین در حال بررسی جایگزین هایی هستند که ممکن است به عنوان راه حل های مقیاس بندی استفاده شوند. نمونه های برجسته آن عبارتند از: شبکه لایتینگ (Lightning)، پلاسمای اتریوم و پروتکل میمبل ویمبل (Mimblewimble).
از نقاط ضعف دیگر همتا به همتا مربوط به حملاتی است که ممکن است در هنگام وقوع هاردفورک رخ دهد. از آنجا که اکثر بلاک چین ها غیرمتمرکز و متن باز (open source) هستند، گروهی از نودها می توانند آزادانه کد را کپی و تغییر دهند و از زنجیره اصلی جدا کرده تا یک شبکه موازی جدید تشکیل دهند. هارد فورک ها به طور طبیعی و به خودی خود تهدیدی محسوب نمی شود. اما اگر برخی از روش های امنیتی به درستی اتخاذ نشوند، هر دو زنجیره ممکن است در مقابل حملات مجدد آسیب پذیر شوند.
علاوه بر این، ماهیت توزیع شده شبکه های همتا به همتا کنترل و نظارت بر روی آنها را نسبتاً دشوار می سازد. این موضوع تنها در بلاک چین ها صادق نیست. بسیاری از برنامه ها و کمپانی هایی که شبکه همتا به همتا استفاده می کندد، با فعالیت های غیرقانونی و نقض حق نسخه برداری درگیر شده اند.
سخن پایانی
شبکه همتا به همتا به روش های مختلف قابل توسعه و استفاده است و در مرکز بلاک چین هایی قرار می گیرد که ساخت ارزهای رمزپایه را ممکن می سازند. با توزیع دفترکل های معاملات در تعداد زیادی از نودها، شبکه همتا به همتا امنیت، عدم تمرکز و مقاومت در برابر سانسور را ارائه می دهد.
سیستم های P2P علاوه بر کاربردشان در فناوری بلاک چین، می توانند در سایر برنامه های محاسباتی توزیع شده از شبکه های اشتراک گذاری فایل گرفته تا پلتفرم های معاملاتی استفاده شوند.
مطلبی دیگر از این انتشارات
شما در مواقع برنامه نویسی موزیک گوش میدید؟
مطلبی دیگر از این انتشارات
دوره crawl(خزش در وب)با پایتون-قسمت 2
مطلبی دیگر از این انتشارات
بوت کمپ Kotlin برای برنامه نویسان اندروید درس یک: شروع - نصب Java Development Kit JDK