IPFS(فایل سیستم بین سیاره‌ای) چیست؟

IPfs یک سیستم اشتراک فایل همتا به همتا (p2p) است که هدف آن تغییر اساسی نحوه توزیع اطلاعات در سراسر جهان و فراتر از آن است. IPFS شامل چندین نوآوری در پروتکل‌های ارتباطی و سیستم‌های توزیع‌شده است که برای تولید یک سیستم فایل شبیه به هیچ سیستم دیگری ترکیب شده‌اند. بنابراین برای درک وسعت و عمق کامل آنچه IPFS در تلاش برای دستیابی به آن است، مهم است که پیشرفت های فنی را درک کنید.

پروتکل های ارتباطی IPFS و سیستم های توزیع شده

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

پروتکل ها برای ارتباط هستند همان چیزی که زبان های برنامه نویسی برای محاسبات هستند

در رایانه‌ها، پروتکل‌های ارتباطی معمولاً در بسته‌هایی (به نام مجموعه پروتکل) از چندین لایه وجود دارند. به عنوان مثال مجموعه پروتکل اینترنت از 4 لایه تشکیل شده است که هر کدام وظایف خاصی را بر عهده دارند. علاوه بر پروتکل های ارتباطی، یک رابطه مهم برای درک ساختار اساسی اتصالات بین رایانه ها وجود دارد. این پروتکل به عنوان معماری سیستم شناخته می شود. مواد متعددی از این مجموعه پروتکل ها وجود دارند، اما دو نوع از آنها که بیشتر سرکار داریم هستند، شبکه های سرویس گیرنده-سرور و شبکه های همتا به همتا هستند.

اینترنت تحت سلطه روابط مشتری و سرور است که بر مجموعه پروتکل اینترنت متکی است. از این میان، پروتکل انتقال ابرمتن (HTTP) اساس ارتباطات است.

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

اما مدل کلاینت-سرور و HTTP در بیشتر تاریخچه خود به اینترنت بسیار قابل اعتماد خدمت کرده اند. این به این دلیل است که وب HTTP برای جابجایی فایل‌های کوچک مانند متن و تصاویر بسیار مؤثر است. در دو دهه اول وب، اندازه متوسط ​​صفحه وب فقط از 2 کیلو بایت به 2 مگابایت افزایش یافته است.

HTTP برای بارگذاری وب‌سایت‌ها عالی است، اما برای انتقال داده‌های بزرگ (مانند فایل‌های صوتی و تصویری) طراحی نشده است. این محدودیت‌ها احتمالاً ظهور و موفقیت اصلی سیستم‌های اشتراک فایل جایگزین مانند Napster (موسیقی) و BitTorrent (فیلم‌ها و تقریباً هر چیزی) را ممکن ساخته است.

وقتی به سال ۲۰۱۸ میرسیم، جایی که پخش ویدیوی HD بر اساس تقاضا و کلان داده در حال فراگیر شدن هستند. ما به سیر صعودی تولید/مصرف داده های بیشتر و بیشتر، همراه با توسعه رایانه های بیشتر و قدرتمندتر برای پردازش آنها ادامه می دهیم. پیشرفت های عمده در محاسبات ابری به حفظ این انتقال کمک کرده است، با این حال زیرساخت های اساسی برای توزیع همه این داده ها تا حد زیادی یکسان باقی مانده است.

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

IPFS تلاش می‌کند تا از طریق یک سیستم اشتراک‌گذاری فایل p2p نواقص مدل مشتری-سرور و وب HTTP را برطرف کند. این سیستم ترکیبی از چندین نوآوری جدید و موجود است. IPFS یک پروژه منبع باز است که توسط Protocol Labs، یک آزمایشگاه تحقیق و توسعه برای پروتکل های شبکه و راه اندازی سابق Y Combinator ایجاد شده است. Protocol Labs همچنین سیستم های مکملی مانند IPLD و Filecoin را توسعه می دهد که در زیر توضیح داده خواهد شد. صدها توسعه‌دهنده در سراسر جهان به توسعه IPFS کمک کردند، بنابراین سازماندهی آن یک کار بزرگ بوده است. در اینجا اجزای اصلی وجود دارد:

  • جداول هش(Hash) توزیع شده

جدول هش یک ساختار داده ای است که اطلاعات را به صورت جفت کلید/مقدار ذخیره می کند. در جداول هش توزیع شده (DHT) داده ها در سراسر شبکه ای از رایانه ها پخش می شوند و به طور مؤثر هماهنگ می شوند تا دسترسی و جستجوی کارآمد بین گره ها را فراهم کنند.

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

سیستم اشتراک‌گذاری فایل محبوب Bittorrent با تکیه بر پروتکل مبادله داده‌ای مبتکرانه قادر به هماهنگی موفقیت‌آمیز انتقال داده بین میلیون‌ها گره است، اما به اکوسیستم تورنت محدود می‌شود. IPFS یک نسخه تعمیم یافته از این پروتکل به نام BitSwap را پیاده سازی می کند که به عنوان بازاری برای هر نوع داده عمل می کند. این بازار اساس Filecoin است: یک بازار ذخیره سازی p2p که بر اساس IPFS ساخته شده است.

  • مرکل DAG

مرکل DAG ترکیبی از درخت مرکل و گراف غیر چرخه ای جهت دار (DAG) است. درختان Merkle اطمینان حاصل می کنند که بلوک های داده رد و بدل شده در شبکه های p2p صحیح، سالم و بدون تغییر هستند. این تأیید با سازماندهی بلوک های داده با استفاده از توابع هش رمزنگاری انجام می شود. این به سادگی تابعی است که یک ورودی می گیرد و یک رشته الفبایی عددی (هش) منحصر به فرد مربوط به آن ورودی را محاسبه می کند. بررسی اینکه یک ورودی منجر به یک هش معین می شود آسان است، اما حدس زدن ورودی از روی هش فوق العاده دشوار است.

درخت مرکل (نمونه سمت چپ شوخی کوچکی با صدر اعظم آلمان خانم آنگلا مرکل)

بلوک های جداگانه داده ها “گره های برگ” نامیده می شوند که برای تشکیل “گره های غیر برگی” هش می شوند. سپس می‌توان این گره‌های غیر برگی را ترکیب و هش کرد، تا زمانی که تمام بلوک‌های داده با یک هش ریشه واحد نمایش داده شوند. در اینجا یک راه ساده تر برای مفهوم سازی آن وجود دارد

بالا ترین نقته ریشه هش،قسمت میانی گره بدون برگ و قسمت پایانی گره برگ

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

مرکز اصلی IPFS مدل سازی تمام داده ها بر روی یک merkle DAG تعمیم یافته است. اهمیت این ویژگی امنیتی به سختی قابل اغراق است.

سیستم های کنترل نسخه

یکی دیگر از ویژگی های قدرتمند ساختار DAG Merkle این است که به شما امکان می دهد یک سیستم کنترل نسخه توزیع شده (VCS) بسازید. محبوب ترین مثال از این مورد Github است که به توسعه دهندگان اجازه می دهد تا به راحتی در پروژه ها به طور همزمان همکاری کنند. فایل ها در Github با استفاده از merkle DAG ذخیره و نسخه بندی می شوند. این به کاربران اجازه می دهد تا به طور مستقل چندین نسخه از یک فایل را کپی و ویرایش کنند، این نسخه ها را ذخیره کنند و بعداً ویرایش ها را با فایل اصلی ادغام کنند.

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

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

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

آخرین مؤلفه ضروری IPFS که به آن خواهیم پرداخت، سیستم فایل خود گواهی (SFS) است. SFS یک سیستم فایل توزیع شده است که به مجوزهای خاصی برای تبادل داده نیاز ندارد. SFS “خود تایید” است زیرا داده های ارائه شده به مشتری با نام فایل (که توسط سرور امضا شده است) احراز هویت می شود. نتیجه؟ با شفافیت فضای ذخیره سازی محلی می توانید به طور ایمن به محتوای راه دور دسترسی پیدا کنید.

IPFS بر اساس این مفهوم برای ایجاد فضای نام بین سیاره ای (IPNS) ساخته شده است. این یک SFS است که از رمزنگاری کلید عمومی برای تأیید خودکار اشیاء منتشر شده توسط کاربران شبکه استفاده می کند. قبلاً اشاره کردیم که تمام اشیاء در IPFS را می توان به طور منحصر به فرد شناسایی کرد، اما این موضوع به گره ها نیز گسترش می یابد. هر گره در شبکه دارای مجموعه ای از کلیدهای عمومی، کلیدهای خصوصی و شناسه گره است که هش کلید عمومی آن است. بنابراین، گره‌ها می‌توانند از کلیدهای خصوصی خود برای «امضا کردن» اشیاء داده‌ای که منتشر می‌کنند استفاده کنند، و صحت این داده‌ها را می‌توان با استفاده از کلید عمومی فرستنده تأیید کرد.

خلاصه ای سریع از اجزای کلیدی IPFS:

با استفاده از جدول هش توزیع شده، گره‌ها می‌توانند داده‌ها را بدون هماهنگی مرکزی ذخیره و به اشتراک بگذارند.IPNS اجازه می‌دهد تا داده‌های رد و بدل شده فوراً با استفاده از رمزنگاری کلید عمومی تأیید و تأیید شوند. Merkle DAG داده‌های منحصربه‌فرد، مقاوم در برابر دستکاری و ذخیره شده دائمی را فعال می‌کند. می‌توانید به نسخه‌های قبلی دسترسی داشته باشید و داده ها را از طریق سیستم کنترل نسخه ویرایش کرد.

چرا IPFS این همه مهم است؟

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

در زیر چند پروژه جالب در حال ساخت بر روی IPFS آورده شده است:

Akasha، یک شبکه اجتماعی نسل بعدی

Balance3، یک پلت فرم حسابداری سه ورودی

BlockFreight، یک شبکه باز برای حمل و نقل جهانی

Digix، پلتفرمی برای توکن کردن طلای فیزیکی

Infura، یک ارائه دهنده زیرساخت برای DApps

Livepeer، یک پلت فرم غیرمتمرکز پخش ویدئوی زنده

Origin، یک بازار همتا به همتا برای اقتصاد اشتراک گذاری

uPort، یک سیستم هویت خودمختار

تنوع این برنامه ها تطبیق پذیری IPFS را برای چندین مورد مختلف نشان می دهد. همچنین به عنوان یک سیستم فایل مکمل برای بلاک چین های عمومی و سایر برنامه های p2p استفاده می شود. در زمان نگارش این مقاله، ذخیره یک کیلوبایت داده در یک قرارداد هوشمند اتریوم ممکن است چندین دلار هزینه داشته باشد. این یک محدودیت عمده است و در حال حاضر رشد گسترده ای در برنامه های غیرمتمرکز جدید (DApps) در حال راه اندازی وجود دارد. IPFS با قراردادهای هوشمند و داده های بلاک چین قابل همکاری است، بنابراین می تواند ظرفیت ذخیره سازی قابل اعتماد و کم هزینه را به اکوسیستم اتریوم اضافه کند. تلاش برای دسترسی بومی داده های بلاک چین اتریوم در IPFS یک پروتکل جداگانه است که به نام IPLD (داده های پیوند بین سیاره ای) شناخته می شود.

چالش ها

با وجود عملکرد چشمگیر IPFS، هنوز چند مشکل به طور کامل حل نشده است. اولاً، آدرس دهی محتوا در IPNS در حال حاضر چندان کاربرپسند نیست. پیوند IPNS معمولی شما به این صورت است:

ipfs.io/ipns/QmeQe5FTgMs8PNspzTQ3LRz1iMhdq9K34TQnsCP2jqt8wV/

این پیوندها را می توان با استفاده از یک سیستم نام دامنه (DNS) به نام های ساده تر کوتاه کرد، اما این یک نقطه شکست خارجی برای توزیع محتوا معرفی می کند. با این حال، محتوا همچنان از طریق آدرس IPNS اصلی قابل دسترسی است. برخی از کاربران همچنین گزارش می دهند که IPNS می تواند در حل نام دامنه ها کند باشد و تا چند ثانیه تاخیر داشته باشد. دقیقاً مشخص نیست که ریشه این موضوع چیست.

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

بازارهای ذخیره سازی

Filecoin یک پروتکل جداگانه است که برای افزودن انگیزه‌های اقتصادی به ذخیره‌سازی فایل در IPFS و تقویت بازار ذخیره‌سازی توزیع‌شده که با ذخیره‌سازی ابری سازمانی (مانند Amazon S3 و غیره) رقابت می‌کند، طراحی شده است. به جای زیرساخت متمرکز با قیمت گذاری ثابت، IPFS + FileCoin ذخیره سازی را در یک شبکه جهانی از ارائه دهندگان محلی ارائه می دهد که آزادی تعیین قیمت ها بر اساس عرضه و تقاضا را دارند. به جای الگوریتم اجماع اثبات کار مانند بیت کوین، Filecoin از Proof-of-Storage برای اطمینان از امنیت و قابلیت اطمینان استفاده می کند. بنابراین هر کسی می تواند به شبکه بپیوندد، فضای هارد دیسک استفاده نشده را در دستگاه محاسباتی خود ارائه دهد، و در توکن های Filecoin برای خدمات ذخیره سازی و بازیابی اطلاعات پاداش دریافت کند.

این شبکه بر روی اتریوم توسعه می‌یابد، بنابراین یکپارچه‌سازی قراردادهای هوشمند می‌تواند ویژگی‌های پیشرفته‌ای مانند escrow، بیمه و غیره را در بازار ذخیره‌سازی ایجاد کند. در تئوری این مدل اقتصادی باید یک بازار آزاد بسیار رقابتی با هزینه‌های بالقوه کمتر نسبت به ارائه‌دهندگان در مقیاس بزرگ ایجاد کند. اما FileCoin هنوز راه‌اندازی نشده است، بنابراین مشاهده چگونگی اجرای این مفاهیم در واقعیت جالب خواهد بود.

شروع با IPFS

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

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

پاسخی بگذارید

آدرس ایمیل شما منتشر نخواهد شد.