مقیاس پذیری یا Scalibility چیست و راه کارهای حل این مشکل در شبکه بیت کوین چه می باشد؟
مقیاس پذیری چیست؟ / سهگانه مقیاس پذیری / کاهش حجم تراکنشها / استفاده از الگوریتمهای اجماع مقیاس پذیر
Scalibility چیست یا مقیاس پذیری چیست؟

مقیاس پذیری یا Scalibility
تکنولوژی بلاکچین آمده که بسیاری از مشکلات سیستمهای سنتی مثل عدم شفافیت، متمرکز بودن و امنیت را حل کند و در بسیاری موارد جایگزین آنها شود. اما بلاکچینهای امروزی تا چه حد برای پذیرش عمومی آماده هستند؟ بلاکچین بیت کوین امروزه توانایی انجام تنها ۷ تراکنش در ثانیه و اتریوم ۱۵ تراکنش در ثانیه را دارد. این درحالیست که شبکه ویزا کارت تا ۲۴۰۰۰ تراکنش در ثانیه را می تواند انجام دهد. در اواخر سال ۲۰۱۷ دیدیم که بعد از افزایش بیش از حد تعداد تراکنش های بیت کوین و اتریوم و خیلی دیگر از کوینها، بسیاری از تراکنش ها به دلیل پایین بودن سرعت بلاکچین آن ها، مدت طولانی در انتظار تایید میماندند و کارمزد تراکنشها در نتیجه این شلوغی شبکه بسیار افزایش یافته بود. به این مشکل عدم مقیاس پذیری این ارزهای دیجیتال گفته میشود. مقیاس پذیری چیست؟ مقیاس پذیری یا (Scalibility) یعنی شبکه توانایی پاسخگویی به میزان تقاضای شبکه را داشته باشد. در این مقاله قصد داریم نگاهی دقیق تر به این مشکل بیندازیم و از زوایای مختلف آن را بررسی کنیم.
در یک شبکه از کامپیوترها که به یک منظور خاص بوجود آمدهاند، مقیاس پذیری شبکه یک مسئله اصلی است. ارزهای دیجیتال هم دارای یک شبکه غیر متمرکز از کامپیوترها هستند که به منظور انتقال تراکنش ها، تایید آنها و ذخیرهشان بر روی بلاکچین، بوجود آمدهاند. مقیاس پذیری این نوع شبکه ها از سه قسمت مختلف تشکیل شده است :
- تعداد تراکنشها در ثانیه (TPS)
- حجم مورد نیاز برای ذخیره سازی بلاکچین
- سرعت انتقال اطلاعات در شبکه

اگر به صورت میانگین حجم هر تراکنش را ۲۵۰ بایت در نظر بگیریم، هر بلوک که هر ۱۰ دقیقه یکبار ساخته میشود می تواند حدود ۴۰۰۰ تراکنش را در خود جای دهد.
هر سه این عوامل پارامترهایی هستند که یک شبکه مقیاس پذیر بسته به تقاضای شبکه باید توان پاسخگویی آنها را داشته باشد. اما در این بین بیشترین صحبت ها پیرامون تعداد تراکنشی است که یک بلاکچین در ثانیه می تواند انجام دهد. مثلا در شبکه بیت کوین تقریبا هر ده دقیقه یک بلوک جدید به بلاکچین آن اضافه می شود که شامل تعدادی تراکنش است. حجم بلوکهای بیت کوین در حال حاضر به یک مگابایت محدود شده است. هر تراکنش بسته به تعداد وروردیها (Input) و خروجی هایش (Output) حجم متفاوتی دارد. اما اگر به صورت میانگین حجم هر تراکنش را ۲۵۰ بایت در نظر بگیریم، هر بلوک که هر ۱۰ دقیقه یکبار ساخته میشود می تواند حدود ۴۰۰۰ تراکنش را در خود جای دهد. با این فرضیات بیت کوین حدود ۷ تراکنش در ثانیه را میتواند تایید کند و در صورت افزایش تعداد آنها، تراکنش ها باید مدت بیشتری را در MemPool به انتظار تایید بنشینند و ازآنجا که اولویت تایید با تراکنشهای با کارمزد بیشتر است در این مواقع کارمزد تراکنش ها هم افزایش می یابند.
پیش از آنکه راهکارهایی که برای حل این مشکل وجود دارند را بررسی کنیم باید به دو نکته اشاره کرد. نکته اول اینکه مقیاس پذیری یک مسئله نسبی است و نه قطعی یعنی نمیتوان گفت که مثلا شبکه بیت کوین در کل مقیاس پذیر نیست یا هست، چون این پارامتر نسبت به زمان متغیر است و بستگی به میزان تقاضای شبکه دارد و یک راه حل نهایی برای آن وجود ندارد، بلکه به نسبت افزایش تقاضای شبکه باید ظرفیت آن به روشهای مختلف در طول زمان افزایش یابد. نکته دوم اینکه در یک شبکه متمرکز مثل شبکه ویزا کارت دستیابی به مقیاس پذیری بسیار ساده تر است و با هزینه بر روی زیرساختها و سرورها میتوان تعداد تراکنشها در ثانیه (TPS) را افزایش داد. اما در یک شبکه غیر متمرکز مسئله بسیار پیچیده تر است. برای روشن تر شدن این پیچیدگی باید ابتدا با سهگانه مقیاس پذیری که ویتالیک بوترین آن را توصیف کرد و میتواند کلید حل بسیاری از مسائل باشد، آشنا شوید.
سهگانه مقیاس پذیری چیست؟
ویتالیک میگوید هیچگاه یک بلاکچین نمی تواند هم زمان سه پارامتر زیر را با هم داشته باشد، بلکه تنها دوتا از آنها را می تواند داشته باشد و برای به دست آوردن ویژگی سوم باید یکی از آن دو ویژگی که دارد را فدا کند. این سه ویژگی عبارتند از:
- مقیاس پذیری (Scalibility)
- غیرمتمرکز بودن (Decentralization)
- امنیت (Security)

سهگانه مقیاس پذیری
مثلا بیت کوین و اتریوم شبکههایی غیرمتمرکز و با امنیت بالا دارند ولی در حال حاضر مشکل مقیاس پذیری دارند. ولی هرکدام قصد دارند در آینده با به کار بردن فناوریهای جدیدی این مشکل را حل کنند.
حال در ادامه قصد داریم راهکارهای افزایش مقیاس پذیری شبکه های ارزهای دیجیتال و مزایا و معایب هرکدام از آنها رابررسی کنیم.
افزایش سایز بلوک ها
شاید بتوان گفت سادهترین راه افزایش TPS، افزایش سایز بلوکها در بلاکچین است. در سال ۲۰۱۷ بیت کوین کش به منظور افزایش تعداد تراکنشهای بیت کوین در یک ثانیه، همین راهکار را در پیش گرفت و یک فورک سخت (Hard Fork) از بیت کوین ایجاد کرد و حجم هر بلوک را از یک مگابایت به هشت مکابایت افزایش داد.

افزایش سایز بلوک ها
اما باید گفت همیشه سادهترین راه بهترین راه نیست. افزایش سایز بلوکها TPS را میتواند افزایش دهد ولی از سوی دیگر موجب افزایش حجم کلی بلاکچین میشود و یک گره کامل (Full Node) احتیاج به فضای بیشتری جهت ذخیره بلاکچین خواهد داشت. در حال حاضر یک گره کامل بیت کوین باید کل بلاکچین بیت کوین را با حجم تقریبی ۲۱۵ گیگابایت دانلود نماید که این مقدار با اضافه شدن بلوکهای جدید به تدیج زیادتر هم میشود، حال با چند برابر کردن سایز بلوکها حجم کل بلاکچین هم چند برابر میشود. در حال حاضر افراد زیادی قادر به دانلود و ذخیره سازی این حجم از اطلاعات جهت داشتن یک فول نود شبکه بیت کوین هستند اما اگر این حجم چند برابر شود آنگاه افراد معدودتر و شرکتهای بزرگ تنها قادر به انجام این کار خواهند بود و این امر باعث کاهش غیرمتمرکز بودن شبکه (ضلع دیگر سهگانه مقیاس پذیری) میشود.
افزایش نرخ تولید بلوکهای جدید در مقیاس پذیری چیست؟
این کار هم موجب افزایش TPS خواهد شد هم سرعت تایید تراکنشها. ولی مانند راهکار قبلی حجم کلی بلاکچین را افزایش خواهد داد و در نتیجه غیر متمرکز بودن را کاهش میدهد. به علاوه در صورتی که نرخ تولید بوکهای جدید کاهش یابد یعنی در مدت زمان کمتری بلوک های جدید ساخته شود، احتمال اینکه دو ماینر در دوجای مختلف همزمان بلوک جدیدی را استخراج کنند، افزایش می یابد و در نتیجه تعداد فورکهای ناخواسته در نتیجه ماین همزمان بلوک جدید افزایش پیدا میکند.

افزایش نرخ تولید بلوکهای جدید
کاهش حجم تراکنشها
کاهش حجم تراکنش ها باعث میشود تعداد بیشتری تراکنش در یک بلوک جا شوند، در نتیجه TPS افزایش یابد. راهکارهای مختلفی تا کنون برای کاهش حجم تراکنش ها پیشنهاد شدهاند. مثلا Segwit که یک فورک نرم (Soft Fork) بیت کوین بود، باعث میشود تراکنشهایی از این نوع تا ۶۰ درصد حجم کمتری از بلوک را اشغال کنند و کارمزد پایینتری نسبت به تراکنشهای عادی (Legacy) داشته باشند. و یا راهکارهای جدیدتری مانند Aggregated Siganture یا امضاهای دیجیتال متراکم شده که از طریق آن برای یک تراکنش، فقط یک امضای دیجیتال لازم است و با این ترفند تا حد زیادی حجم تراکنشها را کاهش می دهد. قسمت زیادی از حجم یک تراکنش مربوط به امضاهای دیجیتال آن است.
استفاده از راهکارهای لایه دوم (Layer-Two Solutions)
یکی دیگر از راهکارهای افزایش مقیاس پذیری شبکههای بلاکچینی ایجاد یک شبکه مجزا بر روی بلاکچین اصلی است که به آن لایه دوم گفته میشود. فلسفه این روش آن است که نیازی نیست تک تک تراکنشها بر روی بلاکچین اصلی ثبت شود و ظرفیت آن را اشغال کند، در عوض این تراکنش ها میتوانند بر روی شبکه امن لایه دوم انجام شوند و در صورت لزوم بر روی بلاکچین هم ثبت شوند. از جمله این روشها میتوان بهشبکه لایتنینگ (Lightening Network) بیت کوین که در حال حاضر راهکار اصلی بیت کوین برای حل مشکل مقیاس پذیری به شمار میرود و یا تکنولوژی پلاسما Plasma که قرار است در آینده بر روی شبکه اتریوم پیاده سازی شود.

یکی دیگر از راهکارهای افزایش مقیاس پذیری شبکههای بلاکچینی ایجاد یک شبکه مجزا بر روی بلاکچین اصلی است که به آن لایه دوم گفته میشود.
استفاده از الگوریتمهای اجماع مقیاس پذیر
شاید بتوان گفت بسیاری از مشکلات مربوط به مقیاس پذیری مربوط به فرآیند اجماع اثبات کار (POW) است. بنابراین برای حل این مشکل و همچنین سایر مشکلات POW همچون مشکلات زیست محیطی ناشی از استخراج و تمرکز قدرت در استخرهای استخراج، جایگزین های زیادی برای ایجاد اجماع (Consensus) در شبکههای غیر متمرکز بوجود آمده اند. از جمله این فرآیندهای اجماع میتوان به اثبات سهام (Proof of Stake) و انواع آن، راهکارهای غیر بلاکچینی مانند تکنولوژی Tangle که در آیوتا (IOTA) به کار رفته و آن را کاملا مقیاس پذیر کرده و یا فناوری Block Lattice که در ارز دیجیتال Nano از آن استفاده شده و … اشاره کرد.

استفاده از الگوریتمهای اجماع مقیاس پذیر
بسیاری از کوینها ادعا میکنند که با استفاده از تکنولوژیهای مختلف، شبکه آنها قابلیت پشتیبانی از چندین هزار تراکنش در ثانیه را دارد، اما همواره باید به این نکته توجه کرد که مسئله فقط محدود به TPS نیست و بسیاری از این کوین ها مقداری از غیرمتمرکز بودن و یا امنیت شبکه خود را فدای این تعداد تراکنش در ثانیه کردهاند. البته یک کوین با توجه به کاربردش باید تعیین کند در کجای این معادله قرار دارد. مثلا آیوتا از آنجاکه قصد دارد در آینده اینترنت اشیا به عنوان ارزدیجیتال مورد مبادله دستگاه ها به کار رود، به TPS فوقالعاده زیادی نیاز دارد. آیوتا برای رسیدن به این هدف از تکنولوژی Tangle استفاده کرده که با بلاکچین بسیار تفاوت دارد و محدودیتی به لحاظ تعداد تراکنش در ثانیه ندارد. اما از آنجا که این تکنولوژی در ابتدای راه خود است، برای تامین امنیت شبکه نیاز به یک گره متمایز به نام گره هماهنگ کننده (Coordinator) دارد که این گره توسط موسسه IOTA کنترل میشود و تمام تراکنشها با هماهنگی این گره انجام میشود. این یعنی IOTA به منظور دستیابی به مقیاس پذیری فوق العاده بالا، غیر متمرکز بودن شبکهاش را فدا کرده است.
منبع: میهن بلاکچین
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.