مقیاس پذیری در بلاکچین چیست؛ به همراه راهکارهای بهبود آن
افزایش محبوبیت کریپتوکارنسیها و پذیرش آنها توسط مؤسسات بزرگ مالی و بازرگانی جهانی سبب شده کاربران سیستمهای پرداخت بدون واسطه دیجیتالی روزبهروز بیشتر شوند. بلاکچین که بستر اجرای رمزارزها است، دریچهای جدید در دنیای تکنولوژی گشوده و توانسته در همین مدت کوتاه معرفی به جهان، توجه بسیاری را جلب کند. اگر تا به امروز دررابطهبا این سیستم مطالعه کرده باشید، میدانید که شفافیت، امنیت و عدم تمرکز دلایل اصلی محبوبیت این فناوری است. اما سرعت انجام تراکنشها که مربوط به مقیاس پذیری در بلاکچین است، همیشه موردبحث بوده است.
مقیاس پذیری رکن مهم و تأثیرگذار در بلاکچین است که تا به امروز توسعه دهندگان به طور دقیق نتوانستند موانع آن را از سر راه بردارند و همچنان کاربران با سرعت انجام تراکنشها در این بستر مشکل دارند. در ادامه، به این سوال پاسخ خواهیم داد که مقیاس پذیری چیست و راه کاری برای بهبود آن خواهیم پرداخت.
مقیاس پذیری در بلاکچین یعنی چه؟
مقیاس پذیری در بلاکچین را میتوان توانایی پاسخگویی یک شبکه به میزان تقاضا دانست. Scalability یا همان مقیاس پذیری باید پاسخگوی پارامترهایی چون: تعداد تراکنش در ثانیه (TPS: Transactions Per Second)، حجم موردنیاز برای ذخیره شبکه بلاکچین و سرعت انتقال در اطلاعات شبکه باشد.
این معیار، مشخصکننده سرعت انجام تراکنشها در بستر بلاکچینها است. توانایی پردازش شبکه برای تأیید و ثبت تراکنشها یا همان TPS، مهمترین رکن در میزان مقیاس پذیری است. هرچه سرعت تأیید تراکنش بالاتر باشد، نشاندهندهٔ مقیاس پذیری بهتر شبکه است. برای درک بهتر این موضوع، به تحلیل مقیاس پذیری شبکه بیت کوین میپردازیم.
مقیاس پذیری بیت کوین
باتوجهبه سرعت تأیید تراکنشهای بیت کوین، میتوان حدس زد توسعه دهندگان آن در ابتدا تصور نمیکردند که روزی این شبکه به این شکل گسترش پیدا کند و تعداد کاران آن روزبهروز افزایش یابد. عدم توجه به این امر سبب شده تا به امروز همچنان مقیاس پذیری در بلاکچین بیت کوین راضیکننده نباشد.
در این شبکه از بلاکها برای انجام تراکنش استفاده میشود. اندازه بلاک بیت کوین پس از فراز و نشیبهای فراوان به ۱ مگابایت رسیده است. تراکنشها به همراه اطلاعات کامل خود یعنی زمان انجام، آدرس عمومی فرستنده و گیرنده، امضای دیجیتال و سایر دادهها در بلاک ذخیره میشوند. حجم تراکنشها با یکدیگر متفاوت است. اما به طور میانگین بلاکهای بیت کوین که هر ۱۰ دقیقه یکبار تولید میشوند، میتوانند ۴۰۰۰ تراکنش را در خود جای دهند. این میزان حجم ذخیرهسازی امکان انجام ۷ تراکنش در ثانیه را برای شبکه بیت کوین فراهم میکند.
در ساعات پیک شبکه یعنی زمانی که ترافیک بالاست و تراکنشهای بسیاری بهصورت همزمان در حال اجرا است؛ این میزان TPS (تراکنش بر ثانیه)، پاسخگوی تمام کاربران نیست و تراکنشهای بسیاری باید در استخر حافظه “Memory Pool” منتظر تأیید بمانند. اولویت هم همیشه با تراکنشهایی است که کارمزد بیشتری دارند و تراکنشها با کارمزد پایینتر زمان طولانی نیاز دارند تا تأیید شوند. ممکن است برخی از تراکنشها هیچوقت تأیید نشوند.
بیت کوین این حجم بلاک را بهمنظور حفظ امنیت شبکه تعیین کرده است. اما در حال حاضر و باتوجهبه حجم بالای معاملات آن، این عدم مقیاس پذیری شبکه به یک چالش اساسی برای این رمزارز تبدیل شده است.
چه چیزهایی مانع مقیاس پذیری در بلاکچین میشوند؟
بنیانگذار اتریوم، ویتالیک بوترین معتقد است؛ هیچ شبکهای نمیتواند هر سه ویژگی تمرکززدایی، امنیت و سرعت را به طور همزمان به کاربرانش ارائه دهد. او برای این مسئله نام «سهراهی مقیاس پذیری» را انتخاب کرده است.
هر یک از رمزارزهای مبتنی بر الگوریتم اثبات کار (PoW)، در شبکهٔ بلاکچین خود یکی از این ویژگیها را فدای دیگری میکنند. برای مثال، بیت کوین به طور کامل غیرمتمرکز است و امنیت بسیار بالایی دارد. اما همانطور که قبلتر هم اشاره کردیم، تراکنشها در بلاکچین بیت کوین سرعت پایینی دارند.
در سوی دیگر رمزارز ریپل برای بالابردن سرعت تراکنشها، ویژگی تمرکززدایی بلاکچین را در دستور کار قرار نداده است (بیش از ۱۰۰۰ تراکنش در ثانیه).
تقریباً تمامی رمزارزهایی که مبتنی بر گواه اثبات کار هستند، مقیاس پذیری را فدای ویژگیهای عدم تمرکز و امنیت کردهاند. به همین خاطر این پلتفرمها عموماً سرعت مناسبی به کاربران ارائه نمیدهند.
اما رمزارزهایی که از الگوریتم اثبات سهام (PoS) استفاده میکنند؛ با عدم توجه به ویژگیهای تمرکززدایی یا امنیت، تلاش کردهاند که مقیاس پذیری در بلاکچینهای خود را افزایش دهند. این امر سبب شده این پلتفرمها سرعت بالاتری نسبت به سیستمهای مبتنی بر الگوریتم اثبات کار به کاربران ارائه دهند.
برای مطالعه بیشتر میتوانید مقاله ساید چین را مطالعه کنید.
راهحلهای بهبود مقیاس پذیری در بلاکچین
با اینکه مشکل مقایسپذیری، در مقابل پیشرفت صنعت بلاکچین قرار دارد، اما راه حلهایی برای بهبود آن در شبکه وجود دارد.
افزایش حجم بلاکها
بزرگ کردن اندازه بلاک یکی از بهترین و مؤثرترین شیوههای بهبود TPS در بلاکچین است. بلاکچین بیت کوین در سال ۲۰۱۷ بهمنظور افزایش حجم بلاک یک هارد فورک ایجاد کرد به نام بیت کوین کش. این انشعاب جدید با حجم ۸ مگابایتی بلاک توانست مقیاس پذیری بهتری نسبت به بیت کوین ارائه دهد.
اما این روش میتواند بر روی پارامتر فضای ذخیرهسازی کافی برای حجم بلاکچین که از دیگر معیارهای مقیاسپذیر بودن شبکه است، تأثیر منفی بگذارد. افزایش حجم بلاکها، حجم کلی بلاکچین را نیز کاهش میدهد. این روند سبب میشود همهٔ نودهای کامل شبکه فضای کافی برای ذخیرهسازی نسخهٔ کامل شبکه را بر روی سیستمهای خود نداشته باشند و تعداد آنها در بلاکچین کاهش پیدا کند.
کاهش تعداد نود کامل، تمرکززدایی را که یکی از ارکان اصلی مقیاس پذیری است، کاهش میدهد.
افزایش پاداش استخراج
ایجاد بلاکهای جدید توسط ماینرها در شبکه بلاکچین فرایند «استخراج یا ماینینگ» نام دارد. ماینرها با حل معادلات پیچیدهٔ ریاضی، تراکنشها را تأیید میکنند و با افزودن بلاک جدید به بلاکچین، پاداش دریافت میکنند.
اگر نرخ این پاداش در شبکه افزایش پیدا کند، ماینرها انگیزهٔ بیشتری برای تأیید تراکنشها دارند. این روند سبب میشود نرخ TPS بلاکچین نیز افزایش پیدا کند.
کاهش حجم تراکنشهای شبکه
هر چه تعداد تراکنشهایی که در بستر بلاکچین صورت میگیرد کمتر باشد، سریعتر تأیید میشوند و نتیجهٔ آن افزایش TPS شبکه است. بیت کوین با سافت فورک سگویت تلاش کرده این روش را برای بهبود مقیاس پذیری در بلاکچین اجرا کند. تراکنشها در فورک Segwit، حدود ۶۰ درصد حجم کمتری از بلاک را اشغال میکنند و کارمزد پایینتری نسبت به تراکنشهای شبکه اصلی بیت کوین دارند. در نتیجهٔ این کاهش حجم، در هر بلاک تعداد بیشتری تراکنش تأیید میشود و بر روی مقیاس پذیری تأثیر مثبت میگذارد.
همچنین میتوان با استفاده از راهکار جدید Aggregated Signature یا امضای دیجیتالی فشرده شده، برای تراکنشها فقط یک امضای دیجیتال در نظر گرفت و حجم قابلتوجهی از هر تراکنش کم کرد. امضاهای دیجیتال حجم زیادی به تراکنشهای بستر بلاکچین اضافه میکنند.
استفاده از لایه دوم بر روی بلاکچین
برای افزایش مقیاس پذیری در بلاکچین میتوان یک شبکهٔ مجزا بر روی آن ایجاد کرد. به این شبکه، لایه دوم (Layer-Two Solutions) میگویند.
در روش لایه دوم، نیازی نیست تمام تراکنشها بر روی بلاکچین اصلی انجام و ذخیره شوند. برخی از آنها میتوانند بر روی شبکه یا همان لایه دوم انجام و ثبت شوند و حجم بلاکچین اصلی را اشغال نکنند.
شبکه لایتنینگ (Lightening Network) یکی از شبکههای مجزا بر روی بلاکچین اصلی است. لایتنینگ بر روی بلاکچین بیت کوین ایجاد شده است تا مشکلات مقیاس پذیری آن را حل کند.
استفاده از روشهای دیگر اجماع
قبلتر هم اشاره کردیم که الگوریتم اثبات کار یا همان PoW، یکی از موانع اصلی مقیاس پذیری در بلاکچین است. پس باید راه حلی یافت که در بلاکچینها از روشهای دیگر برای انجام فرایندها استفاده کرد. روشهایی مانند اثبات سهام (PoS) یا فناوری Block Lattice روشهای برای اجماع غیرمتمرکز در بلاکچین هستند که میتوانند تا حدودی مقیاس پذیری را در شبکه بهبود دهند.
شاردینگ
ویتالیک بوترین معتقد است که تکنولوژی شاردینگ بهترین راه برای افزایش مقیاسپذیری در شبکههای بلاکچین است. این روش در واقع با خرد کردن زنجیره بلوکی که به هرکدام از آنها شارد گفته میشود به افزایش سرعت تراکنشها کمک میکند.
عوامل موثر بر عملکرد بلاکچین
در ادامه به بررسی عواملی میپردازیم که روی پرفورمنس یک بلاکچین اثرگذار هستند:
مکانیسم اجماع
تکنیک یا مکانیزمی که توسط آن یک تراکنش در یک شبکه بلاکچین منتشر، تایید و نهایی میشود، پروتکل یا الگوریتم اجماع نامیده میشود. این مکانیسم اجماع همچنین مسئول دستیابی به یک تعادل خوب بین درجه تمرکززدایی، مقیاس پذیری و امنیتی است که یک شبکه بلاکچین دارد. از این رو، انتخاب مکانیسم اجماع مستقیماً با نحوه عملکرد شبکه بلاکچین مرتبط است.
تأخیر شبکه
در یک معماری توزیع شده این مهمترین عامل تأثیرگذار بر عملکرد کلی شبکه است. وقتی قرار است یک تراکنش اعتبار سنجی شود، باید برای همه گرهها پخش شود و پاسخ آنها باید برای اجماع مبتنی بر اکثریت جمع آوری شود. بنابراین، داشتن پهنای باند شبکه اختصاصی تا حد زیادی در به حداقل رساندن تاخیرهای شبکه و بهبود توان عملیاتی کلی کمک می کند.
زیرساخت گره
گرههای بلاکچین از یک موتور زمان اجرا و یک پایگاه داده تشکیل شده است که در محل یا در فضای ابری میزبانی می شود. در غیاب منابع زیرساخت اختصاصی (یعنی CPU، حافظه، هارد دیسک) عملکرد گره به احتمال زیاد با مشکل مواجه می شود. بنابراین، ضروری است که اندازه زیرساخت و تخصیص IOPS (عملیات خروجی ورودی در هر ثانیه) کافی فراهم شود.
تعداد گرهها
با افزایش تعداد گرهها، هر چه مدت زمان بیشتری طول بکشد تا یک تراکنش منتشر شود و به اجماع برسد، عملکرد کلی آن بیشتر کاهش مییابد. تکنیکهایی برای کاهش سربار ارتباط و اجازه دادن به گرهها برای تکیه بر سابقه اعتبارسنجی یک گره رهبر و یا سایر گرههای همتا برای کاهش این مشکل معرفی شدهاند.
پیچیدگی قرارداد هوشمند
بیشتر مطالعات یا ادعاهای معیار بر اساس آزمایشهایی است که در یک محیط آزمایشگاهی کنترلشده برای سادهترین تراکنشها انجام شده است. با افزایش پیچیدگی قراردادهای هوشمند از نظر منطق اعتبارسنجی و افزایش تعداد خواندن و نوشتن از/به دفتر کل، تأخیر پردازش نیز افزایش مییابد و در نتیجه بر عملکرد کلی تأثیر میگذارد.
اندازه تراکنش
از آنجایی که تراکنش و محتوای آن باید از طریق شبکه به همه گرهها منتقل شود، بارهای بزرگتر زمان بیشتری را برای تکرار در گره ها میطلبد. بنابراین یکی از بهترین روشها این است که محمولهها و اسناد بزرگ را در یک ذخیرهسازی خارج از زنجیره ذخیره کنید و مرجع آنها را در بلاکچین ثبت کنید.
ذخیرهسازی محلی گره
به طور معمول، شبکههای بلاکچین از ذخیرهسازی دادههای جفت کلید-مقدار برای حفظ تراکنش و وضعیت دفتر کل پشتیبانی میکنند. مقدار قابل توجهی از محتوا برای خواندن و نوشتن وجود دارد، و کارایی پایگاه داده زیربنایی یک عامل کلیدی در تأثیرگذاری بر عملکرد کل شبکه است.
ادغام تراکنش
در حالی که یک شبکه بلاکچین از چندین گره تشکیل شده است و در مجموع دسترسی بالایی را فراهم میکند، اما ظرفیت رسیدگی به تراکنش هر گره جداگانه تعیین میکند که چه تعداد تراکنش از برنامههای مشتری برای پردازش بیشتر پذیرفته میشود و این تأثیر مستقیمی بر توان عملیاتی کل شبکه دارد.
درمان نهایی مقایسپذیری چیست؟
در این مطلب به این سوال پاسخ دادیم که مقیاس پذیری چیست و راهکارهایی برای بهبود آن معرفی کردیم اما در آخر باید اشاره کنیم که مقیاس پذیری در بلاکچین یک میزان قطعی نیست و کاملاً یک مسئلهٔ نسبی است. به بیان سادهتر، نمیتوان گفت بهطورقطع شبکه بیت کوین مقیاس پذیری پایینی دارد یا شبکه ریپل بسیار مقیاسپذیر است. پارامترهای چون زمان و تعداد کاربران آنلاین تأثیر بسزایی در این امر دارند و تغییر هر یک میتواند میزان مقیاس پذیری را تغییر دهد.
هیچیک از روشهایی که در بالا توضیح دادیم، یک درمان قطعی برای افزایش میزان مقیاس پذیری نیست. هر شبکه باید باتوجهبه زمانهای پیک تراکنش و تعداد کاربرانش، روشی را برای بهبود این فرایند در پیش بگیرد. البته باز هم نمیتوان گفت با روش اتخاذ شده، به طور حتمی مشکل در آن شبکه حل خواهد شد.
همچنین باید اشاره کنیم که افزایش مقیاس پذیری در بسترهای متمرکز، بسیار آسانتر است. زیرا در این سیستمها یک سرور مرکزی و افرادی که آن را کنترل میکنند، وجود دارد که میتوانند بهراحتی موانع را از سر راه سیستم بردارند و یک شبکه کاملاً مقیاسپذیر تشکیل دهند.
اگر یک بلاکچین بزرگ نشود، هر گرهای که در توافق آن شرکت میکند باید تمام پیامها را دریافت کند. سپس، توان عملیاتی سیستم، توسط کمترین توان گره در شبکه محدود خواهد شد.
برای اینکه بلاکچین در مفهوم مالی یا غیر مالی به جریان اصلی تبدیل شود، باید مقیاس پذیر باشد. باید بتوان تعداد زیادی از تراکنشها را در هر ثانیه بدون به خطر انداختن اثربخشی یا امنیت شبکه انجام داد.
شاردینگ یک راهحل بسیار کاربردی برای بهبود مقیاسپذیری از طریق تقسیم زنجیره بلوکی به زنجیرههای کوچکتر است.