time

00/09/22

شاردینگ چیست؟ | و چه راه کاری را برای بلاکچین اراعه می‌دهد.

article-img

بلاگ اکسکریپتویی

 

شاردینگ (Sharding) یکی از راهکارهای اصلی مقیاس‌پذیری در بلاک چین است که برای افزایش سرعت و ظرفیت شبکه بلاکچین ، بار محاسباتی و ذخیره داده را به قسمت‌های کوچک‌تر تقسیم می‌کند. این راهکار علارغم چالش‌های مهمی که در پیاده‌سازی آن موجود است، توانایی برطرف کردن چالش «سه‌گانه مقیاس‌پذیری» را دارد.

 

 

 

شاردینگ چیست؟! 

 

به بیان ساده، شاردینگ یعنی تقسیم یک پردازش بزرگ به پردازش‌های کوچک‌تر؛ 

فرض کنید قصد تکمیل یک جورچین ۱,۰۰۰ تکه را دارید. به جای آن که تمام ۱,۰۰۰ تکه را روی میز بریزید و شروع به چیدن آنها کنید، می‌توانید آنها را بر اساس رنگ تکه‌ها جدا کنید و سپس کار تکمیلش را انجام دهید. این دسته‌بندی باعث می‌شود بررسی تکه‌هایی که برای بخش خاصی هستند، آسان‌تر و سریع‌تر باشد.

 

​​​​​​

شاردینگ راهکاری است که بار پردازش را به قسمت‌های کوچک‌تر تقسیم می‌کند و به این روش ، ظرفیت و سرعت شبکه را بالا میبرد.

 

 شاردینگ به‌عنوان راهکاری ارائه شده است که به‌لحاظ تئوری می‌تواند با کمترین هزینه، به چالش‌های مقیاس‌پذیری بلاک چین پیروز شود. 

 

واژه شارد (Shard) به‌معنای تکه یا قطعه است و شاردینگ از لحاظ واژگانی به تکه‌تکه یا قطعه‌قطعه کردن یک چیز گفته می‌شود. 

 

برای درک بهتر مفهوم شاردینگ، نقش آن را در فناوری بلاک چین بررسی می‌کنیم.

 

 

 

شاردینگ در ارزهای دیجیتال و بلاکچین

 

با توجه به تعریف شاردینگ و برقراری ارتباط میان این تعریف و مشکلات مقیاس‌پذیری بلاک چین، احتمالاً متوجه شده‌اید که این تکنیک تا چه اندازه می‌تواند در دنیای بلاک چین و ارزهای دیجیتال کاربردی و کمک کننده باشد.

 

 

 

شبکه‌های بلاک چینی در حقیقت پایگاه‌های داده‌ای هستند که هر نود (Node) یا گره در آنها به‌عنوان سرور مجزایی در شبکه فعالیت می‌کند.

 

 اگر شاردینگ را در بلاک چین اجرا کنیم، در واقع شبکه را به اجزای کوچک‌تری که «شارد» نام دارند تقسیم کرده‌ایم. هر شارد مجموعه منحصربه‌فردی از قراردادهای هوشمند و موجودی حساب‌ها را نگهداری خواهد کرد. به‌طور کلی، در حوزه بلاک چین، شاردینگ به‌معنای تقسیم‌بندی یک مجموعه داده به چند قسمت و ذخیره آن در چندین پایگاه داده است.

 

 

 

چالش های شاردینگ

 

تصرف شارد

 

 

تصرف شارد (Shard Takeover) مشابه حمله ۵۱ درصد در بلاک چین میباشد و زمانی اتفاق می‌افتد که فرد یا نهادی کنترل یک شارد را به دست گرفته و تراکنش‌های مدنظر خود را به‌شکل مخربی بر شارد اعمال آورد. 

 

یک شبکه بلاک چین را در نظر بگیرید که ۱۰۰ نود با قدرت هش برابر دارد. در یک بلاک چین عادی، یک بازیگر مخرب اگر بخواهد کنترل شبکه را به دست بگیرد، یا به‌عبارتی حمله ۵۱ درصد انجام دهد، باید ۵۱ درصد شبکه (در این تصویر ۵۱ نود) را در اختیار بگیرد؛ اما در یک شبکه شاردشده ، این بازیگر مخرب فقط کافی است ۱۱ درصد شبکه را در اختیار بگیرد تا بتواند کنترل خود را بر یک شارد اعمال کند.

 

این کار مثل انجام یک حمله ۵۱ درصد در درون یک شارد است. به‌این‌ترتیب، تصرف یک شارد مثل تصرف یک زنجیره در اکوسیستم چندزنجیره‌ای، بسیار آسان‌تر از حمله به کل شبکه است. به‌بیان ساده‌تر، با تقسیم شبکه به اجزای کوچک‌تر، کار هکرها و مهاجمان برای کنترل‌یافتن بر یک شارد راحت‌تر می‌شود.

 

از این‌ رو، یکی از چالش‌های شاردینگ این است که احتمال حمله مخرب به یک شارد باید به حداقل برسد. برای این کار باید توزیع قدرت رأی‌دهی در میان همه شاردهای موجود به‌صورت اتفاقی و کاملاً برابر انجام شود یا اینکه تدابیری برای جلوگیری از تمرکز مخرب قدرت هش در یک شارد اندیشیده شود.

 

 

ارتباطات میان شاردی

چالش دیگر که ارتباطات میان‌شاردی (Cross-shard Communication) نام دارد، مربوط به زمانی است که یک تراکنش نیازمند تغییر در وضعیت یا فراخوانی یک تابع از یک شارد به شارد دیگر باشد. شبکه‌ای را که پیش‌تر مثال آن را عنوان کردیم و ۵ شارد داشت در نظر بگیرید و فرض کنید که کاربر A در شارد یک می‌خواهد یک تراکنش را به کاربر یا قرارداد B در شارد ۲ ارسال کند. نحوه برقراری این ارتباط خود چالشی بزرگ به حساب می‌آید که هر یک از شبکه‌ها، به‌نوعی آن را حل کرده‌اند.

 

 

 

انواع ارزهای دیجیتالی که از شاردینگ بهره می‌برند.

 

1.اتریوم (به زودی و در سال 2022)

2. نیِر

3.زیلکا

4. الروند