
سالهاست که سوال مقیاس پذیری blockchain در جوامع توسعه دهنده مورد بحث قرار گرفته است. شبکه های عمومی blockchain ، مانند Ethereum ، برای اعتبارسنجی معاملات به چندین گره نیاز دارند و توانایی مقیاس آنها را محدود می کنند.
به عنوان مثال ، اتریوم می تواند حدود 10-13 معاملات در ثانیه را پردازش کند. این در مقایسه با سیستم های متمرکز مانند ویزا ، قادر به اداره حداکثر 24000 TPS است.
اگر blockchains-و برنامه های غیرمتمرکز که روی آنها اجرا می شود-برای لذت بردن از پذیرش گسترده ، مقیاس پذیری در سطح جمعیت ضروری است.
علاوه بر blockchains Layer 2 ، Sharding یک راه حل پیشنهادی برای مقیاس بندی اتریوم برای پشتیبانی از کاربران بیشتر است. ایده Sharding این است که blockchain اصلی را به بخش های جداگانه تقسیم کنید ، بنابراین گره ها فقط باید زیر مجموعه ای از معاملات را تأیید کنند.
با اعتبار دادن به گره ها به صورت موازی ، توان شبکه می تواند افزایش یابد و DAPP ها می توانند برای پاسخگویی به نیازهای تعداد فزاینده ای از کاربران ، مقیاس شوند.

یک روش متداول در مدیریت پایگاه داده متمرکز ، Sharding پایگاه داده ، فرآیند تقسیم یک پایگاه داده بزرگ به تکه های کوچکتر ("Shards") برای بهبود کارآیی و مقیاس پذیری کاربرد با توزیع یک پایگاه داده در چندین دستگاه به طور موازی است.
با افزایش تعداد کاربران یا عملیات اجرا شده بر روی یک نرم افزار ، داده های ذخیره شده در پایگاه داده یک نرم افزار نیز انجام می شود. یک پایگاه داده بیش از حد بارگذاری بر عملکرد برنامه و تجربه کاربر آسیب خواهد گذاشت. بنابراین ، Sharding برای تسکین پایگاه داده ها و بهبود زمان بار ضروری است.
مثال Sharding Database
در اینجا یک تصویر برای توضیح در مورد پایگاه داده وجود دارد:
تصور کنید یک بانک اطلاعاتی وجود دارد که حاوی سوابق شخصی برای 100000 نفر از ساکنان در یک شهر است.
پیدا کردن اطلاعات برای یک فرد نیاز به محاسبه حدود 100000 معاملات دارد-یک کار گران قیمت و پر هزینه.
اما اگر این پایگاه داده بزرگ را به پایگاه داده های کوچکتر تقسیم کنیم ، چه اتفاقی می افتد؟
به عنوان مثال ، با گروه بندی همه ساکنان شهر با نام خانوادگی که با حروف خاص روی یک سرور منحصر به فرد شروع می شوند ، یافتن اطلاعات به منابع محاسباتی کمتری نیاز دارد ، وظایف برای تکمیل زمان کمتری نیاز دارند و مدیریت پایگاه داده آسان تر می شود.

شارد چیست؟
"Shard" به معنای "بخش کوچکی از کل" است. در مدیریت پایگاه داده ، یک زیر مجموعه از یک پایگاه داده بزرگ است که در یک سرور جداگانه میزبانی می شود. در حالی که هر قطعه حاوی تکه های داده است ، همه آنها یک مجموعه داده منطقی تشکیل می دهند.
با استفاده از مثال قبلی خود ، ما می توانیم در Shard ، "Shard 1" داشته باشیم ، برای ساکنان شهر با نام خانوادگی با "A" ، "Shard 2" ، برای کسانی که دارای نام خانوادگی هستند از "B" شروع می کنند و غیره.
اگر این قسمت های منطقی را با هم ترکیب کنید ، یک مجموعه داده واحد از سوابق را برای همه ساکنان شهر دریافت می کنید.
Sharding در شبکه های blockchain همان فرآیند را با پایگاه داده های متمرکز دنبال می کند ، جایی که می توان یک شبکه blockchain را "خرد کرد" یا به بخش های مجزا تقسیم کرد که در آن هر شارد بخشی از داده های blockchain را ذخیره می کند و مجموعه ای منحصر به فرد از معاملات را پردازش می کند.
با استفاده از Sharding ، شبکه های blockchain می توانند تأخیر و مقیاس پذیری شبکه را بهبود بخشند.
چه مشکلی در شبکه های blockchain با هدف حل وجود دارد؟
از آنجا که همه گره ها باید در مورد اعتبار معامله به اجماع (یعنی موافق) برسند ، شبکه های blockchain فقط می توانند تعداد کمی از معاملات را همزمان پردازش کنند.
به طور معمول ، هر گره کل تاریخچه blockchain را ذخیره می کند و هر معامله را پردازش می کند. این همان چیزی است که شبکه های blockchain مانند اتریوم و بیت کوین را "غیر متمرکز" می کند.
با داشتن هر گره کامل که دارای یک نسخه از تاریخچه کامل شبکه است ، بازیگران مخرب برای ربودن شبکه و بازنویسی بالقوه معکوس یا بازنویسی برای بازیگران مخرب سخت تر می شوند.
اطمینان از عدم تمرکز و امنیت blockchain ، با هزینه مقیاس پذیری همراه است.
blockchains sharded به گره ها اجازه می دهد تا از بارگیری کامل تاریخچه blockchain استفاده کنند یا هر معامله ای را که از طریق شبکه عبور می کند ، تأیید کنند و این باعث افزایش راندمان شبکه می شود و blockchains را قادر می سازد تا از تقاضای بیشتر کاربر پشتیبانی کنند.

زنجیره شارد چیست؟
در زمینه شبکه های blockchain ، یک زنجیره Shard بخشی از داده ها را شامل می شود و بخشی از مسئولیت های پردازش معامله را اداره می کند.
زنجیرهای شارد مانند مجموعه ای از مینی بلوک های که به طور مستقل فعالیت می کنند ، و برای حفظ امنیت ، هر یک از زنجیره های Shard سابقه ای از معاملات را به زنجیره اصلی (زنجیره چراغ) در فواصل منظم از طریق قرارداد معتبر مدیر (VMC) ارسال می کند.
از آنجا که هر زنجیره Shard دارای سابقه معاملات منحصر به فرد و مجموعه ای از گره ها برای اعتبارسنجی معاملات جدید خواهد بود ، چندین زنجیره Shard می توانند به طور همزمان برای تقویت تأخیر شبکه و توان از طریق پردازش موازی اجرا شوند.

Ethereum در حال برنامه ریزی برای اتخاذ Sharding به عنوان یک راه حل مقیاس پذیر پس از به روزرسانی های Ethereum POS ، که مجموعه ای از به روزرسانی هایی است که برای بهبود عملکرد Ethereum 1. 0 طراحی شده اند.
چرا Sharding لازم است؟
دو مشکل اصلی وجود دارد که نیاز به شارداری در اتریوم دارد: توانایی حمایت از افزایش نمایی در کاربران و لزوم عدم تمرکز در مقیاس.
1. از تعداد فزاینده ای از کاربران پشتیبانی کنید
ساختار فعلی اتریوم باعث می شود که نتواند افزایش نمایی در استفاده را انجام دهد.
در حال حاضر ، تمام گره های اتریوم وضعیت کامل دستگاه مجازی Ethereum (EVM) ، از جمله کد قرارداد هوشمند و مانده حساب را ذخیره می کنند.
علاوه بر این ، معاملات بصورت خطی انجام می شوند و نیاز به تأیید کل شبکه دارند.
معامله به صورت خطی و نیاز به گره ها برای مدیریت مجموعه های بزرگ داده ها ، شبکه را انجام می دهند.
2. عدم تمرکز در مقیاس
نیاز به گره ها برای نگه داشتن یک کپی کامل از blockchain همچنین مسائل متمرکز را ایجاد می کند. در حال حاضر ، Ledger Ethereum 10+ Terabytes از فضای ذخیره سازی را به خود اختصاص می دهد ، که 10 برابر آن است که یک کامپیوتر متوسط می تواند داشته باشد.
از آنجا که blockchain Ethereum در حال رشد است ، اجرای یک گره اتریوم ممکن است دشوار شود و تنها چند گره را مسئول تأمین امنیت شبکه می گذارد. این مجدداً متمرکز شدن و مشکلات تک نقطه ای از نقص Ethereum برای حل آن طراحی شده و ارزش آن را کاهش می دهد.
Sharding می تواند هر دو مشکل را حل کند.
Sharding باعث افزایش مقیاس پذیری بهتر می شود زیرا گره ها می توانند به طور همزمان معاملات مختلف را تأیید کنند و تقسیم داده های معامله ای به تکه های کوچکتر ، اجرای یک گره کامل را آسان تر می کند ، که این امر خطر تمرکز را کاهش می دهد.
به روزرسانی پروتکل Casper Ethereum چیست؟
کاسپر یک نسخه پروتکل است که اجماع اثبات سهام را به blockchain Ethereum معرفی می کند. Ethereum در حال حاضر از الگوریتم اجماع اثبات کار استفاده می کند که قبل از اضافه کردن معاملات جدید به زنجیره ، گره ها را برای حل معماهای رمزنگاری نیاز دارد.
در حالی که اثبات کار ، عدم تمرکز و امنیت را تشویق می کند ، اعتبارسنجی معاملات نیاز به انرژی زیادی دارد و سرعت پردازش را کاهش می دهد ، که می تواند اثرات منفی بر محیط و تجربه کاربر Web3 داشته باشد.
با به روزرسانی Casper ، Ethereum از اثبات کار به اثبات سهام تبدیل می شود. به جای رقابت برای اضافه کردن معاملات جدید ، اعتبار سنج ها برای حق پیشنهاد بلوک های جدید ، اتر را در یک قرارداد هوشمند قرار می دهند.
در یک POS Ethereum ، زنجیره اصلی (زنجیره چراغ) به عنوان لایه اجماع و هماهنگی برای زنجیرهای Shard خدمت می کند. تمام زنجیره های Shard کاملاً با زنجیره اصلی همراه هستند و امنیت سیستم را تقویت می کنند. بلوک های Shard فقط در صورت تأیید توسط زنجیره اصلی می توانند معتبر باشند.
در صورت اتخاذ Sharding ، اعتبار سنج ها (دفتر اسناد رسمی) به طور تصادفی به بخش های جداگانه اختصاص داده می شوند تا به اعتبار مجموعه ها رأی دهند. برای افزودن یک جمع به زنجیره اصلی ، باید حداقل از دو سوم اسناد رسمی در قسمت تأیید تأیید شود.

قبل از اینکه توضیح دهیم که چگونه Sharding کار می کند ، در اینجا تعاریف مهمی وجود دارد:
حالت
ایالت به اطلاعات مربوط به یک سیستم در هر مقطع زمانی اشاره دارد. در اتریوم ، ایالت توضیحی از شبکه در یک زمان خاص است - کد قرارداد ، حساب ها ، مانده آدرس و غیره. هر معامله جدید وضعیت اتریوم را تغییر می دهد.
درخت مرکل
یک درخت یا ریشه مرکل یک مکانیسم رمزنگاری است که مقادیر زیادی از اطلاعات را از طریق هش ذخیره می کند. درختان/ریشه های مرکل برای امنیت اتریوم ضروری هستند ، زیرا به آنها اجازه می دهند گره ها به سرعت تأیید کنند که آیا یک قطعه از داده ها بخشی از ساختار بزرگتر است.
جمع سازی
جمع آوری گروهی از معاملات انجام شده بر روی یک زنجیره Shard ، شبیه به یک بلوک در اثبات کار (POW) است. مجموعه ها به زنجیره اصلی ارسال می شوند و برای تشکیل blockchain به هم پیوند می خورند.
هدر
هدر جمع آوری شبیه به یک هدر بلوک در اجماع اثبات کار است. یک هدر جمع آوری حاوی ابرداده در مورد اطلاعات موجود در جمع آوری مانند:
- یک قطعه منفرد که متعلق به آن است
- هش اصلی جمع آوری والدین
- ریشه Merkle همه معاملات در یک جمع آوری
- ریشه قبل از حالت و ریشه بعد از حالت
- امضاهای اسناد رسمی

دفتر اسناد رسمی
دفتر اسناد رسمی معتبر هستند که به طور تصادفی به یک زنجیره Shard اختصاص داده می شوند تا به جمع های پیشنهادی رای دهند. این آراء "تصدیق" نامیده می شوند و اعتبار جمع آوری را اثبات می کنند. هر جمع بندی حداقل به ⅔ جمع کننده ها نیاز دارد تا قبل از اضافه شدن به زنجیره اجماع ، از آن خارج شوند.
پیشنهاد دهنده
یک پیشنهاد دهنده یک جمع کننده (یا اعتبار سنج) است که برای ایجاد یک جمع و پیشنهاد آن برای اعتبار سنجی انتخاب شده است. پیشنهاد دهنده وظایف مشابهی را که یک معدنکار در blockchains POW دارد ، دارد.
کمیته ها
کمیته مجموعه ای از اعتبار سنج ها یا اسناد رسمی است که اعتبار بلوک های شارد را گواهی می دهد. این کمیته ها به طور تصادفی در فواصل زمانی جابجا می شوند ، بنابراین اعتبار سنج ها نمی توانند پیش بینی کنند که کمیته (ها) در چه کمیته ای قرار می گیرند.
به روزرسانی Ethereum Sharding ، blockchain Ethereum را به 64 زنجیر Shard تقسیم می کند. هر زنجیره شارد دارای یک وضعیت مستقل خواهد بود ، به این معنی که گره ها زیر مجموعه ای از مانده حساب ، کد قرارداد هوشمند را ذخیره می کنند و بخشی از کل معاملات را پردازش می کنند.
چگونه ممکن است Ethereum pos در عمل کار کند؟
تصور کنید Ethereum دارای 10،000 اعتبار سنج و 100 زنجیره Shard است.
از طریق یک پروتکل Pseudorandom ، اعتبار سنجی واجد شرایط ، که ETH را در قرارداد Manager Validator (VMC) واریز کرده اند ، و به Shards 1-100 اختصاص داده می شوند.
در Shard 1 ، یک اعتبار سنج (پیشنهاد دهنده) برای گروه بندی معاملات جدید به یک جمع انتخاب می شود.
سایر اعتبار سنج ها (اسناد رسمی) جمع آوری را بارگیری کرده و اعتبار معاملات را تأیید می کنند.
اگر دو سوم دفتر اسناد رسمی به جمع آوری گواهی دهند ، از طریق VMC به زنجیره اصلی ارسال می شود.
توجه به این نکته حائز اهمیت است که کل جمع شدن به زنجیره چراغ اضافه نمی شود-تأیید و تأیید زمان برای تأیید همه از هر قسمت.
در عوض ، گره های معتبر در زنجیره اصلی به سادگی تأییدیه ها (امضاها) را برای هر جمع بندی بررسی می کنند تا اعتبار آن را تعیین کنند.

به لطف هدرهای جمع آوری ، هر کسی می تواند فعالیت را در هر قسمت تأیید کند.
هدرهای جمع آوری به عنوان "پیوندهای متقابل" و توضیحات دولت و معاملات در قسمتهای مختلف عمل می کنند. بنابراین ، ارتباطات متقاطع باعث می شود دیدگاه سطح بالایی از شبکه اتریوم داشته باشد بدون اینکه بخشی از هر قسمت باشد.
در حالی که Sharding ETH2 نوید بسیاری از مزایای آن را می دهد ، مجموعه جدیدی از مشکلات را معرفی می کند:
- گره های کمتری که هر یک از آنها را اجرا می کنند ، فعالیت مخرب ، مانند حمله 51 ٪ آسانتر می شوند.
- کد پیچیده تر ، خطر آسیب پذیری امنیت قرارداد هوشمند افزایش می یابد.
- اعضای کمیته می توانند برای ارائه معاملات مخرب به زنجیره اصلی تبانی کنند.

اقدامات امنیتی پروتکل Sharding ETH2
خوشبختانه ، نقشه راه Sharding Ethereum چندین مکانیسم برای بهبود امنیت پروتکل های Sharding دارد.
اولین مورد از این پروتکل های امنیتی شامل استفاده از اثبات کلاهبرداری برای تأیید معاملات در زنجیره های Shard است. همانطور که ویتالیک باترین توضیح می دهد ، از اثبات کلاهبرداری می توان برای اثبات اعتبار معاملات و مجازات فعالیت های نامشخص استفاده کرد.
مکانیسم دوم از نمونه گیری تصادفی برای جلوگیری از تبانی استفاده می کند. اگر اعتبار سنج ها نمی دانند در کدام قسمت به پایان می رسند ، هماهنگی حمله به سیستم سخت تر می شود. در این سناریو ، حمله 51 درصدی به زنجیره Shard غیرممکن می شود.
حداقل از سال 2013 بحث و گفتگو در مورد Sharding در جامعه اتریوم ادامه داشته است ، اما توسعه دهندگان به دلیل خوب به تعویق افتاده اند. Sharding بسیار پیچیده است و خطرات جدیدی را به وجود می آورد ، بنابراین آزمایش دقیق لازم برای انجام هرگونه کنگره است.
به گفته Ethereum. org ، پس از وقوع "ادغام" ، Sharding روی اتریوم می چرخد. برای زمینه ، ادغام به رویدادی اشاره دارد که شبکه اصلی Pow Ethereum (MainNet) با زنجیره چراغ ادغام می شود.
زنجیره Beacon یک اجرای سیستم ضد سهام Casper است و تصادفی مورد نیاز برای ایجاد یک سیستم شاردری کاربردی را تولید می کند. این زنجیره در اول دسامبر 2020 به صورت زنده رفت.
در بخش بعدی ، ما مختصراً از اجرای Sharding در اتریوم ارائه می دهیم:
بحث و گفتگو در مورد Sharding از سال 2013 در جامعه اتریوم ادامه داشته است ، اما توسعه دهندگان اتریوم به تعویق افتاده اند زیرا این امر بسیار پیچیده است و خطرات جدیدی را معرفی می کند ، که برای راه اندازی موفقیت آمیز نیاز به آزمایش دقیق دارد.
در اینجا مختصراً از جدول زمانی Sharding Ethereum آورده شده است:
جدول زمانی Sharding ETH 2. 0 چیست؟
به گفته Ethereum. org ، Sharding پس از "ادغام" در اتریوم مستقر خواهد شد ، یا هنگامی که شبکه اصلی POW Ethereum (MainNet) با زنجیره چراغ ادغام می شود.
فاز 1 Sharding
این مرحله احتمالاً تا سال 2023 آغاز خواهد شد ، جدول زمانی برنامه ریزی شده اتریوم. با این حال ، هنوز تاریخ مشخصی برای جدول زمانی Sharding مشخص نشده است.
در اینجا یک مرور کلی از مرحله اول Sharding Ethereum ممکن است به نظر برسد:
- قرارداد Manager Validator (VMC) میزبان زنجیره Beacon مسئول هماهنگی فرآیند Sharding است
- اعتبار سنجی آینده نگر ETH2 موظف است قبل از اضافه شدن به استخر اعتبار سنجی واجد شرایط ، 32 ETH را در قرارداد هوشمند قفل کند
- VMC اعتبار سنجی را در فواصل زمانی برای تأیید و پردازش مجموعه های معامله به زنجیره اجماع اختصاص می دهد
- SHARD ها فقط به عنوان "انبارهای داده" برای افزایش توانایی های پردازش داده های شبکه Ethereum خدمت می کنند.
فاز 2
مرحله دوم به روزرسانی ETH POS کمتر تعریف شده است ، زیرا توسعه دهندگان در مورد برخی از جنبه ها بحث می کنند. با این حال ، ما می توانیم انتظار داشته باشیم که Ethereum Sharding Fase 2 در عمل به این شکل باشد:
- شرابها از لایه های داده به لایه های اجرای کد حرکت می کنند.
- هر شارد مانند Maiet Ethereum با قرارداد هوشمند کامل و پشتیبانی DAPP عمل می کند
- ارتباطات متقاطع به کاربران در زنجیره های مختلف Shard اجازه می دهد تا ارزش مبادله را داشته باشند.
- DAPP هایی که روی زنجیره های مختلف Shard اجرا می شوند می توانند با استفاده از ارتباطات متقاطع ، با یکدیگر صحبت کنند و با یکدیگر ارتباط برقرار کنند و عملکرد مقیاس پذیری Ethereum را بهبود بخشند.
با استفاده از زنجیره های چند ضلعی به طور همزمان ، گره ها می توانند ظرفیت پردازش معاملات خود را افزایش داده و قادر به پردازش مقادیر بیشتری از داده های زنجیره ای باشند.
در ادامه مثال قبلی ، اگر 100 زنجیره Shard در حال پردازش 100 معاملات در ثانیه باشد ، Ethereum 2. 0 قادر به دستیابی به 10،000 TPS خواهد بود.
تنها اطلاعاتی که از Shards منتشر شده در زنجیره لایه پایه منتشر شده است ، عنوان های جمع آوری - اثبات روایت روایی اعتبار است - بنابراین تأیید معاملات و تعهد به زنجیره لایه اجماع برای گره های معتبر آسان تر می شود.
نتیجه نهایی سریعتر معامله و تأخیر شبکه بالاتر است.
در حالی که تخمین ها متفاوت است ، پیش بینی می شود معرفی Sharding Ethereum را برای رسیدگی به صدها هزار معاملات در ثانیه انجام دهد.
با داشتن نرخ TPS بالاتر ، Ethereum می تواند مقیاس پذیری را که DAPP ها برای استفاده از سنبله ها در استفاده و میلیاردها کاربر نیاز دارند ، فراهم کند.
آموزش کار در فارکس...
ما را در سایت آموزش کار در فارکس دنبال می کنید
برچسب :
نویسنده : Mihayloo
بازدید : <-PostHit->
تاريخ : يکشنبه
14 اسفند
1401 ساعت: 17:57