پروتکل IPFS

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

اینترنت متمرکز و تولد HTTP

پیش از پرداختن به مفهوم پروتکل IPFS و ارتباط آن با پروژه‌های مختلف نظیر IPLD و FIL که به رشد قیمت و افزایش خرید و فروش فایل کوین منجر شد، اجازه دهید کمی به عقب برگردیم.

اینترنت کلکسیونی از پروتکل‌ها است که نحوه حرکت داده در یک شبکه را تعریف می‌کنند. توسعه‌دهندگان نیز با گذر زمان این پروتکل‌ها را به‌کار گرفته و برنامه‌های خود را روی این زیرساخت بنا کرده‌اند. یکی از پروتکل‌هایی که در نقش ستون اصلی وب امروزی فعالیت می‌کند، HTTP یا HyperText Transfer Protocol نام دارد. این پروتکل در سال 1991 توسط تیم برنرز-لی اختراع شد.

تکامل اینترنت

HTTP یک پروتکل درخواست-پاسخ است. یک کلاینت، مثلا یک مرورگر وب، درخواستی را به یک سرور خارجی می‌فرستد. سپس سرور یک پیام پاسخ، مثلا صفحه خانه گوگل، را به کلاینت بازمی‌گرداند. HTTP در واقع یک پروتکل آدرس‌دهی مکان (Location Addressing) است، به این معنا که مثلا با تایپ google.com در مرورگر، این لینک به یک آدرس IP یکی از سرورهای گوگل ترجمه شده و سپس، چرخه درخواست-پاسخ با سرور مذکور آغاز می‌شود.

تبادل درخواست و پاسخ بین کلاینت و سرور

مشکلات HTTP

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

علاوه بر این، در صورت وجود مشکل در خط شبکه‌های ارتباطی و عدم اتصال کلاینت‌ها به سرور، HTTP نیز با مشکلی بزرگ مواجه خواهد شد. این اتفاق با غیرفعال شدن ارائه‌دهنده خدمات اینترنت (ISP)، مسدودسازی برخی محتواها توسط دولت یا حتی حذف و انتقال ساده محتوا قابل رخ دادن است. این گونه لینک‌های شکسته و خراب در همه‌جای وب HTTP یافت می‌شوند.

بنابراین، مدل آدرس‌دهی لوکیشن محور در HTTP افزایش تمرکزگرایی را به‌همراه دارد. به همین خاطر، با وجودی که اعتماد به تعداد معدودی برنامه دارنده اطلاعتمان کار راحتی است، اما همین امر باعث ایزوله شدن بخش اعظمی از داده‌های روی وب می‌شود. این امر، مسئولیت و نظارت بالایی بر اطلاعات ما را برای ارائه‌دهندگان خدمات اینترنتی به‌دنبال دارد. به همین دلیل، نیاز به یک شبکه اینترنت غیر متمرکز وب 3 حس می‌شد.

تاریخچه تولد سیستم فایل بین سیاره ای

در سال 1999، اپلیکیشن به‌اشتراک‌گذاری همتابه‌همتای فایل Napster که بیشتر بر فایل‌های صوتی دیجیتال متمرکز بود، هیاهوی زیادی را در دنیا به پا کرد. در آن سال، کمپانی‌های ضبط موسیقی هنوز مدل کسب‌وکار جدیدی را در نظر نگرفته و کاربران نیز با استفاده از نپستر قادر به ارسال آزادانه فایل‌های مورد نظر بودند. نتیجه این امر، نوآوری خارق‌العاده فناوری P2P بود و ایده‌ها و شرکت‌هایی نظیر اسکایپ، بیت‌تورنت، موجو نیشن، کازا و بسیاری دیگر ظهور کردند.

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

منشاء پروتکل IPFS و تابستان جدید P2P (2013 تا 2017)

خوان بنت (Juan Benet)، بنیان‌گذار پروتکل InterPlanetary File System، در تابستان قبلی خودی نشان داد. وی اولین نفری بود که قدرت شبکه‌های همتابه‌همتا را درک کرد. آقای بنت هنگام تحصیل در رشته کامپیوتر در دانشگاه استنفورد، علاقه ویژه‌ای به شبکه‌های توزیع‌شده پیدا کرد. وی در سال 2013 روی پروژه‌ای کار می‌کرد که هدف آن یک نوآوری علمی دیگر بود.

با این حال، ابزارهای مورد استفاده برای به‌اشتراک گذاری و نسخه‌سازی مجموعه داده‌های بزرگ در این پروژه ناکارآمد و مستعد خطا بودند. آقای بنت با سابقه‌ای که در توسعه نرم افزار و سیستم‌های P2P داشت، می‌دانست که راه بهتری وجود دارد.

Git برنامه‌ای است که از طریق یک ساختار متصل‌کننده داده به‌نام درخت مرکل (Merkle Tree)، همکاری و نسخه‌سازی نرم افزاری را مدیریت می‌کند. این ساختار نه فقط برای کدها، بلکه برای انواع داده مناسب است. آقای بنت نیز فهمیده بود که ترکیب این مفهوم با ساختار به‌اشتراک‌گذاری همتابه‌همتای بیت تورنت نتیجه قدرتمندی برای به‌اشتراک‌گذاری امن و کاربردی اطلاعات بدون وجود موانع متمرکز خواهد داشت.

در این برهه، پروتکل IPFS متولد شد. با این حال، چشم‌انداز آقای بنت در اینجا متوقف نشد و وی شرکت پروتکل لبز (Protocol Labs) را با هدف حمایت از تحقیقات بنیادین، توسعه و استقرار زیرساخت برای شبکه‌های باز (نظیر اینترنت) به‌همراه لایه تشویقی مکمل آن به‌نام فایل کوین (FileCoin) در می 2014 (اردیبهشت 93) تاسیس کرد.

در تابستان آن سال، شرکت پروتکل لبز وارد مجموعه شتاب‌دهنده کسب‌وکار Y Combinator شد و آقای بنت کدنویسی و نگارش وایت پیپر پروتکل InterPlanetary File System را آغاز کرد. این وایت پیپر در ژوئیه 2014 (تیر 93) منتشر شد و توجه علاقه‌مندان به اینترنت و حوزه P2P نظیر جرومی جانسون (Jeromy Johnson) را به خود جلب کرد. آقای وای (Why) و دیگر فعالین این پروژه چشم‌انداز آقای بنت را برای توسعه یک سیستم توزیع‌شده، غیر قابل سانسور و عمومی دنبال می‌کردند. نتیجه این تلاش‌های شبانه‌روزی، انتشار نسخه آلفای کوبو (Kubo) بود. کوبو قدیمی‌ترین پیاده‌سازی پروتکل سیستم فایل بین سیاره ای و در واقع یک برنامه خط فرمان (Command Line) است که از آن می‌توان در یک کتابخانه به دیگر زبان‌ها نظیر Go نیز استفاده کرد.

تیم توسعه‌دهنده و سرمایه‌گذاران IPFS

در حال حاضر، تیم‌های مختلفی از سازمان‌ها و مشارکت‌کنندگان فردی در توسعه این پروژه نقش دارند. ساختار تیم توسعه شامل 3 گروه اصلی Working Group ،Special Interest Group و Tiger Team است که هر کدام اهداف مختلفی را دنبال می‌کنند:

  • Working Group: یک تیم منسجم با اهداف قابل اندازه‌گیری برای هر 3 ماهه سال. تیم ورکینگ گروپ شامل یک کاپیتان، مجموعه‌ای از افراد متعهد به آن و اهداف و نتایج کلیدی (OKR) مختص به خود است که به‌صورت 3 ماهه تعریف می‌شود.
  • Special Interest Group: مجموعه‌ای از افراد که بر کشف ارتباطات درونی بین پروژه‌ها متمرکز هستند. این تیم در واقع زیرمجموعه‌ای برای هر دوی تیم تحقیقاتی متمرکز بر یافتن نواحی جذاب برای ورود و گروه‌های محصول‌محور است که به دنبال ساخت ابزارها هستند.
  • Tiger Team: یک گروه کوچک و موقتی از افراد که هدفشان حل مشکلات یا ساخت یک ویژگی خاص است.

اعضای تیم Working Group این پروژه را در تصویر زیر مشاهده می‌کنید:

تیم توسعه پروتکل سیستم فایل بین سیاره ای

از سرمایه گذاران پروتکل سیستم فایل بین سیاره ای شامل شرکت FundersClub و Digital Currency Group هستند.

IPFS چیست؟

پروتکل InterPlanetary File System یک شبکه همتابه‌همتای به‌اشتراک‌گذاری فایل است که از آن برای ذخیره سازی غیر متمرکز و دسترسی به فایل‌ها، اپلیکیشن‌ها و داده‌ها استفاده می‌شود. این پروتکل برای شناسایی هر فایل در یک فضای نام (Namespace) جهانیِ متصل‌کننده تمام کامپیوترهای سراسر جهان، از آدرس‌دهی محتوا (Content Addressing) بهره می‌برد. در این سیستم، کاربران از طریق به‌اشترا‌گذاری همتابه‌همتای داده به‌صورتی غیرمتمرکز، به میزبانی و دریافت محتوا می‌پردازند. این یعنی هر اپراتور، بخشی از داده کلی را در اختیار دارد که سیستمی قدرتمند از ذخیره‌سازی و به‌اشتراک‌گذاری فایل را ایجاد می‌کند.

هر کاربر شبکه قادر به ارائه یک فایل از طریق آدرس محتوای آن است و دیگران کاربران نیز می‌توانند مکان محتوای مربوطه را پیدا کرده و با استفاده از یک جدول هش توزیع‌شده (Distributed Hash Table) یا به‌طور خلاصه DHT، درخواست دریافت آن را به فرد دارنده ارسال کنند. بنابراین، پروتکل IPFS به‌جای اتکا به مکان قرارگیری فایل‌ها، از طریق محتوای فایل آن را آدرس‌دهی و پیدا می‌کند. در واقعیت، هدف سیستم فایل میان سیاره ای ساخت یک شبکه جهانی واحد است.

مثلا، اگر علی و محمد دارای یک بلاک داده مشترک با هش یکسان باشند، کاربران دانلودکننده محتوا از علی، اطلاعات را با افراد دانلودکننده آن محتوا از محمد نیز تبادل خواهند کرد.

پروتکل سیستم فایل بین سیاره ای در هسته خود یک سیستم فایل نسخه‌سازی است که می‌تواند مشابه نرم افزار Git، فایل‌ها را ذخیره و نسخه‌های مختلف را در طول زمان ردیابی کند. این پروتکل همچنین نحوه حرکت فایل‌ها در یک شبکه را مشخص می‌کند که باعث تبدیل شدن آن به یک سیستم فایل توزیع‌شده نظیر بیت تورنت (BitTorrent) می‌شود. بنابراین IPFS با ترکیب این دو ویژگی، یک وب پایدار جدید را ساخته و نحوه کار با پروتکل‌های اینترنت فعلی نظیر HTTP را بهبود می‌بخشد.

پروتکل IPFS چگونه کار می‌کند؟

سیستم فایل میان سیاره ای به‌دنبال ساخت یک وب توزیع‌شده و پایدار است. همانطور که گفیتم، IPFS به‌جای سیستم لوکیشن محور HTTP، از یک سیستم محتوای آدرس‌دهی‌شده استفاده می‌کند.

  • یک درخواست HTTP به این شکل است: http://10.20.30.40/folder/file.txt
  • یک درخواست IPFS به این شکل است: /ipfs/QmT5NvUtoM5n/folder/file.txt

بنابراین این پروتکل برای آدرس‌دهی محتوا، به‌جای یک آدرس مکان از نماینده خود محتوا استفاده می‌کند. در واقع در HTTP شما می‌پرسید در یک مکان خاص چه چیزی وجود دارد، اما در IPFS سوال شما این است که یک فایل خاص کجا واقع شده است. در حالت کلی، پروتکل InterPlanetary File System دارای چهار جزء زیر است:

جدول هش توزیع‌شده (DHT)

جدول هش یک ساختار داده است که کلیدها را به مقادیر مسیریابی می‌کند. این جدول برای تبدیل یک ایندکس به‌نام کد هش (Hash Code) به چندین اسلات که از طریق آن‌ها قابلیت مکان‌یابی مقادیر دلخواه وجود دارد، از تابع هش استفاده می‌کند. این یعنی داده‌ها در کل شبکه‌ای از کامپیوترها پخش و برای دسترسی کارآمد و مراجعه (Lookup) بین نودها هماهنگ شده است.

لوکاپ یا مراجعه یک اصطلاح در علم کامپیوتر و تابعی است که اغلب در برنامه‌های صفحات گسترده به‌کار می‌رود و با استفاده از یک جدول (مشابه DHT)، اطلاعات خاص را جستجو می‌کند.

جدول هش توزیع شده

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

تبادل بلاک

بیت تورنت که یک سیستم محبوب به‌اشتراک‌گذاری فایل است، می‌تواند با تکیه بر یک پروتکل تبادل داده، ارسال داده بین تعداد بی‌شماری نود را هماهنگ کند. اما این شبکه به سیستم تورنت محدود است.

به همین خاطر، IPFS نسخه عمومی‌تری از این پروتکل به‌نام BitSwap را پیاده‌سازی کرده است که به‌عنوان یک بازارچه برای هر نوع داده فعالیت می‌کند. بیت‌سواپ یکی از ماژول‌های اصلی برای تبادل بلاک‌های داده است که درخواست و ارسال بلاک‌ها را به یکدیگر متصل و دیگر کاربران همتا (Peer) را در شبکه گرد هم می‌آورد. این ماژول در واقع یک پروتکل پیام محور است که در آن پیام‌ها حاوی لیست‌های درخواست (Want-list) یا بلاک‌ها هستند. این پروتکل بر اساس زبان Go و جاوااسکریپت کار می‌کند.

مرکل دگ (Merkle DAG)

مرکل دگ ترکیبی از درخت مرکل (Merkle Tree) و گراف جهت دار غیر مدور (Directed Acyclic Graph) است. مرکل تری مسئول بررسی درستی بلاک‌های داده تبادل‌شده در شبکه‌های P2P و عدم دستکاری و تغییر آن‌هاست. این اعتبارسنجی با سازماندهی بلاک‌های داده به‌وسیله توابع هش رمزنگاری که یک ورودی را گرفته و یک هش حروف‌عددی منحصربه‌فرد را محاسبه می‌کنند، انجام می‌شود. تضمین اینکه یک ورودی به یک هش ختم خواهد شد ساده است، اما حدس زدن ورودی از روی یک هش بسیار دشوار و تقریبا غیر ممکن است.

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

سیستم فایل خود گواهی‌دهنده

سیستم فایل خود گواهی‌دهنده (Self-Certifying System) یا به‌طور خلاصه SFS، یک سیستم فایل توزیع‌شده است که برای تبادل داده به مجوزهای ویژه و خاص نیازی ندارد. داده ارائه‌شده به یک کاربر نیز صرفا توسط نام خود فایل احراز می‌شود که امضای سرور را با خود دارد. یعنی شما می‌توانید با اطمینان از شفافیت فضای ذخیره‌سازی محلی، به محتوای ریموت و راه‌دور دسترسی داشته باشید.

برای مشاهده محتواهای روی این پروتکل می‌توانید از هر مروگر و یکی از گیت‌وی‌های عمومی نظیر ipfs.io یا cloudflare-ipfs.com استفاده کنید. گیت‌وی مربوطه شما را به‌صورت خودکار به محتوای IPFS هدایت می‌کند.

پروژه‌های مرتبط و همکاری‌های پروتکل IPFS

IPFS یک پروژه فوق ماژولار است که خودش از دل پروتکل‌ها و ابزارهای مختلف زیادی متولد شده است. بسیاری از این پروتکل‌ها در حال حاضر تحت پشتیبانی کلی شرکت پروتکل لبز به‌صورت یک پروژه شخصی به کار خود ادامه می‌دهند.

همکاری‌ها

در تابستان 2015، تیم کوچک اما رو به رشد پروتکل IPFS (حدود 5 یا 6 تیم تمام وقت) در یک فضای همکاری در سیاتل ایالات متحده گرد هم جمع شدند. در سپتامبر (شهریور 94)، سرویس Neocities به اولین وبسایت بزرگ پیاده‌کننده پروتکل سیستم فایل بین سیاره ای تبدیل شد.

فعالیت‌های انجام‌شده در سیاتل و درس‌هایی که این تیم طی همکاری با Neocities آموخت، به انتشار نسخه 0.4.0 کوبو در آوریل 2016 (فروردین 95) منجر شد. این توسعه، IPFS را از یک «دموی جذاب» به ابزاری سودمند برای کاربران اولیه تبدیل کرد.

پروتکل InterPlanetary File System در سال 2016 شاهد رشد فنی و جامعه خود بود، اما در سال 2019 وارد فاز جدیدی از بلوغ شد. این پروژه اولین کمپ IPFS را در ژوئن آن سال (خرداد 98) در بارسلونا برگزار کرد و نتیجه آن، گردهمایی 150 نفر از پیشگامان وب توزیع‌شده برای یادگیری و همکاری بود. طی این اتفاق، یکی از همکاری‌های موفق این پروژه با یکی از بزرگترین و خلاق‌ترین شرکت‌های حوزه سرگرمی یعنی نتفلیکس رقم خورد. در اواخر سال 2019، این شبکه بیش از 30 برابر بزرگ شد و تعداد فعالین جامعه متن باز آن به بیش از 4000 نفر رسید.

در آوریل 2020 (فروردین 99)، انتشار نسخه 0.5.0 کوبو با دو برابر کردن سرعت افزودن فایل، 2.5 برابر شدن میزبانی‌ها و 2 تا 6 برابر شدن سرعت پیدا کردن فایل‌ها، بزرگترین به‌روزرسانی را در این شبکه به ارمغان آورد.

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

همکاری‌های دیگر سیستم فایل میان سیاره ای با اوپرا، مایکروسافت ION و کلاودفلر، راه پیشرفت را برای این پروژه هموارتر کرد. در اکتبر سال 2020 (مهر 99)، شبکه اصلی فایل کوین راه‌اندازی شد و مشوق‌های اقتصادی شبکه همتابه‌همتای IPFS را برای رقابت با وب کلاینت-سرور محور به‌طور کامل تغییر داد. اگر برایتان سوال است که فایل کوین چیست و پروتکل IPFS چه ارتباطی با آن دارد، پیشنهاد می‌کنیم مقاله‌ای که برایتان تهیه کرده‌ایم را مطالعه کنید.

پروتکل سیستم فایل بین سیاره‌ای و فایل کوین

پروژه‌های مرتبط

  • IPLD: IPLD یک مدل داده برای وب محتوای قابل آدرس‌دهی است. این مدل به کاربران اجازه می‌دهد تا از طریق پروتکل InterPlanetary File System به دسترسی و ذخیره‌سازی داده‌های بلاک چین بپردازند. کاربران نیز در ازای میزبانی حافظه و ذخیره‌سازی داده، رمز ارز فایل کوین (FIL) پاداش می‌گیرند. علاوه بر این، IPLD اجازه تعامل روان با بلاک چین‌های مختلف را به کاربران می‌دهد و با بیت کوین و اتریوم یکپارچه شده است.
  • Libp2p: یک استک شبکه ماژولار است که امکان اجرای برنامه‌ها بدون نیاز به سرویس‌های آدرس و مستقل از مکان جغرافیایی آن‌ها را فراهم می‌کند.
  • IPFS Cluster: این پلتفرم با تکثیر و ردیابی یک پین‌ست جهانی توزیع‌شده میان چندین کاربر همتا، هماهنگی داده میان انبوهی از دیمِن‌های (Daemon – همان برنامه‌های پشت‌پرده و در حال اجرا در پس‌زمینه) IPFS را فراهم می‌کند.
  • DNSLink: دی‌ان‌اس‌لینک یک پروتکل بسیار ساده برای اتصال محتوا و سرویس‌ها به‌صورت مستقیم از DNS است که یک معماری توزیع‌شده قدرتمند DNS را برای سیستم‌های متنوع نیازمند به نام‌ها یا پوینترهای قابل تغییر در مقیاس اینترنت، می‌سازد.
  • Multiformats Project: مالتی‌فورمتس پراجکت مجموعه‌ای از پروتکل‌هاست که از طریق مقادیر فورمت خود تشریح‌کننده، سیستم‌های مقاوم در برابر آینده را هدف قرار داده است و تعامل متقابل و چابکی پروتکل را ایجاد می‌کند.
  • ProtoSchool: این پروژه شامل آموزش‌های تعاملی در پروتکل‌های وب غیر متمرکز است که برای آشنایی کاربران با مفهوم وب، پروتکل‌ها و ابزارهای غیرمتمرکز طراحی شده است.

نقشه راه پروژه IPFS

پروتکل سیستم فایل بین سیاره ای ماموریت خود را در گیت‌هاب (Github) به‌صورت «ساخت یک شبکه باز، تاب‌آور و قابل به‌روزرسانی برای حفط و رشد دانش بشریت» توصیف کرده است.

از جمله برنامه‌ریزی‌های پیاده‌سازی و پیگیری پیشرفت‌های اصلی IPFS برای ایجاد یک برنامه پرشتاب‌تر برای سال 2021 و 2022، شامل موارد زیر است:

  • Kubo (نام قدیم: go-ipfs): نسخه 0.17.0 در حالت پیش‌انتشار قرار دارد
  • js-ipfs: انتشار نسخه 0.65.0 شامل نسخه 0.40.0 پروژه Libp2p
  • rust-ipfs: پیاده‌سازی IPFS به زبان راست
  • IPFS GUIs: انتشار نسخه 2.20.0

علاوه بر این‌ها، با وجودی که برخی از چشم‌اندازهای این پروژه تا حدودی حاصل شده، اما تیم توسعه اهداف کلی زیر را در برنامه کاری آینده خود قرار داده است:

  • فایل‌های بزرگ: تا سال 2020، IPFS به روش پیش‌فرض توزیع فایل‌ها یا کلکسیونی از فایل‌ها با حجم بالای 1 گیگابایت تبدیل خواهد شد.
  • وب غیر متمرکز: این پروتکل از اپ‌های وب غیرمتمرکز ساخته‌شده روی ارتباطات همتابه‌همتا به‌همراه قابلیت‌های پیشرفته پشتیبانی خواهد کرد.
  • وب رمزگذاری‌شده: اپلیکیشن‌ها و داده‌ها به‌طور کامل رمزگذاری می‌شوند و کاربران دارای حریم خصوصی خواندن، نوشتن و استفاده هستند.
  • وب توزیع‌شده: اطلاعات و اپ‌ها در شبکه‌های محلی و آفلاین عملکرد یکسان خوبی دارند. این وب همانند اینترنت یک اساس قابل تقسیم است.
  • وب شخصی: داده‌ها و برنامه‌های شخصی تحت کنترل خود کاربر هستند.
  • وب اسنیکر (Sneaker Web): این وب روی شبکه‌های اسنیکر قطع ارتباط‌شده کار کرده و اطلاعات، داده اپ‌ها، برنامه‌ها و موارد بسیار دیگر را پخش می‌کند.
  • وب میان سیاره‌ای – مریخ 2024: با به‌حقیقت پیوستن رویای زندگی بین سیاره‌ای همزمان با ارسال انسان به کره مریخ در سال 2024 توسط شرکت اسپیس‌ایکس (SpaceX)، انتظار می‌رود از IPFS برای اجرای 10 کاربرد شبکه‌ای برتر استفاده شود.
  • وب سوئیچ بسته (Packet Switched): پروتکل‌های IPFS از سوئیچینگ بسته استفاده می‌کنند و شبکه می‌تواند تمام انواع ترافیک را به‌راحتی رله کرده و خطاهای سویئچ را تحمل کند.
  • وب داده: دیتابیس‌های بزرگ مبتنی بر پروتکل InterPlanetary File System باز، قابل دسترسی ساده، دارای راحتی تکثیر، نسخه کنترل‌شده، امن و دائمی هستند.
  • وب سویچ پکیج (Package Switched): داده‌های وب در یک شبکه سوئیچ پکیج حرکت می‌‌کنند و انتقال ترابایت یا پتابایتی از هارد درایوهای داده به امری عادی تبدیل می‌شود.
  • وب خود آرشیوگر: این وب دائمی بوده و هیچ لینک خرابی در آن وجود نخواهد داشت و همانند یک کتاب، عمر صفحات از 6 ماه تا بی‌نهایت افزایش می‌یابد.
  • نسخه‌بندی دیتاست‌ها: پروتکل IPFS روش پیش‌فرض نسخه‌بندی دیتاست‌ها خواهد بود.
  • عملیات توسعه (DevOps) میان سیاره‌ای: نسخه‌بندی، پکیجینگ، توزیع و بارگذاری برنامه‌ها، کانتینرها، سیستم عامل‌ها و ماشین‌های مجازی محصول IPFS خواهد بود.
  • دسترسی به دانش جهان از طریق وب غیرمتمرکز (DWeb): بشریت سزاوار دسترسی برابر به دانش است. پلتفرم‌هایی نظیر ویکی‌پدیا، کورسرا (Koursera)، ادکس (Edx)، خان آکادمی (Khan Academy) و دیگر موارد، باید مستقل از مکان جغرافیایی و اتصال، در دسترس باشند.
  • سیستم عامل وب (WebOS): در مرحله آخر، وب پلتفرم (Web Platform) و پلتفرم سیستم عامل‌ها ادغام خواهند شد.

کاربردهای پروتکل IPFS و نمونه پروژه‌های عملی

پروتکل InterPlanetary File System در حوزه‌های مختلف نظیر به‌اشتراک‌گذاری فایل، گاورننس، همکاری، ذخیره دارایی، زیرساخت، غیرمتمرکزسازی داده، ساخت اپلیکیشن غیرمتمرکز، غیرمتمرکزسازی خود وب، کاربردهای بلاک چینی و هویت غیر متمرکز، کاربردهای زیادی دارد که در این قسمت به تشریح آن‌ها می‌پردازیم.

به‌اشتراک‌گذاری فایل

یکی از ساده‌ترین کاربردهای این پروتکل، به‌اشترات‌گذاری فایل‌ها بین کاربران همتاست.

  • برنامه‌های دسکتاپ: IPFS Desktop کلاینت رسمی دسکتاپ این پروتکل است که یک نود داخلی برای الصاق فایل‌ها و تهیه لینک برای به‌اشتراک‌گذاری آن‌ها تعبیه شده است. مرورگر Brave از این پروتکل پشتیبانی می‌کند. Abore نیز یک اپلیکیشن به‌اشتراک‌گذاری فایل متن باز برای ارسال عکس، سند و فایل‌ها به لیست مخاطبین خود به‌صورت خصوصی و بدون محدودیت است.
  • اشتراک‌گذاری فایل‌ها یا فروش کپی‌های آن: FileNation یک ابزار متن باز برای به‌اشتراک‌گذاری فایل از طریق پروتکل سیستم فایل بین سیاره ای است.
  • Dead Drop: دد دراپ یک درایو یا نوع دیگری دستگاه ذخیره‌سازی است که به‌صورت فیزیکی در یک مکان عمومی قرار می‌گیرد که افراد قادر به برداشتن و واریز فایل به آن هستند. IPFS Dead Drop پروژه رسمی این قابلیت است.

گاورننس و حاکمیت

از این سیستم می‌توان برای ذخیره داده‌های حاکمیتی پروژه‌ها استفاده کرد.

  • رای‌دهی: Snapshot یک پلتفرم رای‌دهی برای پروژه‌های وب3، سازمان خودگردان غیر متمرکز و جوامع است که از IPFS به‌عنوان لایه ذخیره‌سازی اصلی خود استفاده می‌کند.

سیستم فایل بین سیاره ای InterPlanetary File System و snapshot

کاربرد پروتکل IPFS در همکاری با دیگران

این پروتکل حتی در صورت کار به‌صورت آفلاین یا روی یک شبکه محلی، جریان داده را بین شما و همکارانتان هماهنگ می‌کند.

  • همکاری در اسناد متنی: PeerPad.net یک سرویس است که مشابه نحوه کار Google Docs، اجازه نوشتن، همکاری و خروجی گرفتن از یک سند به زبان Markdown را مستقیما در داخل مرورگر به شما می‌دهد.
  • کنترل نسخه: سیستم کنترل نسخه بین سیاره ای (IPVC) یک سیستم کنترل ورژن توزیع‌شده مشابه Git است که روی IPFS ساخته شده است. این پروتکل نه تنها برای محتوای قابل خواندن توسط انسان، بلکه برای هر نوع داده‌ای مناسب است. همچنین از آن می‌توان برای نسخه‌سازی فایل‌های بزرگ استفاده کرد.
  • تبادل پیام: Berty.tech یک اپلیکیشن پیام‌رسانی مبتنی بر سیستم فایل میان سیاره ای است که بدون نیاز به سرور، دستگاه‌ها را مستقیما به یکدیگر متصل کرده و در صورت نبود اتصال اینترنت، روی یک شبکه محلی فعالیت می‌کند. همچنین قابلیت کار توسط بلوتوث یا دیگر ارتباطات نزدیک وجود دارد. این پروژه درصدد انتشار نسخه موبایلی خود است.

ذخیره دارایی‌ها

با ذخیره اسکریپت‌های کوچک یا دیتابیس‌های بزرگ یک پروژه روی IPFS، بسته به معماری، می‌توانید از مزایای مختلفی بهره‌مند شوید. مثلا، کاربران شما دیگر برای محتوایی که هم‌اکنون در اختیار دارند با سرورهایتان ارتباط برقرار نخواهند کرد. البته شما هم در صورت عدم استفاده کاربران از یک کلاینت سیستم فایل بین سیاره ای، همچنان امکان مقابله با تکثیر داده را در اختیار دارید. در صورت استفاده از این کلاینت، کاربران محتوای مورد استفاده خود را سید (Seed) کرده و باعث کاهش بار روی زیرساخت و در صورت آفلاین شدن شما، افزایش زمان کاری سرویس مربوطه می‌شوند.

  • واقعیت مجازی غیر متمرکز: دسنترالند (Decentraland) یک دنیای مجازی است که امکان جستجو و گردش در آن با استفاده از عینک VR، کامپیوتر یا گوشی موبایل وجود دارد. این بازی بلاک چینی تمام اطلاعات خود را روی IPFS ذخیره می‌کند، بنابراین قابلیت دریافت همزمان فایل‌های سنگین از چندین کاربران دیگر برای افزایش سرعت بارگذاری و همگام‌سازی وجود دارد.
  • پلتفرم میزبانی ویدیو: DTube یک پلتفرم برای میزبانی ویدیو روی پروتکل InterPlanetary File System است. البته خود این وبسایت غیرمتمرکز نیست، اما عمدتا هماهنگی بین کاربران و قابلیت یافتن محتوا را با استفاده از IPFS مدیریت می‌کند.
  • هم‌میزبانی دیتاست‌ها بزرگ: Qri یک ابزار متن باز برای مدیریت مجموعه داده‌های بزرگ است. از مزایای این پلتفرم می‌توان کاهش هزینه‌های میزبانی، قابلیت ردیابی تغییرات داده، بازگشت به نسخه قبلی و همکاری راحت‌تر هنگام به‌روزرسانی داده را نام برد. عدم دوپلیکیت کردن در دیتاست‌ها در کنار کاهش زمان همگام‌سازی، به کم شدن نیازمندی فضای ذخیره‌سازی تا جای ممکن کمک می‌کند.
  • موازی‌سازی تحلیل داده‌های بزرگ: در برخی از تحلیل‌های حجیم، می‌توان مثلا با استفاده از Hadoop، به موازی‌سازی محاسبات روی چندین نود پرداخت. با این حال، روی دیتاست‌های بسیار بزرگ، دریافت زیرمجموعه مرتبط برای هر نود جهت محاسبه نسبت به خود محاسبات اصلی طولانی‌تر می‌شود. برای رفع این مشکل، می‌توان از پروتکل IPFS برای کاهش زمان دریافت و تقسیم مدت کلی تحلیل به یک چهارم استفاده کرد.
  • کلید مرد مرده (Deadman Switch): Killcord یک پروژه متن باز است که در صورت عدم مراجعه کاربر بعد از یک مدت مشخص، داده‌های مربوطه را به‌صورت عمومی منتشر می‌کند. این کاربرد به دلیل عمومی کردن اطلاعات، می‌تواند برای تضمین ادامه کار تحقیقات یک خبرنگار حتی در صورت عدم حضور وی مفید باشد.
  • پلتفرم استریم همتابه‌همتای ویدیو: Blust.tv هنگام درخواست کاربر خود، برای توزیع فیلم از پروتکل سیستم فایل میان سیاره ای استفاده می‌کند. کاربران می‌توانند با افزودن کد مخفی اختصاصی خود نیز استریم قانونی ویدیودها در شبکه‌های P2P را تسهیل نمایند.
  • کمک به میزبانی داده‌های مهم: به‌لطف بهبودهای اخیر IPFS Cluster، می‌توانید بدون نیاز به اعتماد به دیگر نودها جهت عدم تغییر داده‌ها، برای ذخیره‌سازی داده‌های خود از آن‌ها کمک بگیرید. مثلا با استفاده از کلاسترهای Collaborative پلتفرم IPFS Cluster می‌توان مقالات مربوط به کووید-19 را بدون نیاز به آگاهی از پیچیدگی‌های این سیستم تکثیر کرد.
  • استریم زنده ویدیو: یکی دیگر از کاربردهای این پروژه، قابلیت استریم کاربران از یکدیگر جهت حذف نیاز به یک سرور و بدون اعمال بار بیش از حد روی یک استریمر محبوب است. از جمله این پلتفرم‌ها می‌توان Toronto Mesh ،Fission و Fleek را نام برد.
  • ربات‌های غیر متمرکز: کمپانی رباتیک KODA در حال ساخت اولین سگ ربات غیرمتمرکز به‌نام Koda-9 است. این ربات برای ذخیره‌سازی داده کاربر نظیر فیلم امنیتی از IPFS بهره می‌برد.

استفاده از سیستم فایل بین سیاره ای به‌عنوان زیرساخت

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

  • کلاسترهای غیرمتمرکز: IPFS Cluster ابزار رسمی مدیریت خوشه‌ای از نودها با هدف تکثیر داده است. همانند هر خوشه توزیع‌شده دیگری، شما نیز می‌توانید از مزایای فراوانی، تعادل بار و مدیریت مجوزهای نوشتن بهره‌مند شوید. علاوه بر این، می‌توانید کلاستر خود را به باقی شبکه IPFS متصل کرده یا آن را به‌صورت خصوصی اجرا نمایید.
  • شبکه‌های تحویل محتوا: CDN یا Content Delivery Network شبکه‌ای از نودها برای ذخیره‌سازی محتوا در مکان‌هایی است که از نظر فیزیکی به کاربر نزدیک هستند. داشتن سرورهای نزدیک به محل جغرافیایی کاربر باعث کاهش تاخیر، توازن بار و مقیاس پذیری دسترسی محتوا به نسبت تقاضا می‌شود. از آنجایی که هر نود در سیستم فایل میان سیاره ای داده مورد مصرف خود را کَش کرده و آن را به کاربران همتای خود ارسال می‌کند، خود این شبکه یک CDN محسوب می‌شود.
  • کانتینرهای میزبانی نرم افزار: نتفلیکس درصدد استفاده از پروتکل InterPlanetary File System برای همگام‌سازی بین‌المللی کانیتنرهای خود به‌نام Docker است. از آنجایی که هر نود داده مربوطه را از سریع‌ترین همتایی که می‌شناسد دریافت می‌کند، همگام‌سازی نسبت به روش‌های سنتی بسیار سریع‌تر است.

غیرمتمرکزسازی داده

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

  • دیتابیس غیر متمرکز: OrbitDB یک پایگاه داده بدون سرور، توزیع‌شده و همتابه‌همتاست. اوربیت‌دی‌بی از پروتکل IPFS به‌عنوان پایگاه ذخیره‌سازی داده و از IPFS Pubsub برای همگام‌سازی خودکار دیتابیس‌ها با کاربران همتا استفاده می‌کند. اوربیت‌دی‌بی یک انتخاب عالی برای برنامه‌های غیر متمرکز و اپلیکیشن‌های بلاک چینی است که پیاده‌سازی‌های آن به زبان Go و جاوااسکریپت در دسترس است. از دیگر پایگاه‌های داده از این دست می‌توان MongoDB ،ThreadDB و AvionDB را نام برد.
  • استقرار وبسایت روی IPFS: پلتفرم Fleek.co اجازه ساخت سایت و اپلیکیشن‌ها روی این سیستم را به شما می‌دهد. توسعه‌دهندگان همچنین می‌توانند وبسایت یا اپ مبتنی بر وب خود روی گیت‌هاب را به Fleek متصل کرده و در صورت ایجاد تغییر در یک شاخه خاص، آن را به‌صورت خودکار روی پروتکل سیستم فایل بین سیاره ای ساخته و مستقر کنند. این پلتفرم همچنین با اتریوم نیم سرویس (ENS) و یکپارچه‌سازی نام دامین سازگار است.
  • برنامه‌های مختص سالیدیتی و اتریوم: Embark یک پلتفرم توسعه همه‌جانبه است که برای ساخت و استقرار برنامه‌های غیر متمرکز ساخته شده است. این پلتفرم در حال حاضر با بلاک چین اتریوم، حافظه ذخیره‌سازی غیرمتمرکز نظیر IPFS و پلتفرم‌های ارتباطی غیرمتمرکز مانند Whisper و Orbit سازگار است.
  • جنراتورهای سایت ایستا: برخی از پلاگین‌ها نظیر VuePress و Gatsby مجهز به جنراتورهای محبوب سایت استاتیک و ثابت هستند که برای غیرمتمرکز سازی وبسایت استفاده می‌شوند.

کاربرد IPFS برای ساخت دی‌اپ

چارچوب‌های بسیار متنوعی برای ساخت اپلیکیشن غیر متمرکز روی پروتکل InterPlanetary File System وجود دارد. Fission ،Fleek و Textile از جمله بهترین نمونه‌های این بخش هستند.

  • SecureMyState: اپلیکیشن ارتباط دولت-شهروند SecureMyState طی هکاتون ETHDenver در سال 2020 طی تنها دو روز ساخته شد. این برنامه به شهروندان ایالت کلرادو آمریکا اجازه می‌دهد داده‌های تحت مالکیت دولت درباره خودشان نظیر وضعیت گواهینامه رانندگی یا ثبت شرکت را مدیریت کنند.
  • بازارچه‌ها: Origin یک پلتفرم تجاری آنلاین مبتنی بر بلاک چین است که داده‌ها را روی پروتکل IPFS ذخیره می‌کند. مرورگر Brave فروشگاه شخصی خود را برای فروش محصولات در این بازارچه دارد.
  • مرکز ردیابی تورنت: بیت تورنت یک فناوری به‌اشتراک‌گذاری P2P قدرتمند است، اما با کمک تِرَکرهای متمرکز که به کاربران اجازه می‌دهد بدانند هر کسی چه چیزی در اختیار دارد، بهتر کار می‌کند.
  • ترکر کووید-19: این API ترکر ساده به تمامی نودهای سیستم فایل میان سیاره ای اجازه می‌دهد تا درخواست دریافت آخرین داده درباره پاندمی کووید-19 را ارسال کنند.
  • پلتفرم استریم موسیقی: Audius یک پلتفرم پخش موسیقی ساخته‌شده روی IPFS است. در این پلتفرم هنرمندان کنترل امور را در دست دارند، هیچ کارمزدی توسط آدیوس دریافت نمی‌شود و البته کاربران می‌توانند در حالت آفلاین نیز به موسیقی مورد علاقه خود گوش دهند.
  • پخش‌کننده (پلیر) موسیقی: Diffuse.sh یک پلیر آنلاین موزیک است که می‌توانید با اتصال در هر کجای جهان به مخازن موسیقی خود متصل شده و به آن‌ها گوش دهید. هم‌اکنون امکان اتصال آن به مخازن IPFS وجود دارد.
  • سازمان خودگردان غیر متمرکز: Aragon یک سرویس برای ساخت دائوهاست که برای ذخیره‌سازی داده از پروتکل سیستم فایل بین سیاره ای استفاده می‌کند.

اپلیکیشن غیر متمرکز و پروتکل IPFS InterPlanetary File System

غیرمتمرکزسازی بستر وب توسط پروتکل InterPlanetary File System

برخی از بخش‌های اصلی وب امروزی همچنان متمرکز هستند که آن را در معرض شکست یا سانسور قرار می‌دهند. اما IPFS می‌تواند به مقاومت بیشتر وب کمک کند.

  • DNSهای غیرمتمرکز: سیستم نام‌گذاری دامین یا DNS یکی از متمرکزترین بخش‌های وب امروزی است. الزام به استفاده از یک مکان مرکزی جهت دانستن محل پیدا کردن google.com یا facebook.com، یک نقطه شکست محسوب می‌شود. اما پشتیبان‌گیری از DNS روی سیستم فایل بین سیاره ای، بهبود دسترسی آن را به‌همراه دارد. مثلا، یکی از نمونه‌های آزمایشی برای جاوااسکریپت روی برنامه کامپیوتری NPM منتشر شده است.
  • آرشیو کردن وب: به لطف عدم تکثیر، IPFS ابزاری قدرمند جهت آرشیو کردن وب است. مثلا InterPlanetary Wayback برای این بخش کاربرد دارد.
  • مقابله با سانسور: ویکی‌پدیا چند سالی است که در ترکیه قابل دسترسی نیست. پروتکل لبز، شرکت پشتیبان سیستم فایل میان سیاره ای، یک نسخه مشابه ویکی‌پدیا را روی این پروتکل میزبانی کرده است.

کاربردهای پروتکل IPFS در بلاک چین

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

  • بازارچه جهانی برای ذخیره‌سازی داده: فایل کوین به تمام دارندگان حافظه ذخیره‌سازی اجازه می‌دهد تا به میزبانی داده برای کاربران نیازمند به فضای اضافی بپردازند. علاوه بر این، پروژه Textile ابزاری به‌نام Powergate را برای تعامل برنامه‌ها با فایل کوین توسعه داده است.
  • تبادل داده اینترنت اشیاء: IOTA بنیان حفظ یک شبکه شبه بلاک چینی بدون کارمزد به‌نام Tangle است. چشم‌انداز این پروژه حول محور خودکارسازی تبادل رایگان داده بین سنسورها، ماشین‌ها و دیگر دستگاه‌ها یا فروش آن‌ها توسط تامین‌کنندگان می‌گردد. به گفته IOTA، این داده‌ها روی IPFS قابل میزبانی هستند.
  • ارسال رمز ارز به آدرس‌های قابل خواندن برای انسان: پروژه Humanize Pay اجازه داشتن یک آدرس اتریومی قابل خواندن برای انسان را به شما می‌دهد، بنابراین کاربران دیگر نیازی به کار با آدرس‌های بلند و نامفهوم ندارند.
  • هوش مصنوعی به‌عنوان یک خدمت: MindSync پروژه‌ای با هدف ساخت بلاک چینی برای میزبانی رقبای حوزه هوش مصنوعی است.
  • پلتفرم آموزشی: RocketShoes یک پلتفرم آموزشی است که در آن دانشجویان دروس، تکالیف، یادداشت‌ها و دارایی‌های دیجیتال را تولید می‌کنند. این داده روی IPFS ذخیره شده و بلاک چین مهر زمانی، اثبات مالکیت و لایه تشویقی را برای آن فراهم می‌کند.
  • پرس‌وجو از وب غیر متمرکز در بلاک چین‌ها: TheGraph پروژه‌ای است که در آن به‌لطف زبان پرس‌وجوی GraphQL و ایندکس‌سازی زنجیره‌ها توسط IPFS، کاربران قادر به جستجوی اطلاعات در هر بلاک چین یا سرویس توزیع‌شده‌ای هستند.
  • اثبات مالکیت: با پروتکل InterPlanetary File System و بلاک چین می‌توانید مالکیت یک فایل در یک زمان مشخص را بدون افشای آن اثبات کنید.
  • اثبات انسان: Idena بلاک چینی برای اثبات انسان بودن کاربران است که از این سیستم بهره می‌برد.
  • ساخت برنامه‌های شهر هوشمند: Robonomics چارچوبی را برای اپلیکیشن‌های شهرهای هوشمند جهت تبادل ساده داده روی اتریوم و IPFS ساخته است.
  • بازارهای پیش‌بینی غیر متمرکز: Augur یک بلاک چین و بازار غیرمتمرکز است که در آن می‌توان روی هر چیزی شرط بست یا درخواست‌های پیش‌بینی حاصل از خرد جمعی را ارسال کرد.

هویت غیر متمرکز در پروتکل IPFS

هویت غیرمتمرکز مفهومی برای ذخیره‌سازی تمام داده‌های شخصی روی دستگاه‌های خودتان به‌جای ذخیره بخشی از کپی این داده‌ها روی تمام سرویس‌های اطلاعاتی است. بنابراین، داشتن کنترل روی داده یعنی شما خودتان تصمیم‌گیرنده دسترسی برنامه‌ها به اطلاعات هستید. هویت غیر متمرکز موضوعی جذاب و پروتکل سیستم فایل بین سیاره ای یکی از فناوریی‌های کلیدی است.

  • Element: المنت یک پروژه متن باز است که آدرس‌دهی محتوا و تعامل‌پذیری قراردادهای هوشمند اتریوم را برای تهیه ابزاری جهت مدیریت هویت ترکیب می‌کند.
  • 3ID Content: این پروژه که توسط شرکت 3Box توسعه داده شده، یک مدیر داده شخصی برای اپ‌های مبتنی بر IPFS است.
  • Microsoft ION: مایکروسافت با اتصال برخی از اطلاعات هویت غیر متمرکز به IPFS و انتشار هش آن روی بلاک چین بیت کوین، آزمایشات خود را آغاز کرد.
  • Ceramic Protocol: سرامیک پروتکل یکی دیگر از پروژه‌های فعال در حوزه هویت غیرمتمرکز روی InterPlanetary File System به‌همراه یک پروتکل کامل برای تبادل داده و اسناد است.

کاربرد سیستم فایل بین سیاره ای در ذخیره‌سازی اطلاعات NFT

در خصوص متادیتای توکن NFT، این داده‌ها تنها تا زمان ذخیره‌سازی درستشان توسط سرور مربوطه کارایی دارند. این یعنی در صورت خرابی سرور، تمام متادیتاهای مربوط به توکن‌تان هم از دست خواهد رفت.

متادیتای توکن ان اف تی محتوا، تصویر و توضیحاتی در قرارداد هوشمند آن است که روی بلاک چین ذخیره می‌شود. با توجه به اینکه تغییر متادیتا و محل ذخیره یک توکن غیرمثلی دشوار است، باید درک درستی از نحوه ذخیره‌سازی آن داشتیم باشیم.

پروتکل interpalnetary file system و nft

پروتکل IPFS اجازه ذخیره‌سازی و بازیابی محتوا بر اساس یک هش رمزنگاری (CID) را به کاربران می‌دهد. حالا شما می‌توانید این CID را در یک توکن غیر مثلی قرار دهید تا محتوای مورد نظر را به‌جای مثلا یک لینک HTTP سنتی که امکان خرابی آن در طول زمان وجود دارد، به خود داده ارجاع دهد. این یعنی تا زمانی که CID روی شبکه سیستم فایل میان سیاره ای وجود داشته باشد، دسترسی به آن امکان‌پذیر است.

اگر مطلب استاندارد توکن ERC721 ما را خوانده باشید، می‌دانید که برای ساخت یک قرارداد هوشمند مبتنی بر این استاندارد، باید یک سری توابع را مشخص کنیم. از جمله این توابع، tokenURI نام دارد. URI مخفف “Uniform Resource Identifier” و به‌معنای «شناسه منبع یکسان» است که برای شناسایی یک منبع به‌کار می‌رود. حالا برای اینکه بازارچه‌های خرید و فروش ان اف تی نظیر اوپن سی قادر به دریافت متادیتای این توکن‌ها باشند، اسمارت کانترکت مربوط به آن‌ها نیز به یک URI متصل به متادیتای میزبان آن نیاز دارد.

مثلا در یک توکن ان اف تی مبتنی بر استاندارد ERC721، تابع tokenURI باید یک آدرس IPFS به‌صورت زیر را بازگردانی کند. برای مشاهده این آدرس کافی است ipfs.io را به ابتدای آن اضافه و آن را در مرورگر خود وارد نمایید.

ipfs/bafkreig4rdq3nvyg2yra5x363gdo4xtbcfjlhshw63we7vtlldyyvwagbq

آیا IPFS توکن/کوین دارد؟ آن را از کجا خریداری کنم؟

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

حالا شاید بپرسید آیا سیستم فایل میان سیاره ای و فایل کوین یکی هستند؟ پاسخ به این سوال نیز «خیر» است. این دو پروژه پروتکل‌های مکمل یکدیگرند و می‌توان آن‌ها را به‌صورت مجزا و مستقل از هم پیاده‌سازی کرد. IPFS به کاربران همتا اجازه انتقال فایل‌های داده میان یکدیگر را می‌دهد اما در فایل کوین، سیستمی برای ذخیره‌سازی دائمی داده فراهم شده است. تحت زیرساخت مشوق‌محور فایل کوین، کلاینت‌ها بسته به سطح فراوانی و دسترسی، هزینه ذخیره‌سازی داده را پرداخت کرده و تامین‌کنندگان حافظه با ادامه خدمت و اثبات رمزنگارانه آن، پاداش دریافت می‌کنند. بنابراین به‌طور خلاصه، IPFS محتواها را آدرس‌دهی و انتقال می‌دهد و فایل کوین، لایه مشوق برای نگهداری دائمی داده محسوب می‌شود.

علاوه بر این، همانطور که گفتیم، IPLD پروژه‌ای برای دسترسی و ذخیره‌سازی داده‌های روی بلاک چین است که کاربران در ازای میزبانی حافظه، رمز ارز FIL پاداش می‌گیرند.

سخن پایانی

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

تهیه شده در بیت 24