شاردینگ در اتریوم 2
0

شاردینگ در اتریوم 2

بازدید : 127

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

شاردینگ در پایگاه داده

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

شاردینگ در اتریوم
شاردینگ در پایگاه داده

Sharding یک روش تقسیم و ذخیره یک مجموعه داده در چندین پایگاه داده است. با توزیع داده ها در بین چندین ماشین ، مجموعه ای از سیستم های پایگاه داده می توانند داده های بزرگتری را ذخیره کرده و درخواست های اضافی را مدیریت کنند. اگر مجموعه داده خیلی بزرگ باشد و در یک پایگاه داده ذخیره نشود ، Sharding ضروری است.

Sharding فرآیند تقسیم یک پایگاه داده به صورت افقی برای گسترش بار و پردازش سریع تر است . این یک مفهوم رایج در علوم کامپیوتر است.

شاردینگ در اتریوم

اتریوم دومین بلاک چین بزرگ است که برای سهولت در ساخت برنامه های غیرمتمرکز طراحی شده است و به کاربران امکان کنترل بیشتر بر امور مالی و داده های خود را می دهد.

“Sharding” یک روش پیشنهادی برای تقسیم زیرساخت های اتریوم به قطعات کوچکتر با هدف مقیاس گذاری پلت فرم است تا بتواند کاربران بیشتری را پشتیبانی کند.در بلاکچین اتریوم ، Sharding با ایجاد زنجیره های جدید ، معروف به “shard” ، از ازدحام شبکه می کاهد و تعداد تراکنش ها را در ثانیه افزایش می دهد.

مزایای شاردینگ

Sharding مرکز حافظه Ethereum 2.0 است.

Sharding یک نسخه چند مرحله ای برای بهبود مقیاس پذیری و ظرفیت Ethereum است.

شارد با پایین نگه داشتن نیازهای سخت افزاری ، اجرای گره را آسان می کنند.

مثلث DCS (Decentralized, Consensus, Scalable)

یک بلاکچین ایده آل ، غیر متمرکز ، دارای اجماع و مقیاس پذیر است. اما در واقعیت ، یک بلاکچین نمی تواند هر سه مورد را همزمان داشته باشد.

شاردینگ در اتریوم
مثلث DCS

به عنوان مثال ، Ethereum و Bitcoin غیرمتمرکز ، سازگار (اجماع) هستند اما مقیاس پذیر نیستند. به همین ترتیب ، هایپرلجر سازگار و مقیاس پذیر است اما غیرمتمرکز نیست.

[irp posts=”3332″ name=”ویژگی های بلاکچین”]

سه گانه مقیاس پذیری(Scalability Trilemma)

تیم Ethereum سه گانه ای به نام مقیاس پذیری معرفی کرده اند. بر این اساس ، یک سیستم بلاکچین حداکثر می تواند دارای دو ویژگی از سه ویژگی زیر باشد:

شاردینگ در اتریوم
سه گانه مقیاس پذیری

تمرکززدایی(Decentralization)

امنیت (Security)

مقیاس پذیری (Scalability)

در حال حاضر ، Ethereum می تواند در هر ثانیه 12 تا30 تراکنش را پردازش کند. از این لحاظ بهتر از بیت کوین است که فقط می تواند 7 تا 10 تراکنش در ثانیه را پردازش کند.

هر گره در اتریوم باید تراکنش های شبکه را پردازش کند. آنها همچنین باید کل بلاک چین اتریوم (حدود 300 گیگابایت) را در رایانه خود ذخیره کنند. اینها دلایلی است که Ethereum 1.0 برای تراکنش های خرد مناسب نیست و از مشکلات مقیاس پذیری رنج می برد. بنابراین ، sharding تلاشی توسط اتریوم برای غلبه بر این مشکلات است.

از نظر پایگاه داده ، sharding فرآیند تقسیم یک پایگاه داده بزرگ به قطعات داده کوچکتر ، قابل کنترل و مقیاس پذیر است که داده های خرد شده (data shards) نامیده می شوند. یعنی ، به جای اینکه یک نفر مسئولیت همه کارها را بر عهده بگیرد ، وظایف بین چند نفر تقسیم می شود.

ویژگی های شاردینگ در اتریوم

  • همه می توانند یک گره را اجرا کنند

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

  • مشارکت بیشتر در شبکه

Sharding در نهایت به شما امکان می دهد Ethereum را روی لپ تاپ یا تلفن شخصی خود اجرا کنید. بنابراین افراد بیشتری می توانند در یک اتریوم شارد شده شرکت کنند یا کلاینت ها را مدیریت کنند. این امر امنیت را افزایش می دهد زیرا هرچه شبکه غیرمتمرکزتر باشد ، احتمال حمله کمتر خواهد بود.

پیاده سازی شاردینگ در اتریوم 2.0

قبل از ادامه ، بیایید چند اصطلاح مهم را در اینجا درک کنیم.

State: وضعیت ، به طور کلی ، مجموعه ای از اطلاعات است که یک سیستم را در هر لحظه از زمان توصیف می کند. در Ethereum ، این مجموعه حساب جاری است که شامل مانده حساب و کد قرارداد هوشمند در یک زمان مشخص است. با هر تراکنش جدید ، State تغییر می کند.

تراکنش: عملیاتی که توسط کاربر صادر می شود و وضعیت سیستم را تغییر می دهد. تراکنش می تواند انتقال اتر یا استقرار یک قرارداد هوشمند باشد.

Merkle Tree: یک ساختار داده است که می تواند مقدار زیادی داده را از طریق هش های رمزنگاری ذخیره کند.

در شاردینگ ، تاریخچه و وضعیت کل بلاک چین Ethereum به پارتیشن های جداگانه ای تقسیم می شود که shard نامیده می شوند. هر شارد وضعیت و تاریخ تراکنشهای مربوط به خود را خواهد داشت.

همانطور که ویتالیک ،خالق اتریوم بیان کرد: “یک راه آسان برای درک این مطلب این است که تصور کنید اگر اتریوم به هزاران جزیره تقسیم شود. هر جزیره می تواند کار خود را انجام دهد ، می تواند ویژگی های خاص خود را داشته باشد. اگر آنها بخواهند با جزایر دیگر ارتباط داشته باشند ، باید از نوعی پروتکل استفاده کنند “.

انواع مختلف گره در اتریوم نسخه2

  • گره کامل( Super-full node) : این گره ها داده های کامل beacon chain را بارگیری می کنند.
  • گره سطح بالا(Top-level node) : این گره ها فقط بلاک های زنجیره beacon chain را پردازش می کنند و تمام داده های بلاک های شارد را بارگیری نمی کنند.
  • گره تک شارد (Single-shard node ) : به عنوان یک گره سطح بالا عمل می کنند ، اما همچنین هر مجموعه ای را که خاص است و بیشتر به آن اهمیت می دهد ، بارگیری و تأیید می کند.
  • گره سبک (Light node) : فقط هدر بلاک های اصلی را بارگیری و تأیید می کند.

شاردینگ در اتریوم بر چه اساسی انجام می شود؟

یک روش برای شاردینگ، تقسیم بندی بر اساس آدرس است.

به عنوان مثال ، آدرس هایی که با 0x0 شروع می شوند یک شارد ، آدرس هایی که با 0x1 شروع می شوند یک شارد دیگر تشکیل می دهند و غیره.

شاردینگ در اتریوم
در شاردینگ در اتریوم هر شارد با یک آدرس متفاوت شروع می شود

مثال:

“فرض کنید باب 50 کوین در شارد B داشته باشد ، و آلیس از شاردA ، به تعداد 20 کوین به باب می فرستد ، اما شارد B هنوز از وضعیت شارد A اطلاعی ندارد و بنابراین نمی تواند انتقال را به طور کامل تأیید کند . اگر انتقال از آلیس معتبر باشد وضعیت حساب باب به طور موقت 70 کوین می شود در غیر این صورت مانده حسابش 50 کوین است. کلاینت هایی که توانایی احراز هویت شارد A و B را دارند می توانند از” نهایی بودن “انتقال مطمئن باشند. به محض اینکه انتقال در داخل زنجیره تأیید شد، بلافاصله ، کیف پول آنها می تواند به سادگی عمل انتقال را نشان می دهد.

همانطور که می دانید اعتبارسنج هایی وجود دارند که وظیفه تولید بلاک های مبتنی بر Proof-of-Stake را دارند. یک اعتبارسنج (پیشنهاد دهنده) به طور تصادفی (از طریق RANDAO) برای یک شارد خاص انتخاب می شود.

پس از آن ، اعتبارسنج بلاکی را پیشنهاد می کند که در قسمت شارد شده گنجانده شود. علاوه بر آن ، 99 اعتبار سنج دیگر (گواهی دهندگان) بلاک را تایید می کنند. هدر یک بلاک ، همراه با حداقل 67 امضای تأیید شده (رأی) ، می تواند به عنوان شی ای که در قسمت شارد شده گنجانده شود ، منتشر شود. به همین ترتیب در مراحل بعدی ، اعتبار سنج دیگری به طور تصادفی انتخاب می شود و روند ادامه می یابد.

محدودیت های شاردینگ در اتریوم

در حال حاضر ، شاردینگ از قراردادهای هوشمند پشتیبانی نمی کند. اما با پیشرفت های بیشتر در EVM ، قراردادهای هوشمند نیز به فناوری شاردینگ وارد می شوند.

یکی از بزرگترین موضوعات مربوط به شاردینگ ، Single-Shard Takeover Attack است که در آن یک مهاجم تمام قدرت هش خود را در یک شارد واحد متمرکز می کند تا یک شارد مخرب ایجاد کند. اتریوم پیشنهاد می کند که از طریق انتخاب تصادفی بر این مشکل غلبه کنیم.

دومین مشکل شاردینگ در اتریوم، تشخیص کلاهبرداری به ویژه در مورد ارتباطات cross-shard است . در صورتی که کسی یک بلاک نامعتبر پیدا کند ، هیچ پروتکل استانداردی وجود ندارد که گره های دیگر را از وجود آن آگاه کند.

نتیجه مطلب

Sharding یک رویکرد هوشمندانه برای حل مسئله مقیاس پذیری بلاک چین است. با این حال ، بدون اشکال نیست. به دلیل ساختار آن ،به خطر افتادن  یک قطعه در سیستم آسانتر از حمله به کل سیستم است.

 

 

0
0
برای اینکه به فکت این مقاله کمک کنید روی دکمه زیر کلیک کنید و تا افراد بیشتری آن را دنبال کنند
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه نظرات
محل تبلیغ
محاسبه‌گر ارزهای دیجیتال
ارز معادل
تومان

محاسبه با مبلغ تتر : تومان

0
نظر خود را بنویسید !x