IPFS چیست؛ سیستم توزیع فایل همتا به همتا و غیر متمرکز

IPFS مخفف InterPlanetary File System به معنای فایل سیستم بین سیاره ای است که در واقع یک سیستم توزیع فایل همتا به همتا و غیر متمرکز است و کاربران به کمک آن می توانند تجربه بهتری در استفاده از اینترنت داشته باشند. امروز کمتر کسی هست که از اینترنت استفاده نکند، اینترنت در زندگی اکثر مردم نقش مهمی ایفا می کند. ما از طریق اینترنت به فیلم ها، عکس ها، آهنگ ها و فایل های آموزشی و … دسترسی پیدا میکنیم و همچنین از طریق اینترنت می توانیم با دیگران ارتباط داشته باشیم.

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

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

با IPFS آشنا شوید!

IPFS برای این موضوع راه حلی دارد و به دنبال این است که فضای وب را به صورت توزیع شده و غیر متمرکز درآورد. همانطور که گفتیم IPFS یک سیستم توزیع فایل همتا به همتا و غیر متمرکز است. این سیستم بر خلاف وب فعلی که مبنای آن مکان (Location based address) ذخیره سازی است، توانسته این روش ذخیره سازی را بر مبنای محتوا (Content based address) انجام دهد که مزیت هایی نسبت به روش قبلی دارد.

در روش Location based address کاربران برای دانلود فایل مورد نظر خود، بایستی آدرس سایت یا سروری که آن عکس را ذخیره کرده بود، در اختیار داشتند تا بتوانند فایل را ذخیره کنند. اگر سرور در دسترس نباشد، فایل مورد نظر به دست کاربر نمی رسد و این احتمال وجود دارد که کاربر هیچ وقت به فایل مورد نظر خود دست پیدا نکند. البته ممکن است که کاربر دیگری قبلا آن فایل را دانلود کرده و در سرور دیگری قرار داده باشد و در اختیار کاربران قرار دهد.

اما IPFS از روش Content based address استفاده می کند. در روش Content based address، هر فایل دارای یک هش است، همانطور که می دانید تابع هش یک تابع یک طرفه است، پس اگر یک ورودی، چندین بار به این تابع داده شود خروجی یکسان خواهد بود. IPFS به کمک این روش توانسته است از ذخیره سازی فایل های تکراری جلوگیری کند، برای دسترسی به فایل های ذخیره شده در این سیستم شما می توانید از طریق هش منحصر به فرد آن، فایل مورد نظر خودتان را دانلود کنید. برای اطمینان از اینکه فایل دانلود شده دقیقا همان فایلی است که شما به دنبال آن بوده اید، می توانید از طریق هش این اعتبار سنجی را انجام دهید، کاری که در روش Location based address امکان پذیر نبود.

یکی از مزیت های دیگر IPFS این است که کاربران می توانند تاریخچه به روز رسانی های یک فایل را در این سیستم ذخیره کنند. در واقع تمامی نسخه های یک فایل در نودهای شبکه ذخیره می شود و کاربران می توانند به راحتی آخرین نسخه فایل مورد نظر خود را دریافت کنند. اما این روشی که IPFS از آن استفاده می کند دارای محدودیتی هم هست. در نظر داشته باشید که اگر نودهایی از این شبکه که یک فایل خاص را ذخیره کرده بودند، به هر علتی به صورت offline در بیایند و دیگر تمایلی به ارائه سرویس به این شبکه نداشته باشند، چه اتفاقی برای آن فایل خواهد افتاد.

IPFS شبیه شبکه تورنت است!

IPFS شباهت های زیادی به بیت تورنت دارد و اتفاق ذکر شده شبیه آن است که در شبکه بیت تورنت seeder وجود نداشته باشد. seeder در شبکه بیت تورنت همان کسی است که فایل مورد نظر شما را در اختیار دارد و بنا به درخواست شما این فایل را در دسترس شما قرار می دهد. اگر شما هم از کاربران بیت تورنت بوده اید، قطعا با این اتفاق مواجه شده اید که بعضی از فایل ها در این شبکه وجود دارند ولی به علت نبود seeder، شما قادر به دانلود آن ها نیستید.

برای جلوگیری از این مشکل ۲ راه حل وجود دارد:

۱- کاربران برای ذخیره فایل و در دسترس نگه داشتن آن برای بقیه تشویق شوند.

۲- فایل ها را به صورت فعال توزیع کنیم و مطمئن شویم که همواره چندین نسخه از یک فایل در شبکه وجود دارد.

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

به صورت خلاصه می توان گفت که IPFS دارای کاربردهای زیر است:

  1. همانطور که گفتیم IPFS یک سیستم غیر متمرکز است، پس هیچ سرور مرکزی وجود ندارد و به همین علت در به اشتراک گذاری سانسور اتفاق نمی افتد.
  2. همه می توانند از این سیستم برای به اشتراک گذاری فایل ها استفاده بکنند و همچنین در پشتبیانی از شبکه نقش داشته باشند.
  3. با توجه به اینکه این سیستم از تابع هش استفاده می کند از آپلود شدن فایل های تکراری جلوگیری می شود.
  4. تاریخچه فایل ها در این سیستم ذخیره می شود و همه می توانند به آن دسترسی داشته باشند.

IPFS فایل سیستم بین سیاره ای

در ابتدای این مقاله اشاره کردیم که IPFS مخفف InterPlanetary File System به معنای فایل سیستم بین سیاره ای است، اما چرا این نام را برای این پروتکل در نظر گرفتند؟

فرض کنید شما در سیاره دیگری مثلا مریخ هستید و می خواهید به سایت میهن بلاکچین دسترسی داشته باشید. برای این کار در حالت عادی شما باید یک سیگنال از مریخ به سیاره زمین ارسال کنید که ارسال این سیگنال در بهترین حالت ۴ دقیقه طول خواهد کشید (در بدترین حالت این عدد به ۴۸ دقیقه خواهد رسید)، این سیگنال به زمین می رسد و کمتر از یک ثانیه جواب در خواست شما داده می شود ولی دوباره برای ارسال از زمین به سیاره مریخ ۴ دقیقه در بهترین حالت زمان لازم خواهید داشت. با این توضیحات اگر شما در مریخ باشید می توانید در مدت زمان ۸ دقیقه یا حداکثر ۴۸ دقیقه مطالب میهن بلاکچین را مطالعه کنید! با استفاده از IPFS می توان بخش بزرگی از اینترنت را در نودها به صورت cache شده نگهداری کرد، پس اگر سایت میهن بلاکچین در Cache نودهای شبکه IPFS در مریخ قرار داشته باشد، شما در کمتر از یک ثانیه می توانید مطالب سایت را مطالعه کنید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *