بلاکچینهای کنونی با بحران مقیاسپذیری عمودی مواجهاند
به گزارش کریپتولند، اندره لوین (Andrew Levine) یکی از مدیران شرکت های فعال در حوزه بلاکچین، مشکلات پیش روی بلاکچینهای فعلی را بیان مینماید و راهحلهایی برای این مشکلات پیشنهاد میکند. او معتقد است:
«ظهور اینترنت نشان داد که ما یک خویشتن دیجیتال داریم که میتواند قدرت ما در دنیای واقعی را به لطف توانایی تعامل با مردم در هرکجای کره زمین و انجام اموری که خویشتن فیزیکی ما از انجام آن ناتوان است، تقویت کند. اما خویشتن دیجیتال ما دارای قید و بند است و در رایانههای خصوصی متعلق به فیسبوک، گوگل، آمازون، نتفلیکس، توییتر و... زندانی شده است. این انحصارت در واقع فناوری تولید نمیکنند، بلکه محصول آنها ما هستیم - خویشتن دیجیتال ما - و هدف کلی آنها بهرهکشی از ما تا جای ممکن است».
بسیاری از افراد پتانسیل از بین بردن این انحصارت را در فناوری بلاکچین میبینند، اما متأسفانه تاکنون هیچ بلاکچین خاصی نتوانسته است از مرزهای بلاکچین و جامعه رمزارزی کنونی فراتر برود. اگر چنین باشد، بلاکچین از نظر فنی قادر به رشد و پذیرش لازم برای توانمندسازی مردم جهت کنترل خویشتن دیجیتال آنها نخواهد بود.
چرا؟ آیا فقط بحث انتخاب ویژگیهای مناسب بلاکچین است؟ یا تغییربه اجماع اثبات سهام؟ و یا شاردینگ(Sharding) یا همان نوعی پارتیشنبندی پایگاه داده است که از آن به عنوان پارتیشنبندی افقی نیز یاد میشود؟ متأسفانه، مسئله بسیار بزرگ تراز فقدان یک یا دو ویژگی خاص است و با تغییر پروتکلهای موجود برطرف نمیشود زیرا مشکلات در اساس نحوه ساختن آنها نهفته است. این معماری، توانایی مقیاسپذیری عمودی این پلتفرمها را محدود میکند.
مقیاسپذیری عمودی چیست؟
مقیاسپذیری عمودی نحوه مدیریت رشد یک نود (کامپیوتر) در شبکه است. بلاکچینها دیتابیسهایی هستند که هرگز اطلاعات را دور نمیاندازند. اطلاعات به دیتابیس (پایگاه داده) فقط اضافه میشود و هرگز از آن حذف نمیشود. این مسئله «رشد» را به یک مشکل بزرگ تر تبدیل میکند. نهتنها این، بلکه اکثر بلاکچینها برای استفاده بهینه از قسمتهای مختلف یک رایانه ساخته نشدهاند.
این به یک دیتابیس بزرگ اضافه میشود و منابع محاسباتی زیادی را بهطور ناکارآمد در یک رایانه مصرف میکند. برای جبران این نواقص، اپراتورهای نود (Node)به سختافزارهای گرانقیمت درجه بندی سازمانی بهطور خاص، حافظه دسترسی تصادفی یا RAM و به حافظه غیر فرار یا NVMe ، متکی هستند که همان چیزی است که باعث میشود مشارکت شبکه (عملکرد نود) از درک مردم عادی فراتر رود و بهنوعی ما تصور میکنیم که این برای تمرکززدایی بد نیست!
اما شاردینگ!
یکی از قویترین استدلالها برای وجود بحران مقیاسپذیری عمودی، سطح تقاضا برای راهحلهای مقیاسپذیری افقی است. در زمان نگارش این مقاله، نود فول اتریوم هنوز از ۵۰۰ گیگابایت فراتر نمیرود. این مقدار ناچیزی است! و با این حال، کاملاً درست است که باید یک مکانیسم پیچیده و ریسکی به اتریوم اضافه شود تا بلاکچین آن بتواند به بیتها و تکههای مختلف خرد شود و منابع محاسباتی گرانقیمتی فقط باید صرف ارتباط بین این «تکهها» (Shards) شوند، چه رسد به اینکه محاسبات معناداری انجام دهند.
مشکل این است که مقیاسپذیری افقی (شاردینگ) جایگزینی برای مقیاسپذیری عمودی نیست. تصور کنید که یک کارخانه دارید که ۱۰۰۰ خودرو در سال تولد میکند، اما تقاضای بازار ۲۰۰۰ خودرو است. در وهله اول چه کار میکنید:
یک کارخانه جدید میسازید یا سعی میکنید اتومبیلهای بیشتری در کارخانهای که اکنون دارید تولید کنید؟ مقیاسپذیری عمودی بهینهسازی کارخانه برای تولید اتومبیلهای بیشتر قبل از ساخت یک کارخانه جدید است. نودهای بلاکچین همان «کارخانهها» هستند و آنچه خروجی آنها را تعیین میکند میزان کارآیی آنها در استفاده از قطعات یک رایانه است.
بلاکچینها در خصوص مدیریت منابع نود، به طرز وحشتناکی غیر بهینه هستند که آنها را به بهترین گزینه برای راهحلهای مقیاسپذیری عمودی تبدیل میکند. به گفتهی مهندس سینا استوی یکی از کارشناسان فعال این حوزه، در بلاکچین اساساً دو کلاس وجود دارد: Ethereum و BitShares. شاید بسیاری از افراد با BitShares آشنایی نداشته باشند، اما طراحی معماری آن پایه و اساس برخی از برجستهترین بلاکچینها ازجمله EOS، Hive و Steem است.
اگرچه اتریوم و بسیاری از زنجیرههایی که از آن الگو گرفتهاند، همچنان باارزشترین بلاکچینهای عمومی با غیرمتمرکزترین اپها و کاربران منحصر به فرد هستند، اما BitShares از نظر فعالیت خام تراکنشی کاملاً سلطه دارد که آن را به پادشاه عملکرد (performance) تبدیل میکند. از آنجا که بلاکچینهای موجود در BitShares قادر به انجام تراکنشهای بسیار بیشتری در هر ثانیه هستند، این امر در واقع اهمیت مقیاسگذاری عمودی را افزایش میدهد، زیرا وضعیت بلاکچین آنها در حال رشد بسیار سریعتری است.
مقیاسپذیری عمودی، RAM و فورکها
در زمینهٔ محاسبات، مقیاسپذیری عمودی اساساً به معنای استفاده از ارزانترین شکل حافظه (دیسک) در هر زمان و تا بیشترین حد ممکن است. به گفتهی سینا استوی، در بلاکچین، دو فرآیندی که بیشترین اهمیت را دارند عبارتند از:
۱. حل وفصل فورک (Fork Resolution)
۲. حالت ذخیرهسازی.
نسخههای مختلفی از دیتابیس وجود دارد (فورک) و( نودها). اما در خصوص اینکه کدامیک از آنها «مناسب» است، باید به اجماع برسند. به این فرآیند حل و فصل فورک میگویند. اکنون، شما یک دیتابیس غیرقابل برگشت دارید که باید ذخیره شود. حالت ایدهآل این است که دیتابیس در ارزانترین فضای ممکن (Disk) برخلاف گرانترین آن (Ram) ذخیره شود.
از آنجا که شما میخواهید فورکها در سریعترین زمان ممکن حل و فصل شوند، این محاسبات باید در RAM (حافظه سریع) انجام شود؛ اما پس از حل و فصل فورکها و اضافه شدن تراکنشهای جدید به حالت برگشتناپذیر، این دیتابیس باید در دیسک ذخیره شود.
از نظر BitShares مشکل بلاکچینها این است که آنها از طریق یک طراحی که هرگز وضعیت فعلی بلاکچین را منعکس نمیکند، عمل میکنند؛ درعوض هنگامیکه هربلاک اضافه میشود، وضعیت تراکنش معلق (pending transaction) انجامنشده (Undone) است، مقادیر قدیمی در دیتابیس نوشته میشوند و سپس بلاک اضافه میشود. یک مشکل در این روش این است که در بیشتر مواقع، دقیقا همان محاسبات دوباره انجام میشود و همان حالت در دیتابیس نوشته میشود که بسیار ناکارآمد است.
خوانش و نگارش (Read And Write)
مشکل این طراحی این است که «حالت برگشتناپذیر بلاکچین» بدون نیاز به خارج کردن بلاکها از دیسک و وارد کردن آنها به رم برای حل و فصل فورکها، نمیتواند بر روی دیسک ذخیره شود. این نهتنها باعث افزایش بار رم در یک نود خاص میشود، بلکه دارای پیامدهای بسیار جدی در خصوص استفاده از RocksDB است RocksDB.
یک فناوری دیتابیس است که توسط فیسبوک برای تأمین فید اخبار (news feed) آن توسعه یافته است. بهطور خلاصه، این فناوری ما را قادر میسازد تا عملکرد رم را از دیسک دریافت کنیم. بسیاری از پروژههای بلاکچین از RocksDB به طرق مختلف استفاده میکنند، اما مشکلی که در این طراحی دیتابیس وجود دارد، نیاز به لغو مستمر تراکنشهای معلق و بازنویسی در دیتابیس است.
نیوزفیدِ (news feed)فیسبوک کاملا در مورد خوانش دیتابیس است. دقت کنید که چند پست را اسکرول میکنید تا به پستی که می خواهید برسید. به همین دلیل، RocksDB بهگونهای طراحی شده است که هنگامیکه در دیتابیس خوانش (reads) بسیار بیشتر از نگارش (writes) است، بهترین عملکرد را داشته باشد. طراحی دیتابیسی که در بالا توضیح داده شد منجر به نگارشهای دیتابیس (database writes) زیادی میشود که حتی مزایای استفاده از RocksDB را خنثی میکند.
برای بهره بردن کامل ازRocksDB، ما باید بلاکچین را از نو بسازیم تا بلاکهای رم را به دیسک انتقال دهیم و در عین حال تعداد نگارشها را به حداقل برسانیم تا از مزایای RocksDB بهرهمند شویم. ما میتوانیم این کار را با حذف نیاز به لغو/بازنویسی (undo/rewrite) و ایجاد یک دیتابیس واحد که وضعیت غیرقابل برگشت را ردیابی میکند و هرگز نیاز به لغو ندارد، انجام دهیم.
این امر به ما این امکان را میدهد که با انتقال بلاکهای برگشتناپذیر از رم به دیسک بدون نیاز به برگرداندن آنها، استفاده از رم در نودها را به حداقل برسانیم. ما تخمین میزنیم که این میتواند هزینه اجرای نود را تا ۷۵٪ کاهش دهد! این امر نهتنها دسترسی به نود را تسهیل کرده و به تعداد نودهای موجود میافزاید، بلکه درنهایت این صرفهجویی درهزینهها به کاربران و توسعهدهندگان برمیگردد.
بلاکچینهای محدود یا بلاکچینهای بدون محدودیت؟
سینا استوی در پایان خاطرنشان کرد، بلاکچینهای کنونی به دلیل روش حل و فصل فورکها و نحوه ذخیره حالت بلاکچین خود، با محدودیت عملکرد نودها مواجهاند. ما در این مقاله توضیح دادیم که چگونه طراحی دیتابیس میتواند به یک فرایند حل و فصل فورک که باعث افزایش استفاده از رم میشود منجر شود و همچنین توضیح دادیم که نگارشهای دیتابیس (database writes) مزایای استفاده از RocksDB را خنثی میکند و اینها درنهایت منجر به نودهای بلاکچین ناکارآمد میشود.
حقیقت این است که مشکلات مقیاسپذیری عمودی بسیار بیشتر از این است. اکوسیستمهای بلاکچین پیچیده هستند و دارای اجزای بسیاری هستند که بر روی یکدیگر تأثیر میگذارند. کاهش هزینه اجرای یک نود برای افزایش تعداد نودهای عملیاتی و کاهش هزینههای استفاده از شبکه بسیار حیاتی است، اما همچنین به حداقل رساندن ازدحام شبکه، کارآمد کردن عملیات نود و...، منافع بسیاری نیز به همراه خواهد داشت.
هدف ما این نیست که بهطور دقیق توضیح دهیم که چگونه شخص میتواند مسئله مقیاسپذیری عمودی را حل کند بلکه میخواهیم اطلاعاتی از ماهیت آنچه فکر میکنیم یک مسئله کاملاً دستکم گرفته شده در فضای بلاکچین است، ارائه دهیم. قطعاً مقیاسپذیری افقی یک موضوع حائر اهمیت است، اما اگر از مسئله مقیاسپذیری عمودی غافل شویم، تمام آنچه از مقیاسپذیری افقی حاصل خواهد شد افزایش چشمگیر تعداد نودهای ناکارآمد است.
تولید محتوای بخش «وب گردی» توسط این مجموعه صورت نگرفته و انتشار این مطلب به معنی تایید محتوای آن نیست.