آذر ۵, ۱۳۹۹

شاردینگ (Sharding) چیست؛ روشی برای بهبود مقیاس‌ پذیری

  • توسط samsam
  • سپتامبر 21, 2019
  • 0
شاردینگ

شبکه های بیت کوین و اتریوم به صورت ذاتی کند می باشند از این رو برای افزایش سرعت و انجام تراکنش های بیشتر به فرآیندهایی نظیر شاردینگ (Sharding) نیاز است. شاردینگ می تواند ظرفیت استخراج را به بخش های کوچک تری تقسیم کند که هر یک قادر به انجام تراکنش ها به صورت موازی هستند. در واقع شاردینگ یکی از روش های بهبود مقیاس پذیری و رفع مشکل شبکه بلاکچین به منظور جذب فرصت های بیشتر است. در این مقاله ارزنگار قصد دارد تا به شاردینگ و نحوه استفاده از آن برای بهبود مقیاس پذیری در بلاکچین اشاره کند.

مقیاس پذیری در بلاکچین

فقدان مقیاس پذیری (پردازش معاملات کم در هر ثانیه) تنگنای اصلی فناوری بلاکچین برای جذب فرصت های بیشتر است، افزودن رایانه های بیشتر به شبکه فقط امنیت شبکه را افزایش می دهد اما کارآیی آن را بهبود نمی بخشد. تنها با ۵ تراکنش در هر ثانیه (tps) برای بیت کوین و ۱۲ تراکنش در ثانیه برای اتریوم، راه حل های موجود در بلاکچین با راه حل های متمرکزی مانند Visa کارت به عنوان یک سیستم پرداخت و AWS به عنوان سرویس محاسبات ابری قابل رقابت نیست. به عنوان مثال، با افزایش محبوبیت CryptoKitties در سال ۲۰۱۷ ، شبکه اتریوم با کاهش شدید کاربر روبرو شد. این قطعاً برای شرکت هایی که از اتریوم برای تأمین انرژی خدمات خود استفاده می کنند، نگران کننده است.

بیت کوین و اتریوم شبکه هایی هستند که توسط Proof-of-Work ایمن شده اند. صدها هزار کامپیوتر و ماشین آلات تخصصی استخراج در سراسر جهان برای پردازش معاملات استفاده می شوند. بیت کوین و اتریوم به عنوان یک سیستم پرداخت نقدیP2P، امن و غیرمتمرکز هستند، با این حال، بلافاصله قابل مقیاس پذیری نمی باشند. برای بهبود مقیاس پذیری آنها، راه حل های زیادی پیشنهاد شده است. به عنوان مثال، BitcoinCash (هارد فورک بیت کوین) اندازه بلاک ها را افزایش داد تا معاملات بیشتری در هر بلاک انجام شود. در حالی که شبکه لایتنینگ (لایه دوم) از کانال های پرداخت غیر زنجیره ای برای کاهش بار زنجیره اصلی استفاده می کرد. Sharding یکی از محبوب ترین رویکردهایی است که توسط پروژه های مختلف بلاکچین از جمله اتریوم، Zilliqa ،Quarkchain و غیره ایجاد شده است.

شاردینگ

شاردینگ چیست؟

Sharding نوعی پارتیشن بندی افقی برای طراحی پایگاه داده به طور گسترده است که سرورهای پایگاه داده را برای حل مشکلات مقیاس پذیری و تأخیر، مجزا می کند. بلاکچین با اجرای Sharding، به بخش های مختلف تقسیم می شود، هر یک از این بخش ها می توانند تراکنش ها را به صورت موازی پردازش کنند. هر گره تنها بخشی از داده های مربوط به بلاکچین و نه کل اطلاعات را خواهد داشت. در نتیجه می توان معاملات بیشتری را همزمان انجام داد. به عنوان مثال، شبکه ای با ۱۰۰۰ گره را تصور کنید؛ ممکن است یک شبکه به ۱۰ قسمت تقسیم شود که هر یک از ۱۰۰ گره تشکیل شده است، از این رو سرعت باید ۱۰ فولد افزایش یابد.

حملات Single-Shard Takeover

با اجرای شاردینگ، خطر جدیدی ایجاد می شود به نام Single-Shard Takeover ایجاد می شود. این خطر جدید به معنی این است که یک قسمت کاملاً توسط گره های مخرب کنترل می شود و معاملات ممکن است اصلاح شوند. برای جلوگیری از حمله Single-Shard، مهم است که از قدرت هش روی یک قسمت واحد به صورت متمرکز توسط هکرها جلوگیری شود.
از این رو نحوه تخصیص گره به قسمت های مختلف، از اهمیت ویژه ای برخوردار است. به همین منظور در بلاکچین اتریوم پیشنهاد شده که از نمونه برداری تصادفی از اعتبار سنج ها در هر قسمت برای راه حل شاردینگ استفاده شود، در نمونه تصادفی، اعتبار سنج ها نمی دانند از چه بخشی از قبل استفاده می کنند.
علاوه بر این، حداقل اندازه یک بخش باید محدود شود تا این احتمال وجود داشته باشد که گره های مخرب به همان قسمت اختصاص داده شود. با استراتژی های فوق، در حل مسئله مقیاس پذیری با استفاده از شاردینگ، امنیت شبکه قربانی بهبود چشمگیر کارایی نخواهد شد.

شاردینگ

نتیجه گیری

Sharding معمولاً در یک سیستم خصوصی مورد استفاده قرار می گیرد. این می تواند تقسیم افقی بار برای یک پایگاه داده یا موتور جستجو باشد. با این حال، اجرای آن در یک شبکه بلاکچین عمومی همچنان یک چالش بزرگ محسوب می شود. ماهیت عدم تمرکز و شفافیت، حفظ امنیت را دشوار می کند. جدای از حملات Single-Shard، توسعه دهندگان با موارد دیگری همچون ارتباطات متقابل نیز روبرو می باشند.
در صورت موفقیت به منظور استفاده از شاردینگ، هزینه های معاملات به شدت کاهش می یابد و به توسعه دهندگان امکان داده می شود که dApps پیچیده تری بسازند. این راه کار یکی از راه حل های مقرون به صرفه برای ۳ بعدی شدن بلاکچین محسوب می شود.

قبلی «
بعدی »

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قیمت ارزها