مقیاس پذیری و اندازه بلاک در بلاکچین چه اهمیتی دارند؟

چکیده مطلب:

اندازه هر بلاک­‌ و مقیاس‌­پذیری در بلاک­چین می‌­تواند به طور بالقوه تاثیر زیادی در سرعت و ظرفیت شبکه داشته باشد، اما همیشه همه موارد با هم وجود ندارد. 

اندازه بلاک و مقیاس‌­پذیری چه اهمیتی در بلاکچین ارزهای دیجیتال دارد؟ | همتاپی

 چرا اندازه بلاک مهم است؟

همانطور که می‌­دانید، بلاک­ چین یا زنجیره بلوک از یک سری بلوک تشکیل شده است که تمامی بلوک‌ها در این زنجیره ثبت می‌شوند. بلاک­‌ها نیز خود شامل یک سری از داده­‌های تراکنش‌ها هستند. با استفاده از مقدار داده موجود در هر بلاک و همچنین سرعت تولید بلاک، تعداد تراکنش‌­ها در ثانیه (tps) تعیین می‌شود. بدیهی است که هرچه تعداد تراکنش‌ها در ثانیه یا مقدار tps بالاتر باشد، شبکه جذابیت بیشتری دارد، بنابراین توسعه­‌دهندگان همیشه به دنبال راه­‌هایی برای بهبود این معیار هستند.

نرخ واقعی بسته به شرایط شبکه متفاوت است، امادر حال حاضر بیت کوین حداکثر در حدود هفت tps است و اتریوم با 15 tps. در مقایسه، شرکت ویزا می‌­تواند در حدود 1700 tps را پردازش کند. بنابراین، اگر این شبکه‌­ها بخواهند به عنوان راه حل‌های پرداخت جهانی با یکدیگر به رقابت بپردازند، باید بهبودهایی در این زمینه حاصل گردد. از آنجا که نرخ tps یک بلاک­چین عمیقاً به اندازه هر بلاک گره خورده است، این موضوع در پذیرش عمومی ارزهای دیجیتال از اصلی‌ترین عوامل خواهد بود. با این حال، همانطور که خواهیم دید، افزایش ساده اندازه به طور نامحدود، تنها یک راه برای نزدیک شدن به مسئله است و عوامل مختلفی در مورد چگونگی حرکت رو به جلو وجود دارد.

چند روش برای مقیاس‌­پذیری بلاک ­چین وجود دارد؟

راه­‌حل­‌های مقیاس‌­پذیری به دو شکل وجود دارد: درون زنجیره­‌ای (on-chain) و برون زنجیره‌ای (off-chain). هر کدام از این راه حل‌ها با مزایا و معایبی همراه هستند، اما تاکنون، هیچ کدام از آنها نسبت به دیگری برتری ندارد. 

  • مقیاس‌­پذیری درون زنجیره‌­ای

مقیاس‌­پذیری درون زنجیره‌ای اشاره به این دارد که تغییر در بلاک ­چین باعث افزایش سرعت می‌شود. به عنوان مثال، یک رویکرد در مقیاس‌­پذیری شامل کاهش مقدار داده‌­های استفاده شده در هر تراکنش است. در این صورت تراکنش­‌های بیشتری در یک بلاک قرار می‌گیرند. این دقیقا همان چیزی است که بیت کوین با بروزرسانی سگویت (segregated witness یا به صورت مختصر segwit) به آن دست یافت. با تغییر نحوه پردازش داده‌­های تراکنش، این تغییر امکان پیشرفت چشمگیر در ظرفیت کلی شبکه را برای بیت­ کوین فراهم کرد.

روش دیگر برای افزایش بالقوه سرعت انجام تراکنش‌ها در یک شبکه، افزایش نرخ تولید بلاک است. اگرچه این کار تا حدی می‌تواند مفید باشد، اما محدودیت­‌هایی دارد. این محدودیت‌ها شامل زمان لازم برای انتشار یک بلاک جدید از طریق شبکه می‌باشد. اساساً، شما نمی‌خواهید قبل از برقراری ارتباط بلاک قبلی با همه‌ی (تقریبا همه) نودهای موجود در شبکه، بلاک­‌های جدید ایجاد شوند، زیرا این امر باعث ایجاد مشکلاتی در اجماع می‌­گردد.

ایجاد ارتباط یکپارچه بین بلاک­ چین­‌های مجزا، روش بالقوه دیگری است که این سیستم­‌ها می‌­توانند مقیاس‌­پذیر شوند. اگر زنجیره‌­های مختلف بتوانند بین یکدیگر تراکنش کنند، دیگر هر شبکه مجبور نیست که داده­‌های زیادی را اداره کند. در نتیجه، عملکرد هر یک از آن­ها بهتر می‌­شود. مطمئناً برای اطمینان از صحت صد در صدی داده­‌های ارسال شده بین شبکه­‌ها، به یک سیستم نیاز است و این همان کاری است که پروژه­‌هایی مانند پولکادات (polkadot) در حال حاضر آن را انجام می‌­دهند. این پلتفرم با ترکیب چندین زنجیره بومی و همچنین قراردادهای هوشمند، امکان مقیاس‌­گذاری کل اکوسیستم غیرمتمرکز را پس از پیاده سازی کامل فراهم می‌­کند.

سپس تکنیکی به نام شاردینگ (sharding) وجود دارد، که در آن تراکنش‌­ها به شاردها تقسیم می‌­شوند و نودهای مختلف فقط شاردهای خاصی را تأیید می­‌کنند. بنابراین، بسیار کارآمدتر پردازش موازی را انجام می‌­دهند تا سرعت سیستم افزایش یابد. این کار می‌­تواند در سیستم­‌های الگوریتم اثبات کار (proof-of-work) یا الگوریتم اثبات سهام (proof-of-stake) اعمال شود و قرار است یک جز اصلی در اتریوم 2.0 باشد. همچنین این تکنیک امکان بهبود ظرفیت و سرعت شبکه را فراهم می‌­کند و توسعه‌­دهندگان امیدوارند که در واقعیت شاهد افزایش 100000 تراکنش بر ثانیه باشند.

از طرف دیگر، لازم به ذکر است که چند سال طول می‌­کشد تا فرآیند شاردینگ به طور کامل در اتریوم اجرا شود، و مخالفان اظهار داشته­‌اند که این امر باعث ایجاد پیچیدگی و آسیب رساندن به امنیت می‌­شود. شاردینگ باعث می‌شود تا در صورت وقوع حمله، مسئله دوبار خرج کردن (double-spend) افزایش یابد. مسئله این است که برای به دست آوردن یک شارد منابع کمتری نسبت به حمله 51%، لازم است. این امر می‌­تواند منجر به تأیید تراکنش‌­های نامعتبر شود، مانند ارسال اتر (eth) یکسان به دو آدرس والت مختلف.

برخی از پروژه‌ها سعی کرده­‌اند تا با محدود کردن میزان اعتبارسنجی نودها، سرعت شبکه را بهبود بخشند، البته این موضوع برای اتریوم کاملا متفاوت است.در این مورد می‌توان ایاس (eos) را مثال زد که اعتبارسنج‌­های خود را به 21 مورد محدود کرده است. دارندگان توکن به این 21 اعتبارسنج رای می‌دهند تا به گونه‌ای منصفانه و توزیع شده حاکمیت را حفظ کنند. در این شبکه 4000 تراکنش بر ثانیه گزارش شده است و توسعه‌­دهندگان اطمینان دارند که می‌­توانند این مقیاس را افزایش دهند. همین امر باعث شده است تا این پروژه به عنوان یکی از رقبای اصلی اتریوم قرار گیرد. با این حال، غالبا اعتبارسنج‌­های محدود نوعی تمرکز محسوب می‌­شوند. بنابراین، همه کاربران در این مدل قرار نمی‌­گیرند.

البته، یکی از روش­‌های متداول در مورد مقیاس‌­پذیری بلاک ­چین، افزایش اندازه هر بلاک­‌ است. با استفاده از این روش، در سال 2017 بیت کوین کش (bch) از بیت ­کوین منشعب شد. برای آنکه اندازه بلاک‌ها محدودیت 1 مگابایتی را نداشته باشند، انجمن بیت کوین کش قوانین را تغییر داد تا پروژه بتواند بلاک‌های 8 مگابایتی و سپس 32 مگابایتی را داشته باشد. در حالی که این امر قطعاً به معنای وجود فضای بیشتر در هر بلاک و افزودن داده­‌های بیشتر تراکنش خرید بیت کوین کش است، اما برخی می‌گویند که ادامه رشد اندازه بلاک به طور نامحدود غیرممکن است. بسیاری، این راه حل را صرفاً به تاخیر انداختن مشکل به آینده می‌­دانند و در بدترین حالت، آن را مسبب آسیب رساندن به ماهیت غیرمتمرکز بودن بلاک­چین می‌­دانند. با توجه به اینکه، در عمل، میانگین بلاک در شبکه بیت کوین کش هنوز کمتر 1 مگابایت است، بحث در این مورد هنوز حل نشده است و در ادامه این موضوع را به طور کامل‌تر بررسی خواهیم کرد.

  • مقیاس­‌پذیری برون زنجیره­‌ای

همچنین روش­‌هایی برای بهبود توان شبکه وجود دارد که مستقیماً چیزی را در بلاک ­چین تغییر نمی‌­دهد. این روش‌ها اغلب “راه‌حل‌­های لایه دوم (second-layer solutions)” نامیده می‌­شوند، زیرا «در بالای» بلاک ­چین قرار می‌­گیرند. یکی از شناخته‌شده‌­ترین این پروژه‌­ها، شبکه لایتنینگ بیت­کوین است. اساساً، نودهای شبکه لایتنینگ می­‌توانند «کانال»هایی را بین یکدیگر باز کرده و مستقیماً با نودهای دیگر تعامل داشته باشند. و تنها در صورت بسته شدن کانال، شبکه لایتنینگ می‌­تواند به صورت درون زنجیره‌ای ثبت کند. همچنین این نودها می‌­توانند به یکدیگر متصل شوند و سیستم پرداخت بسیار سریعتر و ارزانتری را ایجاد کنند که تنها در کسری از زمان با شبکه اصلی در تعامل است.

البته اتریوم نیز راه­‌حل­‌هایی در این راستا دارد. برای اولین بار، شبکه رایدن (raiden network) به عنوان نسخه اتریوم از شبکه لایتنینگ، و همچنین یک محصول بلاک­چین عمومی‌تر به نام celer network طراحی شد. این پروژه‌­ها نه تنها تراکنش­‌های برون زنجیره­‌ای را انجام می‌­دهند بلکه تغییراتی را نیز انجام می‌­دهند، که امکان پردازش قراردادهای هوشمند را فراهم می­‌کند. در حال حاضر، بزرگترین اشکال این سیستم‌­ها این است که آن­ها در حال پیشرفت هستند و در صورت عدم ایجاد یا بسته شدن کانال‌­ها، کماکان اشکالات و سایر مشکلات فنی ادامه خواهد داشت.

ایده‌ی مشابهی به نام «زنجیره­‌های جانبی» است. این زنجیره‌ها اساساً بلاک­ چین‌­هایی هستند که از شاخه اصلی منشعب شده­‌اند و توانایی جابجایی دارایی بومی در بین آن­ها وجود دارد. این بدان معنی است که می‌­توان زنجیره­‌های جانبی را برای اهداف خاصی ایجاد کرد، که فعالیت تراکنش را از شبکه اصلی دور ­کند و پهنای باند کلی را برای مواردی که باید در زنجیره اصلی مستقر شوند، آزاد گذاشت. این مورد از طریق زنجیره جانبی liquid برای بیت­کوین اجرا می‌­شود و در نسخه اتریوم با نام پلاسما (plasma) شناخته می‌­شود. یکی از معایب این سیستم این است که هر یک از زنجیره‌­های جانبی خود باید توسط نودها ایمن شوند­. اگر کاربری نداند که چه کسی در پشت صحنه امور را اداره می­‌کند، این مسئله می‌­تواند منجر به مشکلاتی در رابطه با اعتماد و امنیت گردد.

استدلال­‌های موافق و مخالف در افزایش اندازه بلاک کدامند؟

کسانی که می‌­خواهند اندازه بلاک را افزایش دهند، اینگونه استدلال می‌­کنند که بلاک­‌های بزرگ­تر نه تنها ظرفیت و سرعت را بهبود می‌­بخشند، بلکه هزینه‌­ها را نیز کاهش می‌­دهند. متقابلا مخالفین افزایش اندازه بلاک نگرانند که بلاک‌­های بزرگتر منجر به تمرکز بیشتر شوند.

بسیاری از افراد احساس می­‌کنند افزایش اندازه بلاک یکی از عوامل اصلی برای جذب عموم به بیت ­کوین (btc) و سایر دارایی‌­های غیرمتمرکز است. حقیقتا باید بگوییم که با افزایش اندازه بلاک، نه تنها می‌­توان تراکنش‌­های بیشتری را در هر بلاک تأیید کرد، بلکه متوسط هزینه تراکنش نیز کاهش می­‌یابد. به نظر می‌­رسد این بهترین حالت است، زیرا شبکه هم سریع‌تر و هم ارزان‌­تر است. این قضیه زمانی قوی‌تر می‌­شود که طرفداران اظهار داشته باشند که سایر راه­‌حل­‌های مقیاس‌پذیری، مانند زنجیرهای جانبی فوق الذکر و شاردینگ، هنوز در حال آزمایش هستند و آماده پیاده‌­سازی گسترده نمی‌­باشند.

اینها نکات مهمی هستند. اما مسلماً افزایش اندازه بلاک پیامدهایی دارد. در عین حال، بسیاری از افراد تصور می‌کنند که با این کار به راحتی می‌توان در زمان صرفه‌جویی کرد، ولی باز هم مسئله اصلی حل نشده است. و راه­‌حل­‌های پیچیده‌­تری برای این کار لازم است. دلیلی که آن­ها برای بلاک‌های بزرگتر مطرح می‌کنند این است که اپراتورهای نود باید هر بلاک جدیدی را که ایجاد می‌شود، بارگذاری کنند. اگر اندازه بلاک­‌ها 1 مگابایت، 4 مگابایت یا حتی 32 مگابایت باشد، باز هم با سخت افزار فعلی مسئله خاصی وجود ندارد. با این حال، اگر قرار باشد بلاک­ چین در سطح جهانی مورد استقبال واقع شود، این مقادیر کافی نیست. بعد از مدتی ممکن است بلاک­‌ها به مقیاس گیگابایت برسند و این می‌­تواند مانعی برای بسیاری از افراد باشد. اگر اکثر کاربران متوسط توانایی پرداخت سخت افزار یا اینترنت را نداشته باشند که بتوانند از پس این کار برآیند، احتمالاً تعداد کمتری این کار را انجام می‌­دهند که منجر به افزایش تمرکز می‌­شود. گریگوری مکسول (gregory maxwell)، توسعه‌­دهنده بیت کوین کور (bitcoin core) در این رابطه می‌گوید:

وقتی در مورد تراکنش­‌های درون شبکه صحبت می­‌کنیم، بین مقیاس و عدم تمرکز رابطه خطی وجود ندارد. [] به سبب اتصال گیگابیتی، به پهنای باند زیادی نیاز داریم. با این روش احتمالا کار انجام می‌شود. اما مشکل این است که خیلی غیرمتمرکز نخواهد بود، و آن وقت چه کسی تمایل دارد یک نود را اجرا کند؟

در نهایت، کسانی که در مورد چنین تغییراتی در شبکه تصمیم می‌­گیرند، استخراج‌­کنندگان هستند. آنها هستند که می‌گویند از ارتقا پروتکل شبکه پشتیبانی می‌­کنند یا نه. از آنجایی که بسیاری از ماینرها در استخرهای بزرگ قرار دارند­، و همه آنها با هم این سیگنال را ارسال می‌کنند، به طور بالقوه، این امر می‌تواند نوع دیگری از تمرکز باشد. زیرا مجموع آنها بسیار بیشتر از آنچه ماینرها به تنهایی بتوانند، کار می­‌کنند. خوشبختانه، بیش از یک راه برای دستیابی به این مسئله وجود دارد و همه پروژه­‌ها با اندازه بلاک‌­های نامحدود موافق نیستند. توسعه‌دهندگان دیگر این مشکل را با روش­‌های هوشمندانه دیگر برطرف می­‌کنند، به این امید که مقیاس­‌بندی را یک بار برای همیشه سامان دهند.


رویکرد پروژه­‌های مختلف درباره مقیاس‌پذیری چگونه بوده است؟


تا کنون هیچ راه حلی به عنوان بهترین راه حل انتخاب نشده است و پروژه­‌ها همچنان فعالانه در تلاشند تا خلاقانه‌ترین نسخه‌های این راه حل‌ها را کشف کنند.

در زمان نوشتن این مقاله، بیت­کوین از زمان اجرای سگویت (segwit) تاکنون، بومی‌­سازی ماهیت خود را ارتقا نداده است. همان طور که گفته شد، تحقیقات مربوط به شبکه لایتنینگ و شبکه­‌های جانبی همچنان ادامه دارد و بسیاری انتظار دارند نوعی از آن، چیزی باشد که خرید روزانه با بیت کوین را به یک امر عادی تبدیل می‌­کند. همان طور که گفته شد، پروژه­‌هایی مانند بیت کوین کش (bch) از ایجاد بلاک­‌های بزرگتر استقبال کرده­‌اند و bitcoinsv با محدودیت بالایی در بلاک­‌های خود، یعنی 2 گیگابایت، این کار را انجام داده است. مسلماً این امر منجر به افزایش هزینه نگهداری نود و همچنین مشکلات مکرر در مورد بلاک‌­های یتیم شده، می‌­شود.

اگرچه 2 گیگابایت چشمگیر است، اما حتی پلتفرم­‌های بلند پروازانه­‌تری نیز وجود دارند. در پروژه­‌ای به نام ilcoin، از پروتکلی به نام rift استفاده شده است که طبق ادعای تیم این پروژه، بلاک­‌هایی با اندازه 5 گیگابایت و توان تولید تا 100,000 tps (تراکنش در ثانیه) را میسر می­‌سازد. توسعه‌­دهندگان ilcoin ادعا می‌­کنند این امکان وجود دارد، زیرا هر بلاک از مجموعه­‌های 25 مگابایتی “mini-blocks ” تشکیل شده است و این‌ها نیازی به استخراج جداگانه ندارند؛ زیرا به طور خودکار توسط بلاک­‌های والد تولید می‌­شوند. این تیم اظهار داشت که از این نوع سیستم جدید برای ایجاد cloud blockchain غیرمتمرکز یا dcb استفاده می‌­کند. این راه حل «به لطف توانایی همگام­‌سازی همزمان بلاک‌­ها، به عنوان یک راه حل ذخیره­‌سازی داده جهانی عمل می­‌کند که بی‌­نیاز از اعتماد و کاملاً در برابر دستکاری مقاوم است». توسعه‌دهندگان ilcoin همچنین معتقدند که این اولین پروژه‌­ای است که می‌­تواند فایل‌­های کاربران را به صورت درون زنجیره­‌ای ذخیره کند.

البته همه پروژه­‌ها از رویکرد بلاک بزرگتر استفاده نمی‌­کنند. در حالی که شبکه­‌هایی مانند زیلیکا (zilliqa) به دنبال استفاده از اتریوم به عنوان ابزار اصلی خود برای ایجاد یک سیستم مقیاس پذیر هستند، اتریوم خود به دنبال مهاجرت به یک الگوریتم اثبات سهام جدید است که با عنوان casper نام‌گذاری شده است. از طرف دیگر، پروژه کاردانو (cardano) رویکرد جدیدی به نام hydra را ایجاد کرده است که طبق آن هر کاربر 10 «head» تولید می‌­کند و هر head به عنوان یک کانال جدید برای توان عملیاتی در شبکه عمل می‌­کند. امیدواریم این رویکرد امکان مقیاس‌­پذیری یکپارچه را فراهم کند، زیرا افزایش استفاده از شبکه، باید ظرفیت بیشتری نیز ایجاد کند.

مساله هنوز حل نشده است

با وجود بسیاری از کارهای خوب انجام شده، هیچ راه حل روشنی برای مقیاس‌­بندی بلاک­چین وجود ندارد و ممکن است هرگز وجود نداشته باشد.

همه امکاناتی که در بالا بررسی شد برای کمک به وارد کردن دارایی­‌های دیجیتال به یک مرحله جهانی است، اما هنوز هیچکدام حرف آخر را نمی‌­زنند. همان طور که مطرح شد، هر یک دارای نکاتی مثبت و منفی هستند و غیرقابل تصور است که به سادگی یک برنده وجود نداشته باشد. پروژه­‌های مختلف با اهداف منحصر به فرد، ممکن است لازم باشد از طرق مختلف مقیاس‌­بندی شوند. حتی قابل قبول است که می‌­توان بیش از یک ایده را به طور هم‌زمان استفاده کرد تا مزایای هر یک را چند برابر کند.

با گذشت زمان، تاریخچه نحوه مقیاس‌­بندی بلاک­چین­‌ها نوشته می‌­شود، اما ما هنوز به این نقطه نرسیده‌ایم. با آزمایش و تجسم مجدد راه­ حل‌­ها، توسعه‌­دهندگان باید هر روز به سیستم پردازش داده جهانی نزدیک شوند که از پیشنهادات فعلی پیشی بگیرد. در حال حاضر، داشتن ذهنیت باز و تمایل به امتحان چیزهای جدید مهم است، زیرا شاید پاسخی که رهبران پروژه به دنبال آن هستند در همین لحظه در حال آزمایش باشد.

منبع: cointelegraph.com
اشتراک گذاری

پیام شما

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *