آیا بلاک‌چین هک می‌شود؟!

آیا بلاک‌چین هک می‌شود؟! الگوریتم غیرقابل نفوذ در دنیای IT وجود دارد؟! گروه IT در این مقاله قصد داریم سه روش حمله به بلاک‌چین را شرح دهیم. با ما همراه باشید تا چگونگی رخ دادن این حمله‌ها و عدم موفقیت برخی از آنها را شرح دهیم. ابتدا توضیح مختصری از بلاک‌چین را مرور می‌کنیم و […]

آیا بلاک‌چین هک می‌شود؟!

الگوریتم غیرقابل نفوذ در دنیای IT وجود دارد؟!

گروه IT

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

بلاک‌چین چیست؟

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

حمله اول: تغییر بلاک‌چین

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

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

حمله دوم: حمله دوبار خرج کردن (double spend)

در این حمله هکر باید از زنجیره جلوتر باشد و بلوک در حال تولید را تغییر دهد. توجه داشته باشید که هکر با تغییر تراکنش نمی‌تواند پول را به حساب خود واریز کند زیرا او به تک‌تک کلید‌های خصوصی برای این کار نیاز دارد. در این صورت او حمله دوبار خرج کردن را ترتیب می‌دهد.

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

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

نخست اینکه در الگوریتم گواه اثبات کار PoW به تمام ماینر‌ها جایزه داده می‌شوند. هنگامی که هکر بلوکی را استخراج کند، کوین‌های جدید ایجاد کرده و به حساب خود می‌فرستد. تا هنگامی که این بلوک بخشی از زنجیره (chain) نشود، کوین‌های او ارزشی نخواهند داشت. بنابراین با ارائه حمله دوبار خرج کردن او جایزه‌های ماینینگ (استخراج) خود را به خطر می‌اندازد. در حال‌حاضر، اگر او بیتکوین را ماین (استخراج) کرده باشد، با هر بلوک مبلغی حدود ۱۱۷ هزار دلار را از دست خواهد داد.

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

حمله سوم: حمله ۵۱%

سومین روش نیاز به تجهیزات ماینینگ دارد تا بتوانید بیش از ۵۰% توان استخراج (ماینینگ) یک کوین را کنترل کنید.

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

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

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

گواهی اثبات کار PoW و سهام PoS

این مقاله راجع به ارزهای دیجیتالی است که از گواهی اثبات کار PoW استفاده می‌کنند و ماینر‌ها با حل مسایل رمزنگاری، قادر به تولید بلوک در بلاک‌چین هستند. در گواه اثبات سهام PoS، افراد به میزان پول یا سهامی که از یک توکن یا کوین دارند، قادر به تأیید تراکنش و تولید بلوک هستند. این پول باید در اکسچنج‌‌ها نگهداری شود. برای مثال اگر شخصی ۱۰درصد از کل توکن‌های یک ارز دیجیتال را دارا باشد، در حالت تئوری می‌تواند از هر ۱۰ بلوک، یک بلوک را تولید کند. با نظارتی که روی رفتار هر ماینر به این روش می‌شود، اگر تشخیص داده شود که او تخلفی کرده است، پولش در اکسچنج بلوکه می‌شود و حق برداشت آن را نخواهد داشت. بنابراین در روش PoS به این دلیل که ماینر‌ها با دارایی خود حق استخراج دارند و به عبارتی خودشان ذی‌نفع شبکه هستند، تا جایی که ممکن است قوانین را رعایت می‌کنند و ترجیح می‌دهند شبکه آسیبی نبیند.

هکر‌ها ۴۱ میلیون دلار بیت‌کوین را دزدیدند

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

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

ژائو چانگ‌پنگ، مدیرعامل شرکت می‌گوید: دارایی مشتریان بینانس تحت تأثیر قرار نخواهد گرفت چرا که شرکت از دارایی‌های ذخیره خود برای جبران ضرر استفاده خواهد کرد.

خبر انتشار این هک باعث شد تا در معاملات اولیه بیت‌کوین در آسیا ارزش این ارز ۴٫۲ درصد کاهش یابد.

سال گذشته مجموع ۹۵۰ میلیون دلار ارز مجازی از صرافی‌‌ها و کارگزاری‌ها به سرقت رفت که نسبت به سال ۲۰۱۷، ۲۶۰ درصد افزایش داشته است.

کارگزاری‌های ارز مجازی در ژاپن و کره‌جنوبی ۵۸ درصد حملات هکر‌ها را شاهد بوده‌اند.

جمعبندی

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

منابع:

Cryptovest

Mihanblockchain.com

Farsnews.com