بررسی مفهوم مقیاس پذیری درون زنجیرهای و برون زنجیرهای
اندازه هر بلاک در شبکه بلاک چین و مقیاس پذیری تاثیر بسیار زیادی روی سرعت و ظرفیت شبکه دارد. همانطور که به احتمال زیاد میدانید، شبکه بلاک چین نام خود را از این حقیقت گرفته است که این شبکه در واقع زنجیرهای بیانتها از بلاکهایی است که تاریخچهای عظیم را به دنبال دارد. هر بلاک بخشی از اطلاعات مربوط به تراکنشهای موجود در شبکه را در خود جای داده است. میزان اطلاعاتی که در هر بلاک ذخیره میشود همراه با سرعت تولید هر بلاک در شبکه، از جمله عواملی هستند که تعداد تراکنشهایی که در هر ثانیه انجام میشود را تعیین میکنند. این تعداد را با عنوان TPS به معنای تراکنش در واحد ثانیه میشناسیم. این معیار نشاندهنده میزان توانایی شبکه در پردازش تراکنشهایی است که در یک ثانیه انجام میشوند. مشخص است که هر اندازه TPS بیشتر باشد، شبکه از جذابیت بیشتری نیز برخوردار است. بنابراین توسعهدهندگان همواره به دنبال راهکارهایی برای بهبود این معیار هستند.
نرخ واقعی تحتتاثیر عوامل متعددی قرار دارد؛ اما این معیار برای بیت کوین در حال حاضر در بیشترین حالت روی عدد 7 قرار دارد. اوضاع برای اتریوم نیز چندان متفاوت نیست. برای درک موضوع بهتر است مقایسهای انجام دهیم. به عنوان مثال شرکت ویزا در هر ثانیه چیزی در حدود 1700 تراکنش را انجام میدهد. بنابراین واضح است که اگر این شبکه به دنبال رقابت با قدرتهای برتر در زمینه پرداخت است باید تلاشهای بیشتری را در راستای بهبود انجام دهد. چرا که تعداد تراکنشهایی که در یک ثانیه در بلاک چین انجام میشود در ارتباط مستقیم با اندازه هر بلاک است. این ویژگی به یکی از مهمترین نکات در میزان پذیرش این شبکه از سوی مردم تبدیل شده است. با این وجود همانطور که تصور میکنید، تنها افزایش اندازه هر بلاک است که میتواند این مشکل را از میان بردارد. و جالب اینکه راهکارهای و فلسفههای متعددی نیز برای رفع این مشکل وجود دارد.
راهکارهای حل مشکل اندازه و مقیاس پذیری
راهکارهای مربوط به مقیاسپذیری به دو شکل مطرح شدهاند: راهکارهایی که درون زنجیره به اجرا گذاشته میشوند و راهکارهایی که خارج از شبکه به کار گرفته میشوند. هر کدام از این روشها، مزایا و معایبی را در بردارند.
1- مقیاس پذیری درون زنجیره
مقیاسپذیری درون زنجیره ناشی از این رویکرد است که برای افزایش سرعت انجام تراکنشها در شبکه باید تغییراتی درون شبکه انجام شود به عنوان مثال یکی از این رویکردهای به این موضوع اشاره دارد که برای افزایش سرعت شبکه باید حجم اطلاعاتی که در هر بلاک گنجانده میشود را تا جای ممکن کاهش داد. بهاینترتیب تعداد تراکنشهایی که در هر بلاک جای میگیرند بهمراتب افزایش پیدا میکند. این همان رویکردی است که با نام سگویت (SegWit) به کار گرفته شده است. با استفاده از این رویکرد تغییر در میزان اطلاعات موجود در هر بلاک کاهش پیدا کرد و همین امر باعث بروز پیشرفتهای بسیاری در شبکه شده است. بهاینترتیب ظرفیت کلی شبکه به شدت افزایش پیدا کرد.
راهکار دیگری که به رفع مشکل مقیاسپذیری شبکه به کار گرفته میشود و به افزایش تعداد تراکنشهایی که در واحد ثانیه در شبکه انجام میشود میانجامد افزایش نرخ تولید بلاک در شبکه بلاک چین است. با وجود اینکه این راهکار برای مدتی پاسخگوی نیاز موجود در شبکه خواهد بود، اما محدودیتهایی نیز برای این روش وجود دارد. به عنوان مثال مدت زمانیکه برای تولید و توزیع بلاک در شبکه نیاز است را نیز باید در نظر گرفت. درواقع مشکل از آنجا ناشی میشود که هرگز نباید بلاک جدید پیش از آنکه بلاک قبلی در اختیار تمام نودهای موجود در شبکه قرار بگیرد به شبکه افزوده شود. چرا که این موضوع، اصل رضایت جمعی را در شبکه زیر سوال میبرد.
ایجاد ارتباطی بینقص بین بلاک چینهای مجزا دیگر راهکاری است که برای رفع مشکل مقیاسپذیری معرفی شده است. اگر زنجیرههایی متفاوت قادر به برقراری ارتباط با یکدیگر باشند دیگر هر یک از شبکهها مجبور نخواهد بود که به تنهایی حجم زیادی از اطلاعات را پردازش کند. این امر تا حد زیادی توان زمانی و ظرفیت پذیرش دادههای هر یک از شبکهها را به شدت افزایش میدهد. البته برای به کارگیری این راهکار به سیستمی نیاز است. این سیستم برای اطمینان از این موضوع به کار گرفته خواهد شد که از درستی اطلاعاتی که بین شبکهها انتقال داده میشود، اطمینان حاصل شود. پروژههایی از قبیل Polkadot در حال حاضر برای اطمینان از درستی اطلاعاتی که بین شبکهها ردوبدل میشود به کار گرفته میشوند. با ترکیب چند بلاک چین و قراردادهای هوشمند، زمانی که پلتفرمهایی چون Polkadot به شکل کامل به کار گرفته شوند، این امکان را به وجود آوردهاند که تمام جهان بدون مرکزیت در کنار یکدیگر بزرگ شوند.
راهکار دیگری نیز وجود دارد که از آن با نام Sharding یا پاره آجر یاد میشود. در این شیوه تراکنشها به اجزای کوچکتری تقسیم میشوند و نودهای موجود در شبکه نیز مسئولیت تایید تعدادی از تراکنشها را برعهده میگیرند. در این حالت پردازش موازی و کارآمد تراکنشها، سرعت سیستم را به شدت افزایش میدهد. این شیوه در سیستم اثبات عمل PoW یا اثبات سهام PoS نیز به کار گرفته میشود و به بخش مهمی در شبکه اتریوم تبدیل شده است. این امر پتانسیلهای متعددی را در پی خواهد داشت که روی ظرفیت و سرعت شبکه تاثیرگذار خواهد بود. توسعهدهندگان نیز به این امید هستند که در آیندهای نه چندان دور شاهد پردازش بیش از 100 هزار تراکنش در ثانیه خواهیم بود.
از سوی دیگر باید به این موضوع نیز توجه داشته باشیدکه چند سال طول میکشد که تکه کردن یا sharding شبکه به صورت کامل در شبکه اتریوم انجام شود. بدگویان بر این باور هستند که این کار پیچیدگیهایی را نیز در پی دارد و در نهایت به امنیت شبکه نیز آسیب میرساند. چرا که تکه پاره کردن اطلاعات احتمال حمله به سیستم و دوبار خرج کردن دارایی را افزایش میدهد. مشکلی که در اینجا مطرح میشود این است که فرد مهاجم برای انجام حمله 51 درصدی باید کنترل تعداد کمی از نودهای را در اختیار بگیرد. این امر احتمال وقوع اتفاقاتی از این دست را نیز افزایش میدهد: ممکن است تراکنشی نامعتبر شناخته شود به عنوان مثال ممکن است تعدادی از اترها (ETH) به دو آدرس متفاوت ارسال شود.
برخی از پروژهها سعی داشتهاند که سرعت شبکه را با کاهش تعداد نودهایی که برای تایید تراکنشها به کار گرفته میشوند افزایش دهند. این رویکرد تفاوتهای فاحشی با شیوه تایید تراکنش در اتریوم دارد. یک نمونه از این پروژهها، EOS است که تعداد تایید کنندگان را به 21 نود کاهش داده است. برای انتخاب این 21 تاییدکننده رایگیری انجام میشود و افراد منتخب از سوی دارندگان توکن انتخاب میشود. این کار در راستای رعایت عدالت و توزیع منصفانه شانس و نتایج متنوع به کار گرفته میشود. این امر میزان TPS شبکه را به 4000 تراکنش در ثانیه رسانده است و توسعهدهندگان از این موضوع اطمینان دارند که به زودی اندازه شبکه از این نیز بزرگتر خواهد شد. همین امر این پروژه را به رقیبی شایسته برای شبکه اتریوم تبدیل کرده است. با این وجود تعداد محدود تاییدکنندهها در برخی از موارد به عنوان نمودی از دارای مرکزیت بودن به چشم میآید و همین امر سبب شده است که همه کاربران از این شیوه استقبال نکنند.
البته یکی از ابزارهایی که همواره به عنوان راهکاری برای افزایش اندازه و بزرگی شبکه مورد بحث بوده، افزایش اندازه هر بلاک است. این همان راهکاری است که در بیت کوین کش به کار گرفته شد. بیت کوین کش هنگامی که به واسطه فورک در سال 2017 از بیت کوین جدا شد این رویکرد را پیش گرفت. افرادی که در جامعه بیت کوین کش حضور دارند به هیچ عنوان از محدودیت 1 مگابایتی بلاکها استقبال نکردند و این امر قوانین را به اندازهای تغییر داد که حداقل ظرفیت یک بلاک به 8 مگابایت افزایش پیدا کرد و در ادامه به 32 مگابایت رسید. با وجود اینکه این امر به معنای این است که تعداد تراکنشهایی که در هر بلاک ذخیره میشود در مقایسه با گذشته بیشتر خواهد بود، اما برخی بر این باور هستند که ادامه روند رشد اندازه هر بلاک ممکن نیست. بسیاری بر این باور هستند که این راهکار به تدریج مشکلات فعلی را وخیمتر میکند. عدهای نیز بر این هستند که این راهکار به طبیعت بدون مرکزیت شبکه آسیب میرساند. با در نظر گرفتن این موضوع همچنان ظرفیت تراکنشهایی که در هر بلاک ذخیره میشود کمتر از 1 مگابایت است.
2- مقیاسپذیری خارج از زنجیره
همواره راهکارهایی نیز وجود دارد که طبیعت و اساس بلاک چین را برای بهبود ظرفیت پردازش زمانی دستخوش تغییر نکند. غالبا این راه حلها را راهکار لایه دوم مینامیم، چرا که این راهکارها در لایه دیگری و خارج از بلاک چین به اجرا گذاشته میشوند. یکی از شناخته شده ترین پروژههایی که به این شیوه به فعالیت خود ادامه میدهد، شبکه آذرخش یا Lightening در بیت کوین است. نودهای این شبکه از اساس میتوانند کانالهایی را با یکدیگر ایجاد کنند و پردازشهایی را با یکدیگر انجام دهند. این کار به شکل مستقیم انجام میشود. تنها زمانی که کانال بسته شود شبکه آذرخش فهرست تراکنشهای تایید شده را به شبکه انتقال میدهد. علاوه بر این نودها این امکان را نیز خواهند داشت که در کنار یکدیگر پردازش اطلاعات را انجام دهند. همین امر بر سرعت شبکه میافزاید و از هزینه انجام تراکنش نیز میکاهد. چراکه این سیستم تنها در برهههای کوتاهی از زمان با شبکه اصلی در ارتباط خواهد بود.
البته اتریوم نیز راهکاری را در این زمینه پیشنهاد داده است. به عنوان مثال شبکه ریدن Raiden)) به گونهای طراحی شده است که نسخهای مشابه با شبکه آذرخش در اتریوم باشد. در کنار این شبکه محصول عمومیتری نیز با نام شبکه Celer نیز معرفی شده است. چنین پروژههایی نه تنها امکان انجام تراکنشهای خارج از شبکه را میسر کرده است، بلکه تغییراتی نیز اعمال کردهاند که اجازه میدهد قراردادهای هوشمند پردازش شوند. در حال حاضر بزرگترین نقطه ضعف این سیستم این است که این پروژهها همچنان در حال تغییر و تحول هستند و همچنان مشکلات فنی و نقصهایی در این پروژهها مشاهده میشود که در صورتی که کانالهای مورد نظر به درستی باز و بسته نشوند مشکلاتی را در شبکه ایجاد میکنند.
ایده مشابهی نیز در اینباره مطرح شده است که Sidechains نامیده میشود. این پروژه درواقع شامل بلاک چینهایی است که از زنجیره اصلی منشعب شدهاند. امکان جابهجایی اطلاعات نیز در این بلاک چینها وجود دارد. این بدان معناست که این پروژه را میتوان برای اهداف مشخصی در نظر گرفت. بهاینترتیب فعالیتهای مربوط به تراکنشها در فضایی خارج از شبکه نگهداری میشوند. همین امر تا حد زیادی بر وسعت پهنای باند زنجیره اصلی تاثیرگذار خواهد بود. این پروژه از طریق Liquid Sidechains برای بیت کوین به کار گرفته شده است و نسخه اتریوم آن نیز با نام پلاسما شناخته میشود. یکی از نقاط ضعف این سیستم این است که هر کدام از این پروژهها به حضور نودها برای تامین امنیت خود نیاز دارند. همین امر میتواند مشکلاتی درخصوص اعتماد و امنیت را در شبکه ایجاد کند . چرا که کاربر نمیداند که چه کسی در پشت صحنه در حال تایید و تامین امنیت شبکه است.
پاسخ