پارسیان کریپتو
خانهمقالاتارز دیجیتالشاردینگ چیست؟ بررسی مقیاس پذیری با sharding در بلاکچین
شاردینگ چیست؟ بررسی مقیاس پذیری با sharding در بلاکچین عکس

شاردینگ چیست؟ بررسی مقیاس پذیری با sharding در بلاکچین

April 2, 2023
79
0

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

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

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

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

تاریخچه شاردینگ (sharding)

تاریخچه شاردینگ (sharding)

شارد مفهوم تکه و قطعه کردن را می‌دهد. سال 1990 شاردینگ برای کنترل دیتابیس‌ ها مورد توجه قرار گرفتند. محبوبیت و پُرکاربرد بودن این واژه زمانی قوت گرفت که ارتقا دهندگان بازی اولتیما آنلاین (Ultima Online) از آن به منظور توزیع بازیکنان در سرور های متفاوت استفاده کردند. در آن زمان این کار به منظور مدیریت و کنترل بر داده‌ها و بازی انجام گرفت.

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

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

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

و مورد سوم باید از دور خارج شود. در حالی که بعد از ظهور شاردینگ ، اهمیت این شرایط قوت بیشتری یافت و این تصور برای همیشه از بین رفت. ویتالیک بوترین (Vitalik Buterin) که همان شخص ابداع کننده اتریوم است با اعتقاد به اهمیت شاردینگ در بلاکچین، این شرایط را گسترش داد.

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

بیشتر بخوانید: برای آشنایی با صرافی غیر متمرکز ارز دیجیتال ، مقاله صرافی غیرمتمرکز چیست ، را در پارسیان کریپتو مطالعه کنید !

نحوه انجام عملیات شاردینگ

شاردینگ (sharding) با استفاده از سیاست تکه کردن شبکه باعث افزایش مقیاس پذیری می‌شود. زمانی که مقیاس پذیری افزایش یابد تحمل شبکه و بلاکچین برای انجام تبادلات و تراکنش‌ ها نیز، بیشتر می‌شود. به بیان ساده‌تر ؛ وجود پارتیشن‌ ها و قطعه‌ های کوچک که با عنوان شارد (Shard) شناخته می‌شوند .

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

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

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

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

نحوه انجام عملیات شاردینگ در بلاکچین اتریوم

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

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

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

مزایای استفاده از قسمت بندی افقی در شاردینگ

مزایای استفاده از قسمت بندی افقی در شاردینگ

 

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

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

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

بیشتر بخوانید: برای آشنایی با سرمایه گذاری در ارز ها و پروژه های دیفای ، مقاله دیفای (DeFi) چیست ، را در پارسیان کریپتو مطالعه کنید !

شاردینگ (sharding) در چه شبکه‌ های بلاکچین استفاده می‌شود؟

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

sharding زیلیکا

ارز دیجیتال زیلیکا به عنوان اولین و مهمترین بلاکچین است که از موضوع شاردینگ (sharding) به طور کامل استقبال کرده است. این بلاکچین عمومی با اجرای این فناوری در شبکه آزمایشی خود توانست 2.400 تراکنش در ثانیه را به ثبت برساند. شبکه‌های زیلیکا به چند شارد مختلف دسته بندی می‌شوند که هر یک از آنها در شارد متعلق به خود اقدام به ماینِ بلاک‌های ریز می‌کنند. در آخر تمام این ریز بلاک‌ها (Micro-block) باعث ایجاد بلاک بزرگتر می‌شوند و ادامه بلاکچین زیلیکا افزوده خواهند شد.

رمز ارز نیِر

ارز دیجیتال نیِر (Near) ارتقا دهندگان را راضی می‌کند تا برنامه‌ های غیر متمرکز و توزیع شده را اجرا کنند. مکانیزم اجماع اثبات سهام در این ارز دیجیتال فعالیت دارد. یک قابلیت مهم در این ارز دیجیتال وجود دارد و آن هم این است که شبکه‌ ها آنقدر به قسمت‌ های ریزتری تقسیم بندی می‌شوند .

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

بیشتر بخوانید: برای آشنایی با بلاکچین اتریوم و رمز ارز ETH ، مقاله اتریوم چیست ، را در پارسیان کریپتو مطالعه کنید !

شاردینگ اتریوم

شاردینگ اتریوم

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

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

شاردینگ (Sharding) الروند

ارز دیجیتال الروند (Elrond) نیز، موضوع شاردینگ با دقت تمام مورد توجه قرار می‌گیرد. وجود فهرست انتظار در این بااکچین باعث می‌شود تا شبکه‌ها منتظر تکه شدن باشند. اگر یک اعتبار سنج در یک دوره مشخص شارد بندی شده است باید تا رسیدن دوره بعدی خود منتظر بماند.

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

معایب شاردینگ

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

ارتباطات بین شاردی

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

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

بیشتر بخوانید: برای آشنایی با تاثیر Metaverse بر صنعت گردشگری ، مقاله گردشگری متاورس چیست ، را در پارسیان کریپتو مطالعه کنید !

تصرف شارد

تصرف شارد

اگر اطلاعات کلی از حمله 51 درصد دارید می‌توانید تصرف شاردینگ را نیز، مانند آن تصور کنید. در این شرایط، یک گروه خاص و حتی افرادی می‌توانند کنترل شارد را تحت اختیار خود قرار دهند. این گروه‌ ها با در اختیار گرفتن کنترل شارد اقدام به انجام تبادلات مورد علاقه خود می‌کنند.

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

محدودیت‌ های موجود برای شاردینگ

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

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

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

راهکار و روش جایگزین برای شاردینگ

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

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

سوالات متداول 

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

2 – راهکار و روش جایگزین برای شاردینگ کدام است ؟

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