نوآوری نوظهوری همچون بیت کوین برای حفظ آرمانهای اولیه و ویژگیهایی نظیر غیرمتمرکز بودن، امنیت و کاربرد اصلیاش بهعنوان یک سامانهی انتقال پول الکترونیکی همتا به همتا، این روزها درگیر چالشهای فنی است. اگر به هر دلیل، پادشاه ارزهای دیجیتال یکی از این صفات اولیه که رسالت او نسبت به حامیانش است را از دست بدهد، ماندگاری او تحت تاثیر قرار خواهد گرفت.
در این مقاله ابتدا به مفاهیم تمرکززدایی و مقیاسپذیری میپردازیم و سپس بر اساس مقالهای از یک اکانت در وبسایت مدیوم به نام بیتهولا (bitHolla) رابطه میان سایز بلاک، تمرکززدایی و مقیاسپذیری (تراکنشهای ارزان و سریع) را بررسی میکنیم.
عدمتمرکز و مقیاسپذیری
دو پادشاهی که در یک اقلیم نمیگنجند
یکی از مهمترین و شاید هم مهمترین شاخصهی بیت کوین، غیرمتمرکز بودن و عدم نیاز شبکهی آن به هیچگونه سرور مرکزی و واسطهای بوده که این روزها با چالشهایی نظیر کم شدن تعداد فول نودهای شبکه، توزیع بیشتر قدرت هش میان چندین استخر ماینینگ و به خطر افتادن امنیت شبکه و غیره روبهرو است. اما پیش از آنکه مستقیما به مشکل تمرکززدایی بپردازیم، برای درک بهتر مساله، به چالش مقیاسپذیری که حل آن با تمرکززدایی در تضاد است، خواهیم پرداخت.
با این وجود این که اکوسیستم بلاک چین در چند سال گذشته پیشرفت چشمگیری داشته، برای پذیرش بلاک چینهای عمومی نظیر بیت کوین، شاید مقیاسپذیری (Scalability) بزرگترین چالش باشد. با گذشت زمان و افزایش تعداد تراکنشهای شبکه در یک بلاک چین چندین اتفاق میافتد:
- زمان انجام تراکنشها افزایش مییابد
- کارمزد تراکنشها زیاد میشود
- سختی استخراج بلاک افزایش یافته و به همین جهت، میانگین قدرت محاسبات مورد نیاز برای عملیات ماینینگ افزایش مییابد
با زیاد شدن تعداد تراکنشها، بلاکچینهای عمومی شروع به کند شدن، گرانتر شدن و غیر قابل استفاده شدن برای راهکارهای پرداخت میکنند. به همین علت مقیاسپذیری مهمترین مشکل بازدارنده از پذیرش عمومی بلاک چینهایی نظیر بیت کوین است. راهحل مقیاسپذیری در شبکهی بلاک چین با اضافه کردن منابع کامپیوتری به دست نمیآید. چهبسا اضافه کردن نودها (Node) منجر به کند شدن شبکه میشود چراکه طبق پروتکلی که در شبکههای همتابههمتا وجود دارد، برای رسیدن اطلاعات به نودهای بیشتر، به زمان بیشتری نیاز هست.
توضیح نود: در دنیای شبکه، به هر کامپیوتری که مستقیم به شبکه متصل میشود، نود یا گره گفته میشود. گرهها یا نودهای وظیفه تایید و بررسی و محاسبات تراکنش ها را دارند.
افزایش سایز بلاک؟
یکی از راهکارهایی که همیشه برای حل مشکل مقیاسپذیری بیت کوین مطرح میشود، افزایش سایز بلاکهای بیت کوین است. بیت کوین کش ارز دیجیتالی است که با این رویکرد یعنی افزایش سایز بلاک، از بیت کوین منشعب (فورک – Fork) شد.
استدلال طرفداران افزایش سایز بلاک این است که با افزایش سایز بلاک، تعداد تراکنشهای هر بلاک بالا میرود و به جای کاربران که بخواهند برای تایید یک تراکنش چندین دقیقه صبر کنند، فقط هزینه فولنودها و ماینرها افزایش مییابد. در حال حاضر سایز بلاک بیت کوین ۱ مگابایت است که به صورت میانگین ظرفیت ذخیره ۲,۵۰۰ تراکنش را دارد.
از طرف دیگر استدلال مخالفان افزایش سایز بلاک این است که شبکه را متمرکزتر میکند و از اهداف غیرمتمرکز دور خواهد کرد.
ماینرهای بیت کوین برای هر بلاکی که تولید میکنند، پاداش میگیرند. آنها همچنین تمام کارمزد تراکنشهای موجود در یک بلاک را هم دریافت میکنند. اما زمانی که سایز بلاک افزایش یابد، کارمزد ماینر کاهش مییابد. همچنین با افزایش سایز بلاک، هزینههای ماینینگ (برق و سخت افزار) یا فول نود شدن (فضا و پردازش) هم افزایش مییابد. بنابراین ماینینگ بیت کوین انحصاری تر از پیش دنبال خواهد شد و شرکتهای بزرگ انحصار زیادی در این حوزه بهدست میآورند، چیزی که در بیت کوین کش و بیت کوین اسوی شاهدش هستیم. افزایش سایز بلاک بیت کوین، اعتمادزدایی (trustless) در شبکه را کاهش خواهد داد.
همچنین از آنجایی که قدرت پرداش متمرکزتر میشود، امکان انجام حملات ۵۱ درصد و ساختن بلاکهای اورفان (Orphaned Blocks – بلاکهای یتیم) بیشتر خواهد شد. این بلاکها، بلاکهای تایید شدهای هستند که به علت وجود رقابت از زنجیرهی اصلی جا میمانند. این نوع بلاکها معمولا زمانی که دو ماینر به صورت همزمان یک بلاک را ثبت میکنند، به وجود میآیند یعنی یکی از آنها در زنجیرهی اصلی و طولانیتر قرار گرفته و تایید شده و دیگری از زنجیرهی اصلی جا میماند. بلاک یتیم همچنین زمان وقوع حملهی ۵۱ درصد و زمانی که یک هکر بیشتر قدرت هش شبکه را در دست گرفته و قصد بازگرداندن یک تراکنش را داشته باشد نیز به وجود میآید.
مخالفان افزایش سایز بلاک معتقدند که برای مقیاسپذیری باید راهکاری را انتخاب کرد که به تمرکززدایی آسیب نزند. راهکاری خارج از زنجیره مثل شبکه لایتنینگ.
در همین حین که عدهای از توسعهدهندگان برای کاربردپذیری بیشتر بیت کوین به دنبال افزایش سایز بلاکها هستند، عدهی دیگری نیز با روزبهروز قدرتمندتر شدن استخرهای مایننینگ و در دست گرفتن بیشتر قدرت هش شبکه توسط آنها و به خطر افتادن امنیت شبکه، به کوچکتر کردن سایز بلاکهای بیت کوین از طریق یک سافت فورک فکر میکنند.
کاهش سایز بلاک؟
درست همانطور که صحبت از دین و سیاست به هنگام شام افراد را عصبانی میکند، مقولهی تغییر سایز بلاک بیت کوین نیز برای طرفداران این ارز دیجیتال خیلی خوشایند نیست. این روزها صحبت از کاهش سایز بلاکهای بیت کوین بر سر زبان توسعهدهندگان افتاده و جنجال زیادی بهپا کرده است اما به راستی چرا درحالی که بیت کوین از نبود مقیاسپذیری رنج میبرد، مقولهی کوچکتر شدن سایز بلاکها مطرح میشود؟ این راهکار چگونه میتواند مشکلات این ارز دیجیتال را برطرف کند؟
کوچکتر شدن سایز بلاک شاید از این جهت که با کاهش حجم دادههای موجود در هر بلاک، اعتبارسنجی تراکنشهای درون آن نیز آسانتر شده و ظرفیت لازم برای ایجاد هر بلاک کمتر میشود، مفید خواهد بود. با اینکار افراد بیشتری در تایید بلاکها شرکت خواهند کرد و به این ترتیب عدم نیاز به اعتماد، در شبکه بیشتر خواهد شد.
از دیدگاه فلسفی، کاهش سایز بلاکهای بیت کوین با ویژگی غیرمتمرکز بودن آن هماهنگی زیادی دارد. هرچه تعداد افراد بیشتری در تایید تراکنشها شرکت نمایند، قابلیت انعطافپذیری شبکه بالاتر رفته و در برابر حملاتی نظیر دوبار خرج کردن (Double spend problem) و بازگرداندن تراکنشها مقاوم خواهد شد. چه کسی یک بیت کوین غیرمتمرکزتر و امنتر را نمیخواهد؟
لوک دشر (Luke Dashjr) یکی از توسعهدهندگان بیت کوینکور (bitcoin core) که طرفدار کاهش سایز بلاکهای بیت کوین است، از ۱ آگوست تا ۳۱ دسامبر ۲۰۱۹ از طرفداران بیت کوین خواسته تا به کاهش سایز بلاکهای آن رای دهند. این توسعهدهندهی بیتکوین کور در توییتر خود این چنین نوشته است:
اگر اکثریت نودها موافق این تغییر باشند، سافت فورکی به نفع بلاک کوچکتر اتفاق خواهد افتاد. درصورتیکه این فورک انجام شود، سایز بلاکهای بیت کوین از ۱ مگابایت به ۳۰۰ کیلوبایت خواهد رسید. اگر سایز بلاک بیت کوین را به حدود یک سوم از سایز فعلیاش و یا کمی بیشتر برسانیم، فرایند تایید بلاکها آسانتر شده و حجم بلاک چین بیت کوین محدود نگه داشته خواهد شد.
آیا اکنون زمان مناسبی برای کاهش سایز بلاک است؟
جالب است که بدانید این اولین بار نیست که لوک دشر چنین پیشنهادی را مطرح میکند. این توسعهدهنده در ژانویهی ۲۰۱۷ نیز چنین پیشنهادی را با ارائه پیشنهادی مطرح کرده بود اما در آن زمان به او توجهی نشد. در این زمان دو دلیل برای پذیرش احتمالی این پیشنهاد به وجود آمده است.
کاهش نودهای فعال در شبکه
تعداد گرههای فعال در شبکهی بیت کوین کاهش یافته است. همانطور که میدانید، کاربران به صورت کلی از طریق دو نوع نود میتوانند به شبکه متصل گردند: فول نودهایی که کل بلاک چین را ذخیره کرده و تمامی تراکنشهای جدید در هر بلاک را تایید میکنند و لایت نودها (SPV) که زیرمجموعهای از دادههای بلاک چین را ذخیره کرده و برای تایید تراکنشها از مکانیزمی به نام سیستم اعتبار ساده شده (Simplified Payment Verification System) استفاده میکنند. در حال حاضر راهاندازی و نگهداری یک فول نود پرهزینه و سخت است و از همین رو تعداد آنها کاهش یافته است. از سویی دیگر لایت نودها، برای دسترسی به بلاک چین و پذیرش تراکنش بلاکها بدون تایید آنها به فول نودها متکی هستند.
دشر در سال گذشته نیز هشدار داده بود که تعداد فولنودهای شبکه از ۱۰۰ هزار به ۶۰ هزار نود رسیده است. این قضیه کمی نگران کننده است چراکه هرچه تعداد فول نوها کمتر باشد، تمرکز بیشتر و احتمال دستکاری و حمله به شبکه بیشتر میشود.
سامسون مو ( Samson Mow) مدیر ارشد استراتزی شرکت بلاک استریم (Blockstream) در مقالهی هاردفورک خود در خصوص تغییر سایز بلاک به این نکته اشاره میکند که غیر متمرکز بودن شبکه در این وضعیت و با سنگینتر شدن فول نودها، در نهایت آن را به سمت تشکیل قطبهایی پیرامون مراکز داده (فول نودها) شکل خواهد داد.
کور سوی امید با شبکهی لایتنینگ
کاهش سایز بلاکهای بیت کوین که منجر به افزایش کارمزد و کند شدن فرآیند تایید تراکنشها میشود، در این زمان مخالفتهای زیادی را بر خواهد انگیخت. بنابراین راهکار بهتر شاید انتقال تراکنشها به شبکهی لایتنینگ باشد.
جدا از انکار محدودیتهایی که کاهش سایز بلاک برای ما ایجاد میکند، توسعهدهندگان معتقدند میتوان این محدودیتها را با استفاده از راهکارهای مقیاسپذیری لایهی دوم از میان برد.
جان کاروالو (John Carvalho) در حمایت از پیشنهاد دشر، دیگران را به حمایت از این ایده و کوچکتر شدن سایز بلاک بیت کوین از طریق یک سافت فورک دعوت مینماید، پذیرش گستردهتر شبکهی لایتنینگ یکی از دلایلی بود که کاروالو به عنوان راهکاری برای کاهش کارمزدها عنوان کرده است.
بدون شک زمان ارائهی این پروپوزال در پذیرش و متقاعد کردن جامعهی بیت کوین نقش بهسزایی دارد. وینی لینگهام (Vinny Lingham) یکی از کارآفرینان بیت کوین که با نام مستعار اوراکل بیت کوین (Oracle Bitcoin) شناخته میشود، در ابتدا موضعی خنثی در برابر کاهش سایز بلاک بیت کوین داشت؛ ولی اکنون با دشر همعقیده شده است.
حامیان محتاط
گذشته از افرادی همچون راجر ور (Roger Ver) که کاملا پیشنهاد کاهش بلاک بیت کوین را رد کرده است، بیشتر متخصصان حوزه کریپتو اعتقاد دارند که نظر دشر کاملا درست است اما میدانند که کاهش سایز بلاک نیز خالی از مشکل نخواهد بود.
اگر مقولهی کاهش تعداد فول نودها را بدون متصل کردن آن به بلاکهای کوچکتر و عدم تمرکز نیز در نظر بگیریم باز هم نگرانکننده خواهد بود. اثبات تقلب (fraud proof) را در نظر بگیرید که مهمترین تفاوت در توانایی فول نودها و لایتنودها بوده و امنیت لایتنود را از طریق فول نود تامین میکند. اگر فولنودی در یک بلاک به هنگام اعتبارسنجی، یک ناهنجاری را تشخیص دهد، یک اخطار به عنوان اثبات تقلب برای آگاهسازی سایر نودهای شبکه برای یتیم کردن (جدا کردن از زنجیرهی اصلی) آن بلاک صادر میکند.
اجماع بزرگترین مانع
جدا از جزئیات فنی، مشکل تغییر سایز بلاک بیت کوین، انسانها هستند. بلاک چین بیت کوین یک زنجیرهی عمومی بوده و برای هرگونه بهروزرسانیای به موافقت اکثر اعضای شبکه نیاز دارد. متأسفانه بسیاری از طرفداران بیت کوین، تمایلی به این تغییر نداشته و درست همانگونه که مشکل y۲K در سال ۲۰۰۰ که مربوط به نمایش متغیرهای عددی با دو رقم بود، زیر سوال بوده و ابهامات بسیاری پیرامون تغییر آن وجود داشت، ترسی بر تغییرات ساختاری با تبعات ناشناخته در بیت کوین وجود دارد. هیچ فردی یک بیت کوین کش دیگر را نمیخواهد.
نتیجهگیری
یک بلاک ۳۰۰ کیلوبایتی، فرآیند تایید تراکنشها را تسهیل کرده و شبکه را قابل اعتمادتر، انعطافپذیرتر و غیرمتمرکزتر میسازد. صرف نظر از اندازهی بلاک، اعتبار شبکهی بیت کوین مبتنی بر صحت هر تراکنشی است که بر روی آن انجام میشود. ازدحام تراکنشهای درونزنجیرهای بهایی است که ما در ازای کوچک شدن سایز بلاکها به خاطر حفظ امنیت و پایداری شبکه باید بپردازیم. بحث و اختلاف نظر پیرامون تغییر سایز بلاک ادامه خواهد داشت اما عملی شدن آن به اجماع کاربران نیاز دارد. فناوری بیت کوین اکنون اینجاست و تئوری آن نیز منطقی به نظر میآید ولی کاربرد آن همچنان زیر سوال است چراکه توجیه و گسترش ایدههای نوظهور بسیار سختتر از نوشتن تکهای کد است.