
شاردینگ یکی از راهکارهای مؤثر در بهبود مقیاسپذیری شبکههای بلاکچین ارزهای دیجیتال است. هرچه تعداد کاربران یک بلاکچین بالاتر برود، شبکه بلاکچین شلوغتر و کندتر خواهد شد که این موضوع نرخ تأخیر بلاکچین را به شدت بالا برده و هزینههای تراکنشها را نیز افزایش خواهد داد.
به همین دلیل نیز بایستی با استفاده از روشهای بهینهسازی بلاکچینها از جمله شاردینگ، که در اتریوم 2.0 نیز مورد استفاده قرار گرفته است، مقیاسپذیری این شبکههای غیرمتمرکز را بیشتر کرده و عملکرد آنها را بالاتر ببریم.
در این مقاله از سیتکس قصد داریم تا درباره تکنولوژی Sharding اطلاعات مفیدی را به شما بدهیم و روش کار آن در شبکههای بلاکچین ارزهای دیجیتال را نیز شرح دهیم.
با ما تا انتهای مقاله همراه باشید…
فهرست عناوین
شاردینگ (Sharding) چیست؟
شاردینگ، یا Sharding، یک تکنیک تقسیمبندی یا اصطلاحاً پارتیشنبندی در پایگاههای داده است که توسط پروژههای بلاکچینی برای بهبود مقیاسپذیری شبکههای بلاکچین مورد استفاده قرار میگیرد و به آنها این امکان را میدهد که تعداد تراکنشهای بیشتری را در هر ثانیه انجام دهند.
شاردینگ (Sharding) در لغت به معنای تکه تکه کردن است و پارتیشنهای بلاکچین که با استفاده از این روش تقسیمبندی شدهاند نیز شارد (Shard) یا تکه نام دارند.
در روش شاردینگ دیتابیس به سطوح مختلف افقی تقسیم شده که اصطلاحاً این روند را پارتیشنبندی مینامند و هرکدام از این سطوح همان شاردهای مستقل و مجزا را تشکیل میدهند.
کاربرد شاردینگ در بلاکچین چیست؟
یکی از بزرگترین معضلات موجود در بلاکچینها مقیاسپذیری و تأخیر در تأیید تراکنشهای این شبکههاست که باعث گرانتر شدن تراکنشها نیز میشود.
شاردینگ با تقسیم کردن بلاکچین به بخشهای کوچکتر، میتواند به بهبود تأخیرها یا کندیهای آن شبکه بلاکچین کمک کند. در روش شاردینگ هر نود مسئول رسیدگی به تراکنشهای بخش مشخصی از نودها خواهد بود و با این کار علاوه بر امنیت و تمرکززدایی بالا، سرعت پردازش شبکه نیز بالاتر خواهد رفت.
با این وجود در این تکنولوژی نیز نگرانیهایی از بابت امنیت شبکه وجود خواهد داشت چراکه شاردها هم میتوانند، مانند حمله 51درصد، مورد حمله هکرها قرار بگیرند (تصرف شارد).
روش کار شاردینگ (Sharding) چگونه است؟
تکنولوژی شاردینگ یک شبکه بلاکچین را به پارتیشنهای کوچکتری تقسیم میکند که به آنها شارد (shards) گفته میشود. هر شارد شامل اطلاعات مخصوص به خود است که این موضوع آن شارد را نسبت به سایر شاردها مستقل و متمایز میکند.
شاردینگ میتواند با استفاده از روش «پارتیشنبندی افقی» دیتابیس انجام شود که در آن پایگاه داده به سطرهای مختلف تقسیم میشود. در این روش سطرها همان شاردها یا تکهها هستند که بر اساس ویژگیها و خصوصیاتشان دستهبندی شدهاند.
برای مثال ممکن است یک تکه (Shard) مسئولیت ثبت و ذخیره وضعیت و تاریخچه تراکنشهای مرتبط با آدرسهای خاص و مشخصی باشد؛ همچنین این امکان وجود دارد که شاردها را بر اساس نوع دارایی دیجیتالی که در آنها ذخیره میشود دستهبندی کرد. انجام گرفتن تراکنشهایی که شامل این داراییهای دیجیتال باشند، از طریق مجموعهای از شاردها ممکن میشود.
مزایای استفاده از شاردینگ
تا قبل از مطرح شدن تکنولوژی شاردینگ تصور نمیشد که بتوان هرسه ویژگی مهم بلاکچینها یعنی امنیت، مقیاسپذیری و تمرکززدایی را در سطح مطلوب و بالایی حفظ کرد و مجبور بودیم تا آنها را در سطح توازن نگهداشته یا یکی از آنها را فدای بهبود دو ویژگی دیگر کنیم.
اما با ورود شاردینگ به بلاکچینها و ارزهای دیجیتال مزایای این تکنولوژی نیز نمود بیشتری پیدا کرد. در ادامه مزایا و معایب استفاده از شاردینگ برای بهبود کارایی شبکههای بلاکچین را مشاهده میکنید.
- افزایش تعداد ترکنشهای قابل انجام در شبکه
- افزایش تمرکززدایی با عدم ذخیره کل تاریخچه تراکنشها در همه نودها
- امنیت بالاتر نسبت به مولتیچینها
معایب شاردینگ از شاردینگ
- احتمال بروز حمله و Shard takeover (تصرف شاردها) توسط هکرها
- نحوه ارتباط بین شاردها در مواقع لزوم
- محدودیتهای برخی از شبکههای بلاکچینی در اجرای درست شاردینگ
کدام ارزهای دیجیتال از شاردینگ استفاده میکنند؟
ارزهای دیجیتال نیز در شبکه بلاکچین خود با مقیاسپذیری دست و پنجه نرم میکنند و تا به امروز ارزهای دیجیتال مختلفی از شاردینگ برای بهبود این مشکل خود استفاده کردهاند.
شاردینگ با نسخه اتریوم ۲
شاردینگ در ارزهای دیجیتال بسیار کاربرد دارد و معروفترین ارز دیجیتالی که از شاردینگ استفاده میکند اتریوم 2.0 است که هنوز توسعه آن به اتمام نرسیده است و به زودی (2022) از آن رونمایی میشود، اما ارزهای دیجیتال دیگری نیز وجود دارند که از شاردینک استفاده کردهاند؛ از جمله ارز دیجیتال زیلیکا (Zilika)، نییِر (NEAR)، پولکادات (Polkadot) و الروند (Elrond).
شاردینگ در ارزهای دیجیتال
- شاردینگ در شبکه زیلیکا اولین استفاده از شاردینگ در بلاکچینهای عمومی بود و در آن هر نود اعتباردهنده بلاکهای کوچکی به نام میکروبلاک (micro-block) را تولید میکنند که ترکیب آنها یک بلاک کامل را تشکیل داده و به زنجیره اصلی اضافه میکند.
- شاردینگ در شبکه الروند به این صورت است که اعتباردهندکان برای اینکه به شاردها دسترسی داشته باشند در صف قرار گرفته و در پایان دورههای مشخص شاردها به طور رندوم به اعتبار دهندگان اختصاص داده میشوند.
- شاردینگ در پروتکل NEARبه این شکل است که در هر دوره زمانی Epoch که در حدود 12 ساعت است، شاردها به اعتباردهندگان جدید و متفاوتی اختصاص داده میشوند و با افزایش تعداد نودها شاردها هم افزایش میابند.
- شاردینگ در شبکه پولکادات به روش ناهمگن انجام شده است و روش پیادهسازی آن منحصر به فرد و مختص به شبکه آن است که آن را تبدیل به یک شبکه چند زنجیرهای مبتنی بر پاراچین کرده است و در آینده با استفاده از زنجیرههای رله بسیار کارآمدتر هم خواهد شد.
ارز دیجیتال اتریوم (ETH) چیست و چگونه کار می کند؟
تفاوت مقیاسبندی افق و عمودی در چیست؟
پارتیشنبندی افقی و مقیاسبندی عمودی دو راه حل متداول لایه دوم برای حل مشکل مقیاسپذیری (scalability) ارزهای دیجیتال و شبکههای بلاکچین هستند. در این راهکارها بدون دستکاری زنجیره اصلی، تغییراتی در خارج از زنجیره اصلی بلاکچین اعمال میشود تا توان محاسباتی و پردازشی شبکه را بالاتر برده و از حجم عملیات سربار در آن بکاهند.
در مقیاسبندی عمودی توان پردازشی و محاسباتی و حافظه شبکه با ارتقاء ماشین مجازی آن انجام میگیرد. مقیاسبندی عمودی نسبت به پارتیشنبندی افقی (شاردینگ) روشی محدودتر بوده و کارآمدی کمتری نیز دارد.
در مقابل پارتیشنبندی افقی روشی دائمی بوده که با افزایش تعداد نودهای شبکه به طور متناوب شاردهای جدیدی را به شبکه اضافه میکند و برخلاف مقیاسبندی عمودی در زمان پر شدن حافظه واحد پردازنده اصلی شبکه و دیتابیس نیاز به تکرار و ارتقاء مجدد ندارد.
بررسی 4 تفاوت مهم در بلاکچین و بیت کوین
مقایسه شاردینگ و سایر راهکارهای مقیاسپذیری
استفاده از Sharding در بلاکچینها برای برطرف کردن مشکلات مقیاسپذیری این شبکهها بسیار مورد توجه توسعهدهندگان قرار گرفته است. با این حال روشهای دیگری نیز برای حل این معضل وجود دارد. یکی از راهکارهای جایگزین برای روند شاردینگ، افزایش حجم بلاکهای زنجیره بلکچین است که با این کار سرعت تأیید تراکنشها تا حد زیادی افزایش پیدا خواهد کرد.
جمعبندی
دفتر کل توزیعشده در شبکههای بلاکچینی بسیار جالب توجه است چراکه به تراکنشها این امکان را میدهد که دائماً بین نقاط مختلف جهان به اشتراک گذاشته شوند. همچنان که این تراکنشها در بلاکچین تأیید و ثبت میشوند، کپیهایی از آن به نودهای شبکه ارسال شده که جامعهای از شاهدان عمومی را برای آن رقم میزند.
با این حال یکی از چالشهای بزرگی که در سر راه فناوری بلاکچین قرار دارد این است که تعداد سیستمهای کامپیوتری متصل به شبکههای بلاکچین و ترکنشهای انجام گرفته در آنها در حال افزایش است که میتوانند شبکه را بسیار کند کنند.
تأخیر در شبکههای بلاکچین جهانی میتواند یک مانع بزرگ باشد، بخصوص که این شبکهها با سیستمهای پرداخت الکترونیک فعلی که علیرغم متمرکز بودن بسیار سریع و کارآمد هستند، مقایسه میشوند.
یکی از راهکارهایی که برای ایجاد مقیاسپذیری بدون تأخیر در بلاکچینها مورد استفاده قرا میگیرد، پروسه شاردینگ است. شاردینگ طراحی شده است تا حجم کاری یک شبکه را بین قسمتهای مختلف تقسیم کند و سرعت پردازش تراکنشها را توسط آن افزایش دهد.
در این مقاله درباره فناوری Sharding و نحوه کار آن صحبت کردیم و امیدواریم که این مطالب مورد استفاده شما قرار گرفته باشد.