مفهوم اندازه بلاک و مقیاس پذیری چیست؟
۱) چرا اندازه بلاک در بلاک چین مهم است؟
اندازه هر بلاک موجود در بلاک چین می تواند به طور بالقوه تاثیر زیادی بر سرعت و ظرفیت شبکه داشته باشد.
بلاک چین همانطور که از نامش پیدا است به معنای زنجیره ای از بلاک ها است. بلاک ها خود حاوی دسته ای از داده های تراکنش هستند. مقدار داده موجود در هر بلاک همراه با سرعت تولید بلاک در زنجیره تعیین کننده تعداد تراکنش هایی است که در هر ثانیه(TPS) می تواند در شبکه انجام شود. مسلما هر چه نرخ TPS بالاتر باشد، بهتر است. بنابراین توسعه دهندگان همیشه به دنبال راه هایی برای بهبود این معیار هستند.
نرخ واقعی بسته به شرایط متفاوت است. در حال حاضر این نرخ برای بیت کوین ۷TPS است. اوضاع اتریوم خیلی بهتر نیست. مقدار این معیار برای اتریوم برابر ۱۵TPS است. به عنوان مقایسه ویزا می تواند چیزی در حدود ۱۷۰۰TPS را پردازش کند. بنابراین اگر این شبکه ها بخواهند با راه های پرداخت جهانی رقابت کنند، باید شرایط خود را بهبود دهند. از آنجا که نرخ TPS یک بلاک چین وابسته به اندازه هر بلاک است، بنابراین اندازه بلاک عامل اصلی در پذیرش بیشتر است. با این حال همانطور که خواهید دید، تنها افزایش نامحدود اندازه بلاک یکی از راه حل های نزدیک شدن به این مسئله است. راه های مختلفی برای حرکت رو به جلو وجود دارد.
برای آشنایی با بلاک چین حتما به مطلب زیر مراجعه کنید:
بلاک چین چیست؟ یک راهنمای کامل برای مبتدیان
۲) برخی از روش های مقیاس پذیری بلاک چین چیست؟
راه حل های مقیاس پذیری به دو شکل هستند: درون زنجیره ای(on-chain) و برون زنجیره ای(off-chain). هر دو موافقان و مخالفانی دارند.
مقیاس پذیری درون زنجیره ای
مقیاس پذیری درون زنجیره ای به تغییر چیزی در خود بلاک چین برای سریعتر شدن آن اشاره دارد. به عنوان مثال یک رویکرد در مورد مقیاس پذیری، شامل کاهش مقدار داده های مورد استفاده در هر تراکنش است تا به این ترتیب تراکنش های بیشتری در هر بلاک قرار گیرد. این همان چیزی است که بیت کوین با بروزرسانی سگویت به آن دست پیدا کرد. با تغییر نحوه پردازش داده های تراکنش، این بروزرسانی امکان پیشرفت چشمگیری را در ظرفیت کلی شبکه فراهم کرد.
برای کسب آگاهی بیشتر در مورد سگویت می توانید به مطلب زیر رجوع کنید:
SegWit چیست و چه کاربردی دارد؟
روش دیگر برای افزایش بالقوه TPS یک شبکه، افزایش میزان تولید بلاک است. اگر چه این کار می تواند تا حدی مفید باشد، اما محدودیت هایی در مورد زمان لازم برای انتشار یک بلاک جدید از طریق شبکه وجود دارد. اساسا شما نمی خواهید پیش از این که بلاک قبلی به تقریبا تمام نودهای فعال در شبکه ابلاغ شود، بلاک جدیدی ایجاد شود، زیرا این می تواند باعث ایجاد مسائلی در قوانین مورد توافق شود.
ایجاد ارتباط یکپارچه بین بلاک چین های گسسته روش بالقوه دیگری است که می تواند باعث مقیاس پذیری این سیستم ها شود. اگر زنجیره های مختلف بتوانند با هم تعامل داشته باشند، بنابراین هر شبکه منفرد مجبور نیست به تنهایی داده های زیادی را اداره کند و باید عملکرد هر یک از آنها بهتر شود. مطمئنا برای اطمینان کامل از صحت داده های ارسال شده بین شبکه ها به یک سیستم نیاز است. این روش همان کاری است که پولکادات در حال حاضر انجام می دهد. این پلتفرم با ترکیب چندین بلاک چین و همچنین قراردادهای هوشمند، این امکان را فراهم می کند تا کل اکوسیستم غیرمتمرکز مقیاس پذیر شود.
برای آشنایی با پولکادات به مطلب زیر مراجعه کنید:
پولکادات رقیب اتریوم؛ هر آنچه باید در مورد پولکادات بدانید
روش دیگر sharding نام دارد که در آن تراکنش ها به اجزای کوچکتر تقسیم می شوند و نودهای مختلف فقط بخش های خاصی را تایید یا کانفرم می کنند. آنها به شکل موازی پردازش ها را انجام می دهند تا سرعت سیستم افزایش یابد. این روش می تواند در سیستم اثبات کار یا اثبات سهام اعمال شود و قرار است جزء اصلی اتریوم ۲.۰ را تشکیل دهد. این امر امکان بهبود ظرفیت و سرعت شبکه را فراهم می کند و توسعه دهندگان امیدوارند که شاهد افزایش نرخ تا ۱۰۰۰۰۰ TPS در واقعیت باشیم.
می توانید برای آشنایی با شاردینگ به مطلب زیر مراجعه کنید:
شاردینگ چیست و چه کمکی به شبکه اتریوم خواهد کرد؟
از سوی دیگر لازم به ذکر است که چند سال طول می کشد تا فرایند شاردینگ به طور کامل در اتریوم اجرا شود. مخالفان اظهار داشتند که این روش باعث ایجاد پیچیدگی و آسیب رساندن به امنیت شبکه می شود. این اظهار نظر ناشی از این واقعیت است که شاردینگ شانس حمله double-spend را افزایش می دهد. در واقع برای انجام این حمله و به دست آوردن بخش های منفرد(شارد)، منابع کمتری نسبت به یک حمله ۵۱ درصدی نیاز است. در صورت وقوع چنین حمله ای، مهاجم می تواند باعث تایید تراکنش هایی شود که فاقد اعتبار هستند، مانند ارسال یک اتریوم به دو آدرس مختلف.
برخی از پروژه ها سعی کرده اند با محدود و کم کردن میزان تایید و اعتبار سنجی لازم نودها، سرعت شبکه را بهبود ببخشند. به عنوان مثال اییاس میزان اعتبار سنج ها و تایید را به ۲۱ مورد محدود کرده. سپس این ۲۱ اعتبار سنج توسط دارندگان توکن به رای گذاشته می شوند تا به این ترتیب شکل منصفانه و توزیع شده حفظ شود. در این شبکه سرعت تا ۴۰۰۰ TPS گزارش شده است و توسعه دهندگان اطمینان دارند که می توانند به افزایش مقیاس پذیری ادامه دهند. این پروژه یکی از رقبای اصلی اتریوم است. با این حال ایرادی که به این روش گرفته می شود، محدود بودن اعتبار سنج ها است که به نوعی تمرکز را با خود دارد.
یکی از روش های متداول افزایش مقیاس پذیری در بلاک چین، افزایش اندازه هر بلاک است. این رویکردی بود که بیت کوین کش در سال ۲۰۱۷ و هنگام فورک شدن از بیت کوین اتخاذ کرد. جامعه بیت کوین کش که نمی خواست محدودیت ۱ مگابایتی را داشته باشد، قوانین را تغییر داد تا پروژه بتواند بلاک هایی به اندازه ۸ مگ و بعدا ۳۲ مگ داشته باشد. اگر چه قطعا این به معنای وجود فضای بیشتر در هر بلاک برای افزودن داده های تراکنش است، اما برخی از کارشناسان اشاره می کنند که ادامه رشد اندازه بلاک به طور نامحدود غیرممکن است. بسیاری این راه حل را صرفا کنار گذاشتن موقت مشکل می دانند. افراد بدگمان نیز معتقدند این راه حل به ماهیت غیرمتمرکز بودن بلاک چین آسیب می زند. با توجه به این که در عمل در شبکه بلاک چین بیت کوین کش هنوز اندازه بلاک ها زیر ۱ مگ است، بحث در این مورد هنوز حل نشده است. در ادامه به صورت کامل تر به این موضوع می پردازیم.
مقیاس پذیری برون زنجیره ای
اما روش هایی نیز برای بهبود توان شبکه وجود دارند که مستقیما چیزی را در بلاک چین تغییر نمی دهند. این راه حل ها اغلب راه حل لایه دوم نامیده می شوند، زیرا روی بلاک چین قرار می گیرند. یکی از شناخته شده ترین این پروژه ها، لایتنینگ نتورک برای بیت کوین است. اساسا نودهای لایتنینگ نتورک می توانند کانال هایی را بین یکدیگر باز کنند و مستقیما با یکدیگر تعامل کنند. تنها زمانی که کانال بسته شود لایتنینگ نتورک می تواند داده ها را برای ثبت به درون زنجیره انتقال دهد. این نودها نیز می توانند به هم متصل شده و سیستم پرداخت بسیار سریعتر و ارزانتری را ایجاد کنند که در کسری از زمان با شبکه اصلی ارتباط برقرار می کند.
اتریوم نیز راه حل های مشابه ای را در این راستا دارد. برای اولین بار اتریوم رایدن نتورک(Raiden Network) را ارائه داد که نسخه اتریومی لایتنینگ نتورک است. همچنین یک محصول بلاک چینی کلی تر به نام کلر نتورک طراحی شده است. این پروژه نه تنها تراکنش ها را خارج از زنجیره انجام می دهد، بلکه با تغییرات انجام شده امکان پردازش قراردادهای آتی نیز وجود دارد. در حال حاضر این پروژه هنوز در حال توسعه و بررسی است و همچنان باگ ها و دیگر مشکلات فنی را دارد.
ایده دیگر مشابه، زنجیره های جانبی یا ساید چین ها(sidechains) نام دارد. در واقع آنها بلاک چین هایی هستند که از زنجیره اصلی(بلاک چین اصلی) منشعب شده اند و توانایی جابجایی بر روی زنجیره اصلی را دارند. این بدان معنا است که می توان ساید چین ها را به منظور اهداف خاصی ایجاد کرد و فعالیت های مربوط تراکنش ها را از زنجیره اصلی دور نگه داشت. به این ترتیب پهنای باند برای مواردی که باید در زنجیره اصلی حل و فصل شوند، باز می ماند. این مورد برای بیت کوین از طریق ساید چین لیکوئید(Liquid) اجرا می شود. نسخه اتریومی آن پلاسما(Plasma) نام دارد. یک نقطه ضعف در مورد این راه حل این است که امنیت هر یک از سایدچین ها باید توسط نودها برقرار شود و می تواند باعث مشکلاتی مثل امنیت و اعتماد شود.
درباره سایدچین در مطلب زیر بیشتر بخوانید:
سایدچین (Sidechains) چیست؟
۳) موافقان و مخالفان راه حل افزایش اندازه بلاک چه استدلال هایی دارند؟
کسانی که موافق افزایش اندازه بلاک هستند معتقدند که بلاک های بزرگتر نه تنها ظرفیت و سرعت شبکه را بهبود می بخشد، بله هزینه و کارمزدها را نیز کاهش می دهد. مخالفان نگران افزایش تمرکز هستند.
بسیاری معتقدند که افزایش اندازه بلاک، کلیدی مهم برای جذب افراد بیشتر به بیت کوین و سایر دارایی های غیر متمرکز و پذیرش بیشتر آنها است. مسلما افزایش اندازه بلاک نه تنها باعث تایید تراکنش های بیشتر در هر بلاک می شود، بلکه باعث کاهش متوسط کارمزد پرداختی برای هر تراکنش می شود. به نظر می رسد این بهترین راه حل است، زیرا با یک تیر دو نشان می زند. در واقع به این ترتیب شبکه هم سریعتر می شود و هم ارزانتر. این راه حل زمانی تقویت می شود که طرفداران آن اظهار می دارند سایر راه حل ها مثل ساید چین یا شاردینگ هنوز در مرحله آزمایش هستند و آماده اجرا و پیاده سازی نشده اند.
موارد گفته شده نکات مهمی هستند، اما مسلما افزایش اندازه بلاک پیامدهایی نیز دارد. بسیاری این راه حل را تنها زمان خریدن و حل نکردن اساسی مشکل می دانند و اعتقاد به راه حل های پیچیده تر دارند. دلیلی که آنها ذکر می کنند مربوط به دانلود هر بلاک توسط اپراتورهای نود است. اگر اندازه بلاک ها ۱ مگ یا ۴ مگ و یا حتی ۳۲ مگ باشند، با توجه به سخت افزار موجود فعلی، مشکل خاصی وجود نخواهد داشت. اما اگر قرار است بلاک چین در سطح جهانی پذیرش شود، مسلما این اندازه ها کافی نخواهد بود. طولی نخواهد کشید که بلاک ها باید در اندازه گیگابایت باشند و این می تواند مانعی برای استفاده بسیاری افراد باشد. اگر اکثر کاربران حد متوسط توانایی خرید سخت افزارهای قدرتمند و دسترسی به اینترنت پر سرعت را ندارند، احتمالا افراد کمتری این کار را انجام خواهند داد که می تواند منجر به تمرکز شود. همانطور که توسعه دهنده بیت کوین کر(Bitcoin Core)، گریگوری مکسول، اظهار داشت:
زمانی که در مورد تراکنش های شبکه صحبت می کنید یک مصالحه ذاتی بین مقیاس پذیری و تمرکز زدایی وجود دارد. برای بررسی یک سفارش در حد گیگابایت، نیاز به پهنای باند بسیار زیادی است. این کار انجام می شود. مشکل اینجاست که این روش چندان غیرمتمرکز نیست. در واقع چه کسی می خواهد این نود را اجرا کند؟
در نهایت کسانی که در مورد این تغییرات در یک شبکه تصمیم می گیرند، استخراج کنندگان یا ماینرها هستند که می توانند از ارتقاء پروتکل شبکه پشتیبانی کنند یا خیر. از آنجا که بسیاری از ماینرها در استخرهای بزرگ فعال هستند، این خود می تواند به طور بالقوه شکل دیگری از تمرکز باشد. خوشبختانه راه حل های زیادی برای دستیابی به مقیاس پذیری وجود دارد.
۴) پروژه های مختلف از چه رویکردی برای حل این مشکل استفاده می کنند؟
هیچ راه حل واحدی به عنوان بهترین راه حل ارائه نشده است و پروژه های مختلف همچنان در تلاشند تا نسخه ای ارائه دهند که تمام این راه حل ها را به صورت خلاقانه در یک روش برای ایجاد یک شبکه مقیاس پذیر بگنجانند.
تاکنون بیت کوین پروژه سگویت خود را ارتقاء نداده است. همانطور که گفته شد تحقیقات مربوط به لایتنینگ نتورک و سایدچین همچنان ادامه دارد و بسیاری انتظار دارند که این راه حل ها بتوانند خرید روزانه بیت کوین را به امری عادی تبدیل کنند. پروژه هایی مانند بیت کوین کش از روش ایجاد بلاک های بزرگتر استفاده کرده اند و بلاک چین هایی مثل بیت کوین اس وی حتی بلاک هایی بزرگتر و تا ۲ گیگ را ایجاد کرده اند. مسلما این راه حل منجر به افزایش هزینه های یک نود برای نگهداری می شود.
اگر چه اندازه بلاک ۲ گیگابایتی بسیار بزرگ به نظر می رسد، اما پلتفرم هایی با اندازه های بسیار بزرگ تر نیز وجود دارند. در پروژه ای به نام ILCOIN از پروتکلی به نام RIFT استفاده شده است که طبق ادعای تیم آن، امکان ایجاد بلاک هایی با اندازه ۵ گیگا بایت و تولید ۱۰۰۰۰۰ TPS را فراهم می کند.
البته همه پروژه ها از راه حل افزایش اندازه بلاک استفاده نمی کنند. شبکه هایی مانند زیلیکا به دنبال استفاده از سیستم اتریوم به عنوان ابزار اصلی برای ایجاد یک سیستم مقیاس پذیر هستند. اتریوم خود به دنبال انتقال به یک سیستم اثبات سهام جدید است که کسپر نام دارد. پروژه ای مانند کاردانو از رویکرد جدیدی به نام هیدرا(Hydra) استفاده می کند. در آن هر کاربر به اصطلاح ۱۰ هد(head) تولید می کند و هر هد به عنوان یک کانال جدید برای افزایش کارایی در شبکه عمل می کند. این تیم امیدوارند که امکان مقیاس پذیری یکپارچه ایجاد شود، زیرا برای افزایش استفاده از شبکه باید ظرفیت بیشتری ایجاد شود.
۵) مشکل، حل نشده
با وجود کارهای عالی زیادی که انجام شده، هیچ راه حل روشنی برای افزایش مقیاس پذیری بلاک چین ارائه نشده و وجود ندارد.
همه روش هایی که گفته شد برای کمک به وارد کردن دارایی های دیجیتال به یک مرحله جهانی است. اما هنوز هیچ یک کامل نیستند. همانطور که گفته شد، نقاط قوت و ضعف در هر یک وجود دارند و این که فقط یک برنده وجود داشته باشد فعلا ممکن نیست.
پروژه های مختلف با اهداف منحصر به فرد ممکن است لازم باشد از روش های مختلف برای مقیاس پذیری استفاده کنند. می توان از چند روش به طور همزمان استفاده کرد تا از مزایای آنها بهره برد.
با گذشت زمان، راه حل های جدیدتری ارائه می شود. با تجسم و آزمایش راه حل های مختلف، توسعه دهندگان هر روز به هدف نزدیکتر می شوند. در حال حاضر داشتن ذهنی باز و تمایل به امتحان راهکارهای جدید مهم است. شاید پاسخ در یکی از این مواردی باشد که در حال حاضر در مرحله آزمایش است.
منبع: وب سایت کوین سرا
نظرات کاربران