مقدمه
پیش از پیدایش شاردینگ، تصور بر این بود که هیچوقت نمیتوان سه ویژگی تمرکززدایی، مقیاسپذیری و امنیت را در یک پروژه بلاک چین گنجاند و همواره باید یکی از آنها را قربانی بقیه کرد. این سه ویژگی در کنار یکدیگر مفهومی به نام سهگانه مقیاسپذیری را میسازند که اولین بار ویتالیک بوترین آن را مطرح کرد. بر اساس این مفهوم، اگر پروژهای میخواهد مقیاسپذیری بالایی داشته باشد، باید تمرکززدایی و در پی آن، امنیت را قربانی کند و اگر پروژهای قصد دارد به ویژگی تمرکززدایی پایبند بماند، باید از مقیاسپذیری بگذرد.
شاردینگ (Sharding) یکی از روشهای بالقوه برای ایجاد مقیاسپذیری در بلاک چین است. مقایسپذیری باعث افزایش سرعت و ظرفیت شبکه میشود و بار محاسباتی و ذخیره داده را به قسمتهای کوچکتر تقسیم میکند. این روش علیرغم چالشهای مهمی که در پیادهسازی آن وجود دارد، توانایی فائقآمدن بر چالش “سهگانه مقیاسپذیری” را دارد. در این مقاله از زرد نیوز به بررسی دقیق تر شاردینگ خواهیم پرداخت و خواهیم دید که چه کاربردهایی در یک پروژه بلاک چین دارد، پس تا انتها با ما باشید.
شاردینگ چیست؟
شاردینگ یک راهکار پارتیشن بندی پایگاه داده است که توسط شرکتهای بلاک چین با هدف مقیاس پذیری استفاده میشود. تکنولوژی شاردینگ توسعه دهندگان را قادر میسازد تا تراکنشهای بیشتری را در هر ثانیه پردازش کنند. شاردینگ، کل شبکه یک شرکت بلاک چین را به قسمتهای کوچکتری تقسیم میکند که به نام شارد (shard) نام دارند. هر شارد شامل دادههای مخصوص به خود است، که آن را در مقایسه با سایر شاردها متمایز و مستقل میکند.
- شاردینگ میتواند به کاهش تاخیر یا کندی شبکه کمک کند. زیرا شبکه بلاک چین را به قطعات جداگانه تقسیم میکند. با این حال، برخی نگرانیهای امنیتی در مورد شاردینگ وجود دارد که در آن شاردها می توانند مورد حمله قرار گیرند.
- شاردینگ یک راهکار برای قسمت بندی پایگاه داده است که شبکههای بلاک چین در حال بررسی آن هستند و اتریوم در حال آزمایش آن میباشد.
- هرچه تعداد کاربرانی که از شبکههای بلاک چین استفاده میکنند بيشتر شود، شبکه کند تر میشود و تأخیر قابل توجهی در شبکه رخ خواهد داد.
- شاردینگ میتواند تاخیر شبکه را با تقسیم یک شبکه بلاک چین به شاردهای جداگانه بهبود بخشد. هر کدام از این شاردها با دادههای خاص خود، از سایر شاردها جدا میشوند.
- نگرانیهای امنیتی پیرامون شاردینگ شامل هک یا تصاحب شاردها میشود. در این نوع حمله، یک شارد به دیگری حمله میکند و منجر به از دست رفتن اطلاعات میشود.
آشنایی با شاردینگ
شبکههای بلاک چین و ارزهای دیجیتال مربوط به آنها، به دلیل کاربرد گسترده این تکنولوژی محبوبیت زیادی پیدا کردهاند. به طور مثال، کاربردهای شبکه بلاک چین شامل مدیریت زنجیره تامین (supply chain) و تراکنشهای مالی میشود. به دنبال افزایش محبوبیت بلاک چین، حجم کار و حجم معاملاتی که شبکه مدیریت میکند نیز افزایش مییابد. اگر بلاک چین را به عنوان یک پایگاه داده مشترک در نظر بگیریم، با افزایش دادههای بیشتر، شبکه باید راههای جدیدی پیدا کند تا بتواند همه آن دادهها را به طور موثر و سریع پردازش کند. در اینجا راهکاری مانند شاردینگ میتواند موثر واقع شود.
دفتر کل توزیعشده
این دفتر کل توزیعشده (distributed ledger) است که تکنولوژی بلاک چین را جذاب میکند. زیرا اجازه میدهد تراکنشها به طور توافقی در چندین سایت و مکان جغرافیایی به اشتراک گذاشته شوند. همانطور که تراکنشها ثبت میشوند، کپیهای آنها در عرض چند ثانیه به شبکه مشترک ارسال میشوند و “شاهد” عمومی ایجاد میکنند. اگر بخشی از شبکه قربانی کلاهبرداری یا حمله مخرب شود، شرکتکنندگان شبکه مشترک میتوانند آنچه را که کلاهبرداران تغییر دادهاند شناسایی کنند، زیرا همگی یک کپی از تراکنشهای دفتر کل را نگهداری میکنند. در نتیجه، تکنولوژی بلاک چین و سیستم دفتر کل توزیعشدهِ آن میتواند به کاهش کلاهبرداری و محدود کردن آسیب ناشی از حملات سایبری، مانند هک، کمک کند.
مقیاسپذیری
با این حال، یکی از چالشهای اصلی تکنولوژی بلاک چین این است که با اضافه شدن رایانههای بیشتر به شبکه و پردازش تراکنشهای بیشتر، شبکه مشغول میشود و این روند را کند میکند که به آن تأخیر یا لیتنسی (latency) میگویند. تأخیر یک مانع برای بلاک چین است که به صورت گسترده مورد استفاده قرار میگیرد. به ویژه در مقایسه با سیستمهای پرداخت الکترونیکی فعلی که به سرعت و کارآمد شهرت دارند. به عبارت دیگر، مقیاسپذیری یک چالش برای بلاک چین است، زیرا شبکهها ممکن است نتوانند حجم فزاینده دادهها و جریان تراکنشها را مدیریت کنند. چراکه صنایعِ بیشتر و بیشتری از این فناوری استفاده میکنند.
یکی از راه حلهایی که برای ایجاد مقیاسپذیری بدون تأخیر استفاده میشود، فرآیند به شاردینگ است. طراحی شاردینگ به گونهای است که حجم کاری شبکه را به بخشهایی تقسیم میکند. این تقسیم کار ممکن است به کاهش تأخیر کمک کند و امکان پردازش تراکنشهای بیشتری را برای بلاک چین فراهم کند.
مهم
سه ویژگی که شبکههای بلاک چین به دنبال به کارگیری آن هستند عبارتند از تمرکززدایی، مقیاسپذیری و امنیت.
شاردینگ چگونه انجام میشود
قبل از بررسی نحوه انجام شاردینگ در یک شبکه بلاک چین، بررسی نحوه ذخیره و پردازش دادهها در سیستمهای حال حاضر مهم است.
گرههای بلاک چین
در حال حاضر، در بلاک چین، هر گره (node) در یک شبکه باید تمام حجم تراکنشهای درون شبکه را پردازش یا مدیریت کند. گرهها در یک بلاک چین مستقل هستند و مسئول نگهداری و ذخیره تمام داده ها در یک شبکه غیرمتمرکز هستند. به عبارت دیگر، هر گره باید اطلاعات مهمی مانند مانده حساب و تاریخچه تراکنش را ذخیره کند. شبکههای بلاک چین به گونهای ایجاد شدهاند که هر گره باید تمام عملیات، دادهها و تراکنشهای موجود در شبکه را پردازش کند.
در حالی که با ذخیره کردن هر تراکنش در تمام گرهها، امنیت یک بلاک چین را تضمین میکند، این مدل پردازش تراکنش را به میزان قابل توجهی کند میکند. سرعت آهسته برای پردازش تراکنشها، آیندهای را که در آن بلاک چین مسئول میلیونها تراکنش خواهد بود، چندان جذاب نمیکند.
شاردینگ میتواند به رفع این مشکل کمک کند. زیرا بار کاری تراکنش را از یک شبکه بلاک چین تقسیم یا پخش میکند به طوری که هر گره نیازی به مدیریت یا پردازش تمام بار کاری بلاک چین نداشته باشد. به عبارت دیگر شاردینگ حجم کار را به بخشها یا شاردها تقسیم میکند.
قسمتبندی افقی

شاردینگ را میتوان از طریق قسمتبندی افقیِ (Horizontal Partitioning) پایگاههای داده، از طریق تقسیم به ردیفها انجام داد. شاردها که ردیف هم نامیده میشوند، بر اساس ویژگیهای خود مفهوم سازی میشوند. به عنوان مثال، یک شارد ممکن است مسئول ذخیره وضعیت و تاریخچه تراکنش برای نوع خاصی از آدرس باشد. همچنین، ممکن است بتوان شاردها را بر اساس نوع دارایی دیجیتالی که در آنها ذخیره میشوند، تقسیم کرد. تراکنشهای مربوط به آن دارایی دیجیتال ممکن است از طریق ترکیبی از شاردها امکان پذیر شود.
به عنوان مثال، یک معامله اجاره املاک و مستغلات را در نظر بگیرید که در آن چندین شارد دخیل هستند. این شاردها مربوط به نهادهای مختلف درگیر در تراکنش هستند، از نام مشتری گرفته تا کلیدهای دیجیتالی که در یک قفل هوشمند پیکربندی شدهاند. سپس، پس از پرداخت اجاره، ملک در اختیار اجارهدهنده قرار میگیرد.
اشتراک شارد
هر شارد هنوز هم میتواند بین سایر شاردها به اشتراک گذاشته شود، که جنبه کلیدی تکنولوژی بلاک چین است. این فرآیند دفتر کل غیرمتمرکز را نیز حفظ میکند. به عبارت دیگر، دفتر کل هنوز برای هر کاربر قابل دسترسی است و به آنها اجازه میدهد تمام تراکنشهای دفتر کل را مشاهده کنند.
شاردینگ و امنیت
یکی از مشکلات اصلی که در عمل به وجود آمده، امنیت است. اگرچه هر شارد جدا است و فقط دادههای خود را پردازش میکند، یک نگرانی امنیتی در رابطه با تخریب شاردها وجود دارد. در این نوع حمله، یک شارد، شارد دیگر را تصاحب میکند و منجر به از دست رفتن اطلاعات یا دادهها میشود.
اگر هر شارد را به عنوان شبکه بلاک چین خود با کاربران و دادههای احراز هویت شدهاش در نظر بگیریم، یک شارد را یک هکر یا از طریق یک حمله سایبری، تصاحب میکند. سپس مهاجم میتواند تراکنشهای نادرست یا یک برنامه مخرب را وارد شبکه کند.
اتریوم، یکی از برجستهترین شرکتهای بلاک چین است و در آزمایش شاردینگ بهعنوان راهحلی احتمالی برای مشکلات تأخیر و مقیاسپذیری پیشرو میباشد. اتریوم قصد دارد پس از اتفاقی که آن را “ادغام” مینامد، ۶۴ شارد چین (shard chain) جدید راه اندازی کند. در این شارد چینها شبکه اصلی اتریوم با سیستم اثبات سهام بیکِن چین (Beacon Chain) “ادغام” میشود. اتریوم با پتانسیل حمله شاردها به یکدیگر مبارزه کرده است. با تخصیص تصادفی گرهها به شاردهای خاص و تخصیص مجدد آنها به طور مداوم در فواصل تصادفی، اتریوم به شکلی موثر این مشکل امنیتی را حل کرده است. این نمونهگیری تصادفی باعث میشود هکرها نبدانند چه زمانی و کجا باید یک شارد را خراب کنند.
همچنین، توجه به این نکته مهم است که شاردینگ هنوز در مرحله آزمایش اولیه برای استفاده در شبکههای بلاک چین است. در نتیجه، تمام مسائل و چالشهای احتمالی هنوز حل نشدهاند.
دیدگاهتان را بنویسید