ما هو بروتوكول IPFS؟

في السنوات الأخيرة، أصبح نظام ملفات بروتوكول الإنترنت (IPFS) نظام تخزين لامركزي ذا شعبية متزايدة.

ما هو IPFS؟

هو نظام ملفات موزع يسعى إلى جعل الويب أسرع وأكثر أمانًا وانفتاحًا من خلال السماح للمستخدمين بتخزين البيانات ومشاركتها في شبكة نظير إلى نظير

في جوهره، IPFS هو ببساطة وسيلة لتخزين الملفات على أجهزة كمبيوتر متعددة في وقت واحد بدلاً من خادم مركزي واحد أو جهاز كمبيوتر واحد. تم اقتراح الفكرة وراء هذا النوع من أنظمة التخزين لأول مرة في عام 2015 كجزء من جهد لتحسين الأمان والخصوصية عبر الإنترنت مع تسهيل مشاركة المعلومات لجميع المعنيين. ومنذ ذلك الحين نمت لتصبح بروتوكولها الخاص مع العديد من التطبيقات المتاحة من مؤسسات مختلفة مثل شبكة Whisper التابعة لمؤسسة Ethereum أو مجموعة تقنيات Azure Storage Service Fabric Mesh من Microsoft وغيرها.

تكمن الفائدة الرئيسية التي يوفرها استخدام IPFS على الطرق المركزية التقليدية مثل بروتوكولات HTTP / FTP / SFTP في قدرتها على إنشاء التكرار عبر جميع العقد المشاركة داخل الشبكة وبالتالي ضمان توفر البيانات حتى إذا كانت بعض العقد غير متصلة بالإنترنت بسبب ظروف غير متوقعة مثل انقطاع التيار الكهربائي وما إلى ذلك... هذا يعني أنه يمكن الوصول إلى أي ملف مخزن عبر هذه الطريقة من أي مكان دون الحاجة إلى تنزيلات إضافية نظرًا لأن جميع النظراء الآخرين قاموا بالفعل بتنزيل المحتوى المذكور مسبقًا مما يعني عدم وجود خطر فشل نقطة واحدة مما يزيد الموثوقية الإجمالية بشكل كبير مقارنة بالأنظمة التقليدية حيث توجد نسخة واحدة فقط لكل مستخدم وبالتالي خلق مشاكل محتملة فيما يتعلق بالتوافر عند الطلب عند الحاجة بشدة.

بالإضافة إلى ذلك، هناك ميزة أخرى رائعة يتم توفيرها من خلال استخدام هذا النوع من البنية الموزعة وهي تحسين الأداء عند الوصول إلى بيانات كميات كبيرة نظرًا لأن كل عقدة متصلة داخل نفس المجموعة يمكنها الوصول إلى مورد معين في نفس الوقت مما يقلل من زمن الوصول إلى حد كبير مقارنة بالحلول العادية التي تعتمد فقط على سرعات تنزيل مصدر واحد.

كيف يعمل؟

عندما يتعلق الأمر بالتخزين، يقوم النظام بإنشاء كائنات IPFS عند تخزين الملفات في IPFS. يمكننا اعتبارها كتل في blockchain. تبلغ مساحة كائنات IPFS كحد أقصى 256 كيلوبايت ويمكن أن تحتوي على ارتباطات إلى كائنات IPFS أخرى خارج هذه المساحة. لذلك يتكون كائن IPFS من جزأين: منطقة بيانات 256 كيلوبايت ومنطقة الارتباط. عالم بسيط "مرحبًا!" تناسب الرسالة بشكل مريح في هذا الكائن 256 كيلوبايت. ومع ذلك، نعلم أن الملفات مثل الصور أو مقاطع الفيديو يتجاوز حجمها في الغالب 256 كيلوبايت. في هذه الحالة، من أجل تخزين ملف أكبر من 256 كيلوبايت في IPFS، يتم تقسيم الملف مرة أخرى إلى كائنات 256 كيلوبايت. بمجرد تقسيم الملف الكبير إلى كائنات أصغر، يقوم النظام بإنشاء كائن مرجعي فارغ يرتبط بجميع كائنات IPFS التي تكون هذا الملف الأصلي الكبير.يضيف. في حين أن هذا حل بسيط إلى حد ما، إلا أنه فعال للغاية بحيث يمكن استخدامه كنظام لحفظ الملفات.

نظرًا لأن نظام الملفات هذا هو نظام قائم على المحتوى، فلا يمكن تعديل الملف الذي تم إنشاؤه أو إضافته، تمامًا كما هو الحال في blockchain. ومع ذلك، IPFS هو نظام يدعم تعيين الإصدار. لنفترض أنك تعمل على ملف مهم تريد مشاركته مع الآخرين. في هذه الحالة، يقوم النظام بإنشاء "كائن الالتزام" على IPFS. هذا الكائن له وظيفة بسيطة إلى حد ما: لإخبار IPFS أي إصدار يسبقه ونقله إلى كائن IPFS.للاتصال. عندما تقوم بتحديث الملف الذي تعمل عليه، يقوم IPFS بإنشاء كائن التزام جديد يرتبط بملفك ويربطه بالإصدار السابق. يمكن أن تستمر هذه العملية إلى أجل غير مسمى. يشارك IPFS ملفك ومحفوظاته بالكامل، أي الإصدارات المختلفة، إلى جميع العقد في الشبكة. وبالتالي، يتم فتح الملف على الشبكة بكل تاريخها.

كائنات IPFS بإختصار

1- قد يحتوي الملف الكبير على أجزاء من 256 كيلوبايت. الكائن المرجعي يرتبط بهذه الأجزاء.
2- يمكن أن يحتوي على جميع إصدارات الملف الذي تعمل عليه (كائن الالتزام).

الرسوم البيانية غير الدورية الموجهة (DAG)

تم تحسين بنية IPFS لتتبع نظام الدليل والملفات. أي أن بروتوكول IPFS يقسم محتويات العقدة إلى كتل مختلفة. هذا يضمن التحقق من المحتوى بسرعة أعلى وأكثر أمانًا. أيضًا، يُطلق على هذه البنية مخطط Merkle DAG لأن كل مجلد يحتوي على CID، والملفات الموجودة في المجلد لها CIDs الخاصة بها، والأجزاء المنقسمة من هذه الملفات لها معرّفات CID الخاصة بها. تم تطوير مفهوم شجرة Merkle بواسطة Ralph Merkle في عام 1979.

الرسوم البيانية غير الدورية الموجهة (DAG) هي تنسيق هيكل بيانات تستخدمه العديد من الأنظمة اللامركزية. يستخدم IPFS هياكل DAG المعروفة باسم Merkle DAGs. في بنية البيانات هذه، تحتوي كل عقدة على رمز تجزئة فريد يمثل المحتوى الذي تمتلكه.

عيوب IPFS

يواجه IPFS أكبر مشكلة في إتاحة الملفات باستمرار، حيث أن التكنولوجيا جديدة نسبيًا، أي لم يتم تعميمها بعد. إذا كانت هناك نسخة من الملف موجودة على عدد قليل فقط من العقد وكانت هذه العقد غير متصلة بالإنترنت في ذلك الوقت، فلن يكون الملف قابلاً للوصول.

هناك طريقتان للتغلب على هذا:

1- تشجيع العقد على الاتصال بالإنترنت في كل وقت.
2- توزيع الملفات بشكل استباقي والتأكد من توفر عدد معين من النسخ.

تقوم اليوم العديد من مشاريع التخزين والتخزين المستندة إلى blockchain بدمج هذه الأساليب في أنظمة التشغيل الخاصة بها.