شاردینگ نوعی تقسیم بندی است که به آن قسمت بندی افقی میگویند. فرآیند شاردینگ شامل تقسیم کردن یک پایگاه دادهی بسیار بزرگ به اجزای کوچک تر و قابل مدیریت است. اجرای شاردینگ با هدف ارتقای کیفیت عملکرد و کاهش زمان پاسخ دهی انجام میپذیرد.
شاردینگ فرآیند جدیدی نیست و از اواخر دههی ۹۰ میلادی در مدیریت پایگاه دادههای متمرکز مورد استفاده قرار میگرفته است.
استفاده از شاردینگ زمانی باب شد که در بازی اولتیما آنلاین (اولین بازی نقش آفرینی بر خطر چند نفره) توسعه دهندگان تصمیم گرفتند، برای مدیریت ترافیک ورودی بازیکنان را در سرورهای مختلف پخش کنند.
در دنیای تجارت مثال رایج شاردینگِ یک پایگاه دادهی بزرگ، تقسیم بندی پایگاه دادهی خریداران به نقاط مختلف جغرافیایی است. خریدارانی که در مکانهای جغرافیایی یکسانی هستند، با هم در یک گروه خواهند بود و در سرورهای منحصر به خودشان قرار میگیرند.
شاردینگ در بلاک چین چگونه عمل میکند؟
شاردینگ در بلاک چین هم فرآیند مشابهی دارد. شبکهی بلاک چین دیتابیسی به شمار میرود، دارای نودهایی که معرف سرورهای اطلاعات میباشند. اگر شاردینگ روی بلاک چین اعمال شود به این معنا خواهد بود که شبکهی بلاک چین به بخشهای (شاردها) مجزا تقسیم بندی شده است. هر شارد مجموعهی منحصر به فردی از قراردادهای دیجیتال و موجودی حساب ها را در خود نگه میدارد.
سپس در عوض این که هر نود مسئولیت تایید تراکنشهای کل شبکه را داشته باشد، نودها به شاردهای مجزا اختصاص پیدا میکنند تا تراکنشها و عملیات را تایید کنند.
هدف شاردینگ این است که با تقسیم کردن بلاک چین به بخشهای قابل مدیریتتر، میزان خروجی تراکنشها را افزایش دهد و بر مشکلات مقیاس پذیری بلاک چینهای مهم غلبه کند.
عملکرد شاردینگ چگونه است؟
برای توضیح عملکرد شاردینگ از بلاک چین اتریوم به عنوان مثال استفاده میکنیم.
بلاک چین اتریوم از هزاران کامپیوتر (۸۶۲۲ عدد کامپیوتر در حال حاضر) به عنوان نودها تشکیل شده است. هر نود مقدار مشخصی قدرت هش در اختیار شبکه میگذارد تا ماشین مجازی اتریوم (EVM) وظایف خود مانند اجرای قراردادهای هوشمند و برنامههای غیرمتمرکز را به درستی انجام دهد.
در حال حاضر اتریوم به صورت اجرای ترتیبی یا خطی عمل میکند که در آن هر کدام از نودها باید تمام عملیات و تراکنشها را پردازش کنند. برای همین هم تمام کردن فرآیند تراکنشها مدت زمان زیادی لازم دارد. هم اکنون اتریوم قادر است ۱۰ تراکنش را در ثانیه پردازش کند در حالی که سیستمهای پرداختی مانند ویزا به پردازش ۲۴ هزار تراکنش در ثانیه رسیدهاند.
همچنین اضافه کردن کامپیوتر یا همان نود به شبکه باعث بهتر شدن راندمان شبکه نخواهد شد چرا که دفتر کل و تراکنشهای ثبت شده روی تمام کامپیوترها موجود است و فقط زنجیرهی تایید کردن طولانی میشود.
شاردینگ مدل اجرای خطی که در آن هر نود همهی فعالیتها را پزدارش میکند را تبدیل به مدل اجرای موازی میکند. در اجرای موازی هر نود فقط مسئول پردازش تعداد مشخصی از تراکنشها است. تحت چنین شرایطی پردازش تراکنشها به صورت موازی و در چند خط انجام میپذیرد.
هر دامنه به شاردهای متفاوت تقسیم بندی میشود. نودها هم برای تایید تراکنشها باید تنها بخشی از دفتر کل را که مختص به خودشان است، اجرا کنند. در این صورت دیگر نیاز به نگه داشتن و به روز رسانی کل تراکنشها نخواهد بود.
شاردینگ چطور به حل کردن مشکلات کمک میکند؟
شاردینگ راه حل خوبی برای حل مشکلات مقیاس پذیری؛ که در حال حاضر یکی از بزرگترین معضلات بلاک چینها است به شمار میرود.
هرچقدر شبکهی بلاک چینی محبوبتر باشد، کاربران بیشتری اقدام به اجرای تراکنشها، برنامههای غیرمتمرکز و سایر عملیات در شبکه میکنند.
افزوده شدنِ تعداد تراکنشها باعث افزایش تقاضا از طرف نودها به منظور تایید تراکنشها میشود. این یک تهدید بزرگ برعلیه اتریوم است که قبلا هم یک بار خودش را نشان داد. در آن زمان تراکنشهای این بازی آنلاین ۱۱ درصد از تراکنشهای کل شبکه را به خودش اختصاص داده بود. وقتی چنین اتفاقی بیفتد تراکنشها با سرعت کمتری پردازش خواهند شد و پذیرش بلاک چین با مشکل جدی رو به رو میشود.
اما با استفاده از شاریدینگ و تقسیم بندی بلاک چین به اجزای کوچکتر، گروههای مشخصی از نودها مشغول تایید کردن بخش خاصی از تراکنشها خواهند بود. در این صورت مدل تایید تراکنشها به جای خطی تبدیل به مدل موازی خواهد شد و سرعت کل شبکه افزایش مییابد. شاردینگ بلاک چین را برای مدت زمانی طولانیتر پایدار و بادوام خواهد کرد.
نکات منفی شاردینگ چیست؟
هم اکنون مشکلات اصلی شاردینگ مربوط به ارتباطات و امنیت است.
اگر بلاک چین را به بخشهای جدا از هم تقسیم کنید، هر کدام از شاردها به شبکهی بلاک چین جدایی تبدیل خواهد شد. کاربران و برنامههای دامنههای فرعی بدون استفاده از مکانیزمهای ارتباطی مخصوص و بین شاردی، قادر نخواهند بود که با کاربران و برنامههای سایر دامنههای فرعی ایجاد ارتباط کنند. همین موضوع باعث پیچیدگی بیشتر برای توسعه دهندگان خواهد شد.
در بلاک چینی که به چند بخش متفاوت تقسیم شده است، بحث امنیت نیز مشکلات مخصوص خودش را دارد. به دلیل کاهش قدرت هش لازم برای کنترل هر کدام از بخشها، دسترسی به هر شارد برای هکرها آسانتر خواهد شد. به این عملیات حملهی ۱ درصد میگویند. پس از هک شدن یکی از بخشها هکرها میتوانند تراکنشهای بدون اعتبار را در شبکه اصلی ثبت کرده و همچنین امکان دارد، اطلاعات بخش مورد نظر نامعتبر شود. در این صورت بخش مورد نظر ممکن است برای همیشه از دست برود.
اتریوم برای مشکل امنیت شاردینگ راهکاری به نام نمونهگیری تصادفی ارائه داده است. در این روش ثبت کنندگان برای بخشهای متفاوت و تایید اعتبارِ بلاک، به صورت اتفاقی انتخاب خواهند شد.
آیا راهکار جایگزینی برای شاردینگ وجود دارد؟
برای ارتقای عملکرد و بالا بردن سرعت تراکنشها روی بلاک چینها دو راه حل جایگزین پیشنهاد شده است. اولین راه حل زیاد کردن حجم هر تراکنش است چون که هرچه بلاکها بزرگتر باشند، تراکنشهای بیشتری را در خود جای میدهند. به همین دلیل تعداد تراکنشهایی که در هر ثانیه ثبت میشوند زیادتر خواهد شد.
با این که این راهکار قابل عملی شدن است اما باید به این نکته توجه کرد که بزرگتر شدن بلاکها نیاز به قدرت محاسبانی بیتشتری برای تایید بلاکها دارد.
اگر سایز تراکنشها به طور نامحدودی بزرگ شود، فقط تجهیزات و سختافزارهای بسیار تخصصی قادر به مدیریت پردازش تراکنشها به عنوان نود خواهند بود و در این صورت تعداد نودهای شبکه در حد زیادی کاهش مییابد.
هزینهی بالای این تجهیزات و سخت افزارها به معنی متمرکز شدن نودها و افزایش خطر حملهی ۵۱ درصدی است. به علاوهی این که افزایش سایز بلاک، نیاز به هارد فورک دارد که ممکن است باعث جدا شدن جامعه از هم بشود. اگر همهی افراد قادر به اضافه کردن بلاک به بلاک چین جدید نباشند، دو زنجیرهی جدا با کوینهای متفاوت به حیات خود ادامه خواهند داد.
با در نظر گرفتن تمام این مشکلات بالا بردن سایز بلاکها یک راه حل موقتی به شمار میرود.
راه حل دوم استفاده از آلت کوینهای متفاوت برای عملکردهای مختلف است تا روی زنجیرهشان توسط کوینهای مختص به خودشان انجام شوند. این روند منجر به بهبود عملکرد میشود چون عملیات و پردازشها تنها روی دوش یک بلاک چین نخواهد بود.
در این روش امنیت نیز بالا میرود چرا که قدرت هش میان بلاک چینهای مختلف تقسیم میشود. علاوه بر آن احتمال حملهی ۵۱ درصدی نسبت به راه حل قبل کمتر خواهد شد. با این وجود این راه حل نیز زیاد قابل اعتماد و همیشگی نیست.
شاردینگ توسط کدام یک از ارزهای دیجیتال مورد استفاده قرار گرفته است؟
در حالی که برخی از بلاک چینها بدون استفاده از شاردینگ در حال توسعه هستند، برخی دیگر از بلاک چینها از این راه حل استفاده میکنند.
«زیلیکا» (Zilliqa) اولین پلتفرم بلاک چین عمومی به شمار میرود که شاردینگ را مورد استفاده قرار داده است. زیلیکا تا به امروز تعداد تراکنشها را روی شبکهی آزمایشی خود به ۲۸۲۸ عدد در ثانیه رسانده است.
اکوسیستم بلاک چین «نیر» (Near) به توسعه دهندگان این امکان را میدهد که به راحتی برنامههای غیرمتمرکز را ایجاد و اجرا کنند. نیر خود را بلاک چین مناسب توسعه دهندگان میداند و ادعا میکند که فناوری شاردینگ آنها به نودها این اجازه را میدهد تا انقدر کوچک بمانند که در موارد ساده ابری و همچنین دستگاههای موبایل اجرا شوند.
مثل نیر اتریوم هم اکوسیستم بلاک چین مخصوص برای اجرای برنامههای غیرمتمرکز وابسته به قرارداد هوشمند دارد. اتریوم به دنبال معرفی کردن شاردینگ به عنوان قسمتی از به روز رسانی اتریوم ۲.۰ است که در ژانویه ۲۰۲۰ راه اندازی خواهد شد.
پروژههای بلاک چین دیگری مانند کاردانو، کوارک چین (QuarkChain) و (PChain) نیز از شاردینگ برای حل مشکلات مقیاس پذیری استفاده میکنند.
آیندهی شاردینگ در بلاک چینها چگونه خواهد بود؟
شاردینگ بخاطر ارز دیجیتال «لیبرا» (Libra) به تازگی توجهات زیادی را به خود جلب کرده است.
فیس بوک با منتشر کردن وایت پیپر لیبرا جزئیات بیشتری در رابطه با این پروژه در اختیار عموم قرار داد. قسمتی از تیمِ این ارز دیجیتال که نیمهی اول سال ۲۰۲۰ راه اندازی خواهد شد، از تیم پروژهی چین اسپیس تشکیل شده است که توسعه دهندگان آن عمدتا بر روی شاردینگ بلاک چینها تحقیق میکنند. در این صورت حتی ممکن است فیس بوک هم به زودی از راه حل شاردینگ برای بخشی بندی بلاک چین خود استفاده کند.
شاردینگ میتواند راه حل نهایی و مهمی برای حل مشکل سه راهی بلاک چینها باشد.
سه راهی بلاک چینها که توسط ویتالیک بوترین (خالق اتریوم) ارائه شد، این گونه است که تنها میتوان دو ویژگی از سه ویژگی اساسی بلاکچین ها را مورد استفاده قرار داد. سه ویژگی اساسی بلاک چینها امنیت، مقیاس پذیری و غیرمتمرکز بودن است.
یعنی برای ایجاد بلاک چین شما باید دو ویژگی را انتخاب کرده و از ویژگی سوم چشم پوشی کنید.
این طور به نظر میرسد که اگر مشکلات شاردینگ حل شود؛ بدون این که غیرمتمرکز بودن و امنیت به خطر بیفتد، مقیاس پذیری به بلاک چینها اضافه خواهد شد.
صرافی پلاس با سالها تجربه در حوزهی خدمات ارزی یکی از پیشگامان این عرصه است. ما در صرافی پلاس حوالههای مختلف به تمامی کشورهای دنیار را در کوتاهترین زمان ممکن انجام میدهیم. مشتریان برای اطلاعات بیشتر میتوانند با کارشناسان حاذق و مجرب مجموعه از طریق ثبت نام در سایت و ارسال تیکت در ارتباط باشند. صرافی پلاس در ۷ روز هفته و به صورت ۲۴ ساعته (به جز روزهای تعطیل) در حال خدمت به مشتریان است.