UTXO چیست?
UTXO مخفف کلمه مخفف است خروجی معامله مصرف نشده (TX). در واقع ، این مقدار مقدار تغییر مانده ارز رمزنگاری شده است که از هر معامله دریافت می کنید. اگرچه برای توضیح بیشتر ، ابتدا باید نحوه کار یک معامله رمزنگاری معمولی را تجزیه کنیم. بیایید برای مثال خود از Bitcoin استفاده کنیم زیرا شناخته شده ترین ارز رمزنگاری شده با استفاده از UTXO است.
یک مثال معامله UTXO
وقتی به کیف پول بیت کوین خود نگاه می کنید ، تعادل را می بینید. برای این مثال ، بگذارید 100 بیت کوین باشد. گرچه شما فقط مشاهده می کنید یکی تعادل ، وجوه شما در واقع از تشکیل شده است چند UTXO ها ممکن است شما چهار UTXO به ارزش 25 بیت کوین ، دو UTXO به ارزش 50 یا یک مجموعه UTXO با ارزش 37 ، 18 ، 40 و 5 بیت کوین داشته باشید. مقادیر خاص مهم نیستند ، اما باید به کل موجودی شما ، در این مورد ، 100 اضافه شود.
در ادامه این مثال ، فرض کنید شما در حال خرید ماشین جدید هستید. تو سخت کار میکنی؛ تو لیاقتشو داری با کلیشه لامبو ، شما در مورد Porche تصمیم می گیرید که قیمت آن 35 بیت کوین باشد. خوب ، کیف پول شما فقط شامل UTXO های معادل 15 ، 17 ، 28 و 40 بیت کوین است. شما دقیقاً 35 بیت کوین ندارید.
تقسیم UTXO غیرممکن است ، بنابراین راهی برای پرداخت دقیق 35 بیت کوین مدیون ندارید.
در عوض ، شما 40 بیت کوین UTXO را خرج می کنید. در عوض ، شبکه دو UTXO جدید ضبط می کند: یکی با ارزش 35 بیت کوین ، یکی به ارزش 5 بیت کوین. نمایندگی اتومبیل 35 بیت کوین UTXO را دریافت می کند در حالی که شما 5 بیت کوین UTXO را به عنوان تغییر دریافت می کنید.
همچنین ممکن است 17 و 28 بیت کوین UTXO را خرج کنید و 10 بیت کوین به عنوان تغییر خود دریافت کنید. یک تراکنش ممکن است از هر ترکیبی از UTXO استفاده کند. با این حال ، شما نمی توانید بر روی آنها کنترل کنید.
همانطور که می توانید UTXO را به موارد جداگانه تقسیم کنید ، همچنین می توانید آنها را در معاملات بزرگتر ترکیب کنید و تعداد کمتری از آنها را در شبکه ایجاد کنید.
در مورد هزینه های معامله چطور?
هزینه معاملات نیز در معاملات گنجانده شده است و از UTXO که به عنوان تغییر دریافت می کنید کسر می شود. این معادله چیزی شبیه به این است:
UTXO جدید = (مجموع UTXO ها در معامله) – (مبلغ معامله) – (هزینه معامله)
ادامه آخرین نمونه ما با هزینه معامله یک بیت کوین:
UTXO جدید = (18 + 17) – (35) – (1) = 9 بیت کوین
اهمیت و مشکلات احتمالی UTXO
اجرای UTXO روش های حسابداری بلاکچین را بسیار ساده می کند. به جای اینکه مجبور به ردیابی و ذخیره هر تراکنش باشیم ، برای سفارش کمتر ، فقط باید سکه های مصرف نشده را ردیابی کنیم ، همچنین به عنوان UTXO شناخته می شود.
می بینید که هر سکه در اکوسیستم بیت کوین فقط یکبار می تواند هزینه شود. بنابراین ، هر بیت کوین موجود در کیف پول در حال حاضر هزینه نشده است زیرا:
- یک معدنچی آن را به عنوان پاداش استخراج دریافت کرده است ، یا
- در حین معامله ضرب شد. (مثال ما را از اوایل به یاد می آورید؟)
UTXO در جلوگیری از حملات دوبار مصرف بسیار مهم است و شما را از هزینه سکه های موجود باز می دارد. گره های شبکه یک پایگاه داده را ضبط و نگهداری می کنند که شامل هر UTXO (یعنی سکه مصرف نشده) موجود برای هزینه است. اگر بخواهید معامله ای را با سکه ای که در آن پایگاه داده نیست ارسال کنید ، گره ها آن را رد می کنند.
مشکلات احتمالی ذخیره سازی
گره ها پایگاه داده UTXO را در RAM ذخیره می کنند ، بنابراین مهم است که مجموعه داده ها در اندازه قابل کنترل باشند. با رشد ، هزینه اجرای یک گره کامل همراه با آن افزایش می یابد. اگر اجرای یک گره کامل بیش از حد گران شود ، می توان تمرکز بیشتری را در شبکه بیت کوین در میان افراد ثروتمندی که توانایی اجرای آنها را دارند ، مشاهده کرد..
اندازه پایگاه داده UTXO بیت کوین با گذشت زمان از طریق بلاکچین
این خطر تمرکز یکی از اصلی ترین دلایل افزایش اندازه بلوک بیت کوین است. Gavin Andresen ، توسعه دهنده Bitcoin ، آن را به بهترین وجه توصیف می کند مقاله او UTXO اوه اوه:
“یک بلوک یک مگابایتی محلی برای حدود 100 میلیون معاملات 500 بایت در سال است. اگر همه آنها UTXO را 500 بایت تنظیم کنند ، این مجموعه UTXO را 50 گیگابایت در سال رشد می دهد. ”
اندازه بلوک یک مگابایت حد بالایی را تعیین می کند تا آنجا که پایگاه داده UTXO می تواند هر ساله رشد کند. او ادامه می دهد:
“اجازه دادن به معاملات بیشتر بدون هیچ تغییر دیگری به احتمال زیاد رشد مجموعه UTXO را تسریع می کند ، و گران تر و سریع تر آن را برای اجرای یک گره کاملاً معتبر تر می کند.”
فقط برای اینکه ما کلمات آندرسن را کم نکنیم: مقاله وی در واقع به نفع افزایش اندازه بلوک است. او استدلال می کند که تأثیر بر اندازه مجموعه UTXO شدید نیست زیرا دیگران معتقدند. و ، با توجه به پیچیدگی راه حل های مقیاس گذاری لایه دوم ، ما باید بلوک های بزرگتری را در کوتاه مدت پیاده سازی کنیم ، قبل از اینکه این راه حل ها به مدت طولانی انجام شوند.
راه حل ها
خوشبختانه ، چند راه حل برای مشکلات احتمالی ذخیره سازی وجود دارد. در مرحله اول ، گره ها لازم نیست که کل پایگاه داده UTXO را در RAM ذخیره کنند. آنها می توانند بخشی از آن را در دیسک حالت جامد (SSD) یا دیسک سخت چرخان ذخیره کنند. اگرچه این نوع فضای ذخیره سازی منجر به کاهش زمان اعتبارسنجی برای هر گره می شود ، اما تا زمانی که هنوز زیر 10 دقیقه زمان بلوک متوسط نیستند ، مشکلی وجود نخواهد داشت..
علاوه بر این ، توسعه دهندگان بیت کوین به طور مداوم در حال بهبود مکانیسم های معامله برای بهینه سازی پایگاه داده UTXO هستند.
سرانجام ، شاهد تفکیک شده (Segwit) و راه حلهای مقیاس سازی مشابه به طور غیر مستقیم رشد پایگاه داده UTXO را کند می کنند. کشیدن مستقیم از مستندات هسته بیت کوین:
“Segwit با ایجاد داده های امضا ، که بر اندازه مجموعه UTXO تأثیر نمی گذارد ، 75٪ کمتر از داده هایی که روی اندازه مجموعه UTXO تأثیر می گذارد ، وضعیت را بهبود می بخشد. انتظار می رود این موارد باعث ترغیب کاربران به استفاده از معاملاتی شود که تأثیر آنها را بر روی مجموعه UTXO به حداقل می رساند تا هزینه ها به حداقل برسد ، و توسعه دهندگان را ترغیب می کند تا قراردادهای هوشمند و ویژگی های جدید را به گونه ای طراحی کنند که تأثیر آن بر مجموعه UTXO را نیز به حداقل برساند. “
نتیجه گیری: گزینه های UTXO?
ما امروز بطور مداوم از Bitcoin در مثال خود استفاده می کنیم ، اما ارزهای رمزپایه دیگری نیز وجود دارند که UTXO را اجرا می کنند ، از جمله Bitcoin Cash ، Litecoin و Komodo در میان بسیاری دیگر.
همچنین بسیاری از رمزنگاری های دیگر وجود دارد که از مکانیزم های دیگر حسابداری استفاده می کنند. به عنوان مثال ، Ethereum دارای یک مدل معامله مبتنی بر حساب است. این مکانیزم به طور کلی صرفه جویی در فضای بهتر و کد ساده تری برای کار فراهم می کند. با این حال ، شما یک سطح از حریم خصوصی معاملات را از دست می دهید و در جاده با مشکلات بالقوه مقیاس پذیری مواجه می شوید.
اگر از اتاقی از ده توسعه دهنده رمزنگاری درباره بهترین روش های حسابداری س askال کنید ، احتمالاً ده پاسخ متفاوت دریافت خواهید کرد. این یک موضوع داغ در سراسر جامعه است که هنوز هم یک راه حل کامل ندارد. و به دلیل پیچیدگی ، هرگز این کار را نخواهد کرد.