بلاک چین ها عموماً با مشکل مقیاس پذیری مواجه هستند که در نتیجه این مشکل با محدودیت هایی مثل سرعت پایین تراکنش و کارمزدهای بالا مواجه می شوند.
بلاک چین یک دفتر کل عمومی (Ledger) است که معاملات را بدون دخالت یک شخص ثالث ثبت کرده و سوابق تراکنش های ذخیره شده در بلاک چین نیز بوسیله گره ها یا نودها (Node) تایید می شوند. با این حال، فناوری بلاک چین با مشکلاتی از نظر مقیاس پذیری روبرو است که باعث شده تا برخی از بلاک چین ها برای تایید تراکنش های خود به زمان زیادی نیاز داشته باشند. از این رو در این مطلب از فکت کوینز قصد داریم تا به بررسی مفهوم مقیاس پذیری در بلاک چین بپردازیم.
مقیاس پذیری چیست؟
بلاک چین یک دفتر کل عمومی (Ledger) است که معاملات را بدون دخالت یک شخص ثالث ثبت کرده و سوابق تراکنش های ذخیره شده در بلاک چین نیز بوسیله گره ها یا نودها (Node) تایید می شوند. با این حال، فناوری بلاک چین با مشکلاتی از نظر مقیاس پذیری روبرو است که باعث شده تا برخی از بلاک چین ها برای تایید تراکنش های خود به زمان زیادی نیاز داشته باشند.
بیشتر بخوانید: مقایسه انواع دفترکل توزیع شده (DLT)
TPS (تراکنش در هر ثانیه) یک بلاک چین، معمولاً کمتر از یک شرکت متمرکز (Centralized) مثل ویزا (Visa) است. به عنوان مثال، بیت کوین (BTC) فقط قادر است تا 4.6 TPS را مدیریت کند؛ این در حالی است که ویزا می تواند تراکنش های خود را با نرخی بالاتر (17000 TPS) تأیید کند. در حقیقت TPS پایین بیت کوین منجر به ناتوانی بلاک چین این ارز دیجیتال در پردازش مقادیر زیادی از تراکنش ها می شود و در نتیجه، این موضوع منجر به کندی تراکنش های شبکه این رمز ارز شده است.
همچنین بخوانید: مقیاس پذیری امن؛ نوآوری ICP
از طرفی این مشکل با توجه به ابعاد محدود 1 مگابایتی هرکدام از بلاک های بلاک چین بیت کوین، تشدید نیز می شود. به طور معمول، اندازه کوچک بلاک، باعث خواهد شد تا تعداد تراکنش های پردازش شده توسط هر بلاک محدود شود. علاوه بر این، در شبکه بیت کوین، هر بار که بلاک چین بخواهد تراکنشها را تأیید کند، باید تمام تاریخچه تراکنشهای زنجیره خود را دانلود کند. از این رو، با افزایش اندازه بلاک چین و اشغال فضای حافظه بیشتر، مقیاس بندی بلاک چین بیش از پیش زمان بر خواهد شد.
متأسفانه بیت کوین و سایر بلاک چینها نمیتوانند صرفاً با اضافه کردن گرهها به شبکه خود، ابعاد خود را افزایش دهند. بطور معمول هر بلاک چین محدودیتهای عملکردی خاص خود را دارد و در نتیجه، با توجه به نیازهای بلاک چین، چندین راه حل مقیاس پذیری برای بهبود عملکرد شبکه آن پیش رو است. در حقیقت مطابق تصویر زیر، راه حل های مقیاس پذیری موجود به عملیات خواندن (read performance)، نوشتن (write performance) و ذخیره سازی (storage) تقسیم بندی می شوند.
در این بین، بسته به لایههای مختلف بلاک چین، راهحلهای مقیاسپذیری مختلفی نیز ارائه میشوند (به شکل زیر مراجعه کنید). با توجه به پیچیدگی راه حل های مقیاس پذیری موجود، تنها راه حل های مقیاس پذیری برای لایه داده در دسترس، مورد نظر است که شامل راه حل های زنجیره ای و غیر زنجیره ای می شود.
چه عواملی باعث ایجاد مشکلات مقیاس پذیری می شوند؟
بسیاری از توسعه دهندگان به دنبال توسعه بلاک چین بوده اند و در این راه با یک مشکل سه گانه مواجه شده اند. در حقیقت این مشکل سه گانه این است که به طور کلی هر بلاک چین در حفظ همزمان امنیت، تمرکززدایی و مقیاس پذیری خود مشکل دارد. به عنوان مثال، برای بلاک چین های خصوصی، مقیاس پذیری و امنیت را می توان فراهم ساخت، اما این دو فاکتور به قیمت از دست دادن متمرکز بودن بدست می آیند.
از سوی دیگر، بلاکچینهای مبتنی بر گراف غیر چرخهای (DAG) میتوانند مقیاسپذیری و عدم تمرکز را داشته باشند، ولی این شبکهها از امنیت کمتری برخوردار هستند. از طرفی، در رابطه با بلاکچینهای عمومی که میتوانند امنیت و تمرکززدایی را حفظ کنند، با کاهش مقیاسپذیری مواجه خواهند شد.
تحقیقات نشان داده است که توان عملیاتی تراکنش (transaction throughput)، به شدت در قالب مفهوم مقیاس پذیری بلاک چین مورد بحث قرار گرفته است (به تصویر بالا و مورد آخر دقت کنید). علاوه بر این، این عوامل که بر مقیاس پذیری تأثیرگذار هستند، به شدت به یکدیگر وابسته هستند. به عنوان مثال، نوع الگوریتم اجماع (Consensus Model) یا اندازه بلاک (Block Size)، جدا از اینکه جداگانه بر روی مفهوم مقیاس پذیری بلاک چین تاثیرگذار هستند، می توانند بر توان عملیاتی تراکنش و دوره نهفتگی یا رکود (Latency) نیز تأثیرگذار باشند.
در ادامه قصد داریم تا هرکدام از فاکتورهای فوق که به نوعی بر مقیاس پذیری بلاک چین تاثیرگذار هستند را به تفصیل شرح دهیم:
توان عملیاتی (Throughput)
اساساً به کل تراکنش های انجام شده در هر ثانیه (TPS) توسط یک پروتکل، توان عملیاتی گفته می شود. در حققیقت توان عملیاتی معیاری است که مردم معمولاً در زمان مقایسه مقیاس پذیری بلاک چین به آن دقت می کنند. همانطور که قبلاً نیز بدین موضوع اشاره کردیم، ویزا به عنوان یک موسسه متمرکز، دارای TPS بسیار بالاتری در مقایسه با یک بلاک چین غیرمتمرکز مانند بیت کوین است؛ این موضوع به این معنی است که ویزا می تواند حجم زیادی از تراکنش ها را به طور موثر پردازش کند و بلاک چین بیت کوین از این قابلیت برخوردار نیست.
دوره نهفتگی یا رکود (Latency)
دوره نهفتگی یا رکود که از آن با عنوان پایان تراکنش (transaction finality) نیز یاد می شود، به معنای مدت زمان لازم جهت به تایید رسیدن تراکنش است. این در حالی است که دوره نهفتگی کمتر، معمولاً فرآیند اعتبارسنجی تراکنش ها را کارآمدتر می سازد.
ابعاد بلاک
ابعاد یا اندازه بلاک به فرایند ذخیره سازی یک بلاک در شبکه بلاک چین اشاره دارد. به عنوان مثال، اندازه یک بلاک بیت کوین برای ذخیره تراکنش ها، 1 مگابایت است. این در حالی است که بلاک بزرگتر، تراکنشهای بیشتری را ذخیره کرده که در نتیجه، این موضوع باعث افزایش توان عملیاتی بلاک چین خواهد شد. با این وجود، پردازش تعداد تراکنش بیشتر، به انرژی محاسباتی بالاتری نیاز خواهد داشت. از طرفی، یک بلاک چین میتواند بلاکهایی را که در شرایط مازاد ظرفیت خود هستند را نیز رد کرده و تراکنش های آنها را تایید نکند.
نودها یا گره ها
گره های درون یک بلاک چین را می توان به 2 دسته گره های کامل (Full Node) و جزئی (Partial Node) تقسیم کرد. معمولاً وقتی که تعداد تراکنش های یک شبکه زیاد باشد، گره های بیشتری مورد نیاز است. از این رو، تعداد گرهها نقش بسزایی در تأثیرگذاری بر توان عملیاتی و همچنین دوره نهفتگی بلاک چین دارند که در نهایت، تمامی این موارد بر مقیاسپذیری آن شبکه تاثیرگذار خواهند بود.
فضای ذخیره سازی
فضای ذخیره سازی (Storage)، تمامی ظرفیت یک بلاک چین را شامل می شود. از طرفی افزایش فضای ذخیره سازی یک بلاک چین، بطور مستقیم با گره ها و تراکنش های آن شبکه مرتبط است. در حقیقت گره های کامل به فضای ذخیره سازی بیشتری نسبت به گره های جزئی نیاز دارند. با این حال، اگرچه گرههای جزئی به فضای ذخیرهسازی کمتری نیاز دارند، اما میتوانند بار کاری بلاک چین را ارتقاء داده و بر توان عملیاتی آن تأثیر بگذارند.
توان محاسباتی
توان یا انرژی محاسباتی (Computation energy) به انرژی مورد استفاده جهت استخراج یک رمز ارز گفته می شود. از طرفی این میزان از مصرف انرژی در بلاک چین های مختلف، متفاوت بوده و مستقیماً به الگوریتم اجماع آن شبکه در ارتباط است. به عنوان مثال، یک بلاک چین که با الگوریتم اجماع گواه اثبات کار (PoW) اجرا می شود، انرژی بیشتری نسبت به بلاک چینی که با الگوریتم اجماع گواه اثبات سهام (PoS) کار می کند، مصرف می کند.
کارمزد
کارمزد یا هزینه (Cost) نیز به تمامی هزینه هایی که یک بلاک چین برای اعتبار سنجی تراکنش های خود نیاز دارد، اشاره می کند. اساساً ماینرهای یک رمز ارز می توانند تراکنش هایی را تأیید کنند که به آنها این امکان را می دهد تا کارمزدهای بالاتری دریافت کنند. از این رو، زمان صرف شده برای اعتبارسنجی تراکنشهایی که کارمزد کمتری ارائه میکنند، قطعاً بیشتر طول خواهد کشید.
راه حل های مقیاس پذیری مبتنی بر لایه داده در دسترس کدام هستند؟
اساساً راهحلهای مقیاسپذیری فعلی، تنها در راستای حل مسائل مربوط به زمان تولید هر بلاک، هزینههای تراکنش و مسائل مربوط به حافظه (ذخیرهسازی) است که طراحی شدهاند. با توجه به این مشکلات، اساساً شاهد 2 زیر گروه راهحلهای مقیاسپذیری درون زنجیرهای (on-chain scalability) و خارج از زنجیره (off-chain scalability) هستیم. بعلاوه، مقیاس پذیری بلاک چین را می توان برای لایه های مختلف بلاک چین مثل لایه شبکه (لایه 0)، درون زنجیره (لایه 1) و خارج از زنجیره (لایه 2) نیز توسعه داد که در این بین، راه حل های لایه 1 و لایه 2 رایج ترین آنها بشمار می روند.
ّبیشتر بخوانید: تحلیل درون زنجیرهای (On-chain analysis) چیست؟
بطور کلی مقیاس پذیری درون زنجیره، بدنبال اصلاح عناصر بلاک چین مد نظر است. به عنوان مثال، Bitcoin Unlimited اندازه بلاک را به عنوان یک راه حل مقیاس پذیری روی زنجیره افزایش می دهد. با این حال، افزایش اندازه بلاک، منجر به امنیت کمتر بلاک چین خواهد شد؛ چراکه ماینرها می توانند بلاک ها را بی مصرف (dismantle) کنند. ماینرها همچنین می توانند بلاک ها را در مدت کوتاهی بی مصرف کنند؛ چراکه بلاک ها بزرگتر و متمرکزتر هستند.
در این بین، از مهمترین زیرگروههای راهحلهای درون زنجیرهای می توانیم به کاهش دادههای هر بلاک (سافت فورک یا soft fork)، ایجاد بلاک هایی با اندازه بزرگتر (هارد فورک یا Hard fork)، شاردینگ یا Sharding (مقیاسپذیری افقی) و DAG اشاره داشته باشیم. اما در ادامه قصد داریم تا به 2 مورد آخر از این موارد اشاره ای داشته باشیم.
همچنین بخوانید: مقایسه هارد فورک (Hard fork) با سافت فورک (Soft fork)
مقیاس پذیری مبتنی بر DAG
گراف های غیر چرخه ای جهت دار (DAGs) تراکنش ها را بر اساس سوابق تراکنش های قبلی تأیید می کنند. در حقیقت، راه حل DAG از ماینرها و سهام گذاری یا استیکینگ (Staking) کاربران جهت اعتبارسنجی تراکنش ها استفاده نمی کند؛ در نتیجه هزینه های شبکه به شدت کاهش پیدا می کند. علاوه بر این، گره های DAG می توانند به 10000 TPS دست پیدا کرده و هزینه های مضاعف شبکه را از میان بردارند. از جمله پروژه های مبتنی بر DAG می توانیم به آیوتا یا IOTA (MIOTA) اشاره داشته باشیم.
علاوه بر این، یک شبکه بزرگتر مبتنی بر DAG، مانعی برای نرخ اعتبارسنجی تراکنش ها نخواهد بود. از این رو، راه حل DAG می تواند با هزینه ای کم به تمرکززدایی و مقیاس پذیری دست پیدا کند. با این حال، راه حل DAG از امنیت ضعیف تری در برابر حملات مخرب به شبکه برخوردار است.
همچنین بخوانید: احتمال رشد قیمت کاردانو با انتشار راهکار مقیاس پذیری هایدرا
شاردینگ (Sharding)
شاردینگ تراکنش ها را به چند شارد تقسیم بندی کرده تا چندین گره مختلف بتوانند هر کدام از شاردها (بسته های تراکنش ها) را جهت کاهش زمان پردازش آنها، پردازش کنند. با این حال، بلاک چین باید امنیت شبکه را در برابر اعتبار سنج های مخرب، تامین کند. همچنین، شاردینگ تنها برای تراکنش هایی که در شاردهای اصلی هستند کارآمد است. نمونه هایی از بلاک چین هایی که از این راه حل استفاده می کنند عبارتند از اتریوم (ETH) و رپید چین (RapidChain).
دقت داشته باشید که مقیاس پذیری خارج از زنجیره، تراکنش های خارج از شبکه اصلی را تأیید می کند. علاوه بر این، فقط وضعیت نهایی به شبکه اصلی (که به عنوان کانال های حالت یا State Channels نیز شناخته می شوند)، مخابره خواهد شد. به عنوان مثال، شبکه لایتنینگ (Lightning Network) بیت کوین تنها پس از اینکه کاربر از کانال خارج از زنجیره تراکنش استفاده کرد، هزینه ای را دریافت می کند که این موضوع باعث کاهش کارمزد تراکنش های بلاک چین خواهد شد.
بیشتر بخوانید: رول آپ ها؛ برترین راهحل لایه ۲ جهت رفع مشکل مقیاسپذیری اتریوم
از طرفی برخی زیرگروه های دیگر که زیر مجموعه راه حل های خارج از زنجیره هستند نیز وجود دارند که در ادامه به شرح آنها خواهیم پرداخت:
مقیاس پذیری زنجیره جانبی (Side-chain Scalability)
مقیاس پذیری زنجیره جانبی، انتقال دو طرفه دارایی را بین زنجیره والد (parent chain) و زنجیره جانبی (side chain) امکان پذیر می سازد. اساساً یک زنجیره جانبی از یک تأیید پرداخت ساده یا SPV (Simple Payment Validation) جهت اعتبارسنجی تراکنش ها استفاده می کند. علاوه بر این، انتقال دارایی از یک زنجیره والد به یک زنجیره جانبی به یک خروجی متکی است و قفل خروجی مد نظری که با اطلاعات تراکنش همراه است را فقط می توان از طریق اثبات SPV، از زنجیره اصلی یا زنجیره جانبی باز کرد. ضمناً، اثبات SPV اعتبار سنج های زنجیره جانبی را به زنجیره والد ارتباط می دهد. مثلاً شبکه لوم (LOOM) از زنجیره های جانبی برای بلاک چین خود استفاده می کند.
مقیاس پذیری زنجیره کودک (Child-chain scalability)
یک زنجیره کودک (Child-chain) به گره های زنجیره والد خود مرتبط است. از طرفی هر زنجیره کودک تراکنش ها را با الگوریتم اجماع منحصر به فرد خود پردازش می کند. این در حالی است که زنجیره والد نیز، نهایی بودن تراکنش ارسال شده توسط زنجیره کودک را ثبت کرده و زنجیره والد نیز وظیفه محافظت از زنجیره کودک را بر عهده دارد. از جمله پروژه هایی که از زنجیره های کودک در بلاک چین خود استفاده می کنند، می توانیم به اتریوم پلاسما (Ethereum Plasma) اشاره داشته باشیم.
همچنین بخوانید: شیباریوم، راهکار مقیاس پذیری شیبا اینو به زودی راهاندازی میشود
مقیاس پذیری بین زنجیره (Interchain Scalability)
این مدل از مقیاس پذیری، شبکه محلی (LAN) را تکرار می کند. در حقیقت در این راه حل مقیاس پذیری، چندین بلاک چین از طریق یک پروتکل مشترک که با همه شبکه ها سازگار است، به یکدیگر مرتبط می شوند. از طرفی مقیاس پذیری بین زنجیره، خود شامل زیر زنجیره ها و گره های مختلفی است و همچنین روش های اجماع آن نیز در بلاک چین های مختلف، متقاوت خواهد بود. بعنوان مثال کازماس (ATOM) از راه حل مقیاس پذیری interchain، در کنار تحمل خطای عملی بیزانس یا PBFT (Practical Byzantine Fault Tolerance) و البته الگوریتم اجماع گواه اثبات سهام یا PoS (Proof of Stake) برای اجماع استفاده میکند.
چشم انداز پیش روی مقیاس پذیری چگونه است؟
توسعه راه حل های مقیاس پذیری عمدتاً به سمت تعادل بین تمرکززدایی، مقیاس پذیری و امنیت یک بلاک چین هدایت می شود. از نظر مقیاس پذیری روی زنجیره، تغییراتی برای کد پایه زنجیره در نظر گرفته شده است که می تواند منجر به ارتقاء هارد فورک یا گره شود. با این حال، اجرای آن بسیار دشوار خواهد بود.
از این رو، سگویت (Segwit) یا سافت فورک راه می توان راه حلی مناسب تر در نظر گرفت و علت نیز این است که داده های امضا جهت اعتبارسنجی تراکنش ها، بیشتر فضای بلاک چین را اشغال می کنند. با این وجود، این روش امنیت بلاک چین را کاهش خواهد داد.
از طرفی، راه حل دیگر، شاردینگ است که یک بلاک چین را به چند شارد تقسیم می کند تا مقیاس پذیری آن را افزایش دهد. همچنین از آنجایی که شاردینگ یک شبکه را به چندین بخش (شارد) تقسیم می کند، شبکه پتانسیل پردازش تعداد زیادی تراکنش را خواهد داشت که این موضوع تأخیر ناشی از پردازش همزمان تراکنش ها توسط شارد ها را به شدت کاهش می دهد. با استفاده از راهحلهای خارج از زنجیره، پروژهها میتوانند TPS بیش از یک میلیون را توسط شبکه لایتنینگ و به طور بالقوه، حتی بینهایت TPS را بوسیله پلاسما اتریوم به دست آورند.
با این حال، ادغام راهحلهای مقیاسپذیری، احتمالاً به حل مشکلات مقیاسپذیری که بسیاری از پروژهها با آن مواجه هستند، کمک خواهد کرد و در نتیجه، این موضوع پذیرش آن پروژه و بلاک چین آن را افزایش خواهد داد؛ چراکه کاربران آن پروژه دیگر گرفتار تراکنشهای کند و کارمزدهای بالای شبکه نخواهند بود.
نتیجه گیری
بلاک چین ها به دلیل ویژگی های فناوری زیربنایی خود (مثل تعداد گره ها و اندازه محدود بلوک ها)، عموماً با مشکلات مربوط به مقیاس پذیری مواجه هستند. در نتیجه، برخی از بلاک چینهای موجود، از TPS پایین و محدودیت در پردازش حجم بالایی از تراکنشها برخوردار هستند که در نتیجه این دو محدودیت، سرعت تراکنش های آنها پایین و کارمزدهای شبکه آنها بالا میرود. نتیجتاً اینکه سایر بلاک چین ها راه حل های مقیاس پذیری متفاوتی را اتخاذ می کنند.
با این حال، عواملی که بر مقیاسپذیری تأثیر گذار هستند، به طور مستقیم به یکدیگر نیز وابستگی دارند که این موضوع به خودی خود، دستیابی به مقیاسپذیری را دشوار میکند؛ چراکه جهت دست یابی به یکی از این فاکتورها، فاکتور دیگر از دست می رود. از طرفی، نمونههایی از راهحلهای مقیاسپذیری موجود که بر روی لایه داده ساخته شدهاند، شامل راهحلهای مقیاسپذیری روی زنجیره و خارج از زنجیره مثل DAG، شاردینگ، زنجیره جانبی و غیره است که هرکدام از آنها مزایا و معایب خاص خود را داشته و اساساً حول یک محور سه گانه می چرخند.
در آخر اینکه، به نظر میرسد که توسعه راهحلهای مقیاسپذیری بلاک چین به سمت شاردینگ و کانالهای پرداخت خارج از زنجیره پیش برود. از طرفی اگر تمایل دارید تا کمی عمیق تر در مورد مفهوم مقیاس پذیری اطلاع پیدا کنید، پیشنهاد می کنیم تا مطلب مقیاس پذیری چیست را مطالعه کنید.