شاردینگ Sharding مفهومی است که به کمک اتریوم 1 آمد تا آن را مقیاس پذیر کند. در ادامه این مفهوم را کامل توضیح میدهیم.
شاردینگ نوعی پارتیشن (تقسیم بندی) بندی دیتابیس است که به آن پارتیشن بندی افقی نیز میگویند. فرآیند شاردینگ به تقسیم دیتابیس های بزرگ به قسمت های کوچکتر است به طوریکه بیشتر قابل مدیریت باشد و به منظور بهبود عملکرد شبکه صورت میپذیرد.
شاردینگ مفهوم جدیدی نیست و از اواخر دهه 90 در زمینه مدیریت دیتابیس های متمرکز وجود داشته است. اصطلاح شاردینگ در واقع توسط یکی از اولین بازی های نقش آفرینی آنلاین چندنفره گسترده یا همان MMORPG ها به اسم اولتیما آنلاین (Ultima Online) محبوب شد. توسعه دهندگان این بازی، گیمرها را بین سرورهای مختلف (دنیاهای مختلف در بازی) تقسیم کردند تا بتوانند به مشکل ترافیک ورودی سرورها فائق آیند.
در سامانه مدیریت پایگاه دادهها (DBMS)، شاردینگ نوعی پارتیشن بندی پایگاه داده است که در آن یک پایگاه بزرگ داده به پایگاه های کوچکتر (موسوم به شارد) تقسیم می شود. این شاردها نه تنها کوچکتر هستند، بلکه سریعتر بوده و به راحتی قابل کنترل هستند.
شاردینگ در بلاکچین
در بلاکچین نیز میتوان مفاهیم مربوط به شاردینگ را پیاده سازی کرد. میتوان شبکه را به قسمت های کوچکتر تقسیم کرد تا بتوان مدیریت بیشتری به هر یک از شاردها داشت و سرعت شبکه را افزایش داد. با شاردینگ، نودها در شاردهای جداگانه ای قرار خواهند گرفت تا تراکنش ها و عملیات خاص را تایید کنند و دیگر مثل گذشته مسئول تایید تراکنش ها در کل شبکه نیستند.
با استفاده از شاردینگ میتوان شبکه را مقیاس پذیر کرد و در نهایت سرعت شبکه را افزایش داد و کنترل و مدیریت بیشتری بر شبکه داشت.
شاردینگ در اتریوم
بلاکچین اتریوم از هزاران کامپیوتر یا همان نودها (در حال حاضر 8622 نود) تشکیل شده که هر کدام مقدار مشخصی از نرخ هش شبکه را تولید میکنند. نرخ هش این امکان را برای ماشین مجازی اتریوم فراهم می کند تا قراردادهای هوشمند و برنامههای غیر متمرکز را اجرا کند.
در حال حاضر، اتریوم بر پایه ترتیبی کار می کند که در آن هر یک از نودها باید تمامی عملیات را محاسبه و تراکنش ها را پردازش کند. بنابراین، فرایند تایید تراکنش ها طولانی می شود. هم اکنون، اتریوم می تواند در هر ثانیه 10 تراکنش را پردازش کند، اما برخی شبکه های دیگر مانند ویزا کارت (24000 تراکنش در ثانیه) قادر به پردازش تراکنش های بیشتری هستند. اضافه کردن کامپیوتر به شبکه الزاما راندمان را بهبود نخواهد بخشید، چون دفتر کل در تمام کامپیوترها وجود دارد و تنها زنجیره تایید تراکنش ها طولانی تر خواهد شد.
شاردینگ یک روش پیشنهادی برای تقسیم زیرساخت های اتریوم به قسمتهای کوچک تر با هدف مقیاس پذیری پلتفرم است. بنابراین، این شبکه میتواند کاربران بیشتری را نسبت به تعداد فعلی پشتیبانی کند.
شاردینگ در اتریوم تغییر از مدل خطی به یک مدل اجرای موازی است که در آن هر نود تنها مسئول پردازش تعداد مشخصی از تراکنش ها خواهد بود. در این صورت، پردازش تراکنش ها به طور موازی و همزمان انجام خواهد شد.
اتریوم دومین بلاک چین بزرگ است که آن را برای سهولت ساخت برنامه های غیر متمرکز طراحی کرده اند. این بلاک چین به کاربران اجازه می دهد تا کنترل بیشتری بر امور مالی و داده های آنلاین خود داشته باشند. این برنامه های غیر متمرکز گسترش خواهند یافت و جایگزینی برای برنامه هایی مانند رابین هود یا توییتر ( که دارای نقطه کنترل متمرکز هستند) خواهند بود. بنابراین، اتریوم مانند یک “کامپیوتر جهانی” عمل خواهد کرد که در دسترس عموم قرار دارد و متوقف نخواهد شد.
چه بلاکچینهایی از شاردینگ استفاده میکنند؟
زیلیکا اولین بلاک چین عمومی است که از شاردینگ استفاده میکند. این بلاکچین در شبکه آزمایشی خود موفق به پردازش 2828 تراکنش در ثانیه شد.
بلاکچین “Near” نیز به توسعه دهندگان اجازه میدهد تا به راحتی برنامه های غیر متمرکز را بسازند و اجرا کنند. این اکوسیستم خود را یک بلاک چین اثبات سهام شارد شده و مناسب برای توسعه دهندگان می داند. فناوری شاردینگ در این بلاک چین به نودها اجازه می دهد تا به اندازه کافی کوچک بمانند که حتی در آینده قابلیت اجرا بر روی گوشی های هوشمند را داشته باشند.
سایر پروژههای بلاکچینی دیگر که شاردینگ را راه حلی برای مقیاس پذیری میدانند مانند کاردانو!.
معایب شاردینگ
شاردینگ برخلاف مزایایی که در بلاکچینها ایجاد میکند دارای معایبی هست. از بزرگترین معایب شاردینگ در شبکه میتوان به امنیت و پیچیدگی شبکه اشاره کرد. به دلیل آنکه نودها در شاردهای جداگانه در حال فعالیت هستند و این شاردها باید با همدیگر در ارتباط باشند باعث افزایش پیچیدگی در شبکه میشود. همچنین به دلیل آنکه هر شارد هش کمتری را در شبکه تولید میکنند، هکرها میتوانند راحت تر به شبکه نفوذ کنند.
نظرات کاربران