در علوم کامپیوتر، شبکه های همتا به همتا از گروهی از رسانه ها و ابزار تشکیل شده است که فایل ها را ذخیره یا به اشتراک میگذارد.هر شرکت کننده (گره) به عنوان یک سهیم عمل میکند. معمولا همه ی گره ها قدرت و عملکرد مشابهی در یک کار همانند را دارند.
در سیستم های مالی، اصطلاح همتا به همتا معمولا به مبادله ی ارزهای دیجیتال و یا دارایی های دیجیتال به وسیله ی توزیع شبکه مربوط میشود. برنامه ی همتا به همتا این اجازه را به خریداران و فروشندگان میدهد تا تجارت خود را بدون نیاز به واسطه اجرا کنند. در بعضی از موارد ممکن است وبسایت ها فضایی را فراهم کنند تا وام دهندگان و وام گیرندگان در ارتباط باشند.
ساختار همتا به همتا در بسیاری از موارد مناسب است اما این ساختار عموما در سال ۱۹۹۰ زمانی که اولین برنامه ی اشتراک گذاری ایجاد شد، وارد عرصه شد. امروزه شبکه ها ی همتا به همتا مرکز و هسته ی بسیاری از ارزهای دیجیتال و قسمت بزرگی از صنعت بلاک چین هستد. همینطور در بعضی برنامه های محاسبات توزیع شده از جمله موتورهای جستجو، پلتفرم های استریم، بازارهای آنلاین و پروتکل InterPlanetary File System نیز استفاده میشوند.
سیستم همتا به همتا چگونه کار میکند؟
سیستم همتا به همتا بوسیله ی شبکه توزیع کاربران نگهداری میشود. معمولا آن ها هیچ مدیر یا سرور مرکزی ندارند زیرا همه ی گره ها یک کپی از تمامی فایل ها را در خود نگه میدارند. سیستم همتا به همتا هم به عنوان مشتری و هم به عنوان سرور برای سایر گره ها عمل میکند. بنابراین هر گره ای میتواند فایلی را بارگیری و یا بر روی گره های دیگر بارگذاری کند. این همان چیزی است که شبکه های همتا به همتا را از سیستم های سنتیِ سرویس گیرنده(سرور که در آن فایل ها از یک سیستم مرکزی بارگیری می شوند)، متمایز میکند.
در شبکه های همتا به همتا یا P2P، دستگاه های متصل، پرونده هایی را که روی درایوهای سخت آنها ذخیره شده است به اشتراک میگذارند. نرم افزاری واسطه برای اشتراک گذاری داده ها طراحی شده است. کاربران می توانند از برنامه های دیگر موجود در شبکه برای یافتن و بارگیری پرونده ها سوال کنند. هنگامی که کاربر یک فایل داده شده را بارگیری کرد از آن پس آن فایل میتواند به عنوان منبع عمل کند.
به بیانی دیگر هنگامی که گره ها به عنوان مشتری عمل میکنند، میتوانند فایل ها را از گره های شبکه های دیگر بارگیری کنند. اما زمانی که به عنوان سرور عمل میکنند منابعی هستند که گره های دیگر میتوانند فایل ها را از آن ها بارگیری کنند. در واقع، در یک زمان می تواند به عنوان هر دو عملکرد مشتری و سرور کار کند. (مثال: بارگیری فایل آ و بارگذاری فایل ب)
از آن جایی که هرگره پرونده و یا فایلی را ذخیره، ارسال و دریافت میکند، شبکه های همتا به همتا با بزرگتر کردن پایگاه کاربریشان، سریع تر و کارامدتر عمل میکنند. همچنین ساختار توزیع کننده آن ها باعث میشود سیستم های همتا به همتا در مقابل حملات سایبری مقاوم تر باشند و برخلاف مدل های سنتی، شبکه های همتا به همتا نقطه ی خرابی ندارند.
ممکن است سیستم های همتا به همتا براساس طراحی آن ها دسته بندی کنیم. سه دسته ی اصلی شبکه های همتا به همتا شامل بدون ساختار، سازمان یافته ( دارای ساختار) و ترکیبی میشود.
شبکه گره های بدون ساختار
شبکه های همتا به همتا بدون ساختار هیچ سازمان خاصی از گره ها را ارائه نمی دهند. شرکت کنندگان به طور تصادفی با یکدیگر ارتباط برقرار میکنند. این سیستم ها در برابر فعالیت زیاد churn (یعنی چندین گره که به طور مکرر به شبکه میپیوندند و از آن خارج میشوند) قوی در نظر گرفته میشوند.
اگرچه ساخت آن آسان تر است، اما شبکه های همتا به همتا بدون ساختار ممکن است به پردازنده و حافظه بیشتری احتیاج داشته باشند زیرا درخواست های جستجو برای بالاترین تعداد همتا ارسال میشود. این تمایل به پر کردن شبکه با پرس و جو دارد، به خصوص اگر تعداد کمی از گره ها محتوای مورد نظر را ارائه دهند.
شبکه گره های سازمان یافته (با ساختار)
در مقابل، شبکه گره های سازمان یافته با نظم خاصی طراحی شده است که به گره ها این امکان را میدهد تا جستجوی موثر تر و بهتری داشته باشند حتی اگر محتوای گسترده ای از آن در دسترس نباشد. در بسیاری از موارد این نوع گره برای دستیابی به عملکرد هش استفاده میشود که جستجو در پایگاه داده را آسان تر میکند.
گرچه شبکه های ساختاریافته ممکن است کارآیی بیشتری داشته باشند، اما تمایل دارند سطح بالاتری از متمرکز بودن را ارائه دهند و معمولاً به هزینه های نصب و نگهداری بالاتری نیاز دارند. به غیر از این، شبکه های سازمان یافته هنگام مواجهه با نرخ بالای ریزش، قدرت کمتری دارند.
شبکه گره های ترکیبی
شبکه های ترکیبی همتا به همتا مدل کلاینت سرور قراردادی را با برخی جنبه های معماری همتا به همتا ترکیب میکنند. به عنوان مثال، ممکن است یک سرور مرکزی طراحی کند که ارتباط بین همتاها را تسهیل کند.
هنگامی که با دو نوع دیگر مقایسه میشود، مدل های ترکیبی تمایل به ارائه عملکرد کلی بهبود یافته دارند. آنها معمولاً برخی از مزایای اصلی هر رویکرد را با هم ترکیب می کنند و به طور همزمان به درجه کارآیی و غیرمتمرکز سازی میرسند.
توزیع و غیرمتمرکز سازی
اگرچه طراحی شبکه های همتا به همتا ذاتا توزیع شده است، اما توجه به این نکته مهم است که درغیرمتمرکزسازی درجات مختلفی وجود دارد. بنابراین همه ی شبکه های همتا به همتا غیر متمرکز نیستند.
در حقیقت، بسیاری از سیستم ها برای هدایت فعالیت شبکه به یک مرجع مرکزی متکی هستند و آنها را تا حدودی متمرکز میکنند. به عنوان مثال، برخی از سیستم های اشتراک فایل همتا به همتا به کاربران امکان جستجو و بارگیری پرونده ها از سایر کاربران را میدهند، اما آنها قادر به شرکت در سایر فرایندها مانند مدیریت سوالات جستجو نیستند.
علاوه بر این، می توان گفت که شبکه های کوچکی که توسط یک پایگاه کاربر محدود با اهداف مشترک کنترل میشوند، علی رغم فقدان زیرساخت شبکه متمرکز، درجه بالاتری از مرکزیت دارند.
نقش همتا به همتا در بلاک چین
در مراحل اولیه بیت کوین، ساتوشی ناکاموتو Satoshi Nakamoto بیت کوین را به عنوان “سیستم نقدی الکترونیکی همتا به همتا” تعریف کرد. بیت کوین به عنوان یک شکل دیجیتالی از پول ایجاد شده است که از طریق شبکه همتا به همتا میتواند از یک کاربر به کاربر دیگر منتقل شود.
فنآوری بلاک چین از معماری همتا به همتا استفاده میکند. همان چیزی است که اجازه میدهد بیت کوین و سایر ارزهای دیجیتال بدون نیاز به واسطه ها یا سرور مرکزی در سراسر جهان منتقل شوند. همچنین، هر کسی میخواهد در روند تأیید و اعتبارسنجی بلوک ها شرکت کند، میتواند یک گره بیت کوین ایجاد کند.
بنابراین، هیچ پردازش یا ثبت معاملات توسط بانکی ها در شبکه بیت کوین وجود ندارد. در عوض، بلاکچین به عنوان یک دفتر دیجیتال عمل میکند که تمام فعالیت ها را به صورت عمومی ثبت میکند. اصولاً هر گره یک نسخه از بلاکچین را در خود نگه میدارد و برای اطمینان از صحت داده ها، آن را با گره های دیگر مقایسه میکند. شبکه به سرعت هرگونه فعالیت مخرب یا نادرست را رد میکند.
در زمینه بلاک چین های ارز های دیجیتال، گره ها می توانند انواع مختلفی از نقش ها را بازی کنند. به عنوان مثال، گره های کامل مواردی هستند که با تأیید تراکنش های خلاف قوانین اجماع سیستم، امنیت شبکه را تأمین میکنند.
هر گره کامل یک نسخه کامل و به روز شده از بلاکچین را حفظ میکند و به آنها امکان میدهد در کار جمعیِ بررسی وضعیت دفتر توزیع شده شرکت کنند. البته لازم به ذکر است که همه گره های اعتبارسنجی کامل، استخراج کننده نیستند.
مزایای سیستم همتا به همتا
طراحی همتا به همتا در سیستم بلاک چین مزایای بسیاری دارد. مهمترین مورد آن، این است که شبکه ی همتا به همتا امنیت بیشتری نسبت به سیستم سنتی سرویس دهنده کلاینت-سرور دارند. توزیع بلاکچین در تعداد زیادی گره باعث میشود که آنها در برابر حملات DoS (محروم سازی سرور) که سیستم های زیادی را آزار میدهد، مصون باشند.
به همین ترتیب، از آنجا که اکثر گره ها باید قبل از افزودن داده ها به زنجیره بلاک چین توافق نظر کنند، تقریباً غیرممکن است که مهاجم، داده ها را تغییر دهد. این امر خصوصاً در مورد شبکه های بزرگی مانند شبکه بیت کوین BTC صدق میکند. بلاکچین های کوچکتر مستعد حملات هستند زیرا یک فرد یا گروه در نهایت میتواند بر اکثر گره ها کنترل داشته باشد (این حمله به عنوان حمله ۵۱ درصدی شناخته می شود) .
در نتیجه، شبکه توزیع شده همتا به همتا، با اکثر الزامات اجماع، مقاومت نسبتاً بالایی در برابر فعالیت های مخرب به بلاک چین ها میدهد.
فراتر از امنیت، استفاده از معماری همتا به همتا در بلاک چین های ارز دیجیتال نیز آنها را در برابر هک توسط مقامات مرکزی مقاوم میکند. برخلاف حساب های بانکی استاندارد، کیف پول های ارز دیجیتال توسط دولت ها نمیتوانند مسدود یا تخلیه شوند. این مقاومت همچنین به تلاش برای هک توسط سیستم عامل های پردازش پرداخت خصوصی و محتوا گسترش مییابد. برخی از سازندگان محتوا و بازرگانان آنلاین، پرداخت ارزهای دیجیتال را به عنوان راهی برای جلوگیری از مسدود شدن پرداخت هایشان توسط اشخاص ثالث در پیش گرفتند.
محدودیت های سیستم
استفاده از شبکه های همتا به همتا در بلاک چین علاوه بر مزایای فراوانی که دارد با محدودیت هایی روبرو است.
از آنجا که دفترهای توزیع شده باید به جای سرور مرکزی در هر گره به روز شوند، افزودن تراکنش ها به بلاک چین به مقدار زیادی قدرت محاسباتی نیاز دارد. در حالی که این مسئله افزایش امنیت را فراهم میکند، اما تا حد زیادی کارایی را کاهش می دهد و یکی از اصلی ترین موانع در مورد مقیاس پذیری و پذیرش گسترده است. با این وجود، رمزگذاران و توسعه دهندگان بلاک چین در حال بررسی گزینه هایی هستند که ممکن است به عنوان راه حل های مقیاس بندی استفاده شوند. نمونه های برجسته آن عبارتند از: Lightning Network، Ethereum Plasma و پروتکل Mimblewimble.
محدودیت بالقوه دیگر مربوط به حملاتی است که ممکن است در هنگام وقایع Hard fork رخ دهد. از آنجا که اکثر بلاک چین ها، غیر متمرکز و متن باز هستند، گروهی از گره ها آزادانه میتوانند کد را کپی و اصلاح کنند و از زنجیره اصلی جدا شوند و یک شبکه موازی جدید تشکیل دهند. هارد فورک کاملاً طبیعی است و به خودی خود تهدیدی محسوب نمی شود. اما اگر برخی از روش های امنیتی به درستی پیاده نشوند، هر دو زنجیره در برابر حملات مجدد آسیب پذیر میشوند.
علاوه بر این، ماهیت توزیع شده شبکه های همتا به همتا کنترل و تنظیم آنها در بلاک چین را نسبتاً دشوار میکند. چندین برنامه و شرکت همتا به همتا با فعالیت های غیرقانونی و نقض حق نسخه برداری درگیر شدند.
جمع بندی
معماری همتا به همتا به طرق مختلف قابل توسعه و استفاده است و در هسته اصلی بلاک چین هاست که قابلیت استفاده از ارزهای دیجیتال را ادر دسترس قرار میدهد. با توزیع دفتر معاملات در شبکه های بزرگ گره ها، طراحی همتا به همتا امنیت، غیرمتمرکزسازی و مقاومت در برابر رادار ها و هکرها را ارائه میدهد.
سیستم های همتا به همتا علاوه بر کاربردشان در فناوری بلاک چین، میتوانند به سایر برنامه های محاسبات توزیع شده از جمله شبکه های اشتراک فایل تا پلتفرم های تجارت انرژی نیز کمک کنند.