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

تعداد تراکنش‌هایی که در هر ثانیه در بلاکچین پردازش می‌شود (تراکنش بر ثانیه (TPS)) معمولاً از یک موسسه متمرکز مانند ویزا (Visa) پایین‌تر است. برای مثال، خرید بیت کوین تنها ۴.۶ تراکنش را در ثانیه پردازش می‌کند، درحالی‌که ویزا، تراکنش‌ها را با سرعت بالاتری تائید می‌کند (۱۷ هزار تراکنش بر ثانیه). TPS پایین بیت کوین به ناتوانی بلاکچین در مدیریت تعداد زیادی از تراکنش‌ها منجر می‌شود و باعث کندی تراکنش‌ها می‌گردد.

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

متأسفانه، بیت کوین و سایر بلاکچین‌ها نمی‌توانند با افزودن گره به شبکه، مقیاس‌پذیری خود را افزایش دهند. هر بلاکچین معمولاً محدودیت‌های عملکردی خاص خود را دارد. درنتیجه،‌ متناسب با نیازهای شبکه بلاکچین، چندین راه‌حل مقیاس‌پذیری برای بهبود عملکرد شبکه پیاده‌سازی می‌شود. با توجه به شکل 1، راه‌حل‌های مقیاس‌پذیری به سه دسته تقسیم می‌شوند: عملکرد خواندن، عملکرد نوشتن و ذخیره‌سازی. همچنین همانطور که در این شکل مشخص است، با توجه به لایه‌های مختلف بلاکچین، راه‌حل‌های مقیاس‌پذیری مختلفی ارائه می‌شود. به دلیل پیچیدگی راه‌حل‌های مقیاس‌پذیری، تنها راه‌حل‌های مقیاس‌پذیری لایه داده بررسی می‌شوند که شامل راه‌حل‌های داخل زنجیره (on-chain) و خارج زنجیره (off-chain) هستند.

مروری بر راه‌حل‌های مقیاس‌پذیری بلاکچین (منبع: Elsevier)شکل 1- مروری بر راه‌حل‌های مقیاس‌پذیری بلاکچین (منبع: Elsevier)

عوامل ایجاد مشکلات مقیاس‌ پذیری بلاکچین چیست؟

بسیاری از توسعه‌دهندگان در پی یافتن راهی برای افزایش مقیاس‌پذیری بلاکچین بوده‌اند، اما با یک مشکل عمده روبرو شده‌اند. این مشکل حفظ یکپارچه امنیت، غیرمتمرکز بودن و مقیاس‌پذیری است. برای مثال، بلاکچین‌های خصوصی امنیت و مقیاس‌پذیری را دارند، اما غیرمتمرکز نیستند. از سوی دیگر، بلاکچین‌های مبتنی بر نمودارهای غیرمدور جهت‌دار (DAG)، مقیاس‌پذیری و غیرمتمرکز بودن را دارند، اما امنیت زیادی ندارند. درنهایت، بلاکچین‌های عمومی که امنیت و غیرمتمرکز بودن را دارند، مقیاس‌پذیری را کاهش می‌دهند.

عوامل اثرگذار بر مقیاس پذیریشکل 2- عوامل تأثیرگذار بر مشکلات مقیاس‌پذیری (منبع: MDPI)

تحقیقات نشان داده است که توان عملیاتی برای مقیاس‌پذیری بلاکچین، مهم‌ترین عامل بوده است (شکل 2). به علاوه، عوامل اثرگذار بر مقیاس‌پذیری به یکدیگر وابسته هستند. برای مثال، عملکرد اجماع یا اندازه بلوک بر توان عملیاتی و تأخیر تأثیر می‌گذارد. عوامل ذکرشده در تصویر بالا در ادامه توضیح داده می‌شوند:

  • توان عملیاتی: توان عملیاتی به کل تراکنش‌های انجام شده توسط پروتکل در یک ثانیه گفته می‌شود. توان عملیاتی، معیاری است که مردم برای مقایسه مقیاس‌پذیری بلاکچین از آن استفاده می‌کنند. همان‌طور که قبلاً گفته شد، ویزا که یک موسسه متمرکز است دارای تراکنش بر ثانیه بالایی در مقایسه با بلاکچین غیرمتمرکزی مانند بیت کوین است؛ یعنی که حجم زیادی از تراکنش‌ها را با موفقیت به سرانجام می‌رساند.
  • تأخیر: تأخیر یا کامل شدن تراکنش، به این معنا که چه مدت زمانی لازم است تا تراکنش تائید شود. تأخیر کم‌تر، فرآیند اعتبار سنجی تراکنش‌ها را کارآمدتر می‌کند.
  • اندازه بلوک: اندازه بلوک به فضای ذخیره‌سازی بلوک اشاره دارد. برای مثال، اندازه بلوک بیت کوین برای ذخیره تراکنش یک مگابایت است. بلوک‌های بزرگ‌تر، تراکنش‌های بیشتری را ذخیره‌سازی می‌کنند که باعث افزایش توان عملیاتی می‌شود. بااین‌حال، پردازش تراکنش بیشتر به انرژی محاسباتی بالاتری نیاز دارد.
  • گره‌ها: گره‌های یک بلاکچین به گره‌های کامل و جزئی تقسیم می‌شوند. زمانی که تراکنش‌ها بیشتر شود، به گره‌های بیشتری نیاز است؛ بنابراین، تعداد گره‌ها، تأثیر زیادی در توان عملیاتی و تأخیر دارند که ملاک‌های دیگر برای مقیاس‌پذیری شبکه هستند.
  • فضای ذخیره‌سازی: فضای ذخیره‌سازی، کل ظرفیت بلاکچین است. رشد فضای ذخیره‌سازی، رابطه مستقیمی با گره‌ها و تراکنش‌ها دارد. گره‌های کامل نیازمند فضای ذخیره‌سازی بیشتری نسبت به گره‌های جزئی هستند. علی‌رغم این که گره‌های جزئی، فضای ذخیره‌سازی کم‌تری نیاز دارند، اما بار کاری بلاکچین را افزایش می‌دهند و بر توان عملیاتی تأثیر می‌گذارند.
  • انرژی پردازش: انرژی پردازش همان انرژی صرف شده برای استخراج است. مصرف انرژی متفاوت است و به مدل اجماع بستگی دارد. برای مثال، بلاکچینی که با مدل اثبات اجماع کار (PoW) اجرا می‌شود، انرژی بیشتری نسبت به مدل اجماع اثبات سهام (PoS) مصرف می‌کند.
  • هزینه: هزینه به کل مبالغ صرف شده برای اعتبارسنجی تراکنش اشاره دارد. ماینرها، تراکنش‌هایی را انتخاب می‌کنند که بتوانند از آنها کارمزد بالاتری دریافت کنند؛ بنابراین، اعتبارسنجی تراکنش‌هایی که کارمزد پایینی دارند، با تأخیر زیاد انجام می‌شود.

راه‌حل‌های موجود برای مشکلات مقیاس‌پذیری لایه داده چیست؟

راه‌حل‌های موجود برای مشکلات مقیاس‌پذیری به‌گونه‌ای طراحی شدند تا مشکلات زمان تولید بلوک، هزینه‌های تراکنش و حافظه (فضای ذخیره‌سازی) را حل کنند. بر اساس این مشکلات، راه‌حل‌های مقیاس‌پذیری به دو دسته داخل زنجیره و خارج زنجیره تقسیم می‌شوند. علاوه بر این، می‌توان مقیاس‌پذیری بلاکچین را برای لایه‌های دیگر آن نیز انجام داد؛ از جمله، لایه شبکه (لایه ۰)، داخل زنجیره (لایه ۱) و خارج زنجیره (لایه ۲). راه‌حل‌های لایه ۱ و ۲، رایج‌ترین راه‌حل‌ها هستند.

مقیاس‌پذیری داخل زنجیره، عناصر موجود در بلاکچین را اصلاح می‌کند. برای مثال، بیت کوین آن‌لیمیتد (Bitcoin Unlimited)، اندازه بلوک را افزایش می‌دهد که راه‌حلی برای مقیاس‌پذیری داخل زنجیره است. افزایش اندازه بلوک، امنیت شبکه را کم می‌کند. زیرگروه‌های راه‌حل‌های داخل زنجیره شامل کاهش داده‌های بلوک (سافت فورک)، افزایش اندازه بلوک (هارد فورک) و شاردینگ (Sharding) (مقیاس‌پذیری افقی) می‌شوند. مورد آخر را در ادامه بررسی می‌کنیم:

  • شاردینگ: شاردینگ، تراکنش‌ها را به چند تکه (شارد) تقسیم می‌کند تا چندین گره بتوانند بر روی یک تراکنش کار کنند و زمان پردازش کاهش یابد. بلاکچین باید امنیت را برای تکه‌ها فراهم کند، چراکه اعتبارسنج‌های مخرب همواره در کمین هستند. علاوه بر این، شاردینگ تنها می‌تواند برای تراکنش‌های موجود در شاردهای اصلی به شکل مؤثری فعالیت کند. اتریوم (ETH) و رپیدچین (RapidChain)، نمونه‌هایی از بلاکچین‌هایی هستند که از این راه‌حل استفاده می‌کنند.

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

  • مقیاس‌پذیری زنجیره جانبی: مقیاس‌پذیری زنجیره جانبی، انتقال دوطرفه دارایی را بین زنجیره اصلی و زنجیره جانبی امکان‌پذیر می‌کند. برای انجام یک تراکنش، ابتدا دارایی موجود در زنجیره اصلی به آدرسی از پیش تعیین شده در زنجیره جانبی منتقل و در آن قفل می‌شود و کاربر نمی‌تواند آن را در جایی دیگر خرج کند. پس از تایید تراکنش بین زنجیره مادر و زنجیره جانبی، معادل مبلغ قفل شده، دارایی در اختیار کاربر قرار می‌گیرد و وی می‌تواند آن را در زنجیره جانبی خرج کند. شبکه لوم (LOOM) از زنجیره جانبی برای بلاکچین خود استفاده می‌کند.
  • مقیاس‌پذیری زنجیره کودک: زنجیره کودک به گره‌های زنجیره مادر خود متصل است. هر زنجیره کودک، تراکنش‌ها را با پروتکل اجماع خود پردازش می‌کند. زنجیره مادر از طریق ارتباط با زنجیره کودک، کامل شدن تراکنش را ثبت می‌کند. علاوه بر این، زنجیره مادر از زنجیره‌های کودک محافظت می‌کند. پلاسما اتریوم، یکی از نمونه‌هایی است که از زنجیره‌های کودک استفاده می‌کند.
  • مقیاس‌پذیری درون زنجیره‌ای: درون زنجیره‌ای مانند شبکه محلی (LAN) عمل می‌کند. چندین بلاکچین از طریق یک پروتکل مشترک که با همه شبکه‌ها سازگار است، به یکدیگر متصل می‌شوند. درون زنجیره‌ای شامل زیرزنجیره‌ها و گره‌ها می‌شود. روش‌های اجماع ممکن است متفاوت باشند. برای مثال، کازماس (ATOM) از مقیاس‌پذیری درون زنجیره‌ای به همراه تحمل خطاهای عملی بیزانس (PBTF) و روش اثبات سهام برای اجماع استفاده می‌کند.

نتیجه‌گیری

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

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