هنوز چیزی روی دستگاه شما ذخیره نشده است. هر وقت خواستید، از پابرگهٔ سایت به همین صفحه برمی‌گردید و انتخابتان را عوض می‌کنید.

با فعال‌کردن سنجش، به بهبود سایت کمک می‌کنید. این انتخاب اختیاری است و هر زمان می‌توانید آن را در تنظیمات حریم خصوصی تغییر دهید.

حامد ثقفیHamed Saghafi

دوبار خرج کردن (Double Spending) چیست؟ حمله ۵۱ درصد و تاییدیه به زبان ساده

فهرست مطالب۱۱ بخش
  1. مشکل دوبار خرج کردن چیست؟
  2. یک تشبیه ایرانی: آپارتمانی که به دو نفر فروخته شد
  3. بانک‌ها چطور جلوی دوبار خرج کردن را می‌گیرند؟
  4. بیت کوین چطور دوبار خرج کردن را حل کرد؟
  5. تاییدیه چیست و چرا مهم است؟
  6. چند تاییدیه برای امنیت تراکنش لازم است؟
  7. انواع حمله دوبار خرج کردن
  8. حمله ریس (Race Attack)
  9. حمله فینی (Finney Attack)
  10. حمله ۵۱ درصد
  11. مقایسه‌ی روش‌های دوبار خرج کردن
  12. نمونه‌های واقعی حمله دوبار خرج کردن
  13. اثبات سهام و شبکه‌های دیگر چطور از دوبار خرج کردن جلوگیری می‌کنند؟
  14. اشتباه‌های رایج وقتی ارز دیجیتال دریافت می‌کنید
  15. چک‌لیست پیش از تحویل دادن جنس یا پول
  16. آیا دوبار خرج کردن در بیت کوین ممکن است؟
  17. سوالات متداول
  18. جمع‌بندی
دوبار خرج کردن (Double Spending) چیست؟ حمله ۵۱ درصد و تاییدیه به زبان ساده

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

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

مشکل دوبار خرج کردن چیست؟

یک اسکناس ۱۰۰ هزار تومانی را در نظر بگیرید. وقتی آن را به نانوا می‌دهید، دیگر در جیب شما نیست. نمی‌توانید همان اسکناس را به میوه‌فروش هم بدهید. پول کاغذی خودش جلوی دوبار خرج شدن را می‌گیرد، چون یک چیز فیزیکی است.

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

یک تشبیه ایرانی: آپارتمانی که به دو نفر فروخته شد

حتما ماجرای کسی را شنیده‌اید که یک آپارتمان پیش‌فروش را با دو قولنامه به دو خریدار فروخت. هر دو خریدار پول دادند و هر کدام یک کاغذ در دست داشتند. مشکل اینجا بود که هیچ دفتر مشترکی نبود که همه ببینند این واحد قبلا فروخته شده است.

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

بانک‌ها چطور جلوی دوبار خرج کردن را می‌گیرند؟

کارت بانکی شما هم پول دیجیتال است، ولی هیچ‌وقت یک موجودی را دو بار خرج نمی‌کنید. دلیلش ساده است: یک داور مرکزی وجود دارد. بانک یک دفتر کل دارد و هر خرید را لحظه‌ای از موجودی شما کم می‌کند. اگر موجودی کافی نباشد، تراکنش رد می‌شود.

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

بیت کوین چطور دوبار خرج کردن را حل کرد؟

جواب کوتاه این است: با یک دفتر کل عمومی که همه آن را دارند، و با یک قاعده که می‌گوید «کدام نسخه‌ی دفتر معتبر است». این دفتر همان بلاک چین است. اگر با خود بلاک چین آشنا نیستید، اول مقاله‌ی بلاک چین چیست را بخوانید؛ آنجا بلاک، هش و نانس را با مثال توضیح داده‌ام.

سازوکار بیت‌کوین در چهار قدم کار می‌کند:

  1. همه چیز عمومی است. هر تراکنش برای همه‌ی نودهای شبکه فرستاده می‌شود. نود یعنی کامپیوتری که یک نسخه‌ی کامل از دفتر را نگه می‌دارد و قانون‌ها را چک می‌کند.
  2. هر سکه فقط یک بار خرج می‌شود. نودها می‌دانند هر سکه کجاست. اگر تراکنشی بخواهد سکه‌ای را خرج کند که قبلا خرج شده، آن را رد می‌کنند.
  3. ماینرها تراکنش‌ها را در بلاک می‌گذارند. ماینر کسی است که با دستگاه‌های قوی، برای ساختن بلاک بعدی مسابقه می‌دهد. برنده باید یک معمای ریاضی سخت را حل کند. به این مسابقه «اثبات کار» می‌گویند.
  4. زنجیره‌ی بلندتر برنده است. اگر دو نسخه‌ی متفاوت از دفتر پیدا شود، نودها زنجیره‌ای را قبول می‌کنند که کار بیشتری پشتش است؛ یعنی معمولا بلندترین زنجیره.

نکته‌ی ظریف همین قدم آخر است. هر بلاک تازه روی بلاک قبلی ساخته می‌شود و به آن قفل است. پس برای عوض کردن یک تراکنش قدیمی، باید آن بلاک و همه‌ی بلاک‌های بعدش را از نو بسازید، و سریع‌تر از بقیه‌ی دنیا. جزییات این مسابقه را در مقاله‌ی اثبات کار یا Proof of Work و شیوه‌ی کار تابع هش در بلاک‌چین نوشته‌ام.

پس بیت‌کوین دوبار خرج کردن را ناممکن نکرد؛ آن را آن‌قدر گران کرد که برای یک متقلب صرف نکند.

تاییدیه چیست و چرا مهم است؟

وقتی کسی برای شما بیت‌کوین می‌فرستد، تراکنش اول در صف انتظار می‌نشیند. در این حالت کیف پول شما آن را «تاییدنشده» نشان می‌دهد. وقتی تراکنش داخل یک بلاک رفت، یک تاییدیه گرفته است. هر بلاکی که بعد از آن ساخته شود، یک تاییدیه‌ی دیگر اضافه می‌کند.

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

چند تاییدیه برای امنیت تراکنش لازم است؟

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

احتمال موفقیت متقلب بر اساس سهم او از توان شبکه و تعداد تاییدیه (از حساب ساتوشی در مقاله‌ی اول بیت‌کوین، گرد شده)
سهم متقلب از توان شبکهتعداد تاییدیهاحتمال موفقیت متقلببه زبان ساده
۱۰٪۰ (تاییدنشده)۱۰۰٪اصلا امن نیست
۱۰٪۱حدود ۲۰٪از هر ۵ بار، یک بار
۱۰٪۳حدود ۱٫۳٪کم، ولی برای مبلغ بزرگ زیاد است
۱۰٪۶حدود ۰٫۰۲٪تقریبا ۲ بار در ۱۰ هزار بار
۳۰٪۵حدود ۱۸٪متقلب قوی، خطر جدی
بیش از ۵۰٪هر تعداددر بلندمدت ۱۰۰٪تاییدیه دیگر نجات نمی‌دهد

این جدول دو درس دارد. اول اینکه هر تاییدیه‌ی تازه، خطر را چند برابر کم می‌کند. برای همین «شش تاییدیه» برای مبلغ بزرگ در بیت‌کوین جا افتاده است. دوم اینکه اگر کسی بیش از نصف توان شبکه را داشته باشد، تعداد تاییدیه دیگر کمکی نمی‌کند. این همان حمله ۵۱ درصد است که پایین‌تر به آن می‌رسیم.

در عمل، خیلی‌ها برای مبلغ کوچک به ۱ تاییدیه، برای مبلغ متوسط به ۳ و برای مبلغ بزرگ به ۶ تاییدیه راضی‌اند. صرافی‌ها برای هر ارز عدد خودشان را دارند. برای ارزهای کوچک‌تر که توان شبکه‌شان کم است، این عدد گاهی ده‌ها یا صدها تاییدیه است. پس دلیل اینکه واریز شما به یک صرافی گاهی یک ساعت طول می‌کشد، همین تاییدیه‌هاست، نه کندی کار.

انواع حمله دوبار خرج کردن

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

حمله ریس (Race Attack)

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

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

حمله فینی (Finney Attack)

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

حمله ۵۱ درصد

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

نمودار حمله ۵۱ درصد: زنجیره‌ی مخفی متقلب بلندتر از زنجیره‌ی عمومی می‌شود و تراکنش فروشنده باطل می‌شود
در حمله ۵۱ درصد، زنجیره‌ی بلندترِ مخفی جای زنجیره‌ی عمومی را می‌گیرد

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

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

مقایسه‌ی روش‌های دوبار خرج کردن

جدول زیر سه روش را کنار هم می‌گذارد تا ببینید هر کدام چه چیزی لازم دارد و چطور جلویش را می‌گیرند:

مقایسه‌ی حمله ریس، حمله فینی و حمله ۵۱ درصد
ویژگیحمله ریسحمله فینیحمله ۵۱ درصد
متقلب چه لازم دارد؟فقط دو تراکنش هم‌زمانباید ماینر باشدبیش از نصف توان شبکه
هزینهتقریبا هیچمتوسطبسیار زیاد (برای شبکه‌ی بزرگ)
قربانی چه کسی است؟کسی که تراکنش تاییدنشده قبول می‌کندکسی که تراکنش تاییدنشده قبول می‌کندصرافی‌ها و فروشنده‌های مبلغ بزرگ
راه دفاعصبر برای دست‌کم ۱ تاییدیهصبر برای دست‌کم ۱ تاییدیهتاییدیه‌ی بیشتر، و دوری از شبکه‌های کم‌توان

پس دو روش اول با کمی صبر خنثی می‌شوند. روش سوم مشکل شبکه است، نه شما؛ کار شما این است که بدانید با چه شبکه‌ای سروکار دارید.

نمونه‌های واقعی حمله دوبار خرج کردن

این خطر روی کاغذ نمانده است. چند شبکه‌ی کوچک‌تر واقعا قربانی آن شده‌اند:

  • بیت‌کوین گلد، اردیبهشت ۱۳۹۷ (مه ۲۰۱۸): مهاجم با گرفتن بیشتر توان شبکه، حدود ۱۸ میلیون دلار سکه را از چند صرافی دوبار خرج کرد.
  • اتریوم کلاسیک، دی ۱۳۹۷ (ژانویه ۲۰۱۹): چند دوبار خرج کردن با جمع حدود ۱٫۱ میلیون دلار گزارش شد.
  • اتریوم کلاسیک، مرداد ۱۳۹۹ (اوت ۲۰۲۰): در چند روز سه حمله پشت سر هم رخ داد. در اولی بیش از ۸۰۰ هزار واحد اتریوم کلاسیک، به ارزش حدود ۵٫۶ میلیون دلار، دوبار خرج شد. گزارش‌ها می‌گویند مهاجم برای اجاره‌ی توان لازم کمتر از ۲۰۰ هزار دلار خرج کرده بود.

عدد آخر را با دقت ببینید. حدود ۲۰۰ هزار دلار خرج، و بیش از ۵ میلیون دلار سود. این دقیقا همان حساب مثال بالاست. شبکه‌ای که توانش کم است، دیوارش کوتاه است.

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

اثبات سهام و شبکه‌های دیگر چطور از دوبار خرج کردن جلوگیری می‌کنند؟

همه‌ی بلاک‌چین‌ها از اثبات کار استفاده نمی‌کنند. در «اثبات سهام» به جای ماینر، تاییدکننده‌ها هستند و به جای توان دستگاه، ارزی را که در شبکه گرو گذاشته‌اند پشتوانه قرار می‌دهند. اگر تاییدکننده‌ای تقلب کند، مثلا دو نسخه‌ی متفاوت از یک بلاک را امضا کند، بخشی از سرمایه‌ی گروگذاشته‌اش جریمه و سوزانده می‌شود.

تفاوت مهم دیگر «قطعیت» است. در اتریوم، بعد از حدود ۱۳ دقیقه یک بلاک «قطعی» حساب می‌شود و برگرداندنش یعنی سوختن بخش بزرگی از کل ارزهای گروگذاشته‌ی شبکه. سازوکار این روش را در مقاله‌ی اثبات سهام چیست و درباره‌ی خود اتریوم در مقاله‌ی اتر و اتریوم چیست خوانده‌اید.

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

اشتباه‌های رایج وقتی ارز دیجیتال دریافت می‌کنید

خیلی‌ها از من می‌پرسند: «من که ماینر نیستم، این حرف‌ها به من چه ربطی دارد؟» ربطش این است که هر وقت کسی برای شما ارز دیجیتال می‌فرستد و شما در برابرش جنس، پول یا خدمت می‌دهید، شما همان «فروشنده» هستید. سه اشتباه بیشتر از همه پول آدم‌ها را می‌برد:

  1. قبول کردن عکس تراکنش. عکس صفحه‌ی گوشی را می‌شود ساخت. تا ارز در کیف پول خودتان با تاییدیه‌ی کافی ننشسته، چیزی تحویل ندهید.
  2. عجله برای تحویل جنس با تراکنش تاییدنشده. همان چیزی که حمله ریس و حمله فینی رویش حساب می‌کنند. چند دقیقه صبر، خیلی ارزان‌تر از ضرر است.
  3. یکسان دانستن همه‌ی شبکه‌ها. شش تاییدیه در بیت‌کوین با شش تاییدیه در یک ارز کوچک فرق دارد. هر چه توان شبکه کمتر، تاییدیه‌ی بیشتری لازم است.

چک‌لیست پیش از تحویل دادن جنس یا پول

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

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

آیا دوبار خرج کردن در بیت کوین ممکن است؟

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

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

سوالات متداول

دوبار خرج کردن به زبان ساده یعنی چه؟

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

بیت کوین چطور مشکل دوبار خرج کردن را حل کرد؟

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

چند تاییدیه برای امنیت تراکنش بیت کوین لازم است؟

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

حمله ۵۱ درصد چیست؟

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

آیا تا حالا حمله دوبار خرج کردن واقعا اتفاق افتاده است؟

بله، در شبکه‌های کوچک‌تر. بیت‌کوین گلد در سال ۲۰۱۸ حدود ۱۸ میلیون دلار و اتریوم کلاسیک در سال ۲۰۲۰ در یک حمله حدود ۵٫۶ میلیون دلار دوبار خرج کردن را تجربه کردند. بیت‌کوین تا امروز چنین حمله‌ی موفقی نداشته است.

حمله ریس و حمله فینی چه فرقی دارند؟

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

آیا تراکنش تاییدنشده را می‌شود قبول کرد؟

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

اثبات سهام هم جلوی دوبار خرج کردن را می‌گیرد؟

بله، ولی به روش دیگر. تاییدکننده‌ها ارز خود را گرو می‌گذارند و اگر تقلب کنند بخشی از آن سوزانده می‌شود. در اتریوم هم بعد از حدود ۱۳ دقیقه بلاک قطعی می‌شود و برگرداندنش هزینه‌ی بسیار سنگینی دارد.

جمع‌بندی

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

پس سهم شما ساده است: تراکنش تاییدنشده را پول حساب نکنید، برای مبلغ بزرگ صبر کنید تا تاییدیه‌ها کامل شوند، و بدانید با چه شبکه‌ای کار می‌کنید. تصمیم نهایی درباره‌ی اینکه با کدام ارز و کدام شبکه کار کنید با خودتان است؛ فقط این بار می‌دانید چه سوالی باید بپرسید.

ادامهٔ خواندن

بعدش چه بخوانم؟

دیدگاه‌ها

    اپلیکیشن حامد ثقفی · رایگان

    قیمت رمزارزها، کنار طلا و دلار

    قیمت لحظه‌ای بیت‌کوین، تتر و ارزهای دیجیتالِ پرمعامله به تومان و دلار. برای هر کدام هشدار بگذارید تا لازم نباشد مدام سر بزنید.

    اپ رایگان را نصب کنید:

    اپ فقط قیمت نشان می‌دهد؛ خرید و فروش در آن انجام نمی‌شود.