هزینه دو برابر یک مسئله بالقوه در یک سیستم نقدی دیجیتال است که در آن واحد بودجه به طور همزمان برای دو گیرنده هزینه می شود. بدون اقدامات مقابله ای کافی ، پروتکلی که مشکلی را حل نکند اساساً تضعیف می شود – کاربران راهی برای تأیید اینکه بودجه ای که دریافت کرده اند قبلاً در جاهای دیگر خرج نشده است.

وقتی صحبت از پول نقد دیجیتال می شود ، اطمینان از عدم تکثیر واحدهای خاص از اهمیت فوق العاده ای برخوردار است. اگر آلیس بتواند ۱۰ واحد دریافت کند ، ۱۰ بار آنها را کپی و چسباندن کند و ۱۰۰ واحد را در اختیار خود بگیرد ، کل سیستم آسیب می بیند. به همین ترتیب ، اگر وی بتواند ۱۰ واحد را به طور همزمان برای باب و کارول ارسال کند ، چنین طرحی نمی تواند کارساز باشد. بنابراین ، برای عملکرد پول دیجیتال ، باید مکانیزمی برای جلوگیری از این رفتار وجود داشته باشد.

چگونه می توان از هزینه دو برابر جلوگیری کرد؟

رویکرد متمرکز

اجرای مسیر متمرکز نسبت به گزینه های غیرمتمرکز بسیار آسان تر است. این به طور معمول شامل یک ناظر بر مدیریت سیستم و کنترل صدور و توزیع واحدها است. یک مثال خوب از یک راه حل متمرکز برای مشکل دو برابر هزینه ، مشکل David Chaum’s eCash است.

برای صدور کاربران با دارایی دیجیتال که از وجوه نقد تقلید می کند (قابلیت تبادل ناشناس و نظیر به نظیر) ، یک بانک می تواند از امضاهای کور استفاده کند – همانطور که دیوید چوم ، رمزنگار در مقاله خود با عنوان “امضا کور” برای پرداخت های غیرقابل ردیابی ، در سال ۱۹۸۲ توضیح داده است.

در چنین شرایطی ، اگر کاربری (بگذارید او را Dan بنامیم) بخواهد ۱۰۰ دلار پول نقد دیجیتال دریافت کند ، لازم است ابتدا بانک را مطلع کند. به شرط داشتن موجودی در حساب خود ، سپس یک عدد تصادفی (یا تعداد زیادی برای فرقه های کوچکتر) تولید می کند. فرض کنید او پنج عدد تولید می کند که به هر کدام ۲۰ دلار اختصاص می یابد. برای جلوگیری از ردیابی بانک توسط واحدهای خاص ، Dan اعداد تصادفی را با اضافه کردن یک عامل کور به هر یک از آنها مبهم می کند.

سپس او این داده ها را به بانک تحویل می دهد ، حساب او را ۱۰۰ دلار بدهکار می کند و پیام هایی را امضا می کند که گواهی بازخرید هر یک از ۵ اطلاعات را به $ ۲۰ می دهد. دن اکنون می تواند وجوه صادر شده توسط بانک را خرج کند. او به رستوران ارین می رود ، وعده غذایی خریداری می کند که ۴۰ دلار برای او هزینه دارد.

Dan می تواند عامل کور کردن را حذف کند تا عدد تصادفی مرتبط با هر “قبض” پول نقد دیجیتال را نشان دهد ، که به عنوان یک شناسه منحصر به فرد برای هر واحد عمل می کند (دقیقاً مانند یک شماره سریال). او دو مورد از این موارد را برای ارین فاش می کند ، که اکنون باید بلافاصله آنها را در بانک بازخرید کند تا مانع از خرج کردن دان با یک تاجر دیگر شود. بانک معتبر بودن امضاها را بررسی می کند و اگر همه چیز درست به نظر برسد ، ۴۰ دلار به حساب ارین اعتبار می دهد.

صورتحسابهای استفاده شده اکنون اساساً سوزانده می شوند و اگر ارین بخواهد تعادل جدید خود را به همین روش خرج کند ، باید موارد بیشتری صادر شود.

تنظیم Chaumian eCash ممکن است برای نقل و انتقالات خصوصی ارزشمند باشد. اما ، این در انعطاف پذیری ناکام می ماند زیرا بانک نقطه مرکزی شکست است. اسکناس صادر شده به خودی خود هیچ ارزشی ندارد ، زیرا ارزش آن صرفاً از تمایل بانک به مبادله آن با دلار حاصل می شود. مشتریان در رحمت بانک هستند و برای عملکرد پول باید به حسن نیت آن اعتماد کنند. این دقیقاً مشکلی است که ارز رمزنگاری شده برای رفع آن تلاش می کند.

رویکرد غیرمتمرکز

اطمینان از اینکه نمی توان وجوه را در یک اکوسیستم بدون سرپرست صرف کرد ، چالش بیشتری دارد. شرکت کنندگان با قدرت برابر باید در حدود مجموعه ای از قوانین که از تقلب جلوگیری می کند و همه کاربران را تحریک می کند که صادقانه عمل کنند ، هماهنگ شوند.

بزرگترین نوآوری ارائه شده در وایت پیپر بیت کوین راه حلی برای مشکل هزینه دو برابر بود. Satoshi اگرچه به این ترتیب مورد اشاره قرار نگرفت ، ساختار داده ای را که اکنون به طور گسترده به عنوان بلاکچین شناخته می شود ، ارائه داد.

بلاکچین در واقع فقط یک پایگاه داده با برخی از خصوصیات منحصر به فرد است. شرکت کنندگان در شبکه (که به آنها گره گفته می شود) نرم افزار تخصصی را اجرا می کنند ، که به آنها امکان می دهد نسخه خود را از پایگاه داده با همتایان خود هماهنگ کنند. نتیجه این است که کل شبکه می تواند تاریخ معاملات مربوط به بلاک پیدایش را بررسی کند. با مشاهده بلاکچین به صورت عمومی ، تشخیص و جلوگیری از فعالیت های متقلبانه ، مانند معامله هایی که سعی دارند دو برابر هزینه کنند ، آسان است.

وقتی کاربر معامله ای را پخش می کند ، بلافاصله به بلاکچین اضافه نمی شود – ابتدا باید از طریق استخراج در یک بلاک گنجانده شود. به این ترتیب ، گیرنده فقط باید معامله را پس از اضافه شدن بلاک آن به زنجیره معتبر بداند. در غیر این صورت ، آنها خطر از دست دادن وجوه را دارند ، زیرا فرستنده می تواند همان کوین ها را در جای دیگر خرج کند.

پس از تأیید معامله ، نمی توان کوین ها را دو برابر کرد ، زیرا مالکیت به یک کاربر جدید اختصاص داده شده است – و کل شبکه می تواند این را تأیید کند. به همین دلیل است که بسیاری توصیه می کنند قبل از پذیرش پرداخت به عنوان معتبر ، منتظر تأییدهای متعدد باشید. هر بلاک بعدی میزان تلاش مورد نیاز برای اصلاح یا بازنویسی زنجیره را به شدت افزایش می دهد (که ممکن است در طی حمله ۵۱٪ رخ دهد).

بیایید سناریوی رستوران را دوباره مرور کنیم. دن به رستوران برمی گردد و این بار بر روی برچسب پنجره Bitcoin Accepted Here را مشاهده می کند. او از غذایی که آخرین بار داشت لذت برد ، بنابراین دوباره آن را سفارش دهید. برای او ۰٫۰۰۵ BTC هزینه دارد.

ارین یک آدرس عمومی به او ارائه می دهد که باید بودجه را به آن بفرستد. Dan تراکنش را پخش می کند ، که اساساً یک پیام امضا شده است مبنی بر اینکه ۰٫۰۰۵ BTC که در اختیار Dan بود اکنون در Erin است. بدون پرداختن به جزئیات زیاد ، هر کسی که معامله امضا شده با Dan را ارائه دهد ، می تواند تأیید کند که وی واقعاً کوین ها را در اختیار داشته است ، بنابراین اختیار ارسال آنها را دارد.

همانطور که گفته شد ، معامله فقط در صورتی معتبر است که در بلاکی تأیید شود. پذیرش معاملات تأیید نشده مانند پذیرفتن ۴۰ دلار eCash از مثال قبلی ، بدون آن است که بلافاصله آن را در بانک وجه نقد کنید – به فرستنده اجازه می دهد تا آن را در جای دیگری خرج کند. بنابراین ، توصیه می شود که ارین قبل از پذیرش پرداخت Dan ، منتظر حداقل ۶ تأیید بلاک (تقریباً یک ساعت) باشد.

هزینه دو برابر در بیت کوین

بیت کوین به دقت طراحی شده است تا حداقل در مواقعی که پروتکل طبق انتظار استفاده می شود ، از حملات دو برابر هزینه جلوگیری کند. به این معنا که اگر افراد منتظر تأیید معاملات در یک بلاک باشند ، ارسال کننده هیچ راهی برای واگرد آن ندارد. برای این کار ، آنها باید بلاکچین را “معکوس” کنند ، که به مقدار غیر واقعی قدرت هش کردن نیاز دارد.

با این حال ، تعداد انگشت شماری از حملات مضاعف وجود دارد که هدف آنها طرفهایی است که معاملات تأیید نشده را می پذیرند. به عنوان مثال ، برای خریدهای کم ارزش ، ممکن است یک تاجر مایل نباشد منتظر بماند تا معاملات در یک بلاک گنجانده شود. یک رستوران فست فود شلوغ احتمالاً توانایی پردازش و ایستادگی را ندارد زیرا شبکه هر خرید را پردازش می کند. بنابراین ، اگر مشاغلی پرداخت های “فوری” را امکان پذیر می کند ، آنها خود را برای هزینه دو برابر باز می کنند. ممکن است شخصی برگر سفارش دهد ، هزینه آن را پرداخت کند ، سپس بلافاصله همان وجوه را به آدرس خود بفرستد. با کارمزد بیشتر ، این معامله جدید ابتدا تأیید می شود و بنابراین معامله قبلی را باطل می کند.

سه روش محبوب برای انجام یک هزینه دو برابر وجود دارد

۵۱٪ حملات

هنگامی که یک نهاد یا سازمان واحد موفق به کنترل بیش از ۵۰٪ نرخ هش می شود ، که به آنها امکان می دهد ترتیب معاملات را حذف یا اصلاح کنند. چنین حمله ای به بیت کوین بسیار بعید است ، اما در شبکه های دیگر رخ داده است.

حملات نژادی

دو معامله متناقض با استفاده از بودجه های مشابه به طور متوالی پخش می شوند – اما فقط یک معامله تأیید می شود. هدف مهاجم این است که فقط با اعتبار سنجی معامله ای که به نفع او است ، اعتبار را باطل کند (مثلاً ارسال همان وجوه به آدرسی که کنترل می کند). حملات نژادی به گیرنده نیاز دارد که معامله تأیید نشده را به عنوان پرداخت بپذیرد.

حملات فینی

حمله کننده یک معامله را از قبل استخراج می کند بدون اینکه بلافاصله آن را به شبکه منتقل کند. در عوض ، او همان کوین ها را در معامله دیگری خرج می کند و فقط پس از آن بلاک استخراج شده قبلی خود را پخش می کند ، که ممکن است پرداخت را بی اعتبار کند. حملات فینی نیاز به توالی خاصی از وقایع دارد و همچنین منوط به پذیرش معاملات تأیید نشده توسط گیرنده است.

همانطور که می بینیم ، بازرگانی که منتظر تأیید بلاک است ، خطرهای قربانی شدن هزینه دو برابر را بسیار کاهش می دهد.

افکار پایانی

هزینه دو برابر به کاربر این امکان را می دهد تا برای سود مالی ، یک سیستم نقدی الکترونیکی بازی کند و بیش از یک بار از همان وجوه استفاده کند. به طور سنتی ، فقدان راه حل های مناسب برای مشکل مانع پیشرفت در منطقه شده است.

خوشبختانه ، با این حال ، استفاده از امضاهای کور راه حل جالبی برای طرح های مالی متمرکز ارائه داد. بعداً ، ایجاد سازوکارهای اثبات کار و فناوری بلاکچین باعث به وجود آمدن بیت کوین به عنوان یک شکل قدرتمند از پول غیرمتمرکز شد – که به نوبه خود ، الهام بخش هزاران پروژه رمز ارز دیگر بود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.