اغلب اوقات هنگامی که نام یک پروژه غیرمتمرکز به گوش می رسد، اولین چیزی که به ذهن خطور می کند، یک پروژه بلاک چینی است. چراکه تکنولوژی بلاک چین برای مدیریت وضعیت، خودکارسازی فرایندها از طریق قراردادهای هوشمند و تبادل ارزش مالی ، بسیار قوی عمل کرده است. اما در زمینه ذخیره سازی محتوا ، بلاک چین می تواند ناکارآمد و گران قیمت باشد، برای رفع این مشکل در فضای وب سیستم جدیدی تحت عنوان IPFS روی کار آمده است. این پروتکل ، پروتکل ابررسانه ای همتا به همتایی است که برای سریع تر و ایمن تر و علنی تر کردن محیط وب طراحی شده است، در ادامه مقاله شناخت بیشتری از IPFS کسب مینماییم.
پروتکل InterPlanetary File System یک شبکه همتا به همتای به اشتراک گذاری فایل است که از آن برای ذخیره سازی غیر متمرکز و دسترسی به فایل ها، اپلیکیشن ها و داده ها استفاده می شود. این پروتکل برای شناسایی هر فایل در یک فضای نام یا Namespace جهانیِ متصل کننده تمام کامپیوترهای سراسر جهان، از آدرس دهی محتوا یاContent Addressing بهره می برد. در این سیستم، کاربران از طریق به اشتراک گذاری همتا به همتای داده به صورتی غیرمتمرکز، به میزبانی و دریافت محتوا می پردازند. این یعنی هر اپراتور، بخشی از داده کلی را در اختیار دارد که سیستمی قدرتمند از ذخیره سازی و به اشتراک گذاری فایل را ایجاد می کند.
IPFS سیستمی توزیع یافته برای ذخیره و نگهداری و دسترسی به انواع داده ها است، هر کاربر شبکه قادر به ارائه یک فایل از طریق آدرس محتوای آن است و دیگر کاربران نیز می توانند مکان محتوای مربوطه را پیدا کرده و با استفاده از یک جدول هش توزیع شده یا DHT درخواست دریافت آن را به فرد دارنده ارسال کنند. پروتکل IPFS به جای اتکا به مکان قرارگیری فایل ها، از طریق محتوای فایل آن را آدرس دهی و پیدا می کند. در واقعیت هدف سیستم فایل میان سیاره ای ساخت یک شبکه جهانی واحد است به این صورت که IPFS سروری جهانی و توزیع یافته از کل داده های موجود شبکه است که می توان هم از طریق محتوای آن و هم از طریق شرکت کنندگان یا نودها به آن دسترسی داشت.
پروتکل IPFS با هدف انقلاب جدید در فضای اینترنت راه اندازی شده است، در واقع ویژگی های مهم این پروتکل به شرح زیر میباشند:
• سرعت پروتکل IPFS
در زیرساخت سرویس گیرنده-سرور فرم استاندارد پروتکل درخواست-پاسخ بشمار می آید. پروتکل HTTP، کاربران را به سوی یک لوکیشن که عموماً یک سرور است، راهنمایی می کند. از طرفی، مدل همتا به همتا بکار رفته در پروتکل IPFS، به کاربران این امکان را می دهد تا به طور همزمان بخش های مختلف محتوای مدنظر خود را از طریق چندین گروه مختلف یا سیستم های کامپیوتری بازیابی کنند. این موضوع نه تنها سبب صرفه جویی در هزینه های مربوط به پهنای باند می شود، بلکه سرعت اتصال را نیز بالا می برد.
• غیرمتمرکز بودن پروتکل IPFS
شرکت های بزرگی همچون Amazon Web Services و Google Cloud عملاً مالک داده هایی هستند که کاربران اینترنت داوطلبانه آنها را در سرورهای وب این شرکتها ذخیره می کنند. این شرکت ها می توانند به راحتی کاربران را بلاک کنند. از طرفی این شرکت ها می توانند تحت فشار دولت هایی مانند ایران و چین قرار گرفته و دسترسی کاربران را محدود به اطلاعات محدود کنند. خوشبختانه سیستم همتا به همتای بکار رفته در شبکه IPFS سبب تمرکززدایی فضای اینترنت شده و به کاربران این امکان را می دهد تا در نهایت بدون تأثیر از هرگونه محدودیت و سانسوری به اطلاعات مدنظر خود دسترسی پیدا کنند.
• امنیت پروتکل IPFS
ایجاد ایمنی در برابر عوامل مخرب شبکه یکی از مهم ترین اهداف هر پروژه ای است. اساساً غیرمتمرکز بودن زیربنای یک پروتکل سبب می شود تا هکرها یک نقطه کانونی مشخص برای حمله نداشته باشند. چراکه اطلاعات در سرورهای متعدد در سراسر جهان پراکنده شده اند. با این حال، در پروتکل IPFS نیز برای مقابله با ریسک دستکاری های بیرونی یا درونی دو اقدام مهم انجام شده است. تغییرناپذیری که به این ترتیب به منظور جلوگیری از دستکاری اطلاعات تمام داده های آپلود شده در شبکه غیرقابل تغییر خواهند بود، سپس اختصاص یک هش برای هر فایل که در واقع هش مانند یک اثر انگشت منحصربه فرد بوده و تنها به یک فایل خاص تعلق دارد.
• کارایی بالا پروتکل IPFS
تأکیدی که در پروتکل IPFS بر روی غیرمتمرکز بودن شبکه وجود دارد، سبب می شود تا مزایای پروژه های نسل قبلی پلتفرم های P2P مانند BitTorrent نیز در پروتکل IPFS وجود داشته باشد. در این پروتکل هر گره مجزا موجود در این شبکه، یک کپی از یک فایل را نگهداری می کند.
از آنجایی که IPFS و بلاک چین شباهت ساختاری بسیاری دارند پس این دو می توانند به خوبی با یکدیگر همکاری کنند. Juan Benet مخترع این پروتکل، این همکاری را مانند یک ازدواج عالی تشبیه کرده است. این پروتکل یکی از معدود پروژه هایی است که توسط گروهی به نام Protocol Labs راه اندازی شده است، این گروه توسط Benet نیز تأسیس شده است. برخی از پروژه های این گروه IPLD و Filecoin هستند که ارتباط بسیار نزدیکی با پروتکل IPFS دارند. IPLD یک روش مدل سازی داده برای ساختارهای داده توزیع شده مانند بلاک چین ها است، این مدل از طریق پروتکل IPFS امکان دسترسی و ذخیره آسان داده های بلاک چین را فراهم می کند. کاربرانی که مایل به ذخیره داده های IPFS باشند از طریق کوین Filecoin پاداش می گیرند. همچنین IPLD با شبکه های اتریوم و بیت کوین ادغام شده و به کاربران اجازه می دهد تا به طور یکپارچه با چندین بلاک چین مختلف تعامل داشته باشند.
نحوه فعالیت IPFS
فایل هایی که در این پروتکل بارگذاری می شوند به قطعات کوچکتر تقسیم شده و بین چندین کامپیوتر توزیع می شود و به هرکدام از این قسمت ها یک هش یا نشانه ای برای تشخیص فایل ها اختصاص می یابد که برای ردیابی آن بخش استفاده می شود. IPFS به جای استفاده از لینک های مکان محور که معمولاً در وب استفاده می شوند از لینک هایی استفاده می کند که براساس شناساگرهای هش هرکدام از بخش های محتوا هستند. با این روش خیلی ساده می توان گره یا گره هایی که فایل یا وبسایت را در اختیار دارند شناسایی کرد، سپس محتوای مورد نظر از طریق اتصال همتا به همتا همانند تکنولوژی بیت تورنت به کاربر ارسال می شود. بطور کلی این شبکه بر سه اصل غیر متمرکز بودن، آدرس دهی محتوایی و مشارکت اعضا پایبند میباشد.
پس از آنکه کاربر فایلی را در شبکه آپلود کرد می تواند به راحتی فایل مذکور را بازیابی کرده و به آن دسترسی مجدد پیدا کند. برای این کار تنها کافی ست فرد هش را در یک مرورگر سازگار با وب مانند Brave Browser یا Opera وارد کند. این فرایند تقریباً مشابه زمانی است که کاربر برای دسترسی به یک صفحه خاص در فضای آنلاین، از آدرس URL مختص این صفحه استفاده کرده و این آدرس را در یک مرورگر جستجو می کند. در نهایت پس از وارد کردن هش فایل مدنظر، پروتکل IPFS به تمام گره هایی که قطعات این فایل را در اختیار دارند درخواست می کند، قطعات را از طریق یک اتصال P2P انتقال دهند. اطلاعات موجود در این شبکه غیر قابل دستکاری و تغییر است، به این تربیت محتوای موجود در هر فایل غیرقابل تغییر خواهد بود. چراکه اگر یک فایل و محتوای آن، دچار دستکاری یا تغییر شود، هش آن نیز به طور خودکار تغییر خواهد کرد.
پروتکل InterPlanetary File System یا IPFS دارای چهار جزء زیر است:
1. جدول هش توزیع شده یا DHT : جدول هش یک ساختار داده است که کلیدها را به مقادیر مسیریابی می کند. این جدول برای تبدیل یک ایندکس به نام کد هش به چندین اسلات که از طریق آن ها قابلیت مکان یابی مقادیر دلخواه وجود دارد، از تابع هش استفاده می کند. این یعنی داده ها در کل شبکه ای از کامپیوترها پخش و برای دسترسی کارآمد و مراجعه بین نودها هماهنگ شده است.
2. تبادل بلاک : بیت تورنت که یک سیستم محبوب به اشتراک گذاری فایل است، می تواند با تکیه بر یک پروتکل تبادل داده، ارسال داده بین تعداد بی شماری نود را هماهنگ کند. اما این شبکه به سیستم تورنت محدود است. IPFS نسخه عمومی تری از این پروتکل به نام BitSwap را پیاده سازی کرده است که به عنوان یک بازارچه برای هر نوع داده فعالیت می کند. بیت سواپ یکی از ماژول های اصلی برای تبادل بلاک های داده است که درخواست و ارسال بلاک ها را به یکدیگر متصل و دیگر کاربران همتا یا Peer را در شبکه گرد هم می آورد. این ماژول در واقع یک پروتکل پیام محور است که در آن پیام ها حاوی لیست های درخواست Want-list یا بلاک ها هستند.
3. Merkle DAG : مرکل دگ ترکیبی از درخت مرکل و گراف جهت دار غیر مدور یاDirected Acyclic Graph است. مرکل تری مسئول بررسی درستی بلاک های داده تبادل شده در شبکه های P2P و عدم دستکاری و تغییر آن هاست. این اعتبارسنجی با سازماندهی بلاک های داده به وسیله توابع هش رمزنگاری که یک ورودی را گرفته و یک هش حروف عددی منحصربه فرد را محاسبه می کنند، انجام می شود. تضمین اینکه یک ورودی به یک هش ختم خواهد شد ساده است، اما حدس زدن ورودی از روی یک هش بسیار دشوار و تقریبا غیر ممکن است. البته دگ روشی برای مدل سازی توالی اطلاعات توپولوژیکی بدون چرخه است. برای مثال شجره نامه یکی از بهترین و پایه ای ترین نمونه های یک دگ محسوب می شود. مرکل دگ اساساً یک ساختار داده است که در آن از هش ها برای اشاره به بلاک های داده و اهداف استفاده می شود. قاعده اصلی پروتکل IPFS، مدل سازی تمام داده ها در یک مرکل دگ تعمیم یافته است.
4. سیستم فایل خود گواهی دهنده : سیستم فایل خود گواهی دهنده یا Self-Certifying System به طور خلاصه SFS، یک سیستم فایل توزیع شده است که برای تبادل داده به مجوزهای ویژه و خاص نیازی ندارد. داده ارائه شده به یک کاربر نیز صرفا توسط نام خود فایل احراز می شود که امضای سرور را با خود دارد. یعنی شما می توانید با اطمینان از شفافیت فضای ذخیره سازی محلی، به محتوای ریموت و راه دور دسترسی داشته باشید. برای مشاهده محتواهای روی این پروتکل می توانید از هر مروگر و یکی از گیت وی های عمومی نظیر ipfs.io یا cloudflare-ipfs.com استفاده کنید. گیت وی مربوطه شما را به صورت خودکار به محتوای IPFS هدایت می کند.
بی شک سرویس IPFS یکی از ابزار های کاربردی در ذخیره فایل به شمار می رود. مهم ترین ویژگی سرویس IPFS، نگهداری از فایل ها به صورت غیرمتمرکز است که مانع از دست رفتن آن ها در شرایط حساس خواهد شد. این سرویس احتمالاً در سال های آینده به یکی از مهم ترین موضوعات حوزه تکنولوژی تبدیل می شود و دنیای میلیاردها انسان را دستخوش تغییراتی جدی خواهد کرد.