شاردینگ چیست؟ بدون شک فناوری بلاک‌چین یکی از بهترین پیشرفت‌ها در عرصه دیجیتال در قرن ۲۱ به شمار می‌رود. با این وجود از همان ابتدا بحث‌هایی پیرامون این فناوری وجود داشت که تردیدهایی را در زمینه فراگیری بلاک‌چین به وجود آورد. یکی از این مسائل مربوط به مقیاس‌پذیری در شبکه‌های مبتنی بر بلاک‌چین است. تا چند سال پیش بسیاری از فعالان حوزه بلاک‌چین از تحقق قابلیت‌هایی مانند امنیت، مقیاس‌پذیری و تمرکززدایی به صورت همزمان ناامید شده بودند. در واقع این تصور ایجاد شده بود که اگر در شبکه‌ای قصد افزایش مقیاس‌پذیری را داریم، باید امنیت را فدای این هدف کنیم. Sharding تمام معادلات و تصورات موجود را بر هم زد. در ادامه با ما همراه باشید تا به بحث و بررسی پیرامون شاردینگ بپردازیم.

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

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

اما در روش پردازش موازی مسئله کاملا دگرگون است. یک مسئله بزرگ به تعداد زیادی مسئله کوچک تقسیم می‌شود. در ادامه هر یک از این مسائل کوچک به یک بخش از سیستم پردازشگر سپرده می‌شود. به این ترتیب توان سیستم محاسباتی به صورت بهینه برای پردازش مسئله به کار می‌رود. در نتیجه در قالب پردازش موازی مسائل سریع‌تر حل می‌شوند.

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

شاردینگ چیست

شاردینگ در بلاک چین به چه معناست؟

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

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

آیا تعداد شاردها در شبکه بلاک‌چین ثابت است؟

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

اجرای Sharding چه دستاوردهایی برای شبکه بلاک‌چین دارد؟

اگر فرآیند Sharding با تمام اصول و ضوابط مربوطه در یک شبکه بلاک‌چین اجرا شود، سه دستاورد بزرگ به همراه دارد که عبارت‌اند از:

  1. مقیاس‌پذیری شبکه افزایش می‌‌یابد و تعداد تراکنش‌هایی که در ثانیه قابل پردازش است، بیشتر می‌شود.
  2. در یک شبکه مرسوم، ورود نود جدید به شبکه تنها در صورتی امکان‌پذیر است که یک نسخه پشتیبان از تمام تراکنش‌های قبلی را ذخیره کند. در یک شبکه شارد شده، عملا نیازی به این کار نیست. به این ترتیب یک مانع بزرگ از سر راه افزوده شده نودهای جدید در شبکه‌ها برداشته می‌شود. این یعنی عملا یک گام بلند به سوی تمرکززدایی در بلاک‌چین برداشته می‌شود.
  3. اجرای Sharding تأثیر منفی در فرآیند تأیید تراکنش‌ها ندارد. این دقیقا به عنوان یک مزیت بزرگ اجرای شاردینگ در مقایسه با شبکه‌های متشکل از چند زنجیره موازی است.

چالش‌های شاردینگ در بلاک چین چیست؟

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

۱. حمله ۵۱ درصد به شاردها

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

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

۲. برقراری ارتباط بین شاردها

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

۳. وابستگی به تعداد نودها

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

چالش‌های شاردینگ در بلاک چین

بلاک‌چین‌هایی که از شاردینگ استفاده می‌کنند

در حال حاضر تعداد بلاک‌چین‌هایی که از Sharding استفاده می‌کنند، زیاد نیست. سه شبکه مهم بلاک‌چین که از شاردینگ استفاده می‌کنند، عبارت‌اند از:

  • زیلیکا (Zilliqa): اولین شبکه‌ای است که Sharding را اجرا کرده است و در زمینه مقیاس‌پذیری تراکنش‌ها به نتایج مطلوبی دست پیدا کرده است.
  • نیر (Near): این شبکه بلاک‌چین نیز از شاردینگ برای افزایش مقیاس‌پذیری بهره می‌برد. ابتکار خاصی در آن استفاده شده که به نودها در بازه‌های زمانی مختلف بین شاردهای گوناگون جابه‌جا می‌شود. به این ترتیب امنیت شبکه نیز تقویت می‌شود.
  • الروند (Elrond): این شبکه بلاک‌چین نیز از Sharding بهره می‌برد و مانند بلاک‌چین نیر، نودهای اعتبار سنج را به صورت تصادفی بین شاردهای مختلف در بازه‌های زمانی گوناگون جابه‌جا می‌کند.

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

کلام پایانی

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