حمله فینی (Finney Attack)، اولین حمله شناخته شده به شبکه بیتکوین است که توسط اولین فردی که یک بیتکوین دریافت کرده بود، کشف شد. این نوع حمله یک نوع خاص از حملات دابل-اسپند (double-spend) است که بر بیت کوین و هر ارز رمزنگاری مشتق از آن تأثیر میگذارد. در این مقاله، شما با حمله فینی و عملکرد آن، چگونگی تأثیرگذاری بر فضای رمزارز و روش های جلوگیری از آن آشنا خواهید شد.
معرفی حمله فینی
هال فینی، یک توسعه دهنده نرم افزار آمریکایی، اولین دریافت کننده اولین تراکنش بیت کوین بود. او همچنین اولین کسی بود که در جریان راه اندازی اولیه بیت کوین به طور عمومی صحبت کرد. به عنوان یک توسعهدهنده نرمافزار، او همچنین امکان «طرح خرج مضاعف» روی بیتکوین را کشف کرد. این طرح سپس به نام Finney Hack یا Finney Attack نامگذاری شد.
البته می توان گفت که این روند آنقدرها هم پیچیده نیست. در واقع، هال فینی آن را به زبان سادهتر توضیح میدهد: فرآیند حمله زمانی شروع میشود که ماینر یک بلاک در شبکه ایجاد میکند و تراکنش را از آدرس 1 تا 2 انجام میدهد. هنگامی که تراکنش اولیه تکمیل شد و اگر از آدرس به تراکنش دیگری برویم؛ 1 تا 3، ممکن است اتفاق غیرعادی رخ دهد. در این شرایط اگر کاربر یک تراکنش را بدون تایید شبکه بپذیرد و آن را تایید کند، هکر می تواند به بلاک ایجاد شده دسترسی پیدا کند و تراکنش اولیه کاربر را آزاد کند. این فرآیند انتشار، تراکنش کاربر را باطل می کند و در نهایت، هکر می تواند به دارایی کاربر دسترسی داشته باشد و با آن معامله کند.
حمله فینی چگونه کار می کند؟
حمله سایبری ممکن است به راحتی مجرمان سایبری را به خود جذب کند، زیرا به نظر می رسد راهی آسان برای ثروتمند شدن بدون تلاش زیاد و ناشناس ماندن باشد، این کار آسانی نیست که هر کسی بتواند آن را انجام دهد.
اجرای آن دشوار است زیرا مستلزم آن است که مهاجم یک ماینر باشد که بتواند بلاکی را استخراج کند که تراکنش او در آن اعتبارسنجی می شود. همچنین، برای پذیرش تراکنش با تایید صفر از شبکه به یک معامله گر نیاز دارید. داشتن این دو شرط بسیار سخت است. با این حال، در تئوری، حتی زمانی که شما کمتر از 51 درصد از قدرت هش شبکه را دارید، انجام آن ممکن است. در اینجا نحوه اجرای این حمله آمده است:
مرحله 1- مهاجم تراکنشی را انجام می دهد که در آن کوین های خود را به آدرسی تحت کنترل خود ارسال می کند. پس از انجام این عمل، استخراج یک بلاک معتبر که تراکنش مذکور در آن گنجانده شده است، آغاز می شود.
مرحله 2- هنگامی که موفق می شود بلاک را استخراج کند و تراکنش را شامل شود، آن را به شبکه منتقل نمی کند. در عوض، با همان مقدار کوینی که در اولین تراکنش استفاده کردید، خرید کنید. بنابراین، به دنبال پرداخت برخی کالاها یا خدمات با همان مقدار پول است.
مرحله 3- پس از انجام تراکنش به معامله گر و پذیرفتن آن توسط معامله گر بدون تایید، مهاجم بلاک استخراج شده را به شبکه منتقل می کند. این عمل باعث می شود که شبکه بلاک را معتبر بپذیرد و در عین حال تراکنش انجام شده به معامله گر را بی اعتبار می کند.
زمانی که مهاجم مراحل را انجام داد، هک یا حمله فینی را انجام داده است. با این حال، موفقیت این حمله همچنان به قدرت هش ماینر بستگی دارد. این به این معنی است که هرچه قدرت هش ماینر کمتر باشد، شانس اجرای موفقیت آمیز آن کمتر است. از سوی دیگر، اگر بلاک دیگری در شبکه پیدا شود، حمله شکست خواهد خورد، در زمانی که مهاجم در حال یافتن یک بلاک است تا زمانی که تراکنش برای معامله گر ایجاد شود و معامله گر آن را بپذیرد.
انجام این نوع حملات دوگانه نیاز به زمان بندی دقیق و صبر زیادی دارد. از آنجایی که باید منتظر بمانید تا یک بلاک پیدا شود که ممکن است زمان زیادی طول بکشد، به خصوص با توجه به تعداد ماینرها و سختی شبکه. علاوه بر این، مهاجم باید بتواند در چند دقیقه برخی از کالاها را بخرد یا هزینه یک سرویس را از یک معامله گر بپردازد. اگر ماینر دیگری بلاک دیگری را پیدا کرده و ارسال کند، تراکنش به معامله گر شامل می شود و حمله او با شکست مواجه می شود.
چگونه از حمله فینی جلوگیری کنیم؟
به شدت توصیه می شود که حداقل برای شش (6) تایید در شبکه بیت کوین منتظر بمانید تا یک تراکنش را ایمن و غیرقابل برگشت در نظر بگیرید. به عنوان مثال، اگر قرار است کمتر از 100 دلار را بپذیرید، با تأیید، ممکن است کافی باشد زیرا هزینه حمله مطمئناً بیشتر از مبلغ خواهد بود. این هرگز به نفع نقشه مهاجم نخواهد بود. تراکنشهای بیتکوین برگشتناپذیر هستند زیرا بلاکهای جدیدی در هر تراکنش ایجاد میشوند و هر بلاک جدید به عنوان تأییدی برای تراکنش شامل میشود. با این حال، برای مبالغ قابل توجه، توصیه میشود که منتظر 6 تأیید باشید تا مطمئن شوید که تراکنش عملاً غیرممکن است. آنچه برای کاربران یک خطر باقی میماند، پذیرش تراکنشهای تایید نشده از سوی شخص دیگری است.
اگر مهاجمی از هک Finney برای به دست آوردن دارایی های نقدی استفاده کند، هنگام جستجوی بلاک، برآوردن نیاز به دارایی ها دشوار خواهد بود. با این حال، اگر از آن به عنوان راهی برای به دست آوردن لیکوئید استفاده کنید، مانند مبادله بیت کوین با ارز دیگر، همیشه فرصتی وجود دارد که خودتان آن را متوجه شوید اما این احتمال وجود دارد که معامله گر تعدادی تاییدیه برای انجام این کار بخواهد. امروزه، اجرای این طرح واقعا غیر عملی است زیرا نیازمند زمان، صبر، تلاش و جستجوی بلاک مناسب است.
جمع بندی
در حالی که حمله فینی یک حمله سایبری کمتر شناخته شده است اما اجرای آن نیز دشوارتر است. با گذشت زمان، فناوری بلاک چین به پیشرفت خود ادامه می دهد و نگرانی های مختلف از گذشته تا آینده را برطرف می کند. نمی توان نگران این نوع حمله نبود زیرا دارایی های رمزنگاری ما را به خطر می اندازد؛ اما تا زمانی که تراکنش های مناسب و ایمن را در بلاک چین انجام دهیم، خیالمان می تواند راحت باشد که ارزهای دیجیتال سرمایه گذاری ارزشمندی هستند.
نظر بدهید