فهرست مطالب
- شاردینگ چیست؟
- تاریخچه تشکیل مفهوم Sharding
- مفهوم شاردینگ در ارزهای دیجیتال
- شاردینگ چگونه کار میکند و چه کاربردی در بلاکچین دارد؟
- گرههای بلاکچین
- قسمت بندی افقی
- متراکم سازی دادهها
- مقیاس پذیری
- مزایا و معایب استفاده از شاردینگ
- کدام ارزهای دیجیتال از شاردینگ استفاده می کنند؟
اتریوم از نظر زمان و هزینهای که برای انجام یک تراکنش نیاز دارد، با مشکلات مقیاسپذیری روبهرو است. فقدان مقیاسپذیری در بلاکچینها یک موضوع همیشگی است. به همین دلیل، جامعه توسعهدهندگان در حال توسعه یک ارتقاء چند مرحلهای برای بهبود مقیاسپذیری و ظرفیت بلاکچین به نام Sharding هستند. شاردینگ روشی برای قسمت بندی پایگاه داده است که توسط سازمانهای بلاکچین برای افزایش مقیاسپذیری استفاده میشود و تمام شبکه را به چندین شبکه کوچکتر تقسیم میکند که “شارد” نامیده میشود. از آنجا که هر قسمت حاوی دادههایی مخصوص و منحصر به فرد است، یک قطعه یکپارچه و مستقل از سایر قطعات برجسته شده و مورد توجه قرار میگیرد. در ادامه این مطلب از صرافی تتر قصد داریم تا به توضیح بیشتر شاردینگ و مسائل پیرامون آن بپردازیم.
شاردینگ چیست؟
شاردینگ (Sharding)، یک تکنیک قسمتبندی است که برای توزیع بار محاسباتی و ذخیره سازی در یک شبکه همتا به همتا (P2P) استفاده میشود، به طوری که هر گره وظیفه مدیریت بار تراکنشی برای کل شبکه را بر عهده ندارد. در عوض، هر گره تنها دادههای مربوط به تقسیم یا قطعات تقسیم خود را نگهداری میکند. کلمه شارد (Shard) معنای قطعه یا تکه میدهد و Sharding نیز به معنای قطعه قطعه یا تکه تکه کردن چیزی است. به عبارت بهتر میتوان گفت Sharding به معنای قسمت کردن یک پردازش بزرگ به پردازشهایی با ابعاد کوچکتر است. اطلاعات هر قطعه ممکن است همچنان در اطراف گرههای دیگر به اشتراک گذاشته شود و دفتر کل را ایمن و غیرمتمرکز نگه دارد چرا که هر گره میتواند ورودی هر دفتر را مشاهده و بررسی کند. شاردینگ در حوزه پروژههای بلاکچین، به معنای خرد کردن جداول دادههای عظیم به تکه های قابل مدیریتتر است که به آنها تکه یا قطعه گفته میشود. هر قطعه دادههای خاص خود را دارد که آن را از سایر قطعات متمایز کرده و منحصر به فرد میکند. Sharding این پتانسیل را دارد که کاهش تأخیر را ممکن و از دادههای اضافی جلوگیری کند. بهترین مثال برای توضیح درست اشتراکگذاری، شبکه اتریوم است. Sharding یک تکنیک قسمت بندی پایگاه داده است که توسط شرکتهای بلاکچینی با هدف مقیاسپذیری استفاده میشود و آنها را قادر میسازد تا تراکنشهای بیشتری را در هر ثانیه پردازش کنند. شاردینگ کل شبکه یک شرکت بلاکچین را به قسمتهای کوچکتری تقسیم میکند که هر قسمت از دادههای خاص خود تشکیل شده است. فرآیند شاردینگ میتواند از تاخیر یا کندی شبکه جلوگیری کند چرا که شبکه بلاکچینی را به قسمتهای جداگانهای تقسیم میکند. با این حال، برخی نگرانیهای امنیتی در مورد شاردینگ وجود دارد که میتواند موجب حمله قطعات شود.
تاریخچه تشکیل مفهوم Sharding
از اواخر دهه ۹۰ میلادی، شاردینگ در مواردی همچون مدیریت پایگاههای داده به کار برده میشد و میتوان نتیجه گرفت که یک مفهوم جدید نیست. اصطلاح شاردینگ زمانی رواج پیدا کرد که توسعهدهندگان یکی از اولین بازیهای آنلاین با نام (Ultima Online) برای مدیریت ترافیک ورودی تصمیم گرفتند بازیکنان را در سرورهای مختلفی پخش کنند. یک مثال رایج از شاردینگ را میتوان تقسیم بندی پایگاه داده مشتریان مطابق با مناطق جغرافیایی در حوزه کسبوکار عنوان کرد. کاربران حاضر در مناطق جغرافیایی مشابه، بعد از گروه بندی شدن با هم، در سرورهای منحصربهفردی قرار میگیرند.
مفهوم شاردینگ در ارزهای دیجیتال
شبکههای بلاکچین و ارزهای دیجیتال مربوط به آنها به دلیل کاربرد گسترده این فناوری که شامل مدیریت زنجیره تامین و تراکنشهای مالی است، محبوبیت بیشتری پیدا میکنند. با افزایش محبوبیت بلاکچین، حجم کار و حجم معاملاتی که توسط شبکه مدیریت میشود نیز افزایش مییابد. اگر بلاکچین را بهعنوان یک پایگاه داده مشترک در نظر بگیریم، با افزودن دادههای بیشتر، شبکه باید راههای جدیدی را بیابد تا بتواند همه آن دادهها را به طور موثر و سریع پردازش کند که در اینجا فرآیند شاردینگ میتواند کمککننده باشد. دفتر کل توزیع شده فناوری بلاکچین آن را جذاب می کند زیرا اجازه میدهد تراکنش ها به طور توافقی در چندین سایت و جغرافیا به اشتراک گذاشته شوند. همانطور که تراکنشها ثبت میشوند، کپیها نیز در عرض چند ثانیه به شبکه مشترک ارسال شده و به صورت عمومی به نمایش گذاشته میشوند. اگر بخشی از شبکه مورد حمله مخرب قرار گیرد، شرکتکنندگان شبکه مشترک میتوانند آنچه را که کلاهبرداران تغییر دادهاند شناسایی کنند زیرا همگی یک نسخه از تراکنشهای دفتر کل را نگهداری میکنند. در نتیجه، فناوری بلاکچین و سیستم دفتر کل توزیع شده آن میتواند به کاهش کلاهبرداری و محدود کردن آسیبهای ناشی از حملات سایبری، مانند هک شدن کمک کند. با این حال، یکی از چالشهای اصلی فناوری بلاکچین این است که با اضافه شدن رایانههای اضافی به شبکه و پردازش تراکنشهای بیشتر، شبکه دچار گرفتگی میشود و این روند را کند میکند که به آن تأخیر میگویند، تأخیر یک مانع بلاکچین برای استفاده گسترده است. به عبارت دیگر، مقیاسپذیری یک چالش برای بلاکچین است، زیرا ممکن است شبکهها نتوانند حجم فزاینده داده و جریان تراکنش را مدیریت کنند، زیرا صنایع بیشتری از این فناوری استفاده میکنند. یکی از راه حلهایی که برای ایجاد مقیاس پذیری بدون تأخیر در نظر گرفته میشود، فرآیند شاردینگ است. شاردینگ برای پخش بار کاری شبکه به قسمتهایی طراحی شده است که ممکن است به کاهش تأخیر کمک کند و امکان پردازش تراکنشهای بیشتری توسط بلاکچین را فراهم کند.
شاردینگ چگونه کار میکند و چه کاربردی در بلاکچین دارد؟
Sharding توزیع ایمن نیازهای ذخیرهسازی داده را تسهیل میکند که به نوبه خود جمعبندی را مقرون به صرفهتر میکند و عملکرد گرهها را سادهتر میکند. آنها این امکان را برای راه حلهای لایه 2 فراهم میکنند تا از امنیت ارائه شده توسط اتریوم استفاده کنند و در عین حال کارمزد تراکنشهای کمتری را حفظ کنند. بیش از سه هزار برنامه غیرمتمرکز (dApps) اکنون در بلاکچین اتریوم فعال هستند، که به شدت نیاز به مقیاس پذیری از طریق شاردینگ دارند. Sharding میتواند به تقسیم شبکه به ماژولها یا قسمتهای کوچکتر کمک کند که هر کدام میتوانند TPS شبکه را تا حد زیادی افزایش دهند. حتی اگر به نظر میرسد که فرآیند به اشتراکگذاری ساده باشد، چندین مؤلفه و ویژگی اساسی درگیر است. این مولفهها عبارتند از:
گرههای بلاکچین
هر گره در یک شبکه بلاکچین مسئول پردازش یا مدیریت کل حجم تراکنشهایی است که در داخل شبکه رخ میدهد. گرههایی که یک بلاکچین را تشکیل میدهند، نهادهای کاملاً مستقلی هستند که وظیفه حفظ و ذخیره تمام دادههایی که توسط یک شبکه غیرمتمرکز تولید میشود را بر عهده دارند. به بیان دیگر، هر گره مسئول ذخیره دادههای مهم مانند مانده حسابها و سابقه تراکنشهای قبلی است. هر گره در یک شبکه بلاکچین برای مدیریت تمام فعالیتها، دادهها و تراکنشهایی که در شبکه انجام میشود، لازم است. این الزام در زمان طراحی شبکهها ایجاد شد. پردازش تراکنش به طور قابل توجهی با این رویکرد کند میشود. با این حال، امنیت یک بلاکچین حفظ میشود زیرا هر تراکنش در هر گره ذخیره میشود. بار تراکنش یک شبکه بلاکچین ممکن است از طریق شاردینگ تقسیم یا پخش شود که می تواند مفید باشد زیرا به این معنی است که هر گره در شبکه نیازی به مدیریت یا پردازش کل بار کاری بلاکچین را ندارد. حجم کار به بخشها یا قسمتهایی تقسیم میشود تا بتوان با استفاده از شاردینگ به طور موثرتری آن را مدیریت کرد. به عبارت دیگر، شاردینگ میتواند کمک کند بار کاری تراکنش در یک شبکه بلاکچین قسمتبندی یا پخش شود، به طوری که هر گره نیازی به مدیریت یا پردازش تمام بار کاری بلاکچین نداشته باشد.
قسمت بندی افقی
قسمت بندی افقی پایگاههای داده ممکن است برای انجام شاردینگ استفاده شود و این را میتوان با تقسیم ردیفها به بخشها انجام داد، ردیفهایی که به آنها تکه یا قطعه گفته میشود. به عنوان مثال، یک قطعه میتواند وظیفه ذخیره تاریخچه تراکنشها و وضعیت فعلی یک دسته خاص از آدرس را داشته باشد. علاوه بر این، احتمالاً تکهها را میتوان بر اساس نوع دارایی دیجیتالی که در هر یک از آنها نگهداری میشود تقسیم کرد. این امکان وجود دارد که استفاده از ترکیبی از تکهها امکان انجام تراکنشهای مربوط به آن دارایی دیجیتال را فراهم کند. شبکههای Blockchain فقط قادر به پردازش تعداد محدودی از معاملات به طور همزمان هستند زیرا همه گرهها پیش از پردازش باید اجماع در مورد مشروعیت یک معامله را ایجاد کنند. هر گره در بلاکچین به طور معمول کل تاریخ بلاکچین را حفظ میکند و هر معامله را پردازش میکند. به همین دلیل است که شبکههای بلاکچین مانند اتریوم و بیتکوین ممکن است “غیرمتمرکز” توصیف شوند.
متراکم سازی دادهها
از آنجایی که هر گره کامل دارای یک کپی از تاریخچه شبکه است، برای کاربران دشوار است که کنترل شبکه را در دست بگیرند و به طور بالقوه تراکنشها را لغو یا تغییر دهند. با اینحال، حفظ تمرکززدایی و امنیت بلاکچین به قیمت مقیاسپذیری این فناوری تمام میشود. بلاکچینهای خرد شده، گرهها را قادر میسازد تا از دانلود کل تاریخچه بلاکچین یا اعتبارسنجی هر تراکنشی که از شبکه عبور میکند اجتناب کنند. این کار عملکرد شبکه را بهبود میبخشد و این امکان را برای بلاکچین فراهم میکند تا بتواند تعداد بیشتری از کاربران را مدیریت کند.
مقیاس پذیری
مهمترین مزیت استفاده از شاردینگ در بلاکچین، افزایش مقیاس پذیری آن است. یک بلاکچین میتواند گرههای اضافی را به هم متصل کرده و اطلاعات بیشتری را از طریق استفاده از اشتراکگذاری ذخیره کند. همه اینها بدون کاهش قابل توجه زمان تراکنشها انجام میشود. این موضوع پتانسیل تسریع اجرای فناوری بلاکچین در صنایع مختلف را دارد.
افزایش مشارکت شبکه و بهبود دسترسی به کاربران دو عملکرد دیگر است که ممکن است از شاردینگ حاصل شود. پیشبینی میشود که شاردینگ اتریوم میزان سختافزار مورد نیاز برای اجرای یک کاربر را کاهش داده و انجام این کار را در دستگاههای مصرفکننده مانند رایانههای شخصی یا حتی تلفن همراه را امکانپذیر کند. در نتیجه افراد بیشتری فرصت شرکت در شبکه را خواهند داشت.
مزایا و معایب استفاده از شاردینگ
استفاده از شاردینگ در ارزهای دیجیتال دارای مزایا و معایبی است. اگرچه این شیوه میتواند یک راه عالی برای مقیاسپذیری برخی از شبکهها باشد، اما هنوز جنبههای ناشناختهای در مورد آن وجود دارد و بیشتر توسعهدهندگان معتقدند که ممکن است برای هر بلاکچین کارایی نداشته باشد.
مزایای شاردینگ عبارتند از:
امکان مقیاسپذیری بیشتر را فراهم میکند.
بار پردازشی و حافظه را که بر روی گرههای کامل قرار میگیرد کاهش میدهد.
برای شبکههایی با سیستم اثبات سهام به خوبی کار میکند.
معایب آن نیز عبارتند از:
اجرای پروتکلهای اثبات کار با آن مشکل است.
پایگاه داده و برنامههای کاربردی آن را پیچیدهتر میکند.
عمدتاً برای فناوری بلاکچینی آزمایش نشدهاند، به این معنی که ناشناختههایی پیرامون امنیت آن وجود دارد.
کدام ارزهای دیجیتال از شاردینگ استفاده می کنند؟
اتریوم که محبوبترین بلاکچین در جهان برای ساخت پروژههای غیرمتمرکز است، برای افزایش تعداد تراکنشهای پردازش شده در هر ثانیه از شاردینگ استفاده میکند. برخی دیگر از بلاکچینها نیز وجود دارند که در حال حاضر از شاردینگ استفاده میکنند، مانند Zilliqa. یکی از ویژگیهای کلیدی Zilliqa، توانایی آن در ارائه مقیاسپذیری از طریق فرآیند شاردینگ است. در حال حاضر، Zilliqa دارای چهار خرده بلاکچین مجزا است که هر تراکنش درون شبکه توسط گرههای درون یکی از این خردهها تایید میشود. مقیاس پذیری Zilliqa آن را به یکی از رقبای اتریوم تبدیل میکند، اگرچه تصمیم اتریوم برای اتخاذ شاردینگ جایگاه آن را به عنوان محبوبترین بلاکچین قرارداد هوشمند در آینده قابل پیش بینی تثبیت خواهد کرد. پولکادات (Polkadot) نیز یک پروژه بلاکچین پیشرو دیگر است که از فرآیند شاردینگ استفاده کرده و توسعه دهندگان را قادر میسازد تا پروژههایی با عملکرد بالا و قابلیت همکاری ایجاد کنند. پایه و اساس این پروژه به عنوان زنجیره رله شناخته میشود که به برنامهها کمک میکند بدون توجه به فناوری خود، ارتباط برقرار کنند. پروتکل Near (NEAR/USD) یکی دیگر از پروژههای بلاکچین است که از شاردینگ استفاده میکند و یک شبکه در حال رشد است که در نوامبر سال گذشته شروع به اجرای ارتقاء Nightshade Sharding خود کرد.
نظرات