شاردینگ چیست؟ نحوه عملکرد شاردینگ یا sharding چگونه است؟ مزایا و معایب شاردینگ چیست؟ تکنولوژی بلاک چین در تلاش است تا تمامی امور روزمره انسان را به صورت غیر متمرکز انجام دهد و رویای دنیای غیر متمرکز، بدون دخالت دیگران، را محقق سازد. بلاک چین در ابتدای مسیر خود مشکلات زیادی داشت اما مهمترین ایراد این تکنولوژی این بود که هیچ شبکهای نمیتواند سه ویژگی تمرکززدایی، مقیاس پذیری و امنیت را در یک بلاک چین داشته باشد و باید برخی از ویژگیها قربانی میشدند.
در واقع اگر پروژهای قصد داشت تا مقیاس پذیری بالایی داشته باشد، باید امنیت و تمرکززدایی را قربانی میکرد. شاردینگ (sharding) یک تکنیک کامپیوتری میباشد که برای رفع همین مشکل طراحی شده است. در حقیقت به کمک تکنیک شاردینگ، پایگاه یا شبکه به صورت افقی تقسیم میشود و باعث افزایش مقیاس پذیری و تمرکززدایی میشود. استراتژی شاردینگ ابتدا برای افزایش مقیاس پذیری در سیستمهای توزیع شده و غیر متمرکز ساخته شد؛ اما امروزه در تکنولوژی بلاک چین استفاده میشود و توانسته است تا مشکلات زیادی از بلاک چین را برطرف کند.
در این مقاله قصد داریم تا ابتدا با فلسفه شاردینگ آشنا شده و سپس به بررسی عملکرد و مزایای آن بپردازیم.
مفهوم شاردینگ (sharding)
کلمه شارد یا shard به معنی تکه یا قطعه قطعه کردن یک چیز است. به صورت خلاصه، فرآیند شاردینگ (sharding) یعنی تقسیم یک داده یا پردازش بزرگ به داده یا پردازشهای کوچکتر. به عنوان مثال فرض کنید که قصد دارید دستگاهی را بسازید. این دستگاه از 500 قطعه تشکیل شده است و باید به درستی در کنار یکدیگر قرار گیرند.
اگر بخواهید به تنهایی این دستگاه را بسازید، باید زمان زیادی صرف قرار دادن 500 قطعه در کنار یکدیگر کنید، همچنین میزان دقت در ساخت دستگاه نیز کاهش پیدا میکند؛ اما اگر از دوستان نیز کمک بگیرید و 500 قطعه را تقسیم کنید، در نهایت میزان دقت و سرعت ساخت دستگاه افزایش پیدا میکند. در واقع با دسته بندی قطعهها ساخت دستگاه آسانتر و سریعتر میشود.
فرآیند شاردینگ همانند مثال مطرح شده عمل میکند و یک پردازش را به بخشهای کوچکتر تقسیم میکند تا سرعت و ظرفیت شبکه افزایش پیدا کند. در واقع راه حل شاردینگ با کمترین هزینه مشکل اصلی بلاک چین را برطرف میکند. در فرآیند شاردینگ، با خرد کردن به صورت پارتیشن بندی افقی یا Horizontal Partitioning یک پردازش یا دیتابیس بزرگ به پایگاه دادههای کوچکتر تقسیم میشود که قابلیت مدیریت آنها وجود دارد. مدیریت پایگاه دادههای کوچکتر که در شبکه با عنوان شارد یا shard شناخته میشود، باعث بهبود عملکرد و کاهش مدت زمان پردازش در شبکه بلاک چین میشود.

تاریخچه شاردینگ
برخی از کاربران دنیای کریپتوکارنسی تصور میکنند که فرآیند شاردینگ اولین بار در تکنولوژی بلاک چین استفاده شده است که این تصور غلط است. شاردینگ اولین بار در اواخر دهه 90 میلادی برای مدیریت پایگاههای اطلاعات متمرکز مورد استفاده قرار گرفت. زمانی که توسعه دهندگان یکی از اولین بازیهای آنلاین با نقش آفرینی چند نفره به نام Ultima Online یا اولیتما آنلاین تصمیم گرفتند تا برای مدیریت بهتر ترافیک ورودی، بازیکنان را در چند سرور تقسیم کنند.
در واقع توسعه دهندگان این بازی اطلاعات و پردازش کاربران این بازی را گروه بندی کرده و در چند پایگاه داده تقسیم کردند. با این کار سرعت پردازش بازی افزایش پیدا کرد و مدیریت ترافیک ورودی آسانتر شد. به لطف ایده تکه تکه کردن یا شارد (shard) کردن پردازش یا اطلاعات یک شبکه، امروزه بسیاری مشکلات تکنولوژی بلاک چین برطرف شده است.

شاردینگ در ارزهای دیجیتال
تکنولوژی شاردینگ یک راه حلی کاربردی برای افزایش مقیاس پذیری شبکههای بلاک چین است. به صورت خلاصه شاردینگ با تقسیم بندی دیتابیسهای شبکه بلاک چین به بخشهای کوچکتر و ذخیره اطلاعات در چندین پایگاه داده، سرعت تراکنشها و تمرکز زدایی را در بلاک چین افزایش میدهد و در نتیجه مقیاس پذیری شبکه بلاک چین بهبود پیدا میکند.
هر شبکه بلاک چین پایگاههای دادهای هستند که هر نود (node) یا گره در آنها به عنوان یک سرور جداگانه به پردازش شبکه کمک میکند و در ازای آن پاداش میگیرد. هنگامی که شاردینگ در بلاک چین اجرا میشود، شبکه به بخشهای کوچکتر به نام شارد یا shard تقسیم میشود. هر شارد مجموعه مخصوصی از قرارداد های هوشمند و موجودی حسابها را نگهداری میکند. نودها در شاردها قرار میگیرند تا تراکنشها و پردازش شبکه را تایید کنند و در این حالت نودها دیگر مسئول تایید اعتبار تمامی تراکنشهای شبکه نیستند و تنها باید تراکنشهای موجود در شارد خود را بررسی کنند.
به بیان سادهتر، در بلاک چینهایی که فرآیند شاردینگ در آنها انجام نمیشود، نودها با مدل اجرای خطی به پردازش شبکه میپردازند و باید تمامی فعالیتهای شبکه را پردازش کنند؛ اما با اجرای تکنیک شاردینگ در شبکه بلاک چین، مدل اجرای خطی به مدل اجرای موازی تغییر پیدا میکند و هر نود تنها وظیفه دارد تا تعداد مشخصی از تراکنشها را پردازش کند.
در این حالت پردازش تراکنشها به صورت موازی و در چندین خطوط اجرا میشود. به دلیل آنکه نودها به صورت موازی در شاردها به پردازش شبکه میپردازند، به شاردینگ، قسمت بندی افقی یا horizontal partitioning نیز گفته میشود که راه حلی بهتر برای مدل اجرای خطی یا قسمت بندی عمودی (vertical partitioning) است.

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

مزایا و معایب شاردینگ
یکی از بزرگترین مشکلات شبکههای بلاک چینی، بحث مقیاس پذیری است. تکنولوژی شاردینگ یکی از راهکارهای خلاقانه بر حل مشکل مقیاس پذیری شبکههای بلاک چینی است. این تکنولوژی علاوه بر داشتن مزایای زیاد، دارای معایب مختلفی میباشد که به صورت خلاصه به شرح زیر است:
مزایا
1. مدیریت اطلاعات آسانتر میشود: به کمک شاردینگ، دیتابیس شبکه بلاک چین به اجزای کوچکتری تقسیم و مدیریت دیتا در این حالت آسانتر میشود.
2. سرعت تراکنش و پردازش شبکه افزایش پیدا میکند: هنگامی که شاردینگ در شبکه، دیتابیس را به بخشهای کوچکتر تقسیم میکند، سرعت پردازش و انجام تراکنش در شاردهای کوچکتر، آسانتر و سریعتر انجام میشود. این موضوع عملکرد کلی شبکه بلاک چینی را بهتر میکند.
3. هزینهها در شبکه کاهش پیدا میکند: از دیگر مزیتهای شاردینگ، کاهش هزینهها است. مدل مدیریت دیتا در شاردینگ ارزانتر سیستمهای پایگاه داده یکتا میباشد.
معایب
1. پیچیدگی تکنولوژی شاردینگ: اجرای شاردینگ در شبکه بلاک چین، بسیار پیچیده است و توسعه دهندگان باید تمامی پیچیدگیهای شاردینگ را به درستی پیدا کنند. در صورتیکه تکنیک شاردینگ به درستی اجرا نشود، کل دیتابیس شبکه از بین میرود.
2. مدیریت دشوار در ایجاد تعادل بین اندازه دادهها در شاردها: از دیگر مشکلات اصلی در اجرای شاردینگ، ایجاد تعادل بین اندازه دادههای ذخیره شده در هر شارد است. در واقع باید نحوه توزیع دادهها بین شاردهای مختلف به گونهای انجام شود تا متعادلترین حالت برای کل سیستم رعایت شود. این نوع توزیع دیتا در مواقعی که تعداد تراکنشها بسیار بالا است، دشوار خواهد بود.
به عنوان مثال فرض کنید که برای ساخت یک خودرو باید از 12 میلیون قطعه استفاده کنید. برای ساخت هر بخش از خودرو، مثل موتور خودرو، لاستیک، سپر و غیره چند گروه ایجاد میکنید تا هر بخش با دریافت قطعات، قطعه مورد نظر را بسازد. گروهی که قرار است قطعه موتور را بسازند باید تعداد قطعات بیشتری نسبت به گروهی که قرار است لاستیکهای خودرو را بسازند دریافت میکند و همین موضوع باعث میشود تا گروهی قطعه بیشتری نسبت به دیگر گروهها دریافت کنند و سختی کار برای آن گروه بیشتر خواهد شد.
3. عدم تطبیق سخت افزارها با فرآیند شاردینگ: از دیگر مشکلات تکنیک شاردینگ، ماشینهای پردازش داده است که باید با ساختار شاردینگ منطبق باشند. شاردینگ دارای ساختاری متفاوتتر از سایر پردازشگرهای معمولی است و توسعه دهندگان برای مدیریت دیتاهای شبکه، باید پردازشگرهایی منطبق با ساختار شاردینگ تهیه کنند.

چالشهای پیش روی شاردینگ
شاردینگ در بلاک چین دارای دو چالش اصلی است که باعث مشکلات در شبکه بلاک چین میشود:
1. تصرف شارد
تصرف شارد یا shard takeover همانند حمله 51 درصدی در بلاک چین است و هنگامی تصرف شارد اتفاق میافتد که شخص یا گروهی کنترل یک شارد را به دست بگیرند و تراکنشهای مخربی بر روی شارد انجام دهند. در واقع در شبکههای بلاک چین که از زنجیره انفرادی استفاده میکنند و شاردینگ در آنها انجام نمیشود، فرد یا گروهی اگر بخواهند شبکه را کنترل کنند و یا در آن اختلال ایجاد کنند، باید بتوانند 51 درصد قدرت شبکه را به دست بگیرند؛ اما این موضوع در شاردینگ سادهتر است و فرد یا گروه با تصرف یک شارد میتواند تراکنشها را دستکاری کند.
فرض کنید در یک شبکه بلاک چینی، تعداد 100 نود با قدرت هش برابر وجود دارد. فرد یا گروه مخرب برای آن که بتواند تراکنشها را دستکاری کند، تنها لازم است تا به یک شارد مسلط شود و تمامی نودهای یک شارد را در اختیار بگیرد. اگر فرض کنیم که در هر شارد تنها 10 نود وجود دارد، فرد یا گروه مخرب برای خرابکاری، به جای تسلط بر 51 درصد قدرت شبکه، تنها بر 10 نود از یک شارد مسلط میشود و شبکه بلاک چین را با مشکل مواجه میکند.
به بیان سادهتر، در فرآیند شاردینگ تصرف یک شارد مانند تصرف یک زنجیره در اکوسیستم چند زنجیرهای است که بسیار راحتتر از تسلط بر روی 51 درصد اکوسیستم شبکه میباشد. با تقسیم و کوچک کردن بلاک چین به اجزای کوچکتر، هکرها و اسپمها با کنترل تنها یک شارد، میتوانند شبکه را به چالش بکشند.
با توجه به موارد گفته شده، از چالشهای مهم شاردینگ احتمال حمله به یک شارد است که باید برطرف شود. برای رفع این مشکل باید توزیع قدرت رای دهی در بین تمامی شاردهای شبکه به صورت اتفاقی و برابر انجام شود و یا الگوریتمهایی برای جلوگیری از تمرکز قدرت هش در یک شارد طراحی شود. در حال حاضر برخی از شبکههای بلاک چین با توزیع قدرت رای دهی در تمامی شبکه توانستهاند تا حدودی از تصرف شارد یا shard takeover جلوگیری کنند.

2. ارتباطهای بین شاردی
از دیگر چالشهای پیش رو در تکنولوژی شاردینگ، ارتباطات بین شاردی یا cross-shard communication است. ارتباطهای بین شاردی برای مواقعی است که یک تراکنش نیاز به تغییر در وضعیت یک تابع از یک شارد به یک شارد دیگر داشته باشد. به عنوان مثال فرض کنید که در تصویر زیر، کاربر A میخواهد یک تراکنش را به کاربر V منتقل کند. نحوه برقراری ارتباط بین این دو کاربر در دو شارد مختلف چالش بزرگی برای شاردینگ در بلاک چین به حساب میآید.
برخی از شبکههای بلاک چینی توانستهاند این چالش را تا حدودی برطرف کنند. به عنوان مثال هنگامی که کاربر A تراکنشی را به کاربر V ارسال میکند، تراکنش ارسال شده در وضعیت موجودی حساب کاربر A و V ایجاد میشود. بنابراین نودهایی که وظیفه ثبت تغییرات وضعیت شبکه را دارند، باید در چندین شارد تغییراتی اعمال کنند تا الگوریتمی ایجاد شود که از تطابق وضعیت در شاردها مطمئن باشد و تراکنش بین کاربر A و V انجام شود.
علاوه بر نکات گفته شده، برای تراکنشهای بین شاردی استخراج کننده تراکنش باید بتواند تغییرات وضعیت در چندین شارد را انجام دهد. این موارد باعث ایجاد پیچیدگی بالایی در شاردینگ میشود. در واقع نودها تنها در شارد مخصوص خود دادهها را ذخیره و پردازش میکنند؛ اما با تراکنشهای بین شاردی باید به دنبال الگوریتمی مناسب برای انجام تراکنش شوند که کار نودها را بسیار پیچیده میکند. برای برطرف کردن مشکل ارتباطهای بین شاردی، باید معماری و الگوریتم شبکه را تغییر داد. در واقع یک شبکه بلاک چینی باید معماری مناسبی برای اجرای شاردینگ داشته باشد تا با چالشهای گفته شده مواجه نشود. در حال حاضر برخی از شبکههای بلاک چینی توانستهاند با معماری و الگوریتمهای مناسب، این چالش را تا حدودی برطرف کنند.

محدودیتهای تکنولوژی شاردینگ
همان طور که در این مقاله اشاره کردیم، استفاده از شاردینگ باعث افزایش مقیاس پذیری و سرعت شبکه میشود و عملکرد شبکه بلاک چین را بهبود میبخشد. با وجود تمام این ویژگیها شاردینگ در شبکه بلاک چین محدودیتهایی را ایجاد میکند که به صورت خلاصه میتوان به موارد زیر اشاره کرد:
1. عدم مقیاس پذیری مناسب در برخی از بلاک چینها
در برخی از شبکههای بلاک چینی با وجود تکنولوژی شاردینگ، مشکل مقیاس پذیری پایین به طور کامل برطرف نمیشود. در پروتکلهایی مانند زیلیکا (zilliqa) نودهای شبکه با وجود اینکه در شاردهای مختلفی تقسیم میشوند؛ اما باید وضعیت کل شبکه بلاک چین را در خود ذخیره کنند تا بتوانند به پردازش شبکه بپردازند. ذخیره تمامی شبکه بلاک چین در نودها باعث کاهش سرعت آنها و درنتیجه کاهش مقیاس پذیری شبکه میشود.
2. وابستگی توان شبکه به نودها
از دیگر محدودیتهای موجود این است که پروتکلهای شارد شده برای مقیاس پذیری بیشتر نیاز به افزایش تعداد نودهای شبکههای خود دارند. در واقع شبکههای بلاک چینی که از تکنیک شاردینگ استفاده میکنند، باید مورد استقبال و توجه کاربران زیادی قرار گیرند تا بتوانند مقیاس پذیری بالاتری داشته باشند. برخی از کارشناسان دنیای کریپتوکارنسی این موضوع را یک مزیت برای شاردینگ میدانند؛ زیرا از نگاه آنها افزایش پذیرش و محبوبیت یک پروتکل منجر به افزایش تعداد نودهای آن شبکه میشود. این موضوع نمیتواند در همه جا صدق کند و صرفا وجود کاربران زیاد در یک شبکه نمیتواند باعث افزایش تعداد نودهای یک شبکه شود.
بنابراین اگر در یک دوره زمانی تعداد نودهای یک شبکه بلاک چینی کاهش یابد، توان عملیاتی آن شبکه به شدت افت پیدا میکند. در این حالت میزان کارمزد تراکنشهای شبکه و زمان اجرای تراکنشها افزایش پیدا میکند. در نتیجه علاوه بر کاهش توان عملیاتی شبکه، نارضایتی کاربران شبکه افزایش پیدا میکند و در نهایت از شبکه خارج میشوند. در حال حاضر در هیچ شبکه بلاک چینی این اتفاق نیفتاده است اما اجرای این سناریو به دلیل وابستگی بیش از حد توان عملیاتی شبکه به نودها، دور از ذهن نیست.

راهحل جایگزینی برای شاردینگ وجود دارد؟
به جز تکنیک شاردینگ، راهکار دیگری برای افزایش مقیاس پذیری شبکههای بلاک چینی در بین توسعه دهندگان مطرح شد و آن افزایش سایز و اندازه بلاک بود. در این راه حل، با افزایش سایز بلاک امکان قرارگیری تراکنشهای بیشتر در آن وجود دارد و در نتیجه سرعت تراکنشهای شبکه افزایش پیدا میکند؛ اما از طرفی بلاک بزرگتر به قدرت محاسباتی بیشتری برای اعتبارسنجی نیاز دارد.
در صورت افزایش اندازه بلوک شبکه، پردازشگرهای امروزی نمیتوانند به خوبی شبکه بلاک چین را پردازش کنند و تجهیزات کامپیوتر پرقدرت و پیشرفتهتری برای تبدیل شدن به یک نود شبکه نیاز است. بنابراین با افزایش اندازه بلاکها، هزینه لازم برای تهیه دستگاههای پردازش افزایش پیدا میکند و تعداد نودهای شبکه کمتر و متمرکزتر میشود. این نکته باعث افزایش حمله 51 درصدی به شبکه بلاک چین نیز میشود.
علاوه بر موارد گفته شده، حتی با چشم پوشی از مشکلات ذکر شده، برای افزایش سایز بلاک باید هارد فورک یا hardfork در شبکه بلاک چین انجام شود که باعث جداسازی کاربران نیز میشود. در واقع در فرآیند هاردفورک، دو زنجیره جداگانه ایجاد میشود و باید تمامی نودهای شبکه به بلاک چین جدید منتقل شوند. بنابراین راه حل افزایش سایز بلاک علاوه بر افزایش ریسک حمله 51 درصدی، باعث متمرکزتر شدن شبکه میشود. بنابراین این راه حل باعث ریسکهای بزرگتری برای شبکه بلاک چین میشود.
کدام رمز ارزها از شاردینگ استفاده میکنند؟
همان طور که اشاره شد، تکنولوژی شاردینگ توانسته است مقیاس پذیری خوبی را برای شبکههای بلاک چین فراهم کند. گرچه تکنیک شاردینگ به خاطر هاردفورک اتریوم 2.0 سر زبانها افتاد، اما قبل از اتریوم، پروژههای دیگری در بازار کریپتوکارنسی از این تکنیک استفاده کردهاند. رمز ارزهایی که در حال حاضر از تکنولوژی شاردینگ استفاده میکنند، موارد زیر هستند:
1. زیلیکا (zilliqa)
شبکه زیلیکا یا zilliqa اولین بلاک چین عمومی است که از تکنیک شاردینگ استفاده کرد. شبکه زیلیکا به کمک شاردینگ توانست 2828 تراکنش را در ثانیه ثبت کند. در شبکه زیلیکا تمامی تراکنشها به صورت موازی در تک شاردها اجرا میشود. همچنین تراکنشهایی که بر روی یک قرارداد هوشمند تاثیر میگذارند، به صورت موازی اجرا نمیشوند و هیچ تراکنشی که بر روی بیش از یک شارد تاثیر بگذارد، دیگر به موازات تراکنش دیگری اجرا نمیشوند.
در رمز ارز زیلیکا با اینکه این شبکه به هزاران شارد (shard) تقسیم میشود، اما تعداد محدودی از برنامه های غیر متمرکز در تعداد محدودی از شاردهای مخصوص خود قرار میگیرند و این نکته ایراد اصلی این بلاک چین محسوب میشود. همین موضوع باعث میشود تا قدرت پردازش شارد و ذخیره سازی حالت شاردینگ در این شبکه با محدودیت مواجه شود. به بیانی دیگر، شبکه زیلیکا نمیتواند قراردادهای هوشمندی را که به طور موازی بر چندین شارد تاثیر میگذارند را پردازش کند.

2. نیر (near)
رمز ارز نیر توکن بومی شبکه NEAR protocol محسوب میشود که با هدف تشویق نودهای شبکه نیر و تامین انرژی برای تراکنشها و قراردادهای هوشمند استفاده میشود. شبکه near یک شبکه بلاک چینی است که از فناوری شاردینگ استفاده میکند و کاربران در آن میتوانند برنامههای غیرمتمرکز (DApp) مخصوص خود را توسعه دهند.
اکوسیستم نیر از الگوریتم اجماع اثبات سهام یا proof of stake پیروی میکند. بلاک چین با استفاده از شاردینگ به نودهای خود اجازه میدهد تا به حدی کوچک بمانند تا حتی در سیستمهای کوچک نظیر گوشی همراه، بتوانند در توسعه شبکه مشارکت داشته باشند. اعتبارسنجهای شبکه نیر از تکنیک شاردینگ استفاده میکنند و به چند شارد تقسیم میشود. هر شارد اعتبارسنج مجموعهای از وضعیت کل بلاک چین را در خود ذخیره میکند.
اعتبارسنجها از هر دوره زمانی مشخص (12 ساعت) به صورت تصادفی به یک شارد اختصاص داده میشوند و باید وضعیت مشخص شده را دانلود کند و در دوره زمانی بعدی حفظ کند. در واقع در بلاک چین نیر هر شارد مسئول یک قطعه از آخرین بلاک است و با اضافه شدن نودهای جدید، تعداد شاردها نیز افزایش پیدا میکند و عملکرد پردازش شبکه بهتر میشود.

3. الروند (elrond)
شبکه الروند یا Elrond یک شبکه بلاک چین عمومی است که با هدف افزایش مقیاس پذیری، سرعت و امنیت طراحی و ساخته شده است. شبکه الروند همانند شبکه اتریوم، یک پلتفرم قرارداد هوشمند برای توسعه برنامههای غیرمتمرکز یا DApp میباشد با این تفاوت که الروند توانسته است با میزان کامزد کمتر و سرعت تراکنش بالاتر از شبکه اتریوم، عملکرد بهتری داشته باشد. در شبکه بلاک چین الروند اعتبارسنجهای جدید در یک لیست انتظار قرار میگیرند تا در یک دوره زمانی مشخص، به یکی از شاردها اختصاص یابند.
در هر دوره زمانی تعدادی از اعتبارسنجهای شبکه الروند به صورت اتفاقی انتخاب و مجدد به شاردهای مختلف اختصاص داده میشوند. در واقع در این شبکه هر اعتبارسنج در هر دوره زمانی به یک شارد متفاوت متصل میشود. اعتبارسنجهایی که به تازگی به یک شارد متصل شده اند، باید در دوره زمانی بعدی، در لیست انتظار شارد قرار گیرند و با شارد جدید همگام سازی شوند تا بعد از آن بتوانند با شارد جدید متصل شوند. به کمک این فرآیند، اعتبارسنجها میتوانند به طور دائم با وضعیت شاردی که به آن متصل میشوند، همگام باشند. همین نکته باعث افزایش ظرفیت تراکنشهای شبکه و تمرکززدایی میشود و شاردینگ در شبکه به خوبی اجرا میشود.

4. پولکادات (polkadot)
پولکادات یک شبکه بلاک چین نسل سوم محسوب میشود که در تلاش است تا تمامی شبکههای بلاک چینی را به یکدیگر متصل کند و یک شبکه یکپارچه همتا به همتا ایجاد کند. از پلتفرم پولکادات به عنوان یکی از عوامل تسهیل کننده در ساخت وب 3.0 یا اینترنت غیرمتمرکز یاد میشود. شبکه پولکادات با استفاده از مفهوم جدید شاردینگ، این امکان را برای کاربران خود فراهم میکند تا پروژههای خود را در کنار سرعت تراکنش و مقیاس پذیری بالا در شبکه پولکادات ایجاد کرده و توسعه دهند.
اجرای شاردینگ در شبکه پولکادات نسبت به شبکه اتریوم کاملا متفاوت است. این شبکه از ویژگیهای ترکیب پذیری زنجیرهای متقابل برای فعال کردن شاردینگ بر روی پاراچین ها استفاده میکند. زنجیره رله در پولکادات پاراچینها را متصل میکند و به آنها اجازه میدهد تا در کنار امنیت و مقیاس پذیری، در شبکه فعالیت کنند.
به بیان ساده، شبکه پاراچین با ایجاد یک الگوی تقسیمبندی پیشرفته اجازه میدهد تا زنجیرهها به حال موازی و شارد فعالیت کنند. شبکه پولکادات میتواند بسیاری از تراکنشهای موازی شده را در زنجیرههای مختلف به طور همزمان اجرا کند؛ در واقع به دلیل ساختار چند زنجیرهای پاراچین که در شبکه پولکادات وجود دارد، تقسیم زنجیرهای در این شبکه به سادگی انجام میشود و به همین دلیل میزان کارمزد تراکنش کاهش و سرعت آن افزایش پیدا میکند.

رمز ارزهای معرفی شده، جزو رمز ارزهای مشهور هستند که همانند اتریوم 2.0، از تکنیک شاردینگ استفاده میکنند. علاوه بر این رمز ارزهای دیگری همچون کاردانو (cardano) و فلتا (fleta) از شاردینگ در شبکه بلاک چین خود استفاده میکنند.
سخن پایانی
راه حل شاردینگ یکی از بهترین روشهای طراحی شده برای حل مشکلات مقیاس پذیری در شبکههای بلاک چین است. در راه حل شاردینگ زنجیره شبکه به زنجیرههای کوچکتر تقسیم میشود که به هر زنجیره شارد گفته میشود. در این حالت تمامی تراکنشهای شبکه بین شبکه تقسیم میشود و توان پردازش تراکنشهای شبکه بین نودها توزیع شده و عملکرد شبکه افزایش مییابد. شبکههای بلاک چینی که از الگوریتم اثبات سهام استفاده میکنند، میتوانند شاردینگ را در شبکه خود اجرا کنند. رمز ارزهای بزرگی همچون اتریوم توانستهاند با اجرای شاردینگ، بخش زیادی از مشکلات مقیاس پذیری را برطرف کنند که این موضوع باعث افزایش سرمایهگذاری توسعه دهندگان بر این روش شده است. در این مقاله تلاش کردیم تا با فرآیند شاردینگ، نحوه عملکرد، مزایا و مشکلات آن آشنا شوید.
اینکه اتریوم الگوریتم خودش رو به اثبات سهام تغییر داده به خاطر استفاده از شاردینگ یعنی شاردینگ فقط توی روش اثبات سهام قابل استفادست؟
شبکههای بلاک چینی که از الگوریتم اثبات سهام استفاده میکنند، میتوانند شاردینگ را در شبکه خود اجرا کنن
بسیار عالی بود . مرسی از زحماتتون