مقیاسپذیری (Scalability) چیست؟
فناوری بلاکچین و ارزهای دیجیتال طی سالهای اخیر پیشرفتهای چشمگیری داشته و تمام تلاشش را کرده است تا پا جای پای اینترنت و سیستمهای مالی سنتی بگذارد. اما یک چالش، هنوز گریبانگیر این دو فناوری است؛ مقیاس پذیری (Scalability). اگر از علاقهمندان و سرمایهگذاران ارزهای دیجیتال هستید و خصوصاً تحلیل فاندامنتال انجام میدهید، احتمالاً درک مفهوم مقیاس پذیری، راهکارهای افزایش آن و نقطهای که اکنون در آن ایستادهایم اهمیت زیادی برای شما خواهد داشت.
مقیاس پذیری (Scalability) یکی از مهمترین چالشهایی است که فناوری نوظهور و روبهرشد بلاکچین طی سالهای اخیر با آن روبهرو بوده است. بیت کوین، اولین ارز دیجیتالی است که با ظهورش در سال ۲۰۰۹ میلادی فناوری بلاکچین را بیشازپیش بر سر زبانها انداخت؛ اما آنچه که باعث شد تا سایر ارزهای دیجیتال نظیر لایت کوین، اتریوم و آلتکوینها روی کار بیایند، همین معیار مقیاس پذیری بود که بلاکچین بیت کوین از آن بیبهره بود (بهره کمی داشت)!
با وجود اینکه طی سالهای اخیر توسعهدهندگان تمام تلاش خود را به کار بستهاند تا با افزایش مقیاس پذیری بلاکچینها، کارایی این سیستمها ارتقا دهند، اما هنوز هم فاصله زیادی با سیستمهای سنتی وجود دارد. همین امر نیز باعث شده است تا چشمانداز آینده بلاکچین، بیت کوین و ارزهای دیجیتال در هالهای از بهام قرار داشته باشد. پس، اگر از علاقهمندان ارزهای دیجیتال باشید، بدونشک درک مفهوم مقیاس پذیری، پیشرفتهایی که تاکنون حاصل شده و روندی که در پیش رو خواهیم داشت و راههای افزایش آن، چه برای موفقیتهای فاندامنتال و چه برای فعالیتی اصولی در بازارهای مالی به کارتان میآید. همه اینها و نکات بیشتر را در ادامه همین مطلب در همتاپی بخوانید.
تعریف مقیاس پذیری (Scalability)
قبل از اینکه به تعریف موضوع اصلی بلاکچین بپردازیم، بیایید نگاهی به تاریخچه این فناوری و خصوصاً روندی که از ظهور ارزهای دیجیتال تاکنون داشته است بیندازیم.
فناوری بلاکچین (Blockchain)، گونهای از یک پایگاه داده و در عمل یک دفتر کل توزیعشده است که در لغت، به زنجیرهای پیوسته از بلوکها اشاره داد. بلوکهایی که طیف گستردهای از دادهها و اطلاعات -در ارزهای دیجیتال همان تراکنشها– را در خود جای میدهند. درواقع، ما با یک فناوری انقلابی مواجه هستیم که سعی دارد جای اینترنت را بگیرد!
این فناوری، از سال ۲۰۰۹ میلادی، با معرفی اولین ارز دیجیتال دنیا، بیت کوین (Bitcoin)، توسط ساتوشی ناکاموتو (Satoshi Nakamoto) مرموز و افسانهای بیشازپیش مورد توجه قرار گرفت. اما ساختاری که ساتوشی برای ارز دیجیتالش معرفی کرده بود، یکسری کموکاستها داشت!
کموکاستهایی که بعدتر توسط دیگر کارآفرین و خالق افسانهای دنیای کریپتو در قالب سهگانه بلاکچین (Blockchain Trilemma) مطرح شد.
ویتالیک بوترین (Vitalik Buterin)، خالق بزرگترین آلت کوین دنیا، اتریوم (Ethereum)، اولین کسی بود که بهعنوان یکی از علاقهمندان بیت کوین و کسی که سعی داشت آن را بهبود دهد این سهگانه را تحت عنوان مثلث مقیاس پذیری بلاکچین مطرح کرد:
- امنیت (Security)
- مقیاسپذیری (Scalability)
- تمرکززدایی (Decentralization)
از بین این سه فاکتور، یکی باید قربانی شود تا دوتای دیگر در یک شبکه بلاکچینی فراهم شوند! امنیت و تمرکززدایی، فاکتورهایی هستند که احتمالاً آنها را میشناسید و درک میکنید. اما مقیاس پذیری چیست؟!
مقیاس پذیری یک شبکه بلاکچینی، درواقع قدرت آن شبکه برای پردازش تراکنشها و دادههاست؛ اینکه تا چه اندازه قادر است حجم بالاتری از تراکنشها را در مدتزمان کمتری با هزینه پایینتر مدیریت و پردازش کند.
در حالت کلی، سه معیار میتوانند در مقیاس پذیری یک شبکه دخیل باشند:
توان عملیاتی شبکه (Throughput)
در حالت کلی، تعداد تراکنشهایی که یک شبکه بلاکچینی قادر است در مدت زمان مشخصی پردازش کند، از جمله فاکتورهای تعیینکننده مقیاس پذیری آن است.
این فاکتور که توان عملیاتی شبکه (Throughput) نامیده شده و بر اساس یکای تراکنش بر ثانیه (Transaction Per Second) یا به اختصار TPS اندازهگیری میشود، در دو شبکه بزرگ بیت کوین و اتریوم از قرارِ زیر است:
شبکه بلاکچینی | تعداد تراکنش بر ثانیه (Transaction Per Second) |
بیت کوین (Bitcoin) | 7 TPS |
اتریوم (Ethereum) | 30 TPS |
درواقع، شبکه بیت کوین در حالت عادی در هر ثانیه تعداد ۷ تراکنش و شبکه اتریوم هم به طور متوسط در حالت عادی در هر ثانیه حدود ۳۰ تراکنش را پردازش میکنند. برای درک بیشتر موضوع، بهتر است این ارقام را با قدرت عملیاتی شبکه ویزا (Visa) مقایسه کنید که معادل ۱۷۰۰ تراکنش در هر ثانیه است!
تأخیر زمانی (Latency)
اگر با سازوکار شبکههای بلاکچینی آشنا باشید، احتمالاً میدانید که برای پردازش یک تراکنش در یک بلاکچین و تأیید و نهاییشدن آن چه فرایندی طی میشود:
- تراکنش به شبکه ارسال میشود
- دادههای آن میان نودها یا گرهها توزیع میشود
- نودها بر اساس مکانیسم اجماع شبکه شروع به اعتبارسنجی تراکنش میکنند
- درصورت اجماع بر اساس الگوریتم موجود، تراکنش تأیید میشود
- بلاک جدید ایجاد شده و تراکنش نهایی میشود
فاصله زمانی که طول میکشد تا پس از ارسال تراکنش به شبکه، بین نودها توزیع شده و سپس تأیید و نهایی شود، تأخیر زمانی (Latency) نام دارد. بدیهی است که هرچه این تأخیر بیشتر باشد، سرعت پردازش تراکنشها پایینتر آمده و اصطلاحاً مقیاس پذیری بلاکچین پایینتر خواهد بود.
هزینه (Cost)
و اما بحث داغ و شیرین هزینهها که همیشه پای ثابت همهجا و همهچیز هستند!
شما اگر بخواهید یک شبکه بلاکچینی بزرگ با حجم بالایی نود فعال داشته باشید که مشتاقانه منتظر تراکنشهای جدید برای اعتبارسنجی و تأیید هستند، باید سیستم پاداشدهی و مشوقهای چرب و جذابی برای آن در نظر گرفتهباشید؛ این هم یعنی هزینه بالاتر برای شبکه.
از طرفی، برای تمرکززدایی و امنیت نیز نیاز به صرف هزینه است. قدرت محاسباتی بالاتر، پهنای باند بزرگتر، فضای ذخیرهسازی بیشتر و مواردی از این دست… دقیقاً به همین خاطر است که نمیتوان هم خدا را داشت و هم خرما را! نمیتوان هرسه سهگانه بلاکچین را باهم تأمین کرد.
بلاکچینهایی مثل سولانا روی مقیاس پذیری تمرکز کردهاند و امنیت و تمرکززدایی را کنار گذاشتهاند؛ شبکهای مثل ریپل صرفاً سعی کرده امنیت و مقیاس پذیری را تأمین کند و از تمرکززدایی جا مانده و شبکههایی همچون بیت کوین و اتریوم نیز مقیاس پذیری را فدای امنیت و تمرکززدایی کردهاند!
راهکارهای افزایش مقیاس پذیری
بسیار خوب… تاحدودی با مفهوم مقیاس پذیری در شبکههای بلاکچینی و اهمیت آن آشنا شدیم. اکنون سوالی که مطرح میشود این است که چه راهحلهایی برای بهبود مقیاس پذیری وجود دارد؟
سه دسته راهکار برای ارتقای مقیاس پذیری در یک شبکه بلاکچینی وجود دارد:
- راهحلهای درونزنجیرهای (On-Chain) مقیاس پذیری
- راهحلهای برونزنجیرهای (Off-Chain) مقیاس پذیری
راهحلهای درونزنجیرهای (On-Chain) مقیاس پذیری
راهکارهای لایه اول، راهکارهایی هستند که روی شبکه اصلی بلاکچین پیادهسازی میشوند و ازاینرو به آنها راهکارهای درونزنجیرهای (On-Chain) نیز گفته میشود. در ادامه، تعدادی از متداولترین راهحلهای درونزنجیرهای یا لایه اول را معرفی میکنیم.
شاردینگ (Sharding)
یکی از متداولترین روشهای افزایش مقیاس پذیری بهصورت درونزنجیرهای یا لایه اول، شاردینگ (Sharding) است که به تجزیه بلاکچین به تکههای کوچکتر و قابلمدیریتتر دلالت دارد؛ تکههایی که شارد (Shards) نامیده میشوند. درنتیجه، این کار، شبکه با مدیریت و پردازش تراکنشها در قطعات موازی مقیاس پذیری بیشتری پیدا میکند.
هارد فورک (Hard Fork)
روش دیگری که احتمالاً اسمش را به کرات شنیدهاید، هارد فورک (Hard Fork) است. روشی که در آن یک سری از ویژگیها و خصوصیات اصلی و بنیادی شبکه دستخوش تغییر و تحول میشود تا مقیاس پذیری بیشتری پیدا کند. تغییراتی از قبیل:
- افزایش اندازه بلوکها
- کاهش زمان تأیید بلوکها
- ایجاد انشعاب در شبکه بلاکچین و …
نظارت مجزا (Segregated Witness)
سومین روش از راهکارهای لایه اول یا درونزنجیرهای برای افزایش مقیاس پذیری نیز نظارت مجزا (Segregated Witness) نام دارد. در این راهکار که بهعنوان سگویت (SegWit) نیز شناخته میشود، نحوه ذخیرهسازی دادهها در بلوکها تغییر یافته و درنتیجه پروتکل ارتقا پیدا کرده و مقیاس پذیری افزایش پیدا میکند.
فرض کنید قادر باشید با حذف بخشی از دادههای امضای مرتبط با تراکنشها، ظرفیت و فضای مورد نیاز برای ذخیرهسازی دادههای تراکنشها و پردازش آنها را افزایش دهید (نکتهای که شاید ندانید این است که دادههای امضای دیجیتال (Digital Signature) چیزی در حدود ۷۰ درصد از فضای کل یک تراکنش را اشغال میکنند)!
راهحلهای برون زنجیرهای (Off-Chain) مقیاس پذیری
در راهحلهای برون زنجیرهای (Off-Chain) شما دیگر با خودِ شبکه بلاکچینی و زنجیره اصلی کاری ندارید و سعی میکنید از طریق پردازش تراکنشها در بیرون از زنجیره اصلی مقیاس پذیری سیستم را ارتقا دهید. در این دستهبندی نیز چند روش متداول وجود دارند که معرفی میکنیم:
زنجیرههای جانبی (Side-Chains)
یکی از متداولترین روشهای برونزنجیرهای برای افزایش مقیاس پذیری استفاده از زنجیرههای جانبی (Side-Chains) است. شبکههای بلاکچینی مجزایی که اگرچه کاملاً از زنجیره اصلی مستقل عمل میکنند اما با آن هم در ارتباط هستند.
شما میتوانید بخشی از تراکنشها و پردازش دادهها را به این زنجیره بسپارید و به این ترتیب، با برداشتن باری از روی دوش شبکه اصلی، مقیاس پذیری آن را تا حد زیادی افزایش دهید. نکتهای جالبی که وجود دارد این است که قابلیت معماری متفاوت و استفاده از ساختار و مکانیسمهای اجماع متفاوت در این زنجیرههای جانبی نیز وجود دارد.
کانال وضعیت (State Channel)
دومین روش از راهکارهای برونزنجیرهای افزایش مقیاس پذیری، استفاده از کانالهای وضعیت (State Channels) است. کانالهایی که با ایجاد یک رابطه دوطرفه میان کانالهای تراکنش برونزنجیرهای و شبکه اصلی، بار قابلتوجهی را از دوش بلاکچین برداشته و به مقیاس پذیری بیشتر آن کمک میکنند.
شبکه لایتنینگ (Lightning Network) بیت کوین که احتمالاً بارها برای نقلوانتقالات رمزارزی خود از آن استفاده کردهاید، یکی از محبوبترین کانالهای وضعیتی است که روی این شبکه پیاده شده و موفق نیز بوده است.
البته، در کنار موارد عنوانشده ممکن است قادر باشیم با تغییر مکانیسم اجماع یک شبکه بلاکچینی نیز به مقیاس پذیری بیشتر آن کمک کنیم. برخی از متداولترین مکانیسمهای اجماع که به مقیاس پذیری شهرت دارند عبارتند از:
- اثبات اعتبار (Proof-of-Authority)
- اثبات سهام نمایندگیشده (Delegated Proof-of-Stake)
- تحمل خطای بیزانس (Byzantine Fault Tolerance)
جمعبندی
فناوری بلاکچین (Blockchain)، گونهای از یک پایگاه داده و در عمل یک دفتر کل توزیعشده است که در لغت، به زنجیرهای پیوسته از بلوکها اشاره داد. بلوکهایی که طیف گستردهای از دادهها و اطلاعات – در ارزهای دیجیتال همان تراکنشها – را در خود جای میدهند. درواقع، ما با یک فناوری انقلابی مواجه هستیم که سعی دارد جای اینترنت را بگیرد!
اما این فناوری، هنوز راه زیادی برای جامه عمل پوشاندن به این هدف دارد؛ مهمترین چالشی که بلاکچین در مقابل سیستمهای سنتی دارد، مقیاس پذیری است. یکی از معیارهای سهگانه مهم بلاکچین:
- امنیت (Security)
- مقیاسپذیری (Scalability)
- تمرکززدایی (Decentralization)
منظور از مقیاس پذیری، درواقع قدرت یک شبکه بلاکچینی برای پردازش تراکنشها و دادههاست؛ اینکه تا چه اندازه قادر است حجم بالاتری از تراکنشها را در مدتزمان کمتری با هزینه پایینتر مدیریت و پردازش کند.
برای افزایش مقیاس پذیری شبکهها نیز راهکارهای مختلفی ارائه شده که در متن مقاله، در دو دستهبندی درونزنجیرهای (On-Chain) و برونزنجیرهای (Off-Chain) به معرفی و توضیح آنها پرداختهایم.