
موضوع کارمزد تراکنش در دنیای کریپتو مدتهاست که نادیده گرفته شده و مقالات دانشگاهی کمی از سال ۲۰۱۴ به بعد درباره آن نوشته شده است. با وجود این تعداد اندک، هنوز هم این موضوع به عنوان یک اولویت تحقیقاتی در نظر گرفته نمیشود. موضوع کارمزد تراکنشها به دو دلیل دارای اهمیت است. اول اینکه، آنها برای حفظ امنیت شبکههایی که براساس الگوریتم POW یا همان گواه اثبات کار، عمل میکنند ضروری است. دلیل دوم مربوط میشود به ماهیت ارتباط اقتصادی بین کاربرها و ماینرها و پروتکل شبکه.
در حال حاضر پاداش استخراج بلوک بیت کوین به میزانی هست که ماینرها انگیزه فعالیت داشته باشند. ماینرها به اندازه کافی درآمد بدست میآورند و در ازای آن، امنیت شبکه را تامین میکنند. اما نکته مهمی که وجود دارد این است که وقتی پاداش استخراج بلوک به سمت صفر میرود، طراحی مدل کارمزد تراکنشها چطور خواهد بود. چرا که این شبکه توان عملیاتی بسیار بالایی دارد. در این مقاله ابتدا نگاهی مختصر به موضوعات بیان شده میاندازیم و سپس پیشنهاد خود را در مورد مدل بهینه برای سیستم کارمزد تراکنش در بازار مطرح میکنیم.
رقابت ماینرها در فضای بلوک و ریسک انجام کار بدون دریافت کارمزد تراکنش
در شبکه بیت کوین این کاربرها هستند که مقدار کارمزد تراکنشها را تعیین میکنند. یک کاربر حتی میتواند کارمز تراکنش خود را صفر در نظر بگیرد؛ البته تایید شدن چنین تراکنشی ممکن است خیلی طول بکشد چون ماینرها تراکنشهایی را بررسی میکنند که کارمزدشان بیشتر از صفر باشد. در حقیقت آنها تراکنشها را بر اساس میزان کارمزدشان اولویتبندی میکنند تا درآمد بیشتری داشته باشند. تراکنشهایی که تاییده اولیه را گرفتهاند ولی هنوز پردازش آنها تکمیل نشده، در جایی مثل اتاق انتظار به نام mempool (یا همان استخر انتظار) نگهداری میشوند. بخاطر اینکه فضای هر بلوک محدود است، کاربرها برای فضای هر بلوک رقابت میکنند؛ در نتیجه در هر فاصله زمانی (interval) هزینه کارمزد تراکنش به یک حد متعادل میرسد. تراکنشهای تایید نشده، همچنان در mempool میمانند تا توسط ماینرها تایید شوند و در بلوک بعدی قرار گیرند.
با این وجود، شبکههای بلاک چینِ مشابه بیت کوین همیشه در بحث کارمزد تراکنشها با مشکلاتی همراه هستند. مثلا در آنها هیچ نوع سیستمی برای اولویت یا صفبندی درخواستها وجود ندارد و یا خبری از سرویسهایی که بر پایه متد first-come, first-serve (یعنی درخواستی که زودتر آمده زودتر باید انجام شود) کار میکنند، نیست. این کاربرها هستند که با تعیین کارمزدهایی بیشتر از میانگین شبکه، اولویت تراکنش خود را بالاتر میبرند و ماینرها معمولا تراکنشی را انتخاب میکنند که کارمزد بالاتری داشته باشد. نکته دیگر، بحث تلفات (انرژی و زمان) است که در استخرهای استخراج اتفاق میافتد و اگر پاداش استخراج به سمت صفر حرکت کند، آن هزینهها جبران نمیشوند. با توجه به این منطق، ممکن است هزینه فعالیت روزانه ماینرهای شبکه آنقدر زیاد شود که پاداش استخراج بلوک نتواند آن هزینهها را پوشش دهد. بنابراین محدود بودن اندازه بلوکها ممکن است باعث شود سرعت اضافه شدن تراکنشها به mempool از سرعت تایید تراکنشها بیشتر شود یعنی در شبکه گلوگاه ایجاد شود. زمان انتظار، باعث تجمع تراکنشها در شبکه میشود و در نتیجه کارمزدها بالاتر میروند.
از طرف دیگر، تجمع باعث میشود ماینرها بیشتر تمایل داشته باشند تا تراکنشهای کاربران خاصی از بلاک چین را تایید کنند که باعث کاهش سطح امنیت شبکه میشود. این اتفاق همچنین باعث تاخیر در پردازشها میشود و این تاخیرها ممکن است به حدی باشند که کاربر از استفاده از شبکه منصرف شود. شاید بیت کوین در دراز مدت به کارمزد تراکنش بیشتر نیاز داشته باشد تا بتواند بهتر و ایمنتر عمل کند و همین عامل در نهایت ممکن است باعث شکست این سیستم پرداخت جهانی شود.
بررسی عوامل مشوق در کارمزد تراکنش در شبکههای بلاک چین POW برای بهینهسازی طراحیهای آینده بسیار مهم است. به نظر نمیرسد تعیین کارمزد تراکنشها توسط خود کاربران، بهترین گزینه باشد. آیا بدون توجه به میزان درآمد ماینرها از استخراج کوین جدید، میتوان یک قیمت متعادل برای کارمزد تراکنشها مشخص کرد که در عین بهینه بودن بتواند امنیت شبکه را هم فراهم کند؟ در شبکههای بلاک چین POW امروزی، پاسخ به طور واضح خیر است. محدودیت اندازه بلوک باعث کاهش تعداد تراکنشها در هر فاصله زمانی میشود.
در مجموع برای اینکه هر کسی در شبکه خودمختار عمل نکند، نباید به کاربران اجازه داده شود که خودشان کارمزد دلخواه را برای تراکنشها تعیین کنند. تراکنشها به صورت دستهجمعی در یک بلوک قرار داده میشوند ولی کارمزد آنها به صورت تکی حساب میشود. یعنی بدون توجه کارمزد هر تراکنش، سطح امنیت همه آنها مقدار یکسانی است. به زبان سادهتر، کاربر A کارمزد دلخواه خود را بسیار پایین تعیین میکند و انقدر صبر میکند تا تراکنش او به همراه سایر تراکنشهای شبکه که کارمزد بیشتری دارند وارد یک بلوک میشود. حالا اگر همه کاربرها مثل A رفتار کنند، سطح امنیت شبکه پایین میآید تا اینکه تایید تراکنشها دیگر برای هیچ ماینری مقرون به صرفه نخواهد بود.
راهحلهای ممکن و مسیر پیش رو
این مشکلات به دو روش قابل حل هستند. یک: افزایش توان عملیاتی شبکه به طوری که از همه بلاک چینهای دیگر که بر اساس POW کار میکنند بیشتر باشد. دو: تعیین یک رویکرد و مکانیزم متفاوت در مورد کارمزد تراکنشها به منظور دستیابی به بهترین کارایی در شبکه. در ادامه به بررسی این موارد میپردازیم.
حتی اگر افزایش توان عملیاتی شبکه بتواند مشکل سهگانه مقیاسپذیری را حل کند، مشکلات دیگری در این بین ایجاد میشود. یکی از این مشکلات که بحثهای زیادی هم پیرامونش وجود دارد، نظریه مزایده یا حراج (auction theory) است که برای بهینهسازی کارمزد تراکنشها در پروتکلهای اجماع شبکههای POW مطرح میشود. رویکرد دیگر این است که کارمزدها را به مقدار فضایی که هر ماینر امنیت آن را فراهم کرده است مرتبط کنیم.
این راهحلها در محیطهایی که بین کاربران، برای دستیابی به فضای بلوک، رقابت وجود دارد میتوانند کارایی داشته باشند اما بعید به نظر میرسد در محیط شبکه فعلی موثر باشند. البته واضح است که اگر هر سیستمی بر اساس نظریه مزایده اجرا شود، با قدرت عملیاتی که شبکه در حال حاضر دارد، باعث میشود کارمزدها به سمت صفر میل کنند. یعنی اگر نیروهای شبکه که همان کاربرها هستند، اختیار تعیین مقدار مزایدهها را داشته باشند، با توجه به اینکه میدانند تراکنش آنها بالخره انجام میشود، طبیعی است که همیشه کمترین مقدار هزینه را در نظر میگیرند که به سمت صفر میل خواهد کرد. بنابراین، نظریه سیستم مزایدهای برای کارمزد تراکنشها رد میشود.
نکته دیگری که باید مورد توجه قرار گیرد اثرات متقابل در شبکه است. به شبکه میتوان به عنوان پلتفرم متشکل از تراکنشهای جهانی نگاه کرد که عرضه و تقاضا را تشکیل میدهند. ماینرها به دنبال کارمزدهای بیشتر (درآمد بیشتر) و کاربرها به دنبال کارمزدهای کمتر هستند. این تضاد منافع باید هم بر قیمت و هم در ساختار شبکه تاثیرگذار باشد. این مشکل در بیشتر بازارهای دوطرفه مشاهده میشود. همان طور که قبلا اشاره کردیم، در طراحی فعلی شبکه بلاک چین بیت کوین، کاربرها تقریبا آزادند که کارمزدها را خودشان انتخاب کنند و از آنجایی که علایق کاربران متفاوت است، زمانی که بخواهند کارمزدی پرداخت نکنند، این اتفاق روی امنیت شبکه بلاک چین تاثیر منفی میگذارد. از نظر ما کارمزد باید بر اساس سیستمی تعیین شود که بیشتر بر پایه بازار باشد. هزینه باید بر اساس حجم تغییرات تراکنشها (همان عرضه و تقاضا) تعیین شود و کاربر نتواند مقدار کمتری را در نظر بگیرد یعنی او حتما تمایل دارد که صبر کند تا تراکنش پردازش شود.
اتفاقاتی که در پشت شبکه میافتد بسیار پیچیدهاند ولی از دید کاربر همه چیز خوب و ساده به نظر میرسد. برای درک بهتر ساختار زنجیرهای سیستم کارمزد تراکنشها در بلاک چین، باید ساختار قیمت را در این شبکهها تحلیل کنیم. در مورد این شبکه، ما از یک سیستم صفبندی در بازار دو طرفه استفاده میکنیم. ما به یک ساختار قیمتی مناسب نیاز داریم که هم برای کاربران و هم ماینرها انگیزه کافی را برای فعالیت ایجاد کند.
همانطوری که قبلا هم بیان شد، تجمع تراکنشها در شبکههای بلاک چین POW باید کاهش پیدا کند. البته میدانیم که حتی در شبکهای با توان عملیاتی بالا هم ممکن است مشکل تجمع پیش بیاید و مقداری اتلاف زمان وجود داشته باشد. همچنین از لحاظ تئوری ممکن است در یک قسمت نسبت به گذشته خودش، تجمع اتفاق بیوفتد. پیشنهاد ما یک سیستم مبتنی بر وضعیت بازار است که بتواند چنین مشکلاتی را حل کند.
قیمتگذاری دینامیک (متغیر) میتواند کارمزد تراکنشها را در شرایط بالا و پایین شدن قیمتها، بهبود بخشد. در مواقعی که سیستم دچار تجمع میشود، افزایش قیمت میتواند با ملایم کردن منحنی تقاضا، تا حدودی مشکل را برطرف کند. این ساز و کار میتواند یک رویکرد مبتنی بر بازار برای تضمین کارمزد تراکنشها ارائه دهد که در آن از افزایش قیمت برای کاهش زمان انتظار استفاده میشود. مثل انعامی (tip) که مشتری میتواند در سیستم Uber پرداخت کند، در اینجا هم کاربر میتواند به استخر استخراج tip پرداخت کند با این هدف که به شبکه بلاک چین میگوید زمان برای من مهم است و میخواهم تراکنش من در اولین فرصت پردازش شود.
در نهایت، این شبکه در حال بهینهسازی زمان انتظار کاربران است و به ماینرها هم قول درآمد مناسب میدهد حتی زمانی که رقابت کمی برای فضای بلوک در میان باشد. یعنی کف قیمت کارمزدها باید به قدری باشد که هزینههای ماینرها را جبران کند. چنین ساز و کاری در برنامههای رزرو آنلاین تاکسی مثل Uber و Lyft استفاده میشود و ثابت شده که کارایی مناسبی دارند.