اندازه هر بلاک و مقیاسپذیری در بلاکچین میتواند به طور بالقوه تاثیر زیادی در سرعت و ظرفیت شبکه داشته باشد، اما همیشه همه موارد با هم وجود ندارد.
چرا اندازه بلاک مهم است؟
همانطور که میدانید، بلاک چین یا زنجیره بلوک از یک سری بلوک تشکیل شده است که تمامی بلوکها در این زنجیره ثبت میشوند. بلاکها نیز خود شامل یک سری از دادههای تراکنشها هستند. با استفاده از مقدار داده موجود در هر بلاک و همچنین سرعت تولید بلاک، تعداد تراکنشها در ثانیه (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) در این رابطه میگوید:
وقتی در مورد تراکنشهای درون شبکه صحبت میکنیم، بین مقیاس و عدم تمرکز رابطه خطی وجود ندارد. […] به سبب اتصال گیگابیتی، به پهنای باند زیادی نیاز داریم. با این روش احتمالا کار انجام میشود. اما مشکل این است که خیلی غیرمتمرکز نخواهد بود، و آن وقت چه کسی تمایل دارد یک نود را اجرا کند؟
در نهایت، کسانی که در مورد چنین تغییراتی در شبکه تصمیم میگیرند، استخراجکنندگان هستند. آنها هستند که میگویند از ارتقا پروتکل شبکه پشتیبانی میکنند یا نه. از آنجایی که بسیاری از ماینرها در استخرهای بزرگ قرار دارند، و همه آنها با هم این سیگنال را ارسال میکنند، به طور بالقوه، این امر میتواند نوع دیگری از تمرکز باشد. زیرا مجموع آنها بسیار بیشتر از آنچه ماینرها به تنهایی بتوانند، کار میکنند. خوشبختانه، بیش از یک راه برای دستیابی به این مسئله وجود دارد و همه پروژهها با اندازه بلاکهای نامحدود موافق نیستند. توسعهدهندگان دیگر این مشکل را با روشهای هوشمندانه دیگر برطرف میکنند، به این امید که مقیاسبندی را یک بار برای همیشه سامان دهند.
ترجمه و جمعآوری: واحد خرید و فروش تتر مجموعه همتا پی