شاردینگ در بلاک چین چیست؟ – به زبان ساده
ظهور بلاک چین تحول بزرگی را در حوزه تکنولوژی و ارتباطات ایجاد کرده است. مردم به تدریج با مزایای این تکنولوژی در حوزههای گوناگون آشنا میشوند. در ابتدا بسترهای بلاکچینی کاربران محدودی داشتند ولی با گذر زمان کاربران بیشتری شروع به استفاده از بسترهای غیرمتمرکز بلاکچینی کردند. با بالاتر رفتن حجم تراکنشها بر روی بسترهای بلاک چینی، مشکل مقیاسپذیری در بلاک چین توجه توسعهدهندگان این حوزه را به خود جلب کرد. بسترهای بلاکچینی در زمان شلوغی شبکه کارایی مطلوبی نداشتند یا به عبارتی مقیاسپذیر نبودند. برای افزایش کارآمدی شبکههای بلاکچینی در زمان شلوغی یا افزایش مقیاسپذیری در بلاک چین راهکارهای مختلفی مطرح شده است. شاردینگ در بلاک چین یکی از راههای افزایش مقیاسپذیری در بلاک چین است که در این مطلب به آن میپردازیم.
شاردینگ در بلاک چین چیست ؟
شاردینگ در بلاک چین تکنیکی برای قطعه قطعه کردن شبکه برای افزایش مقیاسپذیری در بلاکچین است. با افزایش مقیاس پذیری شبکه میتواند تراکنشهای بیشتری را در ثانیه انجام دهد. شاردینگ بستر بلاک چین را به پارتیشنهای کوچکتری بهنام «شارد» (Shard) تقسیم میکند. هر شارد مسئول پردازش اطلاعات خود است و مستقل از شاردهای دیگر عمل میکند. با توجه به اینکه شبکه بلاک چین به قسمتهای کوچکتری تقسیم میشود کندی و تأخیر در پردازش اطلاعات در شبکه کم میشود. در واقع شاردینگ روشی برای تفکیک کردن پایگاهداده برای افزایش مقیاسپذیری در بلاکچین است.
مثالی برای شاردینگ پایگاهداده
تصور کنید که پایگاهدادهای برای ذخیره اطلاعات 100 هزار شهروند وجود دارد. برای پیدا کردن اطلاعات یک شهروند در این پایگاهداده نیاز به صرف انرژی پردازشی بالایی داریم. به عبارتی دیگر باید 100 هزار تراکنش را پردازش کنیم تا بتوانیم اطلاعات مورد نظر خود را پیدا کنیم.
اگر بتوانیم این پایگاهداده را به بخشهای کوچکتری تقسیم کنیم چه اتفاقی میافتد؟ برای مثال اگر نام خانوادگی افرادی که با حرف خاصی شروع میشوند را در سروری جداگانه ذخیره کنیم و این کار را برای افراد دیگر نیز انجام دهیم. به عبارتی بر حسب نام خانوادگی افراد این پایگاهداده را به قسمتهای کوچکتر تقسیم کنیم. در این حالت برای پیدا کردن اطلاعات فردی خاص به قدرت پردازشی کمتری نیاز خواهیم داشت. در این حالت پایگاهداده راحتتر از قبل مدیریت میشود.
شارد چیست ؟
یک شارد به معنی قسمتی از کل است. در مدیریت پایگاهداده، یک شارد زیرمجموعهای از یک پایگاهداده بزرگتر است که در سروری جداگانه میزبانی میشود. هر شارد شامل تکههایی از اطلاعات است و کل این شاردها یک مجموعه داده منطقی را میسازند. با توجه به مثال قبلی میتوانیم افرادی که اول نام خانوادگی آنها با الف شروع میشود را در شارد 1 و اطلاعات افرادی که اول نام خانوادگی آنها با حرف ب شروع میشود را در شارد 2 ذخیره کنیم و این کار را به ترتیب حروف الفبا برای شاردهای دیگر نیز ادامه دهیم. بعد از انجام این کار با ترکیب تمامی این شاردها شما مجموعهای از اطلاعات تمامی شهروندان را خواهید داشت.
شاردینگ در بلاک چین نیز همانند شاردینگ در مجموعههای متمرکز است. شبکههای بلاکچینی نیز میتوانند به قسمتهای کوچکتری بهنام شارد تقسیم شوند. هر شارد تنها قسمتی از اطلاعات بلاک چین را پردازش و در خود ذخیره میکند.
شاردینگ و حل مشکل سهگانه مقیاسپذیری
برای درک بهتر شاردینگ در بلاک چین باید کمی دقیقتر به موضوع مقیاسپذیری بپردازیم. برای این منظور باید مشکل سهگانهای که بسترهای بلاکچینی با آن روبهرو هستند را در ابتدا توضیح دهیم. هر بلاک چین قصد دارد تا غیرمتمرکز بودن، مقیاسپذیری و امنیت را در خود داشته باشد اما مشکلی که وجود دارد این است که در حالت عادی و همزمان نمیتوان هر سه این موارد را در کنار هم داشت ولی شاردینگ در بلاک چین تنها راهکاری است که میتواند هر سه مورد را در کنار هم برای بلاک چین ایجاد کند.
مقیاس پذیری در بلاک چین چیست ؟
توانایی یک شبکه بلاک چینی برای حفظ کارآیی خود در زمان شلوغ بودن شبکه را مقیاس پذیری در بلاک چین میگویند. بلاک چین نوعی دفتر کل توزیع شده است. اطلاعات در بلاک چین بین کامپیوترهایی که در کل شبکه قرار دارند توزیع میشود. هر کدام از این کامپیوترها که نود نام دارند یک کپی از آخرین وضعیت شبکه بلاک چین را در اختیار دارند. برای حفظ امنیت و یکپارچگی کل سیستم تمامی نودها از الگوریتم اجماع شبکه بلاک چین پیروی میکنند.
مشکلی که در شبکههای بلاک چینی وجود دارد این است که با افزایش تراکنشها در زمان شلوغی، شبکه کند میشود. بنابراین عدم مقیاسپذیری در بسترهای بلاکچینی یکی از مهمترین مشکلاتی است که این شبکههای غیرمتمرکز با آن مواجه هستند.
«مشکل سهگانه مقیاس پذیری» (Scalability Trilemma) بیان میکند که راهکارهای راحت و آسان تنها میتوانند دو مورد از سه مورد مقیاسپذیری، امنیت و غیرمتمرکز بودن را بهطور همزمان بهتر کنند. حال مروری میکنیم به سه گروه از بلاکچینهای موجود که تنها باعث ارتقاء و بهبود دو مورد از موارد فوق شدهاند.
بلاکچینهای نسل اول
بلاکچینهای نسل اول شامل بیت کوین و لایت کوین و شبکههای مشابه هستند. در این بلاکچینها هر نود تمامی تراکنشها در بلاک چین را پردازش میکند و برای همین این شبکهها هم غیرمتمرکز هستند و هم از امنیت بالایی برخوردارند. اما نقطه ضعف بلاکچینهای نسل اول عدم مقیاس پذیری است.
بلاکچینهای با TPS بالا
در برخی از بلاکچینها همانند شبکه بایننس برای افزایش سرعت شبکه و بالا بردن «تراکنش بر ثانیه» (Transactions Per Second |TPS) تعداد مشخصی از نودها کار پردازش و ذخیره اطلاعات را انجام میدهند. این دسته از بلاکچینها معمولا از 10 الی 100 نود تشکیل شدهاند. کاربران مجبور هستند به این تعداد نود برای پردازش اطلاعات خود اطمینان کنند. این دسته از بلاکچینها مقیاسپذیر و امن هستند ولی غیرمتمرکز نیستند.
اکوسیستمهای چند زنجیرهای
در برخی از اکوسیستمهای مبتنی بر بلاک چین برای افزایش هرچه بیشتر مقیاسپذیری نرمافزارهای کاربردی گوناگونی میتوانند به زنجیرههای مختلفی از این اکوسیستمهای چند زنجیرهای متصل شوند و توسط پروتکلهای ارتباطی بین زنجیرهای با یکدیگر ارتباط برقرار کنند. این قبیل اکوسیستمها مقیاسپذیر و غیرمتمرکز هستند اما امنیت قابل قبولی ندارند. برای حمله به اینگونه اکوسیستم های چند زنجیرهای تنها کافیست فرد هکر اجماع نودهای یکی از این زنجیرهها را به نفع خود تغییر دهد. هک شدن یک زنجیره از اکوسیستمهای چند زنجیرهای میتواند به اطلاعات دیگر زنجیرههای موجود در شبکه نیز آسیبهای زیادی وارد کند.
اهمیت شاردینگ در بلاک چین
برای اینکه سیستمهای پرداختی بر پایه بلاک چین بتوانند از رقیبهای متمرکز خود همانند ویزا پیشی بگیرند نیاز دارند تا مشکل مقیاسپذیری خود را حل کنند. با حل مشکل مقیاسپذیری در بلاک چین سرعت انجام تراکنشها بالاتر میرود و این باعث افزایش کارآیی در سیستمهای پرداختی و در نتیجه پذیرش همگانی بیشتر خواهد شد. شاردینگ در بلاک چین با پخش کردن حجم تراکنشها بین بخشهایی تفکیک شده کندی شبکه را کاهش میدهد و موجب میشود تا راندمان شبکه در زمان شلوغی کم نشود.
شاردینگ در بلاک چین برای حل مشکل مقیاسپذیری در بلاک چین بهکار برده میشود و چون عدم مقیاس پذیری از مشکلات اصلی و مهم بلاک چین است بنابراین شاردینگ در بلاک چین از اهمیت بالایی برخوردار است. در واقع با استفاده از شاردینگ در بلاک چین هر سه امتیاز امنیت و غیرمتمرکز بودن و مقیاسپذیری را میتوانیم با هم در بلاک چین داشته باشیم.
شاردینگ در بلاک چین چه مشکلی را حل می کند ؟
با توجه به سه مدل بلاک چین که معرفی شد هر دسته از این بلاکچینها میتوانند از سه حالت غیرمتمرکز بودن، امنیت و مقیاسپذیری تنها دو مورد را به طور همزمان بدست آورد. برای اینکه با حفظ امنیت شبکه بتوانیم بلاک چین خود را غیرمتمرکز نگه داریم همه نودها در بلاک چین باید تمامی تراکنشها در شبکه را پردازش کنند. با توجه به این موضوع شبکه بلاک چین تنها قادر است تعداد محدودی از تراکنشها را در یک زمان پردازش کند.
در واقع هر نود اطلاعات تمامی تراکنشها را پردازش و ذخیره میکند. در شبکههایی همانند بیت کوین نودها به این ترتیب عمل میکنند و به این دلیل غیرمتمرکز هستند. در این شبکهها هر نود کامل بلاک چین نسخهای از تمامی تراکنشهای شبکه را دارد. این موضوع حملات هکرها به شبکه را بسیار دشوار میکند. ولی از طرفی دیگر پردازش تراکنشها در شبکه به کندی صورت میگیرد. بنابراین این بلاکچینها مشکل مقیاسپذیری دارند.
با استفاده از شاردینگ در بلاک چین نودها مجبور نیستند تا تمام اطلاعات مربوط به تراکنشها در بلاکچین را پردازش کنند. این موضوع باعث بالا رفتن راندمان و پشتیبانی از کاربران بیشتری میشود.
نحوه عملکرد شاردینگ در بلاک چین
برای درک بهتر نحوه عملکر شاردینگ در بلاک چین برای افزایش مقیاسپذیری در بلاک چین در ابتدا بهتر است نحوه ذخیرهسازی و پردازش اطلاعات در بلاک چین را بررسی کنیم و سپس با شاردینگ اتریوم آشنا شویم.
نودها در بلاک چین
هر یک از نودها در بلاک چین وظیفه دارند تا تمامی حجم تراکنشهای بلاک چین را پردازش کنند. هر کدام از نودها مستقل هستند و تمامی اطلاعات بلاک چین را در خود ذخیره میکنند. به عبارتی دیگر تمامی نودهای شبکه باید اطلاعات مهمی از قبیل موجودی حسابها و تاریخچه تراکنشها را ذخیره کنند. بنابراین ساختار بلاک چین بهگونهای طراحی شده است که همه نودها باید تمامی تراکنشها و اطلاعات بستر بلاکچین را پردازش کنند.
این عملکرد بلاک چین باعث افزایش امنیت شبکه میشود ولی مشکلی که وجود دارد این است که این ساختار باعث کندی شبکه میشود. شاردینگ حجم تراکنشها در شبکه را بهگونهای توزیع میکند تا هر نود در بلاک چین مجبور نباشد تمامی تراکنشهای موجود در بلاک چین را پردازش کند. در واقع شاردینگ حجم تراکنشها را بین قسمتهای تفکیک شدهای در شبکه تقسیم میکند.
شاردینگ اتریوم
شاردینگ در بلاک چین راهکاری است که میتواند با حفظ امنیت و غیرمتمرکز ماندن شبکه، مقیاس پذیری در بلاک چین را نیز افزایش دهد. بلاک چین اتریوم با توجه به افزایش کاربران شبکه و ضرورت حفظ غیرمتمرکز بودن و امنیت شبکه راهکار شاردینگ در بلاک چین را برای افزایش مقیاسپذیری بلاک چین انتخاب کرده است. برای درک بهتر نحوه کارکرد شاردینگ در بلاک چین اتریوم در ابتدا به توضیح مفهوم State در بلاک چین و زنجیره شارد اتریوم میپردازیم.
State در بلاک چین چیست ؟
«وضعیت» (State) در بلاک چین به اطلاعات موجود در شبکه در هر لحظه گفته میشود. در بستر اتریوم نیز «وضعیت شبکه» اطلاعات بلاک چین اتریوم در هر لحظه را بیان میکند. این اطلاعات شامل موارد مختلفی از قبیل قراردادهای هوشمند، اطلاعات مربوط به حسابها و دیگر اطلاعات شبکه است. لازم به ذکر است هر تراکنش جدیدی وضعیت شبکه بلاک چین را تغییر میدهد.
زنجیره شارد اتریوم چیست ؟
در بلاک چین اتریوم «زنجیره شارد» (Shard Chain) خرده زنجیرهایی هستند که بخشی از شبکه بلاک چین را در خود جای میدهند و تراکنشهای مربوطه را پردازش میکنند. زنجیرههای شارد شده در بستر اتریوم همانند بلاکچینهایی کوچک هستند که بهطور مستقل فعالیت دارند. برای اینکه امنیت شبکه حفظ شود هر زنجیره شارد سابقهای از تراکنشها را در بازههای زمانی منظم به زنجیره اصلی اتریوم یا «بیکن چین» (Beacon Chain) ارسال میکند.
با توجه به اینکه هر زنجیره شارد نودهایی مخصوص به خود برای پردازش تراکنشهای موجود دارد بنابراین این زنجیره شاردها میتوانند بهطور موازی تراکنشهای مربوط به خود را پردازش کنند. این فرآیند تأخیر در پردازش تراکنشها را در شبکه بسیار کاهش میدهد و توان عملیاتی شبکه بلاک چین را بالا میبرد. کندی شبکه در پردازش اطلاعات در زمان شلوغی به دلیل عدم مقیاسپذیری بلاک چین اتریوم و لزوم حفظ غیرمتمرکز بودن شبکه در هنگام افزایش مقیاسپذیری از دلایل اصلی اجرای شاردینگ در اتریوم است.
نحوه کارکرد شاردینگ اتریوم
شاردینگ در بلاک چین اتریوم این شبکه را به 64 زنجیره شارد تقسیم میکند. هر زنجیره شارد «وضعیت» مستقلی خواهد داشت. به این معنی که نودها در هر شارد موظف به ذخیره اطلاعات مربوط به حسابها و قراردادهای هوشمند و پردازش این اطلاعات به عنوان بخشی از کل اطلاعات موجود در بستر اتریوم هستند.
فرض کنید اتریوم دارای 10 هزار «اعتبار سنج» (Validators) و 100 زنجیره شارد است. در شارد 1 ولیدیتور یا اعتبارسنجی برای قراردادن تراکنشها در یک «مجموعه تراکنش» (Collation) انتخاب میشود. بقیه اعتبارسنجها این مجموعه تراکنش را بررسی و اعتبارسنجی تراکنشهای آن را انجام میدهند. اگر دو سوم اعتبارسنجها مجموعه حاوی تراکنشها را تأیید کنند این مجموعه به زنجیره اصلی ارسال میشود.
مطلبی که در بالا مطالعه کردید بخشی از مجموعه مطالب «آموزش ارزهای دیجیتال — راهنمای مفاهیم و اصطلاحات رمزارزها» است. در ادامه، میتوانید فهرست این مطالب را ببینید:
- دفتر کل توزیع شده چیست ؟ — توضیح DLT به زبان ساده
- بلاک چین چیست و چگونه کار می کند؟ — به زبان ساده
- کاربرد بلاک چین چیست ؟ — هر آنچه باید بدانید
- هش در بلاک چین چیست ؟ – به زبان ساده
- آموزش ارز دیجیتال به زبان ساده — بهترین راهنما برای شروع مبتدی ها
- آموزش بلاک چین ، رمزارزها و بیت کوین جادی — رایگان + دانلود همه بخشها
- اصطلاحات ارز دیجیتال که باید بدانید + توضیح به زبان ساده
- رمز ارز چیست ؟ — آموزش کامل به زبان ساده
- استخر نقدینگی چیست ؟ – توضیح Liquidity Pool به زبان ساده
- انواع بلاک چین چیست ؟ — به زبان ساده
- تفاوت های بلاک چین های عمومی و خصوصی — به زبان ساده
- کریپتو چیست ؟ — به زبان بسیار ساده
- راه های کسب درآمد از ارز دیجیتال – ۱۰ روش کلیدی که باید بدانید
- آموزش رمزنگاری رایگان + مفاهیم پایه و منابع یادگیری — به زبان ساده
- ارز دیجیتال چیست ؟ — به زبان ساده
- صرافی ارز دیجیتال — کدام صرافی آنلاین ارز دیجیتال برای ایرانیان بهتر است؟
- بهترین کیف پول ارز دیجیتال کدام است ؟ | راهنمای استفاده تصویری گام به گام
- کیف پول دیجیتال چیست و کدام کیف پول ارز دیجیتال بهتر است؟
- فورک چیست ؟ — انواع و تاثیر روی قیمت به زبان ساده
- وایت پیپر چیست ؟ — اهمیت و کاربرد به زبان ساده
- استخراج ارز دیجیتال چیست ؟ — راهنمای ماینینگ به زبان ساده
- الگوریتم اثبات کار چیست ؟ — Proof of Work به زبان ساده
- اثبات سهام چیست ؟ — Proof of Stake به زبان ساده
- استخراج اتریوم چیست و چگونه اتریوم استخراج کنیم؟ — از صفر تا صد
- انواع ارز دیجیتال چیست؟ — راهنمایی برای سرمایه گذاری آگاهانه
- توکن سوزی چیست ؟ — مفهوم، علت و تاثیر به زبان ساده
- آلت کوین چیست ؟ — توضیح مفهوم به زبان ساده
- شت کوین چیست ؟ — از مفهوم تا ویژگی ها و تشخیص به زبان ساده
- قرارداد هوشمند چیست ؟ — Smart Contract به زبان ساده
- توکن چیست ؟ — کاربرد و اهمیت به زبان ساده
- تفاوت کوین و توکن در ارز دیجیتال چیست ؟ — به زبان ساده
- دیفای چیست ؟ — توضیح مفهوم DeFi به زبان ساده
- فارمینگ ارز دیجیتال چیست ؟ — کشت سود به زبان ساده
- NFT چیست و چطور کار می کند ؟ | همه چیز درباره توکن غیر قابل معاوضه ان اف تی
- ساخت NFT — آموزش کامل و به زبان ساده
- فروش NFT — آموزش از صفر تا صد و کامل
- متاورس چیست ؟ — به زبان ساده
- خرید زمین در متاورس چیست و چگونه است؟ — راهنمایی برای همه
- چگونه وارد متاورس شویم ؟ — راهنمای صفر تا صد
- وب 3 چیست و چه نقشی در آینده اینترنت دارد؟ — نسل سوم وب به زبان ساده
- بیتکوین چیست و چگونه عمل میکند؟
- بهترین روش کسب درآمد از بیت کوین و ارز دیجیتال — راهنمای جامع
- بازار کریپتو چیست ؟ – به زبان ساده + مزایا و معایب
- هودل چیست و HODL کردن به چه معناست؟ — به زبان ساده
- ایردراپ چیست ؟ — آموزش دریافت ارز دیجیتال رایگان
- عرضه اولیه ارز دیجیتال چیست ؟ — هر آنچه باید در مورد ICO بدانید
- بهترین ارزهای دیجیتال در سال 1401 یا 2022 کدام هستند؟
- توکنومیک چیست ؟ – توضیح به زبان ساده
- اصطلاحات ترید ارز دیجیتال که باید بدانید – توضیح 83 اصطلاح کلیدی
- استیکینگ چیست ؟ – استیکینگ در ارز دیجیتال به زبان ساده
- بازار خرسی چیست ؟ – در ارز دیجیتال و بورس
- ماینینگ چیست ؟ – توضیح در ارز دیجیتال و به زبان ساده
- بلاک چین چگونه کار میکند؟ — به زبان ساده
- بازار گاوی چیست ؟ – در ارز دیجیتال و بورس
- ساخت کیف پول بیت کوین بلاک چین — راهنمای تصویری
- الگوریتم اجماع چیست ؟ – به زبان ساده + انواع و کاربردها
- گره در بلاک چین چیست ؟ – توضیح نود Node به زبان ساده
- شاردینگ در بلاک چین چیست ؟ – به زبان ساده(همین مطلب)
- مقیاس پذیری در بلاک چین چیست ؟ – توضیح به زبان ساده
- نانس چیست ؟ – توضیح عدد nonce در بلاک چین به زبان ساده
- ولیدیتور چیست ؟ – توضیح اعتبار سنج در ارز دیجیتال
- آزادسازی توکن چیست ؟ – توضیح Token Unlock به زبان ساده
- درخت مرکل در بلاک چین چیست ؟ – Merkle Tree به زبان ساده
- TXID چیست ؟ – پیگیری تراکنش ارز دیجیتال با شناسه تراکنش
- مارت در ارز دیجیتال چیست ؟ – توضیح روش پله ای به زبان ساده
- چگونه از ارز دیجیتال سود بگیریم؟ – راهنمای صفر تا صد