بررسی تأثیر مکانیزمهای اجماع بر امنیت بلاکچین
مکانیزمهای اجماع بلاکچین، امنیت و پایداری شبکه را با جلوگیری از حملات و تمرکززدایی تضمین میکنند. در این مقاله، تأثیر مکانیزمهای مختلف مانند PoW، PoS و PoH بر امنیت بلاکچین بررسی میشود.
در دنیای ارزهای دیجیتال یک سری مفاهیم وجود دارند که شاید به گوش کمتر کسی خورده است؛ اما اهمیت بالایی در روند تراکنشها و معاملات ارزهای دیجیتال در شبکه بلاک چین دارند. یکی از این مفاهیم مهم، UTXO یا خروجی خرج نشده تراکنش است که نقش اساسی در امنیت و کارآمدی شبکه و نقل و انتقالات رمزارزها در بلاک چین ایفا میکند. این عبارت مخفف شده تا چند سال پیش و تا قبل از بلاک چین وجود خارجی نداشت؛ اما پس از پیدایش بلاک چین به خاطر شفافیت شبکه، امنیت و مقیاس پذیری خود، جایگاه ویژهای در فضای بلاک چین و رمزارزها پیدا کرد. در این نوشته از کریپتوباز در رابطه با مفهوم UXTO قصد داریم سری بزنیم به آن چه که کاربران فعال در حوزه ارزهای دیجیتال و شبکه بلاک چین نیاز به آگاهی دارند. در نهایت نحوه کارکرد، مدیریت و اهمیت تراکنش خروجی خرج نشده تراکنش را با هم بررسی میکنیم.
UTXO از اصطلاحات پرکاربرد و مهم برای آشنایی با مفاهیم بلاک چین به شمار میرود که مخفف شده عبارت Unspent Transaction Output است و معنی خروجی خرج نشده تراکنش را دارد. این اصطلاح به مقدار ارز دیجیتالی اشاره دارد که در تراکنشهای انواع معاملات بازار رمزارزها باقی میماند. چگونه؟ هر تراکنش مربوط به ارز دیجیتال معامله شده با کوینهایی شروع میشود که جهت تراز شدن به دفترکل بلاک چین منتقل میشوند. بیایید این موضوع را بیشتر برایتان شفاف سازی کنیم. خروجیهای خرج نشده در واقع آغاز و پایان هر تراکنش را بر عهده دارند و به صورت مستمر در حال پردازش شدن در شبکه بلاک چین هستند.
در نظر داشته باشید که کوینهای خریداری شده به صورت یک واحد کوین کامل خرید و فروش نمیشوند. این مورد به ویژه در ارزهای با قیمت بالا بیشتر صادق است. برای نمونه اگر اقدام به خرید بیت کوین یا اتریوم ETH کنید، کسری از این کوینها در تراکنشها خرید و فروش میشوند و مابقی به کیف پول باز میگردند؛ با این وجود مسئله اصلی اینجاست که خرد کردن این واحدهای کوین به خصوص در کوینهای با قیمت بالا کار سادهای نیست و کارمزدی ایجاد میکند که از مقرون به صرفه نبودن خرید و فروش قیمت رمزارزها در ظاهر قضیه میکاهد.
این خرده واحدهایی که شرح دادیم همان خروجی خرج نشده هستند که بعد از تایید هر تراکنش باقی میمانند تا به عنوان بخشی یا تمام ورودی در تراکنش بعدی مورد استفاده قرار گیرند. به این طریق با انجام تراکنش بعدی خروجی جدیدی به وجود میآید که امکان خرج کردن خروجیهای قبلی را حذف میکند؛ اما هر خروجی که بلافاصله در تراکنشی به کار گرفته نشود، به UTXO تبدیل میشود تا در تراکنش بعدی خرج شود.
برای ارزهای دیجیتال مانده حساب در کیف پول کاربر فقط یک مقدار مشخصی نیست که به صورت عددی به چشممان میخورد، بلکه مجموعهای از واحدهای کوچکتر است که به آن UTXO گفته میشود. به عبارتی اگر شما در کیف پول خود یک مقدار از هر ارز دیجیتال را میبینید، متوجه این نیستید که هر مقدار از آن ارزها به واحدهای خروجی خرج نشده تراکنش تقسیم شدهاند.
کاربرد خروجی خرج نشده تراکنش در اصل برای جلوگیری از خرج کردن مضاعف و حتی جلوگیری از دوبار خرج کردن در شبکه است. بگذارید با یک مثال این موضوع را بهتر برای شما شفاف سازی کنیم.
تصور کنید که شما 3 بیت کوین دارید و میخواهید 0.5 بیت کوین را به شخصی دیگر در معامله ارسال کنید. در این حالت شما نمیتوانید تنها همین 0.5 بیت کوین را به شبکه جهت انجام معامله بفرستید و مابقی را در کیف پول خود نگه دارید. چرا؟ چون در این بخش اتفاق دیگری رخ میدهد. در واقع تمام 3 بیت کوین شما وارد فرایند معامله با ارسال به شبکه بلاک چین میشود و پس از انجام تراکنش و ارسال 0.5 بیت کوین به فرد مقابل، 2.5 بیت کوین باقی مانده که در واقع خرج نشده، دوباره به کیف پول شما بازمیگردد. به این ترتیب در این فرایند دو واکنش انجام میگیرد. ابتدا مقدار قیمت بیت کوین BTC موردنظر به کیف پول مقصد ارسال شده و سپس باقی مانده آن به کیف پول به صورت خروجی خرج نشده تراکنش برمیگردد. در دنیای بلاک چین ما این توضیحات را با مفهوم ورودی و خروجی تراکنش میشناسیم که در ادامه در مورد هر کدام توضیحاتی ارائه میدهیم.
قبل از این که به مفاهیم ورودی و خروجی و ارتباط بلاک چین با مفهوم UTXO بپردازیم، لازم میدانیم اشارهای به مفهوم مهم دیگر به نام DUST داشته باشیم. در دنیای ارزهای دیجیتال DUST به مقدار ناچیزی از کوین اشاره دارد که مقدار آن حتی از میزان کارمزد برای ارسال آن به کاربری دیگر کمتر بوده و عملا هزینه نمیشود. به بیان دیگر DUST به مقدار ناچیز و اندک باقی مانده و مصرف نشده رمزارزی در معامله گفته میشود که ارزشی کمتر از حداقل تعیین شده برای معاملات معتبر دارد و به همین خاطر پردازش برای چنین معاملهای غیرممکن بوده و آن مقدار در کیف پول به دام انداخته شده و خرج نمیشود.
تراکنشهایی که در شبکه بلاک چین انجام میگیرند، به ساختارهای کوچکی تقسیم شدهاند که هر یک معنا، مفهوم و کاربرد خود را دارند. اولین ساختاری که حین بررسی تراکنش به آن برخورد میکنیم، نسخه تراکنش یا Transaction Version است. نسخه تراکنش به شمارهای اطلاق میشود که نوع تراکنش را به شبکه بلاک چین معرفی میکند. نودها با بررسی شماره نسخه مربوط به هر تراکنش قوانینی را شناسایی و استفاده میکنند تا هر تراکنش مربوطه تایید شود.
ساختار دیگر و در واقع ساختار نهایی تراکنشها قفل زمانی یا Time Lock نام دارد. این ساختار قفل زمانی تعیین میکند که آیا یک تراکنش قابلیت این را دارد که بلافاصله به بلاک چین وارد شود یا با گذشت مدت زمانی مشخص به بلاک چین وارد میشود.
بین دو ساختار اولیه نسخه تراکنش و ساختار نهایی قفل زمانی، دو ساختار مهم ورودی (Input) و خروجی (Output) داریم. خروجی هر تراکنش از یک مقدار مشخص (Value) و قفل رمزنگاری (Lock) شکل گرفته است. بین ورودی و خروجی در مفهوم خروجی خرج نشده تراکنش وابستگی مهمی وجود دارد؛ به این شکل که خروجیها انگار قفل شده هستند و ورودیها وظیفه باز کردن قفل آنها را بر عهده دارند. منظور از مقدار در این جا ساتوشیهایی است که در داخل خروجی قفل میشوند و به کوچکترین واحد بیت کوین گفته میشود.
ورودی هر تراکنش کلیدی برای باز کردن قفل خروجیها به همراه اشارهگر (Pointer) دارد. اشارهگر یک ورودی مربوط به خروجی تراکنش قبلی است و کلید هم برای باز کردن قفل خروجی قبلی به کار گرفته میشود. هر بار که یک ورودی کلید قفل شده خروجی را باز میکند، خروجی مدنظر در پایگاه داده شبکه بلاک چین به صورت خرج شده (Spent) نشانه گذاری میشود تا برای دفعات بعدی غیرقابل استفاده شود؛ از این رو میتوان هر تراکنش را با عملیات با رفتار انتزاعی مشخص کرد که در هر تراکنش قفل خروجی قبلی باز و خروجی جدیدی تولید میشود. پس از آن ورودیهای جدید تراکنشها دوباره به خروجیهای جدید ارجاع داده میشوند تا عملیات تراکنش جدید صورت گیرد.
در چنین حالتی UTXO یا خروجی خرج نشده تراکنش به تمامی خروجیهای قفل شدهای اطلاق میشود که توسط هیچ ورودی قفل آنها باز نشده و هنوز خرج نشدهاند.
بیشتر بخوانید: محتوای قفل شده ان اف تی چیست؟
همان طور که اشاره کردیم، خروجی خرج نشده تراکنش منجر به پرداخت کارمزد بیشتر میشود؛ اما نکته اصلی اینجاست که با افزایش این کارمزد چیزی عاید ماینرها نمیشود. در واقع کارمزدها به طور خودکار و متناسب با اندازهای که هر تراکنش دارد محاسبه میشود. این فرایند به خاطر ایجاد چندین خروجی خرج نشده تراکنش در مواقع شلوغ شدن شبکه باعث افزایش یافتن فضای اشغالی در بلوکها میشود و حجم تراکنش بالا میرود.
تراکنشهای هر رمزارزی که بر اساس UTXO یا خروجی خرج نشده تراکنش انجام میشود، با واحد بایت اندازه گیری میشوند و کارمزد هم مطابق با بایت هر تراکنش محاسبه میشود. بسته به تراکمی که هر شبکه دارد، احتمال این پیش میآید که هزینه هر تراکنش با تراکنش قبلی متفاوت باشد و اگر تراکنشی در خرد کردن واحدهای بیت کوین از بایت بیشتری شکل گرفته باشد، کارمزد بیشتری برای کاربر ایجاد خواهد کرد و در چنین شرایطی باید با مدیریت UTXO آشنا بود.
تمامی ارزهای دیجیتال از خروجی خرج نشده تراکنش بهره نمیبرند. برای نمونه اتریوم در این دسته قرار ندارد؛ اما برخی از ارزهای دیجیتال که در ذیل نام میبریم، از UTXO استفاده میکنند:
• بیت کوین
• مونرو
• دوج کوین DOGE
• لایت کوین LTC
• بیت کوین کش BCH
• زی کش Zcash
UTXOها اگر یکپارچه و مدیریت شوند میتوانند از افزایش کارمزد جلوگیری کنند. هر کاربری میتواند تمام خروجی خرج نشده خود را تنها با ارسال تراکنش به آدرس دیگر آن را به واحدی یکپارچه تبدیل کند. اگر این کار انجام نشود، هر خروجی خرج نشده بیشتری که وارد جریان تراکنش شود، منجر به افزایش کارمزد شبکه خواهد شد؛ بنابراین باید به خوبی مدیریت UTXOها را فرا گرفت.
هر خروجی خرج نشده تراکنش دریافت کننده قبلی خود را مشخص میکند تا حریم خصوصی کاربر حفظ شود و به این طریق نقش مهمی در کارآمدی و امنیت شبکه ایفا میکند. پیشنهاد میکنیم فرایند یکپارچه سازی را در جهت کارآمدی شبکه در زمان خلوت شدن شبکه انجام دهید تا کارمزد تمام شده معاملات برای شما کاهش یابد. در کنار این موارد برای حریم خصوصی اهمیت قائل شوید؛ چراکه تمامی تراکنشهای شما قابل ردیابی هستند و نباید خطایی توسط شما صورت بگیرد. در پایان اگر علاقهمند به حوزه بلاک چین و ارزهای دیجیتال هستید، توصیه میکنم اخبار و مقالات بهروز کریپتوباز را مطالعه کرده و راهنماییهای لازم را در خصوص نحوه سرمایهگذاری در بازار ارزهای دیجیتال وNFT از تیم متخصص و حرفهای کریپتوباز دریافت نمایید.
UTXO به مقدار ارز دیجیتالی گفته میشود که بعد از هر تراکنش باقی مانده یا خرج نشده تا در تراکنش بعدی یا دوم به عنوان ورودی استفاده میشود.
هر چه تعداد خروجی خرج نشده یا UTXO بیشتر باشد، کاربر باید کارمزد بیشتری پرداخت کند، اما این مشکل را میتوان با یکپارچه سازی مدیریت کرد.
برای یکپارچه سازی و مدیریت UTXO کافیست تمام خروجی خرج نشده یا همان UTXO کیف پول را با ارسال یک تراکنش به آدرس دیگر به واحد یکپارچه تبدیل کنید.
به غیر از بیت کوین، ارزهای دیگری مانند لایت کوین، دوج کوین، مونرو، بیت کوین کش و زی کش نیز از UTXO استفاده میکنند.