بلاک چین به عنوان انقلابی در دنیای تکنولوژی و اینترنت دارای ایرادات مختلفی است. هر چند این مشکلات و ایرادات قابل هستند و توسعه دهندگان همواره راههای جدیدی برای مقابله با این مشکلات ایجاد میکنند. یکی از اصلیترین مشکلاتی که بلاک چینهای بزرگ و معروف با آن روبرو هستند، مقیاس پذیری است.
مقیاس پذیری در اکثر بلاک چینهای بزرگ مانند اتریوم ( ETH ) و بیت کوین ( BTC ) بسیار ضعیف است که مکانیزم شاردینگ میتواند یکی از بهترین راه حلها برای آن باشد. شاردینگ مکانیزمی است که بلاک چین اتریوم در جدیدترین نسخه خود از آن استفاده میکند و توانسته مشکلات مقیاس پذیری خود را تا حد زیادی حل کند. اما این مکانیزم چیست و به چه نحوی توانسته سرعت انجام تراکنشها در دنیای بلاک چین را حل کند؟ کیف پول من به این سوالات در ادامه پاسخ خواهد داد.
موضوع 📜 | بررسی مکانیزم شاردینگ در بلاک چین |
مدت زمان مطالعه ⌛ | 8 دقیقه |
منتشر شده توسط 🙍♂️ | صرافی ارز دیجیتال کیف پول من |
تاریخ انتشار 📅 | 1401/8/29 | 11/20/2022 |
پیش زمینهای بر مکانیزم شاردینگ
بهتر است پیش از پرداختن با مکانیزم شاردینگ با خود بلاک چین و نحوه کار بلاک چینهای اولیه آشنا شویم. بلاک چین محیطی برای ذخیره سازی دادههای ایجاد شده در حوزههای مختلف بلاک چینی است. این داده میتواند مربوط به تراکنشها یا قرارداد هوشمند باشد.
برای این که یک داده و تراکنش بیشتر از یک بار تکرار نشود، ماینرها به عنوان نود این دادهها را اعتبارسنجی میکنند. مکانیزمی که هر بلاک چین دارد، میتواند متفاوت باشد. بلاک چین بیت کوین و بلاک چینهای اولیه از مکانیزم اثبات کار و بلاک چینهای جدید از اثبات سهام استفاده میکنند. اتریوم نیز به تازگی مکانیزم اعتبارسنجی خود را به اثبات سهم تغییر داده است.
در این فرایند ماینرها به صورت خطی تراکنشها را گزینش کرده و آنها را در بلاک چین ذخیره میکنند. به این نوع از طبقه بندی قسمت بندی عمودی گفته میشود که هر تراکنش باید منتظر تایید تراکنش قبلی باشد. بدون تایید یک تراکنش نمیتوان تراکنش دیگری را تایید کرد.
ماینرها نیز باید منتظر تایید تراکنش باشند تا نوبت به تراکنش بعدی برسد. در این حالت هر چه تعداد کامپیوترها بیشتر شود، همچنان با مشکل سرعت کم مواجه خواهیم بود. سرعت کم تایید تراکنشها باعث شده تا چنین بلاک چینهایی با مقیاس پذیری ضعیف روبرو شوند.
به گفته ویتالیک بوترین، خالق اتریوم، دنیای بلاک چین همیشه بین امنیت، تمرکز زدایی و مقیاس پذیری دچار مشکل خواهد شد. چرا که تمرکز زدایی میتواند مقیاس پذیری را ضعیف کند و مقیاس پذیری بالا میتواند غیرمتمرکز بودن و امنیت یک بلاک چین را تحت تاثیر قرار دهد.
به همین خاطر شاید تا چند سال پیش دستیابی به مقیاس پذیری بالا در عین حفظ امنیت شبکه و غیرمتمرکز بودن رویایی دست نیافتنی بود. این امر تا زمانی ادامه داشت که مفهوم شاردینگ وارد دنیای بلاک چین شد.
شاردینگ چیست؟
شاردینگ از اواخر دهه 90 میلادی به وجود آمده است و یک مفهوم جدید نیست. از زمانی که ذخیره سازی و نگهداری از دادهها اهمیت پیدا کرده بود، توسعه دهندگان با مشکل مدیریت دادههای بزرگ مواجه شدند. در حقیقت شاردینگ اولین بار برای رفع مشکل کاربران زیاد یک بازی آنلاین به وجود آمد.
توسعه دهندگان برای حل این مشکل، کاربران را در چند سرور مختلف قرار دادند. شاردینگ هر چند جدید به نظر میآید اما تاریخچه طولانی مدتی دارد و سالها در دنیای اینترنت و ذخیره سازی دادهها به کار گرفته شده است.
شاردینگ در سادهترین مفهوم خود، یعنی تقسیم دادههای حجیم و بزرگ به دادههای کوچک. در این فرایند دادههای بزرگی و زیادی که نیاز به پردازشهای طولانی مدت و زمانبر دارند، به پردازشهای کوچک تقسیم میشوند. به طور مثال برای این که مشغول حل یک معادله بزرگ شوید، آن را میتوانید به چند معادله کوچکتر تقسیم کرده و به ترتیب آن را حل کنید.
با تقسیم دادههای بزرگ به دادههای کوچک، سرعت پردازش آن نیز افزایش پیدا میکند. شاردینگ به همین خاطر توانسته یکی از بهترین راهها برای افزایش مقیاس پذیری بلاک چین باشد. اتریوم نیز این راه سریع و ارزان را برای حل مشکلات مقیاس پذیری خود به کار میگیرند.
عبارت شارد نیز به معنای تکههای کوچک است که به دادههای کوچکتر اشاره دارد. در حقیقت شاردینگ فرایندی است که پردازشها یا دادههای بزرگ به پردازشها و دادههای کوچک تقسیم میشوند. برای انجام چنین پردازشهایی دیگر نیاز نیست تا پردازشگرها مدت زمان زیادی منتظر حل یک پردازش در صف باشند.
شاردینگ در بلاک چین چگونه است؟
شاردینگ در بلاک چین نیز دقیقا مانند شاردینگ در ذخیره سازی دادههای دیگر است. همانطور که گفتیم در بلاک چینهای دیگر کاربران به صورت خطی یا عمودی دادهها را مورد پردازش قرار میدهند. در حالی که شاردینگ میتواند از رده بندی افقی برای پردازش دادهها استفاده کند.
در بلاک چین، تراکنشهای در صف به چند دسته مختلف تقسیم میشوند. در این حالت نودها یا اعتبارسنجها نیاز نیست منتظر تراکنشهای قبلی باشند. هر یک از نودها میتوانند به یک شارد مراجعه کرده و تراکنشهای موجود در آن را اعتبارسنجی کنند.
به این طریق توان محاسباتی و اعتبارسنجی شبکه به صورت صحیحی به کار گرفته میشود تا مقیاس پذیری یا سرعت شبکه افزایش پیدا کند. دادهها در بلاک چین با استفاده از مکانیزم شاردینگ به جای ذخیره سازی در یک پایگاه داده جامع، در پایگاههای داده کوچکتر اعتبارسنجی و ذخیره میشوند.
توجه داشته باشید که هر نود یا اعتبارسنج تنها میتواند در آن واحد در یک شارد به فعالیت بپردازد. یعنی نودهایی که در یک شارد مشغول اعتبارسنجی هستند، با دیگر شاردها ارتباطی نخواهند داشت تا امنیت و سرعت شبکه حفظ شود. در این حالت تراکنشها به جای عمودی بودن، به صورت افقی و موازی پردازش میشوند.
پردازش دادهها به صورت موازی باعث شده تا هر نود به صورت جداگانه یک تراکنش را پردازش کند. به جای یک خط پردازشی نیز چند خط موازی با هم را خواهیم داشت که سرعت بیشتری به شبکه میبخشند. اتریوم با استفاده از این مکانیزم توانسته سرعت ثبت تراکنش شبکه خود را تا حد بسیار زیادی افزایش دهد.
مطلب پیشنهادی : نحوه رهگیری تراکنش های اتریوم در بلاک چین
همانطور که گفتیم، در طبقه بندی عمودی، با افزوده شدن نود و کامپیوتر جدید، کار چندانی نمیتوان برای ثبت تراکنشها انجام داد. در صورتی که با اضافه شدن نودهای جدید، میتوان شاردی جداگانه برای آنها ایجاد نمود. بعد از آن نودهای جدید میتوانند تراکنشهای آن شارد جدید را مورد پردازش قرار دهند. بدین صورت مقیاس پذیری میتواند بهبود پیدا کند.
مزایای مکانیزم شاردینگ چیست؟
همان طور که بارها گفتیم، شاردینگ روشی برای حل مشکل مقیاس پذیری بلاک چینها است. با مکانیزم شاردینگ شبکه بلاک چین میتواند تعداد زیادی از تراکنشها را مورد پردازش قرار داده و ثبت کند. به همین خاطر بلاک چینهای جدید سرعت بالایی در انجام تراکنشها دارند.
علاوه بر این، زمانی که در بلاک چینهای قدیمی یک نود به شبکه اضافه میشد، مجبور بود تا تمامی دادههای بلاک چین را درون خود ذخیره کند. به همین خاطر نودها باید مدت زمان زیادی را منتظر دریافت دادههای بلاک چین بودند. پس از اینکه دادهها در یک نود ذخیره شد، آنها میتوانستند به عنوان نود شناخته شده و به اعتبارسنجی تراکنشها بپردازند.
در حالی که برای فعالیت در یک شبکه با مکانیزم شاردینگ، نیازی به دریافت تمامی دادههای بلاک چین نیست. در این روش جایگزین، نودها به جای دریافت کل دادهها، دادههای موجود در شارد مربوطه را ذخیره سازی میکنند. ذخیره سازی و اعتبارسنجی تراکنشها در این حالت سرعت بسیار زیادی به خود میگیرد.
علاوه بر این، نودهای جدید دیگر دسترسی زیادی به دادههای قبلی ندارند و نمیتوانند تغییری در آنها به وجود آورند. پس تمرکززدایی یا غیرمتمرکز بودن بلاک چین نیز بهبود پیدا میکند.
معایب مکانیزم شاردینگ چیست؟
مکانیزم شاردینگ با این که توانسته یکی از مشکلات اصلی بلاک چین را حل کند، اما معایب بزرگی نیز دارد. در حقیقت شاردینگ با ورود خود به بلاک چین، امنیت یک شبکه و برقراری ارتباط را تحت تاثیر قرار میدهد. به همین خاطر اصلیترین ایراد مکانیزم شاردینگ، تهدیدی است که برای امنیت بلاک چین دارد.
در بلاک چینهای قدیمی برای این که افراد مخرب کنترل یک بلاک چین را در اختیار خود بگیرند، باید 51 درصد از شبکه بلاک چین را تصاحب کنند. تنها با در دست داشتن 51 درصد از نودهای شبکه میتوان صاحب اختیار آن شد.
در بلاک چینهای بزرگ انجام این کار بسیار سخت است و میتوان آن را غیر ممکن دانست. در صورتی که در بلاک چینهایی که از مکانیزم شاردینگ استفاده میکنند، انجام این کار بسیار آسان به نظر میرسد. چرا که در این حالت افراد میتوانند به راحتی 51 درصد از نودهای یک شارد را صاحب شوند.
حملههای 51 درصدی در حالت شاردینگ بسیار آسان است. در حالت شاردینگ، تعداد نودها بین شاردها تقسیم شده و هر شارد تعداد کمی اعتبارسنج نسبت به حالت عادی دارد. تعداد ماینر یا نود مورد نیاز برای رسیدن به درصد 51 نیز بسیار آسانتر از حالت قبلی است. به طور مثال فرض کنید یک بلاک چین دارای 100 ماینر یا نود است.
در حالت اول برای این که بلاک چین را به اختیار خود درآورد تنها نیاز است تا 51 یک نود را در شبکه داشت. حال شرایطی را فرض کنید که شبکه بلاک چین به 10 شارد مختلف تقسیم شده است. یعنی هر شارد دارای 10 نود یا ماینر ارز دیجیتال است.
در این حالت با داشتن 6 ماینر میتوان یک شارد را صاحب شده و در کار یک شبکه اختلال ایجاد کرد. هرچند این مشکل نیز در بلاک چینهای معتبر حل شده است. به این صورت که نودها به صورت اتفاقی انتخاب میشوند.
در این حالت نمیتوان حدس زد که تمامی نودهای مخرب در یک شارد در کنار هم قرار بگیرند. تصادفی بودن روند انتخابی نودها برای شاردهای مختلف میتواند این مشکل را نیز تا حد زیادی حل کند.
منبع : https://101blockchains.com/what-is-blockchain-sharding/
برای دریافت فایل PDF این مقاله اینجا کلیک کنید