در این مطلب قصد داریم به این موضوع بپردازیم که شاردینگ یکی دیگر از اصطلاحات حوزه ارزهای دیجیتال چیست و چگونگی اثرگذاری آن بر روی ارزهای دیجیتال را مورد بررسی قرار دهیم. در ادامه این مطلب با ما همراه باشید.
شاردینگ چیست؟ اگر شما یکی از فعالان در حوزه ارزهای دیجیتال باشید به احتمال زیاد این نام را تا به امروز بارها شنیدهاید. به گفته ویتالیک بوترین، شاردین یکی از بهترین راه کارها میباشد برای این که بتوانید مقیاس پذیری شبکه خود را در فناوری بلاکچین بالا ببرید. در این مقاله به صورت اجمالی به این موضوع خواهیم پرداخت.
چرا باید معنی شاردینگ را بدانیم؟
شاردینگ در حقیقت یکی از معیارهای مهم در آینده ارز دیجیتالی اتریوم به حساب میرود. درک مفهوم این عبارت بسیار دشوار است و بسیاری از فعالان به خوبی آن را نمیشناسند. در حقیقت شاردینگ به دنبال این است که مسئله مهمی به نام مقیاس پذیری را در سطح حوزه بلاکچین بهبود ببخشد. برای این که بتوانیم این مسئله را به خوبی در کنیم ابتدا باید مفهوم مقیاس پذیری را بدانیم. مقیاس پذیری به عبارت ساده به معنی این است که کارایی یک سیستم بسته به میزان کاربری که از آن استفاده میکند به چه میزان است؟ برای درک بهتر این موضوع تصور کنید که تعداد تراکنشهایی که به یک شبکه بلاکچین فرستاده میشود 150 عدد باشد و هر یک از این تراکنشها ظرف یک دقیقه مورد پذیرش قرار بگیرد و انجام گیرد. حال تصور کنید که فردای همان روز 100 تراکنش به همین شبکه بلاکچین ارسال شود باز هم آیا تراکنشها در همان مدت یک دقیقه مورد پذیرش قرار خواهند گرفت؟ اگر جواب به این سوال بله باشد این شبکه بلاکچین یک شبکه مقیاس پذیر خواهد بود و به این معناست که افزایش و یا کاهش تعداد تراکنش در سرعت آن تغییری ایجاد نخواهد کرد. ولی اگر جوابتان به این سوال نه است شبکه بلاکچین شما یک شبکه مقیاس پذیر نیست و و بسته به تعداد تراکنشها سرعت پذیرش در آن متفاوت خواهد بود. این مسئله یکی از مهمترین مسائل در حوزه تکنولوژی ارزهای دیجیتال به حساب میرود. بسیاری از شبکهها برای این مشکل راه کارهایی را بیان کرده اند که در ادامه با برخی از آنان آشنا خواهیم شد.
چالش سه گاه مقیاس پذیری
بهترین راه برای پاسخ به مسئله شاردینگ چیست؟ جواب آشنایی با سه گانه مقیاس پذیری است. که تشکیل شده از سه مورد است که عبارتند از: مقیاس پذیری، امنیت و غیرمتمرکز بودن. هر شبکه بلاکچینی به دنبال این است که هر سه این موارد را با هم داشته باشد. ولی برای داشتن این سه مورد با هم شبکهها همیشه دچار مشکل بودهاند. حال بیایید به هر یک از این سه ضلع مثلث به صورت مختصر بپردازیم.
مقیاس پذیری: این ویژگی به شبکههای بلاکچین این امکان را میدهد که قادر باشند تراکنش بیشتری را به انجام برسانند و نیز سرعت انجام تراکنش را نیز تا حدودی بالا ببرند
غیرمتمرکز سازی: شبکه بدون این که به نهادی نیاز داشته باشد که از او حمایت کند قادر باشد که فعالیت خودش را به سرانجام برساند.
امنیت: شبکه بلاکچین باید بتواند در مقابل تهدیدها و حملات سایبری که امنیت شبکه را به خطر میاندازد مقاوم باشد.
بر اساس این سه ویژگی مهمی که به آنان پرداخیتم شبکههای حوزه بلاکچین امروزه بر اساس سه دسته به فعالیت خود ادامه میدهند.
1. شبکه بلاکچین سنتی یا در واقع همان شبکههای نسل اول به مانند بیت کوین، لایت کوین و شبکه امروزی اتریوم را میتوان در دسته نخست این دسته بندی قرار داد. این دسته از شبکههای حوزه بلاک چین به عنوان شبکه عمومی شناخته میشوند و تمام افرادی که میخواهند در این شبکه فعالیت داشته باشند نیز به مجوز نداشتند و به راحتی میتوانند به مانند یک نود عمل کنند. با توجه به این مسائل این نوع از شبکه قادر بوده امنیت و همچنین امنیت را برای کاربران خود تضمین کند، اما دیگر رکن اصلی را که مقیاس پذیری بالا میباشد را نمیتوان در این نوع از شبکه یافت.
2. دسته دوم آن دسته از شبکههای بلاکچینی هستند که شعار این را میدهند که میتوانند تعداد تراکنش در ثانیه را افزایش دهند و از رقیبان اصلی دسته اول به حساب میآیند که آنان را حسابی به چالش خواهند کشید. این نوع از شبکهها برای بالا بردن میزان مقیاس پذیری یک شبکه تعداد گرهها را کاهش خواهند داد و به طور کلی فقط دارای 10 تا 100 گره در شبکه خود میباشند. این نوع از شبکهها گرههای اجمالی را در شبکه ایجاد خواهند کرد و از نظری نیز هم دارای امنیت بوده و هم غیرمتمرکز میباشند، اما غیرمتمرکز سازی آنان به واسطه گرههای انتخابی از بین رفته و این دسته از شبکهها نیز هر سه رکن اصلی را در خود جای نخواهند داد. به عنوان یک نمونه میتوان شبکه بایننس را مثال زد که تنها 21 گره دارد که آنان نیز به واسطه خود شبکه بایننس ایجاد شده اند. اما همانطور که پیشتر از این در مورد بیت کوین گفتیم در آن شبکه نیازی به این نیست که نودها و یا همان گرهها توسط شبکه انتخاب گردد و همه میتوانند در آن کار شریک باشند.
3. دسته سوم از شبکههای بلاکچین، اکوسیستمهای چند زنجیرهای را در خود جای داده اند. پولکادات یکی از نمونههای بارز برای این دسته به شمار میرود که در کار خود بسیار موفق واقع بوده است. این دسته از شبکهها به صورت کاملا غیر متمرکز به کار خود ادامه میدهند و نیز به علت ایجاد بستری برای ارتباط میان زنجیرهای مقیاس پذیر نیز میباشند. ولی رکن اصلی دیگر یعنی همان امنیت را قربانی سایر رکنها کردهاند و به همین دلیل است که امنیت در این دسته از شبکهها با چالشهای بسیاری مواجه است. به عنوان مثال شبکه پولکادات فقط از صn پارچین پشتیبانی خواهد کرد این به معنی این است که اگر گروهی یا فردی بخواهد به این شبکه حمله 51 درصدی را انجام دهد فقط کافی است 0.5 درصد از قدرت کل یک پارچین را به کنترل خود در بیاورد. در نتیجه این امر امنیت کل اکوسیستم به خطر خواهد افتاد.
حال چالش اصلی که همهی شبکهها با آن رو به رو هستند این است که چه راهکاری وجود دارد تا بتوان به واسطه آن هر سه رکن اصلی یعنی امنیت و مقیاس پذیری و نیز غرمتمرکز سازی را به صورت همزمان در یک شبکه داشت؟ جواب سوال شاردینگ است، به کمک شاردینگ یک شبکه قادر خواهد بود هر سه کن را در شبکه خود داشته باشد.
شاردینگ چیست؟
شاردینگ در معنی کلمه به معنی جز کوچکی از یک مجموعه بزرگ است. شاردینگ در واقع به معنی تقسیم کردن یک مجموعه بزرگ به اجزای کوچک تر خواهد بود، و این کار برای این انجام میگیرد که بتوان عملکرد را بهبود بخشید که به این کار پارتیشن بندی افقی میگویند. به بیان ساده تر، شاردینگ یک الگوی معماری در مراکز داده است که به صورت افقی و در عرض، دیتابیس را به تکههای کوچکتر تقسیم بندی خواهد کرد. به هر یک از این اجزا در ساختار معماری یک شارد گفته خواهد شد. اطلاعات و دادههایی ذخیره شده در هر شارد، مخصوص همان شارد خواهد بود و همچنین مستقل از سایر دادههایی است که در سایر شاردها ذخیره خواهد شد. در ادامه برای این که این موضوع را به خوبی درک کنید برای شما مثالهایی را خواهیم زد.
بیایید یک دانشگاه را در نظر بگیرید که از روزی که کار خود را آغاز کرده است تا به امروز 1 میلیون دانش آموخته در آن مشغول به تحصیل بودهاند. کارنامه همهی این دانش آموختهها در یک دیتابیس بزرگ ذخیره خواهد شد. حال تصور کنید که میخواهیم پرونده یک دانشجو را مورد بررسی قرار دهیم . برای انجام اینکار باید تمام یک میلیون دانشجوی ثبت نامی را مورد بررسی قرار دهیم تا بتوانیم پرونده شخص مورد نظرمان را بیابیم. حال بیایید تا دیتابیس این دانشگاه را به واسطه شاردینگ کمی منظمتر از قبل کنیم. در حقیقت منظور از منظم کردن این است که بیاییم و دانشجویان فارغ التحصیل این دانشگاه را به یک سری شارد کوچکتر تقسیم بندی کنیم. البته این کار را میتوان به وسیله شارد ریزتر هم انجام داد و دسته بندی را تا نام و نام خانوادگی هم به پیش برد، و در چنین شرایطی دیگر یافتن یک پرونده کار دشواری نخواهد بود.
مزایای استفاده از شاردینگ چیست؟
با استفاده از فناوری شاردینگ میتوانیم دیتابیس رابه یکسری اجزای کوچکتر تقسیم بندی کنیم. پس با توجه به این عمل که ما انجام خواهیم داد مدیریت دادهها بسیار راحتتر دنبال خواهد شد. وقتی که یک دیتابیس به یکسری داده کوچکتر تقسیم بندی میشود، سرعت پردازش تراکنش با توجه به کوچکتر بودن آن بیشتر خواهد بود و همین مورد به بهبود عملکرد کلی سیستم کمک شایانی را خواهد رساند. مزیت دیگر فناوری شاردینگ این است که به واسطه استفاده از آن دیگر هزینهها زیاد نخواهد بود و به میزان قابل توجهی کاهش خواهد یافت. هر سیستمی که از فناوری شاردینگ در شبکه خود استفاده کند در مقایسه با سیستمهای دیگر بسیار منظمتر و ارزان تر خواهد بود.
معایب شاردینگ چیست؟
در حقیقت درست است که این فناوری در بهبود بسیاری از مشکلات کمک کار ما خواهد بود ولی هیچ سیستمی در دنیا وجود ندارد که کاملا بی نقص باشد و سیستم شاردینگ نیز از این قاعده مستثنا نیست. یکی از مشکلات و معایب فناوری شاردینگ این است که نحوه پیاده سازی آن از منظر فنی و تکنیکال دچار عیب است. هر چند که ما نحوه کار شاردینگ را به سادگی برای شما عزیزان توضیح میدهیم، اما اجرا کردن و پیاده سازی چنین سیستمی پیچیدگیهای خاص خودش را نیز به همراه خواهد داشت. در صورتی که نتوان این سیستم را به خوبی پیاده سازی کرد ممکن است کل دادههای موجود در شبکه به راحتی از بین برود. یکی دیگر از مشکلاتی که فناوری شاردینگ دارد این است که ایجاد تعادل میان اندازه دادههای ذخیره شده در هر شارد است. به عنوان مثال فرض کنید که ما قصد داریم 1 میلیون دانشجوی مثال قبلی را صرفا بر اساس حروف الفبا تقسیم بندی نماییم. مثلا حروف الف تا ط را در شارد اول قرار خواهیم داد و حروف ظ تا ی را نیز در شارد دوم قرار خواهیم داد. با توجه به این تقسیم بندی بار بیشتر بر روی شارد اول خواهد افتاد. مشکل اصلی اینجاست که در تقسیم بندی شادرها باید به گونهای عمل شود که در هر شارد به یک میزان اطلاعات و داده ذخیره گردد و به عبارتی هر دو شارد با یک دیگر متعادل باشند. این نوع از مدیریت داده باید در مواقعی که تعداد تراکنش بالا است به خوبی رعایت گردد و واقعا کار بسیار سختی است.
مشکلی دیگری که این سیستم دارد مربوط به یک مسئله سخت افزاری است. ماشینهای پردازش دیتا که با ساختار شاردینگ منطبق هستند متفاوت از سایر پردازشگرها عمل خواهند کرد. در حقیقت روال کار به این صورت نیست که ما بتوانیم با استفاده از ساختار سخت افزاری فعلی خود دیتابیسی که به تازگی ایجاد شده را مدیریت نماییم و این مورد نیز در جای خود مشکل ساز و چالش برانگیز خواهد بود.
در این بخش که به مزایا و معایب فناوری شاردینگ پرداختیم ما مدعی این مسئله نیستیم که تا=مامی موارد را اشاره کردهایم، زیرا ممکن است مواردی نیز وجود داشته باشد که از دید ما پنهان مانده باشد و نیز برخی از موارد نیز هستند که زیاد حائز اهمیت نیستند. حال میخواهیم به سراغ این مسئله برویم که کاربرد بلاکچین در حوزه شبکه بلاکچین به چه صورت است. با ما در ادامه همراه باشید.
در واقع همان گونه که اکثر شما عزیزان که در حوزه ارزهای دیجیتال فعال هستید میدانید که بلاک چنی یک بستر برای ذخیره اطلاعات و دادهها است. پس با توجه به این مسئله شاردینگ نیز در شبکه بلاکچین همانطور که پیش از این اشار کردیم در آن عمل خواهد کرد. یک شبکه بلاکچین با الگوریتم گواه ثابت را در نظر بگیرید، که یک شبکه به فر 20000 نودی را در بر دارد . هر یک از این نودها وظیفه ایجاد یک بلاک جدید در شبکه بلاکچین را بر عهده دارند. به عنوان مثال هر یک از این نودها باید 100 بلاک را ایجاد نمایند. در این صورت تا زمانی که بلاک شماره یک که در اولویت است تشکیل نگردد بلاک شماره دو ایجاد نخواهد شد. اکنون ما روش شاردینک را در این شبکه اعمال خواهیم کرد. لذا در شبکه بلاکچین با تقسیم کار تایید و ایجاد بلاکها را توزیع خواهیم کرد. با استفاده از این روش ما این 20000 نود را به دستههای 200 تایی تقسیم بندی خواهیم کرد و وظیفه تایید و ایجاد اولین بلاک را بر عهده این گروه خواهیم گذاشت. به دسته دوم ایجاد شده وظیفه ایجاد دومین بلاک را خواهیم داد و همین روند را ادامه خواهیم داد. در این ساختار ایجاد شده به وسیله شاردینگ هر یک از این دستههای ایجاد شده 200 تایی را کمیته خواهیم نامید. که در این سیستم هر یک از این کمیتهها وظیفه ایجاد بلاک مخصوص به خودش را خواهد داشت. به واسطه این امر هرگاه که یک کمیته موفق به این امر شود که یک بلاک را ایجاد کند آن را در شبکه منتشر نخواهد کرد و به جای آن یک امضا را در شبکه منتشر خواهد کرد که نشان خواهد داد که این کمیته موفق به این شده است که بلاک خود را ایجاد کند. و این امر کمک بسیاری را به مرتب سازی دادهها در شبکه بلاکچین خواهد کرد.
هدف و مقصد اصلی در سیستم شاردینگ در حقیقت این است که تمامی گرهها دیگر لازم نباشد که همهی تراکنشها را تایید و بررسی کنند. این امر سبب خواهد شد که حجم کاری گرهها به مراتب کمتر شود و بار ایجاد شده در شبکه میان گرهها به یک اندازه توزیع گردد. پس بنابراین مسئله عملکرد اجمالی شبکه نیز بهبود پیدا خواهد کرد.
شاردینگ در حقیقت یک ایده بهتر و مناسب تر برای مقیاس پذیری ی شبکه بلاکچین است که در مقایسه با دیتابیسهای دیگر عملکرد بهتری را از خود نشان داده است. در یک اتریوم شارد شده هر کسی قادر خواهد بود به نود یک شبکه مبدل گردد. هزینه مورد نیاز نیز برای راه اندازی یک نود در شبکه اتریوم شارد شده بسیار کمتر از شبکه اتریومی است که هم اکنون با آن سروکار داریم.
برای راه اندازی یک گره در این گونه شبکهها نیازی به تایید یک دستگاه قدرتمند از لحاظ پردازش نخواهد بود و افراد قادر خواهد بود به واسطه لپ تاپ و یا حتی موبایل خود به یک نود در شبکه مبدل گردند. این همان اتفاقی است که هنوز قابل تصور نیست و زمان خواهد برد و اگر این طرح ایجاد گردد غیرمتمرکز سازی به خوبی در شبکه ایجاد خواهد شد.
جمع بندی
شاردینگ در حال حاضر یکی از بهترین روشها برای حل مشکلات مقیاس پذیری در حوزه بلاک چین است. شبکه اتریوم نیز اعلام کرده است در آپدیت بعدی خودش از شاردینگ استفاده خواهد کرد. در این سیستم زنجیره بلوکی به رشتههای کوچک تر تقسیم خواهد شد و به هر یک از این بخشهای کوچک یک شارد گویند که در نهایت به بهبود عملکرد کلی سیستم منجر خواهند شد و هر سه رکن اصلی را با خود برای یک شبکه به وجود خواهند آورد.