ذخیره سازی LF غیرمتمرکز به مجوز باز منتقل شده است

LF 1.1.0، یک ذخیره‌سازی اطلاعات کلید/مقدار غیرمتمرکز و تکراری، اکنون در دسترس است. این پروژه توسط ZeroTier در حال توسعه است، که در حال توسعه یک سوئیچ اترنت مجازی است که به شما امکان می دهد میزبان ها و ماشین های مجازی واقع در ارائه دهندگان مختلف را در یک شبکه محلی مجازی ترکیب کنید، شرکت کنندگان در آن داده ها را در حالت P2P تبادل می کنند. کد پروژه به زبان C نوشته شده است. نسخه جدید به دلیل انتقال به مجوز رایگان MPL 2.0 (مجوز عمومی موزیلا) قابل توجه است.

پیش از این، کد LF تحت یک BSL (مجوز منبع کسب و کار) در دسترس بود که به دلیل تبعیض علیه دسته خاصی از کاربران رایگان نیست. مجوز BSL توسط بنیانگذاران MySQL به عنوان جایگزینی برای مدل Open Core پیشنهاد شد. ماهیت BSL این است که کد عملکرد پیشرفته در ابتدا برای اصلاح در دسترس است، اما برای مدتی فقط در صورت رعایت شرایط اضافی که نیاز به خرید مجوز تجاری برای دور زدن دارد، می توان از آن به صورت رایگان استفاده کرد.

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

برای اتصال یک گره جدید به شبکه، نیازی به دریافت مجوزهای جداگانه ندارید - هر کسی می تواند گره خود را راه اندازی کند. مدل داده LF حول یک نمودار غیر چرخه جهت دار (DAG) ساخته شده است که همگام سازی را ساده می کند و امکان حل تعارض و استراتژی های امنیتی مختلف را فراهم می کند. برخلاف سیستم‌های جدول هش توزیع شده (DHT)، معماری IF در ابتدا برای استفاده در شبکه‌های غیرقابل اعتماد طراحی شده است که در دسترس بودن ثابت گره‌ها تضمین نشده است. در میان زمینه های کاربرد LF، ایجاد پایدارترین سیستم های ذخیره سازی ذکر شده است که در آن حجم نسبتا کمی از داده های حیاتی ذخیره می شود که به ندرت تغییر می کنند. به عنوان مثال، LF برای فروشگاه های کلید، گواهی ها، پارامترهای هویت، فایل های پیکربندی، هش ها و نام های دامنه مناسب است.

برای محافظت در برابر اضافه بار و سوء استفاده، محدودیتی در شدت عملیات نوشتن در ذخیره سازی مشترک اعمال می شود که بر اساس اثبات کار اجرا می شود - برای اینکه بتواند داده ها را ذخیره کند، یک شرکت کننده در شبکه ذخیره سازی باید مقدار مشخصی را تکمیل کند. وظیفه، که به راحتی تأیید می شود، اما به منابع محاسباتی بزرگی نیاز دارد (مشابه سازماندهی گسترش سیستم های مبتنی بر بلاک چین و CRDT). مقادیر محاسبه شده نیز به عنوان علامت در هنگام حل تعارض استفاده می شود.

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

ویژگی های اصلی LF:

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

محدودیت ها شامل تمرکز بر ذخیره داده های کوچک و به ندرت در حال تغییر، عدم وجود قفل و ثبات داده های تضمین شده، نیازهای بالا برای CPU، حافظه، فضای دیسک و پهنای باند، و افزایش مداوم اندازه ذخیره سازی در طول زمان است.

منبع: opennet.ru

اضافه کردن نظر