
مشکل دوبار خرج کردن یک مسأله بالقوه در سیستمهای پول دیجیتال است که در آن یک نشانه دیجیتال میتواند بیش از یک بار خرج شود. این یک مشکل منحصر به فرد برای ارزهای دیجیتال است، زیرا اطلاعات دیجیتال به راحتی قابل تکثیر هستند.
این را به این شکل در نظر بگیرید: اگر یک فایل دیجیتال داشته باشید، میتوانید آن را به راحتی کپی و جایگذاری کنید و چندین نسخه یکسان ایجاد کنید. اگر آن فایل دیجیتال نماینده پول باشد، میتوانید به طور بالقوه همان فایل را به چندین نفر ارسال کنید و عملاً همان پول را چندین بار خرج کنید.
برای مثال، تصور کنید یک فایل دیجیتال از یک آهنگ دارید. میتوانید به راحتی آن فایل را کپی کنید و به چندین نفر ارسال کنید. هر شخص یک نسخه از آهنگ خواهد داشت و هیچ راهی برای تشخیص نسخه "اصل" وجود نخواهد داشت.
همین اصل به ارزهای دیجیتال نیز اعمال میشود. اگر راهی برای پیگیری اینکه کدام نشانههای دیجیتال خرج شدهاند وجود نداشته باشد، میتوان برای شخصی امکانپذیر باشد که همان نشانه را چندین بار خرج کند.
مشکل دوبار خرج کردن یک مانع قابل توجه برای ایجاد یک سیستم پول دیجیتال قابل اعتماد است. اگر امکان خرج کردن همان نشانههای دیجیتال بیش از یک بار وجود داشته باشد، یکپارچگی و اعتماد در سیستم را تضعیف میکند. تجار در قبول ارز دیجیتال مردد خواهند بود اگر نتوانند مطمئن شوند که پرداختی که دریافت کردهاند معتبر است و معکوس یا در جای دیگر خرج نخواهد شد.
بیتکوین مشکل دوبار خرج کردن را از طریق ترکیبی از دفترکل غیرمتمرکز خود، که به عنوان بلاکچین شناخته میشود، و مکانیزم اجماع خود، که به نام اثبات کار (PoW) شناخته میشود، حل میکند.
ارزهای دیجیتال مانند بیتکوین مشکل دوبار خرج کردن را با استفاده از یک دفترکل غیرمتمرکز به نام بلاکچین حل میکنند. بلاکچین یک رکورد عمومی از تمامی تراکنشهایی است که تاکنون در شبکه انجام شده است. این رکورد به طور مداوم توسط شبکهای از کامپیوترها به نام "نودها" بهروزرسانی و تأیید میشود.
بلاکچین: یک دفترکل عمومی و تغییرناپذیر
بلاکچین یک دفترکل توزیعشده و تغییرناپذیر است که تمامی تراکنشهای بیتکوین را ثبت میکند. این دفترکل توسط شبکهای از کامپیوترها به نام نودها نگهداری میشود، که هر یک از آنها یک نسخه از کل بلاکچین را دارند. هنگامی که یک تراکنش جدید انجام میشود، به شبکه پخش میشود و توسط نودها تأیید میشود. پس از تأیید، تراکنش به یک بلوک اضافه میشود که سپس به بلاکچین افزوده میشود.
هنگامی که یک تراکنش بیتکوین انجام میشود، به شبکه نودها پخش میشود. این نودها تراکنش را تأیید میکنند و مطمئن میشوند که فرستنده قبلاً بیتکوینی را که در حال ارسال آن است خرج نکرده است. پس از تأیید تراکنش، به یک "بلوک" در بلاکچین اضافه میشود. هر بلوک به بلوک قبلی متصل است و یک زنجیره از بلوکها ایجاد میکند که به همین دلیل به آن "بلاکچین" گفته میشود.
بلاکچین به طور مداوم بهروزرسانی میشود زیرا بلوکهای جدیدی اضافه میشوند. هر بار که یک بلوک جدید اضافه میشود، توسط همه نودهای شبکه تأیید میشود. این امر تغییر بلاکچین را بسیار دشوار میکند، زیرا برای این کار نیاز به کنترل اکثریت قدرت محاسباتی شبکه است.
تغییرناپذیری بلاکچین به این معنی است که پس از ثبت یک تراکنش، نمیتوان آن را تغییر داد یا معکوس کرد. این امر با غیرممکن ساختن تغییر تاریخچه تراکنشها یا خرج مجدد همان بیتکوینها بدون اطلاع شبکه، از دوبار خرج کردن جلوگیری میکند.
اثبات کار: ایمنسازی شبکه و جلوگیری از دوبار خرج کردن
اثبات کار (PoW) مکانیزم اجماعی است که شبکه بیتکوین را ایمن میکند و از دوبار خرج کردن جلوگیری میکند. در PoW، ماینرها برای حل مسائل ریاضی پیچیده رقابت میکنند. اولین ماینری که مسئله را حل کند، میتواند یک بلوک جدید از تراکنشها را به بلاکچین اضافه کند و با بیتکوینهای تازه استخراج شده پاداش میگیرد.
فرآیند PoW نیازمند مقدار زیادی قدرت محاسباتی و انرژی است، که کنترل اکثریت قدرت هش شبکه را برای یک نهاد واحد بسیار دشوار و پرهزینه میکند. این تمرکززدایی ایجاد یک نسخه متناقض از بلاکچین را برای یک مهاجم بسیار غیرممکن میکند تا بیتکوینها را دوبار خرج کند.
چگونه PoW از دوبار خرج کردن جلوگیری میکند
فرض کنید یک مهاجم سعی میکند بیتکوینها را دوبار خرج کند و همان سکهها را به دو گیرنده مختلف ارسال کند. مهاجم باید دو تراکنش جداگانه ایجاد کند که هر کدام همان بیتکوینها را خرج کند. این تراکنشها به شبکه پخش میشوند و به ممپول، که یک استخر از تراکنشهای تأییدنشده است، اضافه میشوند.
با این حال، تنها یکی از این تراکنشها میتواند در یک بلوک گنجانده شود و به بلاکچین اضافه شود. تراکنش دیگر توسط شبکه رد خواهد شد، زیرا به عنوان یک تلاش برای دوبار خرج کردن در نظر گرفته میشود.
مکانیزم PoW تضمین میکند که تراکنشی که بیشترین کار پشت آن است (یعنی تراکنشی که در طولانیترین زنجیره بلوکها قرار گرفته است) به عنوان تراکنش معتبر در نظر گرفته میشود. این امر از موفقیتآمیز بودن دوبار خرج کردن بیتکوینها توسط مهاجم جلوگیری میکند.
بلاکچین از دوبار خرج کردن با بسیار دشوار ساختن تغییر تاریخچه تراکنشها جلوگیری میکند. هنگامی که یک تراکنش به بلاکچین اضافه میشود، بسیار دشوار است که آن را معکوس یا تغییر دهید. این به این دلیل است که هر بلوک به بلوک قبلی متصل است و هر تغییر در یک بلوک نیازمند تغییر تمامی بلوکهای پس از آن است.
در مثال ما، هنگامی که آلیس 1 بیتکوین به باب میفرستد، تراکنش به شبکه بیتکوین پخش میشود. نودهای شبکه تراکنش را تأیید میکنند و مطمئن میشوند که آلیس قبلاً بیتکوین را خرج نکرده است. پس از تأیید تراکنش، به یک بلوک در بلاکچین اضافه میشود.
اگر آلیس سپس بخواهد همان 1 بیتکوین را به کارول بفرستد، نودهای شبکه خواهند دید که بیتکوین قبلاً خرج شده است. آنها تراکنش را رد خواهند کرد و کارول بیتکوین را دریافت نخواهد کرد.
هنگامی که یک تراکنش بیتکوین در یک بلوک گنجانده شده و به بلاکچین اضافه میشود، یک تأییدیه دریافت میکند. هر بلوک بعدی که به بلاکچین اضافه میشود، یک تأییدیه دیگر به تراکنش اضافه میکند. هر چه تأییدیههای یک تراکنش بیشتر باشد، امنیت آن بیشتر است، زیرا معکوس کردن یا تغییر آن دشوارتر میشود.
بیشتر کیفپولها و صرافیهای بیتکوین قبل از در نظر گرفتن یک تراکنش به عنوان نهایی به تعداد معینی تأییدیه نیاز دارند. این برای اطمینان از این است که تراکنش احتمالاً معکوس یا دوبار خرج نخواهد شد.
بیشتر درباره تأییدیهها در حوزه بیتکوین و ارزهای دیجیتال بیاموزید.
تعداد تأییدیههای لازم برای جلوگیری از دوبار خرج کردن بسته به ارز دیجیتال متفاوت است. برای بیتکوین، به طور کلی توصیه میشود که حداقل 6 تأییدیه را قبل از در نظر گرفتن یک تراکنش به عنوان نهایی انتظار داشته باشید. این به این دلیل است که بسیار دشوار است که یک مهاجم بتواند اکثریت قدرت محاسباتی شبکه بیتکوین را برای 6 بلوک متوالی کنترل کند.
در حالی که دوبار خرج کردن بیتکوین بسیار دشوار است، اما غیرممکن نیست. اگر یک مهاجم بتواند اکثریت قدرت محاسباتی شبکه را کنترل کند، میتواند بیتکوین را دوبار خرج کند. این به عنوان حمله 51% شناخته میشود.
با این حال، حملات 51% بسیار پرهزینه و دشوار هستند، به ویژه در بلاکچینهای بزرگ و با سابقه مانند بیتکوین. هزینه کسب و اداره قدرت محاسباتی کافی برای انجام یک حمله 51% موفقیتآمیز احتمالاً بیشتر از منافع بالقوه خواهد بود.
مشکل دوبار خرج کردن یک چالش اساسی در ایجاد یک سیستم پول دیجیتال قابل اعتماد است. ترکیب نوآورانه بیتکوین از یک دفترکل غیرمتمرکز (بلاکچین) و یک مکانیزم اجماع قوی (اثبات کار) این مشکل را به طور مؤثری حل میکند و از یکپارچگی و امنیت شبکه اطمینان حاصل میکند. استفاده از تأییدیهها لایههای امنیتی بیشتری اضافه میکند و دوبار خرج کردن را برای تراکنشهایی با تعداد کافی تأییدیه تقریباً غیرممکن میسازد.
مشکل دوبار خرج کردن یک چالش جدی برای ارزهای دیجیتال است. با این حال، ارزهای دیجیتال مانند بیتکوین این مشکل را با استفاده از یک دفترکل غیرمتمرکز به نام بلاکچین به طور مؤثر حل کردهاند. بلاکچین دوبار خرج کردن سکهها را برای هر کسی بسیار دشوار میکند و به یکپارچگی و امنیت شبکه اطمینان میبخشد.
برای افزایش درک خود از مشکل دوبار خرج کردن و چگونگی حل آن توسط بیتکوین، این منابع را بررسی کنید:
با اعتماد به نفس شروع کنید و امروز پایهای قوی در بیتکوین بدست آورید.
یک معرفی ساده به بیتکوین و اهمیت آن بیابید.

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

بیاموزید که چرا فرآیند ساخت بیتکوینهای جدید، که به عنوان 'استخراج بیتکوین' شناخته میشود، از برخی جهات مشابه با فرآیند استخراج فلزات گرانبها از زمین است.
این مقاله را بخوانید →
بیاموزید که چرا فرآیند ساخت بیتکوینهای جدید، که به عنوان 'استخراج بیتکوین' شناخته میشود، از برخی جهات مشابه با فرآیند استخراج فلزات گرانبها از زمین است.

درباره تأییدیههای بلاکچین، دلیل اهمیت آنها و موارد دیگر اطلاعات کسب کنید.
این مقاله را بخوانید →
درباره تأییدیههای بلاکچین، دلیل اهمیت آنها و موارد دیگر اطلاعات کسب کنید.

کشف کنید که کارمزدهای بیتکوین چیست، چگونه کارمزدها تعیین میشوند و موارد بیشتر.
این مقاله را بخوانید →
کشف کنید که کارمزدهای بیتکوین چیست، چگونه کارمزدها تعیین میشوند و موارد بیشتر.

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

شبکه چگونه عمل میکند و درباره مسائل حیاتی تصمیمگیری میکند؟
این مقاله را بخوانید →
شبکه چگونه عمل میکند و درباره مسائل حیاتی تصمیمگیری میکند؟

درباره مکانیسمهای اجماع، اهمیت آنها در فناوری بلاکچین، و انواع مختلف مکانیسمهای اجماع که در ارزهای دیجیتال استفاده میشوند، بیاموزید.
این مقاله را بخوانید →
درباره مکانیسمهای اجماع، اهمیت آنها در فناوری بلاکچین، و انواع مختلف مکانیسمهای اجماع که در ارزهای دیجیتال استفاده میشوند، بیاموزید.

دربارهی اثبات کار (PoW)، سازوکار اجماع مورد استفاده بیتکوین، و نحوهی عملکرد آن بیاموزید.
این مقاله را بخوانید →
دربارهی اثبات کار (PoW)، سازوکار اجماع مورد استفاده بیتکوین، و نحوهی عملکرد آن بیاموزید.
یک معرفی ساده به بیتکوین و اهمیت آن بیابید.

درباره این ابزار ضروری برای ارسال، دریافت و ذخیره بیتکوین خود یاد بگیرید؛ چگونه کار میکند و چگونه بهصورت ایمن از آن استفاده کنید.
این مقاله را بخوانید →
درباره این ابزار ضروری برای ارسال، دریافت و ذخیره بیتکوین خود یاد بگیرید؛ چگونه کار میکند و چگونه بهصورت ایمن از آن استفاده کنید.
