بلاک چین به یکی از جالبترین تکنولوژیها در چند سال اخیر تبدیل شده است. بهطوری که افراد بسیار زیادی به سمت آن روی آوردهاند. در حال حاضر در دنیای کریپتو و بستر بلاک چین سه دسته افراد وجود دارند. افرادی که پروژهها را ایجاد میکنند که همان توسعه دهندگان پروژهها هستند. افراد و کاربرانی که روی آنها سرمایهگذاری میکنند و در نهایت افرادی که این پروژهها را هک میکنند. گروه اول و سوم باهوشترین افراد هستند و حتی میتوان گفت در بیشتر موارد گروه سوم باهوشتر هستند. به همین دلیل قصد داریم در این مطلب در مورد یکی از حملات هکرها به نام حمله یا هک فینی صحبت کنیم.
حمله فینی (Finney Attack) چیست؟
هک فینی اولین حمله یا هک شناخته شده برای بیت کوین است که توسط هال فینی (اولین شخصی که تراکنش بیت کوین را دریافت کرد) کشف شد. هک یا حمله فینی یک نوع بسیار خاص از حملات دوگانه است که بر بیت کوین و هر ارز دیجیتال مشتق شده از آن تأثیر میگذارد.
چه اتفاقی میافتد وقتی شخصی یک تراکنش تایید نشده در شبکه را بپذیرد؟ فینی توضیح داد که یک ماینر میتواند بلوکی که در آن تراکنش از آدرس A به آدرس B که هر دو متعلق به او هستند، ایجاد کند. سپس پرداخت دیگری با همان ارزها انجام میدهید و از آدرس A به آدرس C (که متعلق به کاربر دیگری است) ارسال میکنید. اگر کاربر مذکور تراکنش را بدون تایید شبکه بپذیرد، مهاجم میتواند بلوکی را که تراکنش اولیه او در آن گنجانده شده است، آزاد کند. این امر تراکنش انجام شده با طرف دیگر معامله را باطل میکند و به مهاجم اجازه هک میدهد به طوری که با همان میزان هزینه معامله دیگری انجام دهد.
حمله یا هک فینی چگونه اجرا میشود؟
انجام این نوع حملات دوگانه کار آسانی نیست زیرا نشان میدهد که مهاجم یک استخراج کننده است که میتواند بلوکی را استخراج کند که تراکنش او در آن اعتبارسنجی میشود. همچنین برای پذیرش تراکنش با تایید صفر از شبکه، به یک معاملهگر نیاز است. وجود این دو شرط بسیار دشوار است. با این حال میتوان گفت زمانی که کاربری حدود ۵۱ درصد از قدرت هش شبکه را در دست داشته باشد، انجام این کار ممکن خواهد بود. هک فینی در سه مرحله صورت میپذیرد:
مهاجم تراکنشی را انجام میدهد که در آن کوینهای خود را به آدرسی تحت کنترل خود میفرستد. پس از انجام این عمل استخراج یک بلوک معتبر که تراکنش مذکور در آن گنجانده شده است؛ آغاز میشود.
هنگامی که موفق به استخراج بلوک شامل تراکنش میشود، آن را به شبکه منتقل نمیکند. بلکه با همان مقدار کوینی که در اولین تراکنش استفاده کرده خرید میکند. بنابراین به دنبال پرداخت یک کالا یا خدمت با همان مقدار پول است.
پس از انجام تراکنش و پذیرش آن توسط تاجر بدون تایید، مهاجم بلوک استخراج شده را به شبکه منتقل میکند. این عمل باعث میشود که شبکه، بلاک را معتبر دانسته و در عین حال تراکنش انجام شده به تاجر را بیاعتبار میکند. زمانی که مهاجم یا هکر موفق به این کار شود یعنی او یک هک یا حمله فینی را اجرا کرده است. البته با توجه به قدرت هش ماینر، اجرای این حمله کاملاً بعید است. هرچه قدرت هش ماینر کمتر باشد، شانس اجرای موفقیتآمیز آن کاهش مییابد. همچنین اگر فاصله زمانی بین تکمیل بلاک و عدم عرضه آن به شبکه طولانی شود بلاک دیگری در شبکه تکمیل خواهد شد که این امر باعث شکست مهاجم یا هکر میشود.
بنابراین انجام این نوع حملات دوگانه مستلزم زمانبندی دقیق و صبر فراوان از سوی مهاجم است. زیرا باید زمان بسیاری را منتظر بماند تا یک بلوک به خصوص با توجه به تعداد ماینرها و سختی شبکه پیدا شود. علاوه بر این مهاجم باید بتواند در چند دقیقه مقداری رمزارز خریده یا هزینه یک سرویس را بپردازد. پس اگر استخراج کننده دیگری بلاک دیگری را پیدا و ارسال کند، تراکنش در بلاک دیگری تایید شده و حمله او با شکست مواجه میشود.
چه کسانی در معرض هک فینی هستند؟
اگر شخص یا تاجری پرداختهای تراکنش تایید نشدهای را بپذیرد ممکن است در معرض این حمله قرار بگیرید. به عنوان مثال فروشگاهی با خدمات آنلاین را در نظر بگیرید که در آن دانلود بازیهای ویدیویی که ارزهای دیجیتال را به عنوان روش پرداخت میپذیرند امکانپذیر باشد و امکان دانلود فوری را نیز داشته باشد که ممکن است در معرض این نوع حملات قرار بگیرد. در سوپرمارکتها نیز احتمال وقوع هک فینی وجود دارد. درست است که زمان خرید در آنها دقیق نیست اما توجه داشته باشید که افراد زیادی در صف پرداخت وجود دارند که مانع از استفاده مهاجم از زمان به نفع خود میشوند.
چگونه از خود در برابر هک فینی محافظت کنیم؟
اولین توصیه این است که منتظر حداقل ۶ تأیید در شبکه بیت کوین باشید تا بتوانید تراکنش را ایمن و غیرقابل برگشت در نظر بگیرید. حتی تعداد تاییدات را با توجه به مبلغی که قصد معامله آن را دارید، ارزشگذاری کنید. یعنی اگر مبلغ مورد معامله شما بسیار زیاد است بهتر است منتظر تاییدیههای بیشتری باشید تا معامله شما ایمنتر باشد. درصورتیکه بلوکهای جدیدی در تراکنشهای بیت کوین ایجاد گردد، تراکنشها در آن غیرقابل برگشت خواهند بود. با این حال برای مبالغ تراکنش بالا و قابلتوجه توصیه میشود برای اطمینان از غیرممکن بودن معکوس کردن تراکنش، منتظر ۶ تأیید باشید.
اگر یک مهاجم با استفاده از حمله فینی قصد به دست آوردن دارایی را داشته باشد، تطبیق نیاز به این دارایی با جستجوی یک بلوک کار دشواری است. حتی اگر از پس این کار نیز برآید، هنوز این امکان وجود خواهد داشت که تاجر برای اخذ تاییدیهها صبر کند!
جمعبندی
هک فینی، معاملهگر یا تاجری را هدف قرار میدهد که قبل از عرضه کالا منتظر تایید تراکنش نیست. یکی از پذیرندگان معروف بیت کوین به نام هال فینی در سال ۲۰۱۱ برای اولین بار در بیت کوین تاک پیشنهاد حمله فینی را داد که اتفاقا نام این حمله از روی نام او برگرفته شده است. برای هک فینی، مهاجمان باید نودهای خود را اجرا کنند. یعنی تراکنشهای بین کیف پولهای خودشان را در بلوکهای جدیدی که خودشان تولید میکنند، انجام دهند. این کوینها دوبار خرج میشوند و فروشنده فریب خورده، دارایی دیجیتالی سفارش داده شده را ارسال میکند. سپس بلوکهای جدید وارد شبکه میشوند. تراکنشهای مربوط به این بلوکها اولویت بیشتری دارند و بنابراین فقط آنها در زنجیره ثبت میشوند. به عبارتی این کار تراکنش انجام شده با معاملهگر یا تاجر دیگر را باطل کرده و مهاجم میتواند آن میزان پول را دوباره خرج کند.
سوالات متداول
۱– چه خدمات و کالاهایی مناسب هک فینی هستند؟
اصولا فروشگاههای آنلاینی مانند محصولات نرم افزاری که بلافاصله پس از پرداخت پول اجازه دانلود محصول را میدهند و برای گرفتن تاییدیه تراکنش منتظر نمیمانند میتوانند در معرض حملات فینی قرار بگیرند.
۲– آیا میتوان در برابر هک فینی در شبکه بیت کوین محافظت کرد؟
بله. بهتر است منتظر حداقل ۶ تایید در شبکه بیت کوین باشید تا یک تراکنش را ایمن و غیرقابل برگشت در نظر بگیرید. حتی تعداد تاییدات را با توجه به مبلغی که قصد معامله آن را دارید، ارزشگذاری کنید.
دروود .میشه خواهش کنمبه من درساخت اکانت شخصی بانام دعوت کننده بانام خودم که بتونم باهاش دوستانم رودعوت کن یاد بدین ؟؟ممنون میشم راهنمایی کنید .
سلام مهرداد عزیز
لطفا با پشتیبانی انلاین در تماس باشید.