امنیت بلاک چین از کجا تأمین میشود؟Reviewed by بهاره رضاجو on Jun 9Rating:
هدف اصلی استفاده از فناوری بلاک چین این است که افراد بتوانند دادههای ارزشمندشان را بهروشی ایمن و غیرقابلدستکاری با یکدیگر بهاشتراک بگذارند، بهویژه افرادی که به یکدیگر اعتماد ندارند. بههمیندلیل بلاک چینها دادهها را با استفاده از قوانین ریاضی پیچیده و نرمافزارهای نوآورانه ذخیره میکنند؛ زیرا با این روش، مهاجمان و هکرها کار بسیار دشواری پیشرو خواهند داشت. اما افرادی که متقلبان ماهری هستند میتوانند حتی امنیتِ سامانههای بلاک چینی که بهترین طراحی را دارند نیز از بین ببرند.
برای درک بهترِ موضوع بیایید ابتدا بررسی کنیم که اصولا چهچیزی امنیت بلاک چین را تأمین میکند. برای اینکار بهترین مثال بیت کوین است. در بلاک چین بیت کوین، دادههایی که بهاشتراک گذاشته میشوند همان تاریخچهی تراکنشهای بیت کوین هستند که از ابتدا تا کنون ساخته شده است و با هم دفتر کل را تشکیل میدهند. این دفتر کل در چند نسخه روی یک شبکه از کامپیوترها که «گرهها» نامیده میشوند ذخیره میشود. هر بار که کسی یک تراکنش را به دفتر کل وارد میکند، گرهها آن را بررسی میکنند تا ببینند که آیا این تراکنش معتبر هست یا خیر. یک زیرمجموعه از این گرهها، تراکنشهای معتبر را با یکدیگر در یک بلاک قرار میدهند و به زنجیرهی بلاک چینهای قبلی اضافه میکنند. صاحبان این گرهها ماینر نامیده میشوند. ماینرهایی که با موفقیت بلاکهای جدید را به زنجیره اضافه میکنند مقداری بیت کوین به عنوان پاداش دریافت میکنند.
دو چیز سبب میشوند این سامانه به لحاظ نظری غیرقابلدستکاری باشد: یکی اثرانگشت رمزنگاری شدهی منحصربهفرد برای هر بلاک و دیگری پروتکل اجماع که طی آن گرهها در شبکه روی یک تاریخچهی به اشتراک گذاشتهشده توافق میکنند.
این اثرانگشت هش نامیده میشود. تولید هش، به زمان محاسباتی و انرژی زیادی نیاز دارد. هش ثابت میکند ماینری که بلاک جدید را به بلاک چین اضافه کرده است یک کار محاسباتی انجام داده است و باید بهعنوان پاداش بیت کوین دریافت کند (به همین دلیل گفته میشود بیت کوین از پروتکل اثبات کار استفاده میکند). هش نوعی تضمین نیز هست، زیرا برای تغییر یک بلاک باید یک هش جدید تولید شود. بررسی اینکه یک هش با بلاکِ خود همخوانی دارد یا خیر بسیار آسان است. پس از آنکه گرهها این بررسی را انجام دادند، نسخههای بلاک چین مرتبط با بلاک جدید را بهروزرسانی میکنند. به این فرایند پروتکل اجماع گفته میشود.
در فرایند امنیتی فوق یک ویژگی دیگر نیز گنجانده شده است و آن این است که هشها در بلاک چین ارتباطشان را با یکدیگر حفظ میکنند. بهاین صورت که هر بلاک شامل هش یکتای بلاکِ قبل از خودش نیز هست. بنابراین اگر میخواهید یک ورودی را در دفتر کل به شکل عطف به ماسبق تغییر دهید نه تنها برای بلاک مزبور باید هش جدید درست کنید، بلکه باید برای تمام بلاکهای متعاقب آن نیز هش جدید محاسبه کنید. بهعلاوه، باید اینکار را سریعتر از تمام گرههایی که میتوانند یک بلاک جدید به زنجیره اضافه کنند انجام دهید. بنابراین فقط در یک صورت این کار شدنی است که کامپیوترهای شما از تمام گرهها قدرتمندتر باشند (هرچند باز هم تضمینی برای موفقیت وجود ندارد). دلیلش این است که هر بلاکی که اضافه کنید با بلاکهای موجود تضاد خواهد داشت و بنابراین گرههای دیگر بهطور خودکار تغییراتی را که اِعمال میکنید رد خواهند کرد. این همان چیزی است که سبب میشود بلاک چین غیرقابلدستکاری یا تغییرناپذیر شود.
روشهای خلاقانه برای تقلب
برای تقلب روشهای بسیار زیادی از نظر تئوری وجود دارد، اما پیادهسازی آنها عملا بسیار دشوار است. این حقیقت که یک سامانه مانند بیت کوین هماکنون مورد استفاده قرار میگیرد (همانطور که سایر ارزهای دیجیتال نیز مورد استفاده قرار میگیرند) الزاما بدان معنا نیست که امنیت قابل قبولی دارد. نیها نارولا مدیر مؤسسهی ارز دیجیتال مؤسسهی فناوری ماساچوست (MIT) میگوید:
حتی زمانی که توسعهدهندگان از ابزارهای رمزنگاری معتبر استفاده میکنند باز هم به آسانی ممکن است همهی آن ابزارها به شکل تصادفی به روشی به کار گرفته شوند که ایمن نباشد. بیت کوین مدتی طولانی است که بهوجود آمده است و حسابش را پس داده است.
اما افرادی که روشهای خلاقانهای برای تقلب پیدا کردهاند نیز کم نیستند. امین گان سیرر (Emin Gün Sirer) و همکارانش در دانشگاه کورنل نشان دادهاند روشی وجود دارد که با استفاده از آن حتی اگر نصف قدرت ماینرهای دیگر را داشته باشید، باز هم میتوانید یک بلاک چین را تخریب کنید. جزئیات این روش تا حدودی فنی هستند، اما اساسا یک ماینر خودخواه میتواند با فریبدادن گرههای دیگر و هدر دادن زمان آنها با سرقت معماهای رمزنگاری که در حال حاضر حل شدهاند سود ناعادلانهای بهدست آورد.
روش دیگر، حمله اکلیپس (eclipse attack) است. گرههای بلاک چین به منظور مقایسهکردن دادهها باید دائما با یکدیگر در ارتباط باشند. مهاجمی که بتواند کنترل ارتباطات یکی از گرهها را در دست بگیرد و از طریق آن به دادههای نامعتبر که بهنظر میرسند از شبکه میآیند اجازهی ورود بدهد، میتواند با این حقه منابع را هدر دهد یا تراکنشهای جعلی را تأیید کند.
سیرر میگوید:
مهم نیست بلاک چین تا چه اندازه غیرقابلدستکاری است، باز هم کاملا امن نیست.
هکشدن ارزهای دیجیتال که اخیرا بسیار از سرخطِ خبرها را به خود اختصاص داده است، معمولا در مواردی که سامانهی بلاک چین با دنیای واقعی سروکار دارد رخ میدهد. برای نمونه میتوان به نرمافزارهای مشتریان و اپلیکیشنهای طرف سوم (third-party) اشاره کرد.
هکرها میتوانند بهعنوان مثال در کیف پولهای آنلاین (داغ) رخنه کنند. این کیف پولها اپلیکیشنهای متصل به اینترنت هستند که برای ذخیرهی کلیدهای خصوصی رمزنگاریشده بهکار میروند. دارندگان ارزهای دیجیتال از همین کلیدها برای خرج کردن داراییشان استفاده میکنند. کیف پولهای متعلق به صرافیهای ارز دیجیتال آنلاین در واقع هدف اصلی هکرها هستند. بسیاری از صرافیها ادعا میکنند که دارایی بسیاری از کاربرانشان را در کیف پولهای سختافزاری آفلاین (سرد) نگه میدارند. این کیف پول در واقع نوعی دستگاه الکترونیکی برای ذخیرهسازی است که به اینترنت متصل نیست. اما سرقت بیش از ۵۰۰ میلیون دلار ارز دیجیتال از صرافی ژاپنی کوین چک (Coincheck) نشان داد مسئله آنقدرها هم ساده نیست.
شاید پیچیدهترین نقاط ارتباطی بین بلاک چینها و دنیای واقعی «قراردادهای هوشمند» هستند. قرارداد هوشمند یک برنامهی کامپیوتری است که در انواع خاصی از بلاک چینها ذخیره میشود و میتواند تراکنشها را بهشکل خودکار انجام دهد. در سال ۲۰۱۶، هکرها در یک حملهی پیشبینی نشده یک قرارداد هوشمند روی بلاک چین اتریوم را هدف قرار دادند. این قرارداد هوشمند متعلق به نوع جدیدی از صندوق سرمایهگذاری مبتنی بر بلاک چین به نام سازمان خودگردان غیرمتمرکز (Decentralized Autonomous Organization :DAO) بود که هکرها توانستند ۳/۶ میلیون اتر را از آن سرقت کنند. این مقدار اتر در آن زمان معادل ۸۰ میلیون دلار ارزش داشت.
از آنجا که کدهای DAO روی بلاک چین قرار داشت، جامعهی اتریوم مجبور شد یک ارتقای نرمافزاری بحثبرانگیز که هاردفورک نامیده میشود انجام دهد تا بتواند پولها را برگرداند. در این اقدام، بلاک چین به نسخهی قبل از سرقت بازگردانده شد. محققان هنوز درصدد توسعهی روشهایی هستند که اطمینان دهد قراردادهای هوشمند هرگز با تقلب و کلاهبرداری مواجه نخواهند شد.
موضوع تمرکز
مفهومی که سامانهی بلاک چین بهعنوان یک تضمینِ فرضی برای امنیت بهکار میبرد، «تمرکززدایی» است. اگر نسخههای بلاک چین روی یک شبکه توزیع شده بسیار بزرگ و گسترده از گرهها نگهداری شوند، دیگر نقطهضعفی برای حمله وجود نخواهد داشت. همچنین اگر کسی بخواهد توان محاسباتی کافی برای تخریب این شبکه بهدست آورد این امکان به آسانی برای او فراهم نخواهد بود. اما سیرر و همکارانش بهتازگی به این نتیجه رسیدهاند که نه بیت کوین و نه اتریوم آنطور که شما فکر میکنید غیرمتمرکز نیستند. آنها دریافتند چهار ماینر برتر بیت کوین هر هفته ۵۳% از ظرفیت متوسط استخراج سامانه را در اختیار دارند. در یک مقیاس مشابه، سه ماینر اتریوم ۶۱% از این مقدار را در اختیار دارند.
نکتهی دیگر دربارهی بلاک چینها این است که برای ملحقشدن نیاز به مجوز دارند. البته این امر شامل بیت کوین نمیشود که در آن هر کسی با دانلود نرمافزار آن میتواند وارد شبکه شود. چنین سامانههایی بهدلیلِ ویژگیهای ضدسلسلهمراتبیِ (anti-hierarchical) ارزهای دیجیتال چندان پذیرفته نیستند. با اینحال این رویکرد برای مؤسسات مالی و نهادهای دیگر جذاب است، چرا که میتواند مزایای یک پایگاه دادهی رمزنگاری شدهی مشترک را به آنها ارائه کند.
اما سامانههای مجاز خودشان پرسشبرانگیز هستند. این مجوزها از سوی کدام قدرت صادر میشود؟ این سامانه چگونه میتواند مطمئن شود که هویتهای تأییدکنندگان واقعی است؟ یک سامانهی مجاز ممکن است کاری کند که صاحبانش احساس امنیت کنند، اما آیا به آنها کنترل بیشتری میدهد؟ به این معنی که آنها میتوانند توافقهای افراد دیگر در شبکه (همان چیزی که معتقدان واقعی میگویند با ایدهی اصلی بلاک چین در تضاد است) را تغییر دهند؟
بنابراین در نهایت، تعریف «امنیت» در زمینهی بلاک چین بسیار دشوار خواهد بود. امنیت از سوی چهکسی؟ امنیت برای چهچیزی؟ این پرسشها هنوز وجود دارند. نارولا میگوید:
پاسخ این پرسشها فقط به دیدگاه شما بستگی دارد.