موضوع ذخیره سازی یکی از رایجترین چالشها در دنیای بیانتهای بلاک چین است. تمام تراکنشهای بلاک چین در دفتر کل شبکه ثبت و نگهداری میشوند. با افزایش تعداد تراکنشها، بدیهی است که دادههای بیشتری نیز ایجاد شوند. بیشک، این دادهها نیازمند فضای ذخیره سازی در بلاک چین هستند. از طرفی، بلاک چینها تغییرناپذیر بوده و هیچوقت دادههای موجود در آنها حذف نمیشوند. با این حساب، نیاز به ذخیرهسازی دائماً افزایش پیدا کرده و باید فضای مناسبی برای آن در نظر گرفت، اما محدودیتهای موجود در این زمینه گاهی میتواند مانع انجام این کار شود.
در این مقاله، به محدودیتهای ذخیره سازی در بلاک چین و برخی راهحلهای بالقوه برای این مشکل را بررسی میکنیم. تا انتهای مقاله همراه ما باشید.
دادههای بلاک چین کجا ذخیره میشوند؟
دادههای بلاک چین بر روی ماشینهای توزیعشده در سطح جهانی که با نام گره یا نود (Node) شناخته میشوند، قرار دارند. گرهها اساساً برای اعتبارسنجی و ذخیره اطلاعات مربوط به وضعیت شبکه، نرمافزاری را اجرا میکنند. انواع مختلفی از گرهها وجود دارند که عملکردهای گوناگونی را انجام میدهند. برخی ممکن است کپی کاملی از دفتر کل را حفظ کنند، ولی برخی دیگر فقط به ذخیره جدیدترین بلوکها بپردازند.
اگرچه این معماری میتواند از شبکهای به شبکه دیگر متفاوت باشد، یک گره کامل معمولاً کل وضعیت شبکه شامل تاریخچهای از تراکنشهای اجرا شده در بلاک چین را ذخیره میکند. اجرای یک گره شبکه مستلزم برطرفکردن برخی از حداقل نیازهای سختافزاری است. برای مثال، برای بیت کوین، علاوهبر سایر الزامات، یک دستگاه با حداقل ۵۰۰ گیگابایت فضای ذخیره سازی در بلاکچین و سرعت خواندن و نوشتن ۱۰۰ مگابایت بر ثانیه جهت اجرای یک گره لازم است.
چرا مشکل ذخیره سازی در بلاک چین وجود دارد؟
طبق استدلال ویتالیک بوترین (Vitalik Buterin)، یکی از بنیانگذاران اتریوم، چالشهای ذخیرهسازی مشکلات شدیدی را بر مقیاسپذیری بلاک چین تحمیل میکند.
در یک سناریو ایدئال، کاربران گرههای خود را بهطور قابلتوجهی در شبکههای بلاک چین اجرا میکنند، اما این کار به منابع سختافزاری و پهنای باند زیادی نیاز دارد که فراهم کردن آنها برای کاربری معمولی سخت است (حداقل یک ترابایت فضای ذخیرهسازی SSD برای اجرای گرههای کامل
Eth 2.0 لازم است).
نگاهی گذرا به Etherscan نشان میدهد که در شبکه اتریوم بهطور متوسط کمتر از ۱۰ هزار گره در ۳۰ روز گذشته اجرا شدهاند. این موضوع سوالاتی را درباره محدودیتهای محاسباتی برای بلاک چین و پیشبینی چگونگی شبکههای غیرمتمرکز در آینده، ایجاد کرده است.
با افزایش نیازهای سختافزاری، نیاز به پروژههای تخصصی جهت اجرای گرههای بلاک چین احساس میشود. اینفورا (Infura) و آلکمی (Alchemy) دو پروژه پیشرو در نگهداری گرهها برای پروتکلهای Web3 و توسعهدهندگان هستند، اما این سرویسها نگرانیهایی را نیز از قبیل متمرکز کردن دادههای بلاک چین و عرضه آنها به ارائهدهندگان خدمات تخصصی و همچنین احتمال ایجاد اختلال در حفظ حریم خصوصی ایجاد کردهاند.
راهحل رفع مشکل ذخیره سازی در بلاک چین چیست؟
چندین راهحل برای مقابله با مشکل ذخیره سازی در بلاک چین وجود دارد که در زیر ۲ راهکار مهم را مطرح میکنیم:
شاردینگ
شاردینگ (Sharding) یکی از تکنیکهای بهینهسازی است که به کمک گرههای اختصاصی روی انواع دادههای منحصربهفرد، بار محاسباتی بلاک چین را به قسمتهای کوچکتر تقسیم میکند. این کار گرههای دیگر را برای انجام هرچه بیشتر وظایف محاسباتی، آزاد کرده و مقدار فضای ذخیرهسازی را که هر گره باید به دفترکل توزیعشده اختصاص دهد، کمتر میکند.
مزیت اصلی شاردینگ، افزایش ظرفیت ذخیرهسازی درون زنجیرهای بدون تکیه بر شخص ثالث مثل اینفوراست. این بدان معنی است که ظرفیت ذخیره سازی در بلاک چین به قیمت تمرکززدایی تمام نشده و درعینحال سطح حمله به شبکه افزایش پیدا نمیکند.
در مقابل، نقطه ضعف احتمالی شاردینگ این است که محدودیتی در میزان توانایی حل مشکل ذخیرهسازی دارد.
پرونینگ
روش دیگر برای بهبود عمل ذخیره سازی درون زنجیرهای، حذف اطلاعات قدیمی یا کممرتبط از دسته گرههای خاصی است. این کار بهعنوان پرونینگ یا هرس شناخته میشود. با حذف داده تراکنشهای قدیمی، میتوان فضای ذخیره سازی در بلاک چین را افزایش داد. به این ترتیب، افراد بیشتری قادر به اجرای گرهها بدون نیاز به سختافزار هستند. بااینحال، پرونینگ خطرات خاص خود را هم دارد. بهعنوانمثال، اگر مهاجمی بلوک قدیمی حذفشده را بهعنوان هدف مشخص کند، ممکن است کل شبکه در معرض خطر قرار بگیرد.
گفتار پایانی
بلاک چینها به گونهای طراحی شدهاند که در برابر خطا مقاوم باشند. به عبارت دیگر، آنها حتی در غیاب برخی از شبکهها در دسترس هستند. با این حال، محدودیتهای ذخیره سازی درون زنجیرهای میتواند عملکرد شبکه را بهطور قابلتوجهی تحت تاثیر قرار دهد. همانطور که دادههای تراکنش رشد میکنند، نیازهای ذخیره سازی در بلاک چین نیز افزایش مییابد. برای این منظور، میتوان زیرساختهای لازم را فراهم کرده و به کمک روشهای ذکر شده در این مطلب، به افزایش فضای ذخیره سازی در بلاک چین پرداخت.
آیا راهحل دیگری برای افزایش فضای ذخیره سازی در بلاک چین و رفع محدودیتهای آن میشناسید؟ آیا با چالشهای دیگری بر بستر بلاک چین مواجه هستید؟ خوشحال میشویم نظرات خود را با ما در میان بگذارید.