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