شاردینگ چیست؟ شاردینگ بلاکچین یکی از روشهای بهبود مقیاس پذیری و عملکرد شبکههای بلاکچین است. در این مقاله از بینوست شاردینگ را بررسی میکنیم. با ما همراه باشید.
اگر به دنبال اطلاعاتی در مورد مقیاس پذیری هستید، مقاله مقیاس پذیری چیست را مطالعه کنید.
خلاصه مقاله
- شاردینگ روشی برای افزایش مقیاسپذیری شبکههای بلاکچین است که در آن بلاکچین به چندین بخش کوچکتر یا شارد، تقسیم میشود.
- هر شارد مستقل عمل میکند و دادههای خاص خود را دارد.
- شاردینگ به کاهش تأخیر و افزایش تعداد تراکنشهایی که شبکه میتواند مدیریت کند کمک میکند، که نتیجه آن بهبود کلی عملکرد شبکه است.
شاردینگ چیست؟
شاردینگ (Sharding) به عنوان راه حلی برای مقیاسپذیری به این معنی است که شبکه بلاکچین به چندین شبکه کوچکتر یا شارد تقسیمبندی میشود تا بتواند تراکنشهای بیشتری را مدیریت کند. هر شارد دادههای مخصوص به خود را دارد که آن را از شاردهای دیگر مجزا و مستقل میکند.
با افزایش محبوبیت بلاکچین، حجم کاری و حجم تراکنشهای شبکه افزایش میابند. هر چه کاربران بیشتری از شبکه بلاکچین استفاده کنند، این شبکه کندتر عمل کرده و گاهی باعث تأخیر در عملکرد قابل توجهی میشود. اگر بلاکچین را پایگاه دادهای توزیع شده بین کاربران در نظر بگیریم، در این پایگاه داده مدام دادههای بیشتر و بیشتری اضافه میشوند و شبکه باید راه حلی پیدا کند که تمام این دادهها را سریع و به صورتی کارآمد پردازش کند.
شاردینگ میتواند تأخیر یا کندی شبکه را کاهش دهد، زیرا شبکه بلاکچین را به قطعات مجزا تقسیم میکند. هر کدام از شاردها میتوانند براساس معیارهای مختلف تعیین شوند مانند موقعیت جغرافیایی، حسابها یا اینکه به صورت تصادفی تعیین شده باشند.
بیشتر بخوانید: بلاکچین چیست
بلاکچین چگونه عمل میکند؟
دفتر کل توزیع شده بلاکچین این امکان را فراهم میکند که تراکنشها بین چندین سایت و جغرافیا به اشتراک گذاشته شوند. بعد از اینکه تراکنشها ثبت شدند، کپی آنها ظرف چند ثانیه به شبکه توزیع شده فرستاده میشود و در معرض عموم قرار میگیرند. اگر بخشی از شبکه مورد حمله مشکوک یا کلاهبرداری قرار بگیرد، تمام افرادی که در شبکهی به اشتراکگذاری شده حضور دارند؛ میتوانند بخش تغییریافته توسط متقلبین را تشخیص دهند. این امر به این دلیل است که همه آنها یک کپی از تراکنشهای دفتر کل را دارند.
در نتیجه فناوری بلاکچین و دفتر کل توزیع شده آن کلاهبرداری را تشخیص و آسیبهای حملات سایبری مانند هک کردن را کاهش میدهند.
مسئله مقیاسپذیری
یکی از چالشهای عمده فناوری بلاکچین این است که کامپیوترهای زیادی به شبکه اضافه شده و تراکنشهای بیشتری پردازش میشوند. در نتیجه به بار شبکه اضافه شده و روند انجام تراکنشها کند میشود. این تأخیر ممکن است که مانع پذیرش گسترده بلاکچین شود، چون سیستمهای پرداخت الکترونیکی کنونی سریع و کارآمد کار میکنند. بنابراین چالش اصلی بلاکچین، مقیاس پذیری است؛ چون شبکه با افزایش دادهها و جریان تراکنشها و پذیرش این فناوری در صنایع بیشتر کندتر عمل خواهد کرد.
شاردینگ که راه حل مقیاس پذیری است، حجم کاری شبکه را بین پارتیشنها تقسیم کرده و لتنسی یا تأخیر را کاهش داده و امکان پردازش تراکنشهای بیشتر در بلاکچین را فراهم میکند.
شاردینگ چگونه انجام میشود؟
بعد از موضوع شاردینگ چیست، نحوه انجام آن را توضیح میدهیم. پیش از توضیح مهم است که بدانید دادهها چگونه در بلاکچین ذخیره و پردازش میشوند.
نودها یا گرههای بلاکچین
در بلاکچین، هر نود شبکه باید تمام حجم تراکنشهای داخل شبکه را پردازش کند. نودها یا گرههای بلاکچین مستقل و مسئول حفظ و ذخیره همه دادهها درون شبکهای غیرمتمرکز هستند. به بیان دیگر هر نود باید اطلاعاتی مهم را همچون تراز حسابها و تاریخچه تراکنشها را ذخیره کند.
اگرچه با ذخیره هر تراکنش در همه نودها، امنیت بلاکچین تضمین میشود؛ این روش پردازش تراکنشها را به طرز قابل توجهی کند میکند. سرعت پایین پردازش تراکنشها در زمانی که بلاکچین مسئول میلیونها تراکنش است، آینده درخشانی را برای آن به همراه نخواهد داشت. اما در روند شاردینگ لازم نیست همه نودها تمام بار یا حجم شبکه را مدیریت و پردازش کنند. شاردینگ حجم کار را بین پارتیشنها یا قسمتها (شاردها) تقسیم میکند.
پارتیشنبندی یا طبقهبندی افقی
در این روش دادهها بین چندین سرور یا نود براساس شاخص خاصی تقسیم میشوند. به عنوان نمونه یک شارد ممکن است وظیفه ذخیره حالت و تاریخچه تراکنش آدرس خاصی را داشته باشد. همچنین میتوان شاردها را براساس نوع دارایی دیجیتالی که در آنها ذخیره میشود، تقسیم کرد.
برای درک بهتر این موضوع کتابخانهای با کلکسیون عظیمی از کتابها را تصور کنید. به جای اینکه همه کتابها را در یک قفسه بگذارند، تصمیم میگیرند کتابها را به صورت افقی قسمتبندی کنند. آنها کتابها را براساس ژانرهایشان مانند داستان، غیرداستانی، علمی تخیلی و غیره گروهبندی میکنند. سپس هر ژانر در یک قفسه یا بخش جداگانهای از قفسه یا قفسهها قرار میگیرد.
در پایگاه داده نیز به جای ذخیره همه دادهها در یک لوکیشن یا مکان، بین چندین سرور یا نود ذخیره میشوند. هر سرور مجموعهای از دادهها را براساس معیار خاصی نگهداری میکند. به عنوان نمونه اگر پایگاه داده مربوط به اطلاعات مشتریان باشد، میتوانیم آن را به صورت افقی براساس ناحیه جغرافیایی مشتریان پارتیشن بندی کنیم. هر پارتیشن ممکن است دادههای مشتریان از ناحیه خاصی را شامل شود.
کوئریها و عملیات را میتوان به صورت موازی در پارتیشنهای مختلف اجرا کرد که امکان بازیابی و پردازش سریعتر دادهها را فراهم میکند. به طور خلاصه پارتیشنبندی یا تقسیم افقی مانند سازماندهی کتابهای یک کتابخانه در بخشهای جداگانه براساس ژانر است. دادهها نیز به همین صورت براساس یک معیار در چندین سرور یا گره توزیع میشوند که به بهبود عملکرد و مقیاسپذیری منجر میشود.
به اشتراکگذاری شارد
هر شارد را میتوان بین شاردهای دیگر تقسیم کرد و اینگونه ویژگی اصلی فناوری بلاکچین یعنی دفتر کل غیرمتمرکز حفظ میشود. این بدان معناست که دفتر کل هنوز برای همه کاربران دسترسپذیر است و همه میتوانند تراکنشهای دفتر کل را مشاهده کنند.
شاردینگ و امنیت
اگرچه هر شارد مجزاست و تنها دادههای مربوط به خودش را پردازش میکند، یکی از دغدغههای امنیتی کار نکردن شاردها و از دست رفتن اطلاعات یا دادههاست.همچنین اشاره به این نکته ضروری است که شاردینگ بلاکچین هنوز در مراحل اولیه آزمایشی است و هنوز مسائل احتمالی و چالشهای آن به بررسی بیشتری نیاز دارند.
اگر هر شارد را به عنوان شبکهٔ بلاکچینی خودش در نظر بگیریم یک هکر ممکن است یک شارد را در دست بگیرد و تراکنشهای غلط یا برنامه مشکوکی را در آن وارد کند. اتریوم یکی از برجستهترین بلاکچین هایی است که از شاردینگ برای حل مقیاس پذیری استفاده کرده است. اتریوم با احتمال حمله به شارد از طریق اختصاص دادن تصادفی نودها به شاردی مشخص و تخصیص مجدد آنها در فواصل زمانی تصادفی مقابله کرده است. این نمونه گیری تصادفی کار هکرها را سخت میکند که تشخیص دهند در چه زمان یا محلی شارد را از کار بیندازند.
مزایای شاردینگ
در ادامه، به چهار مزیت شاردینگ اشاره شده است.
مقیاس پذیری
شاردینگ به طور قابل توجهی مقیاس پذیری بلاکچین را با تقسیم شبکه به قطعات کوچکتر افزایش میدهد. در نتیجه چندین تراکنش و قرارداد هوشمند به طور همزمان در بین قطعات مختلف پردازش شده و توان عملیاتی کلی سیستم افزایش میابد.
افزایش سرعت تراکنش
با استفاده از اشتراکگذاری، شبکه میتواند تراکنشها را به صورت موازی در قسمتهای مختلف پردازش کند. در نتیجه سرعت تراکنش را میتوان در مقایسه با معماری سنتی بلاکچین که در آن همه نودها نیاز به اعتبارسنجی هر تراکنش دارند، بسیار بهبود بخشید.
هزینههای پایینتر تراکنش
با فعال کردن پردازش موازی، شاردینگ تراکم و ازدحام را کاهش داده و باعث میشود که تراکنشهای بیشتری به صورت همزمان اجرا شوند. این امر میتواند به کاهش کارمزد تراکنش منجر شود، زیرا رقابت کمتری برای فضای بلوک و افزایش ظرفیت کلی شبکه وجود دارد.
استفاده بهتر از منابع
شاردینگ امکان استفاده مؤثر از منابع شبکه را فراهم میکند. هر شارد مجموعه ولیدیتورها یا اعتبارسنجها و نودهای مخصوص به خود را دارد که مسئول پردازش تراکنشهای درون آن شارد هستند، بار روی گرهها را کاهش داده و تخصیص منابع را بهینه میکنند.
معایب شاردینگ
شاردینگ با وجود مزایای زیادی که دارد، بی عیب و نقص نیست. 4 مورد از این معایب را با هم بخوانیم.
پیچیدگی
شاردینگ پیچیدگی بیشتری را به معماری بلاکچین وارد میکند. برای اطمینان از امنیت و یکپارچگی سیستم نیاز به طراحی و اجرای دقیق دارد. هماهنگی تراکنشها و حفظ اجماع بین شاردهای مختلف میتواند چالش برانگیز باشد.
همگامسازی شارد
در یک بلاکچین شارد شده یا خرد شده، شاردهای مختلف ممکن است سطوح مختلفی از فعالیت یا مشارکت را داشته باشند. همگامسازی حالت و اطمینان از سازگاری در همه شاردها میتواند یک کار پیچیده باشد. بلاکچین برای مدیریت همگامسازی شاردها و حفظ یکپارچگی کلی خود به پروتکلهای قوی نیاز دارد.
پتانسیل متمرکز شدن
شاردینگ ممکن است امکان تمرکز را فراهم کند، به ویژه اگر شاردهای خاصی نسبت به سایرین غالبتر شوند یا به طور گسترده مورد استفاده قرار گیرند. اگر تعداد کمی از نودهای قدرتمند، بخش قابل توجهی از شاردها را کنترل کنند، این مسئله میتواند ماهیت غیرمتمرکز بلاکچین را تضعیف کند.
ارتباطات بین شاردها
در سیستمهای شارد، ارتباط بین شاردها به دلایل مختلفی مانند تراکنشهای بین شاردها یا دسترسی به دادههای شاردهای دیگر ضروری است. ارتباطات کارآمد بین شاردهای مختلف برای عملکرد صحیح بلاکچین ضروری است. با این حال مدیریت و اطمینان از ارتباط امن بین شاردها میتواند چالش برانگیز باشد و تأخیر ایجاد کند.
توجه به این نکته ضروری است که مزایا و معایب شاردینگ میتوانند بسته به انتخاب نوع طراحی و پیادهسازی شبکه بلاکچین متفاوت باشند. علاوه بر این تحقیقات و توسعه بلاکچینها بر این چالشها و بهبود کارایی و مؤثر بودن شاردینگ متمرکز هستند.
سخن پایانی
در این مقاله به سؤال شاردینگ چیست با زبانی ساده پاسخ دادیم. در صورتی که سوالی در این زمینه دارید، لطفاً آن را در بخش نظرات مطرح کرده تا پاسخگوی شما عزیزان باشیم.