احتمالا شما هم مانند سایر کاربران ارزهای دیجیتال وقتی لغت بلاکچین را میشنوید آن را مساوی با امنیت در نظر میگیرید ولی در حقیقت امنیت مفهوم پیچیدهای است که ابعاد وسیعی را در بر میگیرد، با دیجیکالا مگ همراه شوید تا به زبان ساده ابعاد گوناگون امنیت در بلاکچینها را با هم بررسی کنیم، و به سوالات اساسی که ممکن است برای علاقهمندان به این تکنولوژی به وجود بیاید پاسخ دهیم.
هدف اصلی استفاده از بلاکچین این است که به افراد (به ویژه به افرادی که از یکدیگر شناختی ندارند و مهمتر از آن اعتمادی نسبت به هم ندارند) اجازه داده شود به روشی ایمن و بدون دستکاری بتوانند دادههای با ارزش خود را با یکدیگر به اشتراک بگذارند.
بلاکچینها به دلیل استفاده از الگوریتمهای بسیار پیچیده ریاضی و قوانین نرمافزاری منحصر به فرد، دادهها را به نحوی ذخیره میکنند که دستکاری آنها برای مهاجمان بسیار دشوار باشد. اما حقیقت این هستش که هر چه چقدر هم که امنیت این بلاکچینها بالا باشد، وقتی پای مهاجمان ماهر در میان باشد گاهی وقتها دیده شده که بلاکچینهایی با بهترین طراحی نیز از حملات این مهاجمان در امان نماندهاند و در مقابل آنها شکست خوردهاند.
برای درک بهتر موضوع، با آنچه که در اصل بلاکچینها را «ایمن» میکند، شروع میکنیم. بهترین مثال بیتکوین است. در بلاکچین بیتکوین، دادههای به اشتراک گذاشته شده تاریخچه هر تراکنش بیتکوینی است که تاکنون ساخته شده است. تمام این تراکنشها در یک دفتر کل توزیع شده «Distributed Ledger» ثبت میشود. دفتر کل توزیع شده در چندین نسخه در شبکهای از رایانهها به نام “گره” ذخیره میشود. هر بار که شخصی تراکنشی را به دفتر کل ارسال میکند، گرهها بررسی میکنند تا مطمئن شوند که تراکنش معتبر است (هر کسی که یک بیتکوین را خرج کرده، بیتکوینی برای خرج کردن داشته است). زیرمجموعهای از آنها نیز برای بستهبندی تراکنشهای معتبر در “بلوکها” و اضافه کردن آنها به زنجیره ای از تراکنشهای قبلی رقابت میکنند. صاحبان این گرهها ماینر نامیده میشوند. استخراجکنندگانی که با موفقیت بلوکهای جدیدی را به بلاکچین اضافه میکنند، بیتکوین را به عنوان پاداش دریافت خواهند کرد.
چیزی که این سیستم را از نظر تئوری غیرقابل دستکاری میکند دو چیز است: اثر انگشت رمزنگاری منحصر به فرد برای هر بلوک، و «پروتکل اجماع»، فرآیندی که توسط آن گرهها در شبکه در مورد تاریخچه مشترک به توافق میرسند.
اثر انگشت که در بالا از آن نام بردیم، هش نامیده میشود، که برای تولید اولیه آن زمان و انرژی محاسباتی زیادی صرف میشود. بنابراین به عنوان مدرکی عمل میکند که ماینری که بلوک را به بلاکچین اضافه کرده است، کار محاسباتی را برای کسب پاداش که همان بیتکوین است انجام داده است (به همین دلیل، گفته میشود بیت کوین از پروتکل «اثبات کار» استفاده میکند). همچنین میتوان در نظر گرفت که به عنوان مهر و موم هم عمل میکند، زیرا تغییر بلوک مستلزم ایجاد یک هش جدید است. با این حال، تأیید اینکه آیا هش با بلوک خود مطابقت دارد یا نه، آسان است، و هنگامی که گرهها این کار را انجام دادند، نسخههای مربوطه خود را در بلاکچین با اضافه کردن بلوک جدید به روز میکنند. این روش پروتکل اجماع نامیده میشود.
میرسیم به فاکتور امنیتی نهایی، آن هم این است که هشها همچنین به عنوان پیوند در بلاکچینها عمل میکنند، هر بلوک شامل هش منحصر به فرد بلوک قبلی است. بنابراین اگر میخواهید یک ورودی قبلی را در دفتر کل تغییر دهید، باید یک هش جدید نه تنها برای بلوکی که در آن وجود دارد، بلکه برای هر بلوک بعدی نیز محاسبه کنید. و شما باید این کار را سریعتر از گرههای دیگر انجام دهید که در حال اضافه کردن بلوکهای جدید به بلاکچین هستند. بنابراین، در صورت اینکه رایانههای قویتر از مجموع سایر گرهها داشته باشید (و حتی در آن زمان هم، تضمینی برای موفقیت شما نیست)، هر بلوکی که اضافه میکنید با بلوکهای موجود تضاد خواهد داشت، و گرههای دیگر به طور خودکار تغییرات شما را رد میکنند. این همان چیزی است که بلاکچین را غیر قابل دستکاری یا “تغییرناپذیر” میکند.
راههای خلاقانه برای تقلب
تئوریهای بسیاری در مورد آسیبپذیری بلاکچینها وجود دارد که پیادهسازی آنها در عمل بسیار مشکل است. نها نارولا (Neha Narula) مدیرکل Digital Currency Initiative در MIT Media Lab میگویدحتی زمانی که توسعهدهندگان از ابزارهای رمزنگاری آزمایش شده و مطمئن استفاده میکنند، باز هم این امکان وجود دارد که به صورت تصادفی آنها به طوری ناامن به هم ارتباط داد و متصل نمود.
تیمهای امنیتی و هکرهای کلاه سفید راههای خلاقانهای برای تقلب پیدا کردهاند. Emin Gün Sirer و همکارانش در دانشگاه کرنل نشان دادهاند که اگر حتی کمتر از نیمی از ماینرهای دیگر قدرت ماینینگ را داشته باشید، راهی برای براندازی یک بلاکچین وجود دارد. در این مقاله قصد نداریم وارد جزئیات فنی شویم، اما اساساً یک «ماینر خودخواه» یا همان “selfish miner”میتواند با فریب دادن سایر گرهها و اتلاف وقت روی معماهای رمزنگاری شده که از قبل حل شدهاند، مزیتی ناعادلانه نسبت به بقیه به دست آورد.
احتمال دیگر “حمله خورشید گرفتگی” یا همان Eclipse Attack است. گرههای موجود در بلاکچین باید در ارتباط دائمی برای مقایسه دادهها با یکدیگر باشند. مهاجم میتواند کنترل ارتباطات یک گره را در دست بگیرد و آن را فریب دهد تا دادههای نادرستی را که به نظر میرسد از بقیه شبکه میآیند بپذیرد، یا میتواند آن را فریب دهد تا منابع را هدر داده یا تراکنشهای جعلی را تأیید کند.
هکرها میتوانند به «کیف پولهای داغ» (کیف پولهای نرمافزاری و تحت وب) نفوذ کنند. همچنین برنامههای کاربردی متصل به اینترنت برای ذخیره کلیدهای رمزنگاری خصوصی که هر کسی که صاحب ارز دیجیتال است برای خرج کردن به آن نیاز دارد و کیف پولهای متعلق به صرافیهای آنلاین ارزهای دیجیتال به اهداف اصلی تبدیل شدهاند. بسیاری از صرافیها ادعا میکنند که بیشتر پول کاربران خود را در کیف پولهای سختافزاری «سرد» نگهداری میکنند (دستگاههای ذخیرهسازی بدون اتصال به اینترنت). اما سرقت بیش از ۵۰۰ میلیون دلار ارز دیجیتال از صرافی ژاپنی Coincheck به ما نشان داد که همیشه اینطور نیست.
شاید پیچیدهترین نقاط تماس بین بلاکچین و دنیای واقعی «قراردادهای هوشمند» باشند. یک قرارداد هوشمند برنامه نوشته شده بر بستر بلاکچین است که میتواند تراکنشها را خودکار کند. در سال ۲۰۱۶، هکرها با سوء استفاده از یک قرارداد هوشمند که بر روی بلاکچین اتریوم نوشته شده بود، ۳.۶ میلیون اتر به ارزش حدود ۸۰ میلیون دلار در آن زمان را از سازمان غیرمتمرکز خودمختار (DAO)، (به نهادهایی اطلاق میشود که رهبری آنها برعهدهی جامعهی کاربری بوده و فاقد هرگونه قدرت تصمیمگیری مرکزی هستند) سرقت کردند.
از آنجایی که کد DAO بر روی بلاکچین پیادهسازی شده بود، جامعه اتریوم مجبور شد یک ارتقای نرمافزاری بحثبرانگیز به نام «هارد فورک» را برای بازگرداندن پول انجام دهد. محققان هنوز در حال توسعه روشهایی برای اطمینان از عملکرد صحیح قراردادهای هوشمند هستند.
صحبت آخر
یکی از ضمانتهای امنیتی بر روی کاغذ یک سیستم بلاکچین، «تمرکززدایی» است. اگر کپیهایی از بلاکچین در یک شبکه بزرگ و گسترده از گرهها نگهداری شود، هیچ نقطه ضعفی برای حمله وجود ندارد و سخت است برای یک فرد یا تیم که قدرت محاسباتی کافی برای براندازی شبکه ایجاد کند. اما اخیرا سیرر و همکارانش طی تخقیقاتی نشان دادند که بیتکوین و اتریوم آنقدر هم که فکر میکنید غیرمتمرکز نیستند. آنها دریافتند که چهار تیم برتر استخراج بیتکوین بیش از ۵۳ درصد از میانگین ظرفیت استخراج سیستم در هفته را دارند. و با همین معیار، سه ماینر اتریوم ۶۱ درصد استخراج را به خود اختصاص دادند.
برخی میگویند پروتکلهای اجماع جایگزین، و پروتکلهایی که متکی به استخراج نیستند، میتوانند ایمنتر باشند. اما این فرضیه در مقیاس بزرگ آزمایش نشده است و پروتکلهای جدید احتمالاً مشکلات امنیتی خاص خود را دارند.
برخی دیگر بر خلاف سیستم بیتکوین که هر کسی که نرم افزار آن را دانلود کند میتواند به شبکه بپیوندد، پتانسیل را در بلاکچینهایی میبینند که برای پیوستن به آنها نیاز به مجوز دارند. چنین سیستمهایی با اخلاق ضد سلسله مراتبی ارزهای رمزنگاری شده مغایرت دارد، اما این رویکرد برای مؤسسات مالی و سایر مؤسسات که به دنبال بهرهبرداری از مزایای یک پایگاه داده رمزنگاری مشترک هستند مناسب است.
با این حال، سوالاتی زیادی در ذهن مخطبان مطرح میشود، مانند چه کسی صلاحیت اعطای مجوز را دارد؟ چگونه سیستم اطمینان حاصل میکند که ولیدیتورها همانهایی هستند که میگویند؟ یک سیستم مجاز ممکن است باعث شود صاحبان آن احساس امنیت بیشتری کنند، اما در واقع فقط به آنها کنترل بیشتری میدهد، به این معنی که آنها میتوانند تغییراتی را ایجاد کنند، خواه سایر شرکتکنندگان شبکه موافق باشند یا نه (چیزی که معتقدان واقعی آن را ناقض ایده بلاکچین میدانند.)
بنابراین در نهایت، تعریف «امنیت» در زمینه بلاکچین بسیار دشوار است. امن برای چه کسی؟ امن برای چه چیزی؟ جواب این است که این به دیدگاه شما بستگی دارد. / مجله دیجی کالا