اینترنت غیرمتمرکز [نقش فناوری همتا به همتا و اپلیکشن های غیرمتمرکز]
در بخش اول اشاره ای به تاریخچه نسل های وب و دلایل اصلی مطرح شدن اینترنت غیرمتمرکز داشتیم حال در این بخش می خواهیم تا با فناوری های ارائه شده در نسل سوم وب Web3.0 آشنا شویم و راهکار های پیشنهادی این فناوری ها برای مقابله با اینترنت متمرکز را بررسی نماییم. تصویر زیر مروری به تاریخچه نسل های وب مطرح شده در بخش اول دارد با این تفاوت که این بار، مفاهیم وب را از دیدگاه جوامعی که بهره بردار آن هستند به نمایش گذاشته است.
فناوری های مختلفی در زمان معرفی نسل های مختلف به آن ها افزوده شدند که در تصویر زیر نمایی کلی از آن ها به نمایش در آمده است.
نقش فناوری همتا به همتا (Peer-to-Peer) در اینترنت غیرمتمرکز
آنچه که موضوع بحث ما در خصوص اینترنت غیرمتمرکز در Web3.0 می باشد فناوری هایی است که در پاسخ به ناکارآمدی های Web2.0 مطرح شدند تا بتوانند کنترل داده ها و حریم خصوصی افراد را از دسترس چند شرکت بزرگ فناوری دنیا خارج نمایند. ایجاد اینترنت غیرمتمرکز با استفاده از چندین فناوری امکان پذیر است که شبکه و پروتکل های همتا به همتا (Peer-to-Peer) یکی از مهمترین این فناوری هاست و نقش اساسی را در توسعه اپلیکیشن هایی که روی شبکه های غیرمتمرکز اجرا می شوند، ایفا می کند.
ایده ها و پروژه های عظیمی بر پایه شبکه های همتا به همتا در سالیان اخیر مطرح شده است و کماکان در حال رشد می باشند برای مثال در اینجا یکی از مهمترین پروژه ها تحت عنوان(IPFS)InterPlanetary File System را دقیق تر بررسی می کنیم.
- IPFS چیست؟!
سیستم فایل های توزیع شده بین سیاره ای IPFS در واقع یک پروتکل همتا به همتا می باشد که برای دستیابی به وب سریعتر، امن تر و بازتر طراحی شده است. این پروتکل بسیاری از مشکلات HTTP که از سال ۱۹۹۱ معرفی شده را حل می نماید.
IPFS به هر فایل یک اثرانگشت منحصربفرد اختصاص می دهد که به آن هش کریپتوگرافی می گویند و این هش باعث می شود که تمام فایل های مشابه (Duplicates) دارای هش یکسان حذف شوند و نودهای شبکه فقط یک محتوا را ذخیره نمایند. سرویس نامگذاری InterPlanetary Name System (IPNS) تضمین می کند هر فایلی با هش منحصر بفردش، می تواند توسط نام های قابل خواندن (human-readable) پیدا شوند مانند فایل هایی که در کامپیوترهای شخصی مان ذخیره می کنیم.
مطابق آمار کتابخانه کنگره آمریکا، طول عمر صفحات وب تنها صد روز است. IPFS این امکان را فراهم می آورد تا صفحات وب به صورت دائمی قابل ذخیره و بازیابی باشند. این کار با آدرس دهی محتوا انجام می شود که محتوا را از سرورهای هاستینگ جدا می کند.
این پروتکل از امضای محتوا (Content-Signing) جهت جلوگیری از حملات DDoS (که از جمله تهدیدات مشترک با Web2.0 است) استفاده می نماید. IPFS در حال حاضر برای اپلیکیشن های در حوزه های زیادی استفاده می شود:
- تبادلات پیام همتا به همتا (P2P messaging)
- تجارت الکترونیک (e-commerce)
- احراز هویت (identity authentication)
- به اشتراک گذاری فایل ها ( file sharing)
- فضای ابری (cloud storage)
اگر تا اینجا دقیقا متوجه نشدید که IPFS چیه اصلا نگران نباشید چون داریم در خصوص یک فناوری جدید صحبت می کنیم و مغز ما داره مقاومت میکنه که ساختار قدیمیش رو حفظ کنه واسه همین میخوایم ساده تر توضیح بدیم.
- IPFS به زبان ساده
در شرائط کنونی هنگامی که یک محتوا را از یک سایت درخواست می کنیم در حقیقت به یک مکان فیزیکی اشاره می کنیم که محتوا در آن به صورت متمرکز ذخیره شده است و با ارجاع به آن، داده را دریافت می کنیم که به این روش آدرس دهی بر مبنای مکان Location Based Addressing اطلاق می شود. اگر سروری که محتوا در آنجاست در دسترس نباشد، دستیابی به محتوا امکان پذیر نیست ولی IPFS یک روشی ارائه میده که میگه محتوای درخواستی ممکنه قبلا توسط کسی دریافت شده باشد و بنابراین اون شخص می تونه زمانی که این داده در دسترس نیست، کپی اون محتوا را در اختیار درخواست کننده دیگر قرار بده ولی چجوری؟!
IPFS شباهت زیادی به Bit Torrent دارد به این صورت که seeder ها می توانند فایل های مورد نیاز شما رو که قبلا ذخیره کردند برایتان ارسال کنند ولی همانطور که در قبل اشاره شد هر فایل در IPFS دارای یک اثر انگشت منحصر بفرد بنام هش هست بنابراین هر کسی که نیاز به اون فایل داشته باشه فقط کافیه درخواست اون هش را به شبکه ارسال کنه و فایل مورد نظر رو دریافت کنه که به این روش آدرس دهی بر مبنای محتوا Content Based Addressing می گویند.
هر فایلی در IPFS در قالب یک یا مجموعه ای از Object های ۲۵۶کیلوبایتی ذخیره می شوند و دارای یک هش می باشد و اگر چندین بار در شبکه توزیع شود با توجه به اینکه دارای هش یکسانی هستند موارد مشابه حذف می شوند و تنها یک نسخه از آن را در شبکه نگهداری می کنند که منجر به بهبود عملکرد آن می گردد. امنیت داده ها هم توسط همین هش تضمین شده است برای مثال اگر شما تقاضای یک محتوا با هش مشخص را به شبکه ارسال نمایید و دارنده فایل با اعمال تغییراتی در فایل بخواهد فایل مخدوشی را ارسال نماید در نهایت با توجه به تغییر هش فایل دریافتی و مقایسه آن با هش درخواستی، متوجه اشکالی در فایل می شوید.
- محدودیت IPFS
همانطوری که در دنیای واقعی هیچ چیزی ایده آل نیست بنابراین IPFS نیز محدودیت هایی دارد مهمترین آن در دسترس نگه داشتن فایل ها است هر نودی در شبکه فایل های دریافتی خود را Cache می کند تا در صورت نیاز در اختیار دیگران قرار دهد ولی اگر محتوای مورد نیاز یک کاربر در چندین هاست نگهداری شود و آن هاست ها در لحظه نیاز به آن، آفلاین شوند دسترسی به این محتوا غیرممکن می شود. البته برای این هم راهکارهایی وجود دارد که توسط اپلیکیشن های غیرمتمرکز مطرح می شوند که بعدا به آن ها اشاره می کنیم ولی برای همین مثال می توان به اپلیکیشن های غیرمتمرکز FileCoin یا Storj اشاره کرد که برای کاربران شبکه انگیزه هایی ایجاد می کنند تا مقداری از فضای آزاد خود را به شبکه اختصاص دهند و زمان بیشتری در دسترس باشند. از جمله این انگیزه ها ارائه پاداش به اعضای شبکه متناسب با فضای در اختیار قرارداده یا زمان در دسترس بودنشان است. این پروتکل سعی می کند تا فایل ها را در نود های مختلفی نگهداری کند که در صورت آفلاین شدن برخی از آن ها، دستیابی به اطلاعات مشکل ساز نشود.
- مزیت اصلی IPFS
از مزایای اصلی IPFS می توان به سیستم توزیع شده آن بر اساس پروتکل همتا به همتا اشاره کرد که باعث می شود هیچ مرکزیتی نداشته باشد لذا هیچ محدودیت برای کاربران وجود نخواهد داشت و می توانند به راحتی و بدون هیچ سانسوری، فایل ها یا اپلیکیشن هایشان را به اشتراک بگذارند و یا در پشتیبانی از شبکه نقشی ایفا کنند.
- چرا به IPFS سیستم فایل توزیع شده بین سیاره ای می گویند؟!
فرض کنیم شما برای یک مسافرت تفریحی J به کره مریخ تشریف می برید و در آنجا می خواهید همین مقاله اینترنت غیرمتمرکز را مجددا بخوانید لذا از پایگاه خود در سیاره مریخ یک درخواست برای این مقاله به زمین ارسال می کنید که با توجه به فاصله و شرائط شما نسبت به کره زمین حدودا ۴ تا ۲۴ دقیقه زمان مورد نیاز است و بعد از رسیدن درخواست شما و آماده شدن جواب مجددا همین مقدار زمان نیاز است تا جواب در مریخ به دستتان برسد یعنی در خوشبینانه ترین حالت ۸ دقیقه و بدترین حالت ۴۸ دقیقه زمان لازم است.
نگران نباشید با IPFS می توانید بخش زیادی از اینترنت را در مریخ Cache کنید و همین موضوع، مشکل دسترسی به اینترنت را برای شما حل می کند فقط کافی است که یک بار این فرآیند انجام شود و سپس در سیاره ی مریخ داده ها به صورت غیرمتمرکز ذخیره می شوند و اگر شخص دیگری در مریخ نیاز به این محتوا داشته باشد به راحتی بدون وقفه می تواند به آن دسترسی داشته باشد. بنابراین با این سیستم فایل توزیع شده بین سیاره ای می توانید به داده ها در کمترین زمان ممکن، با امنیت بالا و بدون محدودیت دسترسی داشته باشید.
نقش اپلیکیشن های غیرمتمرکز (Dapp) در اینترنت غیرمتمرکز
همانطور که در بخش اول اشاره شد قدرت مرکزی موجود در نسل Web2.0 که در اختیار چند شرکت بزرگ تکنولوژی دنیا است منجر به تعریف نسل سوم وب Web3.0 گردید. اجازه دهید که موضوع اپلیکیشن های غیرمتمرکز را خیلی باز نکنیم زیرا ساعت ها و شاید روزها زمان برای معرفی این اپلیکیشن ها نیاز است ولی به صورت ساده می توان گفت اپلیکیشن های غیرمتمرکز، اپلیکیشن هایی هستند که بدون نیاز به سرورهای مرکزی می تواند با پروتکل های همتا به همتا تعامل کنند. قراردادهای هوشمند می توانند در این اپلیکیشن ها نقطه عطفی محسوب شوند که قواعد و قوانین را بدون نیاز به نهاد مرکزی در آن ایجاد و اجرا کرد.
اپلیکیشن های غیرمتمرکز آمده اند تا جریان کنترل اطلاعات و حریم خصوصی کاربران را حفظ نمایند و نقش مهمی در پیاده سازی اینترنت به صورت غیرمتمرکز ایفا نمایند. درشکل زیر مجموعه ای از اپلیکیشن های غیرمتمرکز آماده است که سعی دارند نیازهای اپلیکیشن های متمرکز را با بهره گیری از بلاک چین و قراردادهای هوشمند ایفا نمایند.
حال نقش اپلیکیشن های غیرمتمرکز را در پیاده سازی اینترنت غیرمتمرکز بررسی می کنیم. پلتفرم شبکه های اجتماعی کنونی (مانند فیس بوک، توئیتر و …) بر روی فروش اطلاعات کاربران و در اختیار گذاشتن فضای تبلیغات برای شرکت های دیگر تمرکز دارند. درحالیکه در جهت مخالف، اپلیکیشن های غیرمتمرکز شبکه های اجتماعی اجازه می دهند کاربران کنترل داده های خودشان را به دست گیرند. شبکه های تبلیغاتی بر روی این پلتفرم های غیرمتمرکز، کاربران را ترغیب به دیدن تبلیغات با ارائه پیشنهاداتی از جمله پاداش می کنند.
برای مثال شبکه اجتماعی Steemit یک پلتفرم وبلاگ نویسی بر بستر وب است که به کاربران متناسب با ارسال مقالات یا تولید محتوا در این بستر پاداش می دهد و یا Antube یک اپلیکیشن موبایلی تماشای ویدئو بر بستر بلاک چین است که به کاربران متناسب با تماشای ویدئو یا تبلیغات پاداشی اعطا می کند. اپلیکیشن Atlas نیز یک برنامه ارائه دهنده تجربیات مکان محور است که به کاربرانی که اطلاعاتی در خصوص هتل ها، کافی شاپ ها، رستوران ها، موزه ها و … تهیه نمایند پاداش می دهد.
اپلیکیشن های مختلفی در حوزه های مختلفی وجود دارد که تنها بخشی از آن ها در شکل بالا آمده است. تمام آن ها در تلاش هستند تا تک قطبی موجود در انحصار شرکت های بزرگ در زمینه کنترل اینترنت را پایان دهند.
جمع بندی
اگرچه تعداد زیادی اپلیکیشن غیرمتمرکز در جهت سوق کاربران به سمت Web3.0 در حال توسعه هستند ولی این تنها روشی نیست که با استفاده از آن بتوان کاربران را به پذیرفتن این نسل تشویق نمود. وب سایت های موجود به خصوص در زمینه شبکه های اجتماعی نیز در حال بررسی پیاده سازی خط مشی های غیرمتمرکز سازی هستند که در این خصوص می توان به صحبت های جک دورسی مدیرعامل توئیتر در خصوص غیرمتمرکزسازی این پلتفرم اشاره کرد.
از طرفی نیز باید این موضوع را در نظر گرفت که در حال حاضر برخی مشکلات فنی وجود دارد که از جمله آن بحث مقیاس پذیری در پلتفرم های غیرمتمرکز است. مقیاس پذیری در اپلیکیشن های اشاره شده در حال حاضر مشکل ساز است حال تصور کنید که این مشکل در وب سایت ها و اپلیکیشن هایی با میلیاردها کاربر دارای ابعاد بزرگتری خواهد بود. از طرفی دیگر با پیاده سازی پلتفرم های غیرمتمرکز توسط شرکت های بزرگ، کاربران لازم است تغییراتی را متناسب با آن در سیستم های خود اعمال کنند که این موضوع نیز می تواند منجر به کاهش کاربران فعال و بالطبع کاهش درآمد این شرکت ها شود.
حال باید منتظر ماند تا دید با پیشرفت این فناوری و ارائه راهکارهای جدید به خصوص درباره مقیاس پذیری، اینترنت غیرمتمرکز نهادینه می شود و کاربران نهایی خواهند توانست آن را تجربه نمایند!
البته این نکته فراموش نشود که کاربران، نقش اساسی در انتخاب این فناوری دارند و هرچه تمایل به استفاده از این پدیده بیشتر شود دستیابی به آن هموارتر خواهد شد. بنابراین این انتخاب من و شماست که آیا می خواهیم کنترل داده ها و حریم خصوصی خود را باز پس بگیریم یا خیر؟!