شاردینگ چه کمکی به پلتفرم های بلاکچینی می کند؟

یکی از مشکلات و ضعف های موجود در پروژه های بلاکچینی مانند بیت کوین مقوله مقیاس پذیری یا Scalability است. مقیاس پذیری به معنای توان پاسخگویی شبکه در زمان وجود تقاضای زیاد است یا به بیانی دیگر پاسخ به این سوال که “شبکه مورد تحلیل تا چه میزان می تواند بزرگ شده و کماکان با استاندارد قابل قبول به سرویس دهی بپردازد؟”.

شبکه بیت کوین با توجه به استفاده از پروتکل اثبات کار و نیاز به متوسط زمان ۱۰ دقیقه ای برای تولید بلوک های جدید اطلاعات، در هر ثانیه در بهترین حالت قادر خواهد بود به ۷ تراکنش رسیدگی کند البته نتیجه این پردازش ها در هر ۱۰ دقیقه در سیستم ثبت خواهد شد و این در حالی است که سیستم های مالی قدیمی ماند Visa که بر مبنای بلاکچین نیستند و بیت کوین برای جایگزینی آنها بوجود آمده است تا ۱۷۰۰ تراکنش بر ثانیه را به انجام می رساند.

TPS - شاردینگ چه کمکی به پلتفرم های بلاکچینی می کند؟

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

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

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

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

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

DB Sharding - شاردینگ چه کمکی به پلتفرم های بلاکچینی می کند؟

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

در نگاهی دیگر می توان بلاکچین با قابلیت شاردینگ را بلاکچینی شامل چند بلاکچین دیگر نامید که کاربران در هر شارد قادر به تبادل ارتباط با کاربرانی خواهند بود که از همان شارد در حال استفاده باشند.

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

اجرای این ایده چالش هایی را نیز به همراه خواهد داشت که از آنها می توان به نحوه پیاده سازی Search در هر شارد یا نحوه انتقال اطلاعات میان شاردهای مختلف که به نوعی مانند بلاکچین های مختلف عمل خواهند اشاره نمود، به همین دلیل اجرای آن نیاز به تحقیقات و آزمون و خطاهای بسیاری دارد که شرکت ها و موجودیت های مختلفی مبادرت به انجام آن ورزیده اند.

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

در این شیوه نود های درون شبکه اتریوم به دسته های مختلف تقسیم شده و تنها اطلاعات مربوط به شاردی که در آن قرار دارند را نگهداری خواهند کرد.

eth Sharding - شاردینگ چه کمکی به پلتفرم های بلاکچینی می کند؟

در سیستم شبکه ای بیت کوین یک هکر برای کنترل سیستم باید به پردازشی معادل ۵۱% توان پردازشی شبکه دست پیدا کند که با وجود تعداد بسیار زیاد ماینر ها امری بسیار دشوار است اما در این شیوه با توجه به کم شدن تعداد نود ها در هر شارد در زمان اجرا با مشکل امنیتی جدیدی مواجه خواهیم شد و خطر تحت کنترل گرفتن یک شارد توسط هکر بیش از پیش و محتمل تر خواهد بود. به جهت سخت تر کردن این حمله برای هکر ها شبکه اتریوم در فاصله های زمانی تصادفی اقدام به تغییر شارد هر نود خواهد کرد و به این صورت تشخیص شارد نود تحت کنترل هکر برای وی سخت تر خواهد شد.

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

مجتبی عنایتی