حتما شما هم در حین مطالعه ی مقالات مرتبط با اتریوم با اسامی پیچیده ی زیادی برخورده اید ، کسپر ، اتریوم ۲٫۰ ، پلاسما ، شاردینگ (sharding) و …
تمامی این اسامی به ظاهر پیچیده از یک دلیل اصلی منشا میگیرند :

راهکار های مقیاس پذیری (scalability solutions)

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

بزارید با یک مثال ساده توضیح بدیم .
یک مغازه ی شیرینی پزی را تصور کنید که حالت عادی در هر ساعت ۱۰ مشتری دارد ، بعد از مدتی این مغازه به دلیل کیفیت ۵خوب و شیرینی های خوشمزه اش معروف میشه و جمعیت زیاده برای خرید شیرنی به این مغازه میروند ، اتفاقی که میفته چیه ؟!!!
مغازه ظرفیت کمی داره و توانایی سرویس دهی به این همه مشتری رو نداره ، در نتیجه این افراد باید مدت زمان زیادی در یک صف طولانی معطل بشوند و سرویس دهی به شدت کند میشه …

این همون مشکلی است که بیتکوین و اتریوم با آن دست و پنجه نرم میکنند >>> مقیاس پذیری <<<

 

توسعه دهندگان ارز های دیجیتال راه حل های زیادی برای حل این مشکل ارائه داده اند و خیلی از این راه حل ها در برنامه ی زمان بندی قرار گرفتند تا در آینده به اجرا در بیایند .
یکی از این راه حل ها که برای ملکه ی ارز های دیجیتال (اتریوم) معرفی شده و قصد داره مقیاس پذیری شبکه ی این ارز را تا حد زیادی افزایش دهد ، شاردینگ (sharding) است ، و اما شاردینگ (sharding) به چه معنی است و قرار است چه کاری انجام دهد ؟!
در این مقاله مفصلا شاردینگ (sharding) را برای شما عزیزان توضیح خواهیم داد ، اما قبل از آن باید با دفتر کل های توزیع شده و ساز و کار آنها آشنا شویم .

 

scalability

فناوری دفتر کل توزیع شده (DLT) چیست؟

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

 

شبکه های DLT همگرا هستند، به این معنی که عملکرد مدیریت متمرکز و ذخیره متمرکز اطلاعات وجود ندارد.
بلاکچین های عمومی مانند بیت کوین و اتریوم، بهترین نمونه های DLTs میباشند .

DLTs به ماشین های مستقل یا گره نیاز دارند تا ضبط، همگام سازی و به اشتراک گذاری معاملات را در رشته های مرتبط خود انجام دهند.
لجرهای توزیع شده را می توان مجاز یا غیر مجاز دانست، بسته به اینکه آیا گره ها نیاز به مجوز تغییر لجر دارند یا خیر.لجرها دو نوعند: عمومی یا خصوصی ، بسته به اینکه آیا هر کسی می تواند به لجر دسترسی داشته باشد یا خیر .

DLTs برای چه استفاده می شود؟

DLTs می تواند برای ایجاد موارد زیر استفاده شود:
۱- ارزهای دیجیتال
۲- اشیای دیجیتال منحصر به فرد
۳- اشیاء دیجیتالی با ارزش ذاتی (مانند بلیط)
ما می توانیم بسیاری از پرونده های مربوط به استفاده از این موارد را استخراج کنیم، از جمله: رمزنگاری ارز، خدمات دفتر اسناد رسمی، بازپیش بینی، قراردادهای هوشمند، مسیرهای حسابرسی، گزارشات نظارتی، ساده سازی پاکسازی و حل و فصل، هویت دیجیتالی و غیره. و این فقط آغاز است.

حالا که با دفتر کل های توزیع شده آشنا شدیم میتونیم به سراغ شاردینگ (sharding) و بررسی راه حل آن بریم .

شاردینگ (sharding) به زبان ساده یعنی تقسیم بندی کردن یک پایگاه داده واحد به قطعات کوچکتر و قابل کنترل تر.
در لغت به معنی بخش کوچکی از یک بخش بزرگ تر است.
در واقع شاردینگ (sharding) با حفظ غیر متمرکز بودن و امنیت شبکه یک مقیاس عملی برای برنامه‌های کاربردی ایجاد می کند.
حالا بیاین یکم تخصصی تر به شاردینگ (sharding) نگاه کنیم ، بطور کلی برای تقسیم بندی پایگاه داده ( یعنی همون کاری که شاردینگ (sharding) انجام میده ) دو روش اصلی وجود داره :
۱- پارتیشن بندی عمودی
۲- پارتیشن بندی افقی


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

به عنوان مثال: تمام معاملات آمستردام در یک جدول و تمام معاملات اروپا را در جدول دیگری قرارمی دهد.

پارتیشن بندی افقی جدول پایگاه داده را به مجموعه های جداگانه ردیف تقسیم می کند و این ردیف ها در نمونه های پایگاه داده های مختلف ذخیره می شوند. یک نمونه ساده از این می تواند “سرور ۱” که ردیف های ۱ تا ۱۰۰۰۰ را دریافت می کند و “سرور ۲” که ردیف های ۱۰،۱۰۰ تا ۲۰٫۰۰۰، و غیره را می گیرد.

چرا شاردینگ (sharding) مهم است ؟

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

sharding

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

آیا حضور شاردینگ (sharding) در کنار DLT میتواند منجر به تقلب در شبکه شود ؟

بطور کلی به جهت وجود سیستم توافق جمعی در دفتر کل های توزیع شده امکان حمله به این شبکه و هک کردن آن تقریبا غیر ممکن است .
زیرا هر تغییر کوچکی که در شبکه انجام میشود باید به کل شبکه اعلام گردد و در این صورت برای نابود کردن بخش کوچکی از شبکه باید اطلاعات تمام قسمت ها رو از بین برد که عملا غیر ممکن است .
اما اگر شاردینگ (sharding) اجرا شود و شبکه یDLT به چندین جزء تقسیم گردد در این صورت یک عضو متقلب میتونه با منابع محاسباتی خیلی کمتر در قسمت کوچکی از شبکه تغییر ایجاد کنه به عنوان مثال،
اگر شما DLT را به دو جزء تقسیم کنید، با نیمی از گره های شما که بر روی یک شارد و نیمی دیگر بر روی دیگری کار می کنند، اکنون فقط ۲۵٪ از قدرت هش به شبکه برای حمله به یکی از دو جزء نیاز دارید. با گره های کافی که منعکس کننده این هزینه نادرست است، احتمال دو بار خرج کردن پول ممکن میشود . و در حقیقت میشه دست به تقلب زد و درستی شبکه رو زیر سوال برد .
اگر به یاد داشته باشید در اواخر ماه مه سال ۲۰۱۸، در برابر تبادل بیتکوین گلد یک حمله انجام شد. در این حمله، یک بازیگر بد توانست بیش از ۵۰٪ از کل هش قدرت قدرت شبکه را بدست بیاره و یک زنجیره ی فرعی ایجاد کنه به نفع خودش .
با انجام این کار، قادر به تغییر و حذف معاملات سکه های خود از بلوک شدند. پس از آن،معامله هایی را که قبلا تایید شده بودند، معکوس کردند.
در حال حاضر از سرورهای شاردینگ (sharding) در پلتفرم بلاک چین، برای ارائه راه حل‌های مناسب استفاده می شود.
شاردینگ (sharding) به طور مستقیم فقط در سطح پروتکل کار می کند اما توسعه دهندگان ارزهای دیجیتال در تلاشند تا شاردینگ (sharding) را در یک شبکه وسیع و غیرمتمرکز با حذف احتمال حمله به شبکه راه اندازی و اجرایی کنند که هنوزمحقق نشده است .
و اگر این امر ممکن شود ، موفقیت بسیار بزرگی خواهد بود و نقش به سزایی در رشد ارز های دیجیتال و کاربردی تر شدن آنها خواهد داشت.

امتیاز
[تعداد رای: ۰ میانگین: ۰]

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *