آیا نسبت به معایب قراردادهای هوشمند آگاه هستید؟

24 شهریور 1398 آیا نسبت به معایب قراردادهای هوشمند آگاه هستید؟

روابط عمومی شرکت ایدکو (توزیع کننده محصولات کسپرسکی در ایران)؛ آیا به قراردادهای هوشمند علاقه دارید؟ آیا می‌دانستید سرریز عدد صحیح[1] یعنی چه؟ در حقیقت سرریز عدد صحیح، مشکلی از حوزه‌ی برنامه‌نویسی است؛ اماقرارداد هوشمند در اصل یک برنامه است پس شاید بخواهید درک درستی از آن داشته باشید.

به بیان ساده‌تر، اگر سرریز عدد صحیح در یک سلول حافظه‌ی واحد و بایتی ذخیره شود می‌تواند تنها از 0 تا 255 ارزش را نگه دارد. این یعنی اگر شرایط دیگری تعیین نشود، 0=1+255.  نگران‌کننده‌تر این است: 255=1-0. بیشتر پردازشگرهای مدرن اینگونه اطلاعات را پردازش می‌کنند. در بسیاری از زبان‌های برنامه‌ریزی مدرن، خود برنامه کنترل می‌کند که آیا جریان کاری در طول عملیات‌های حسابگری رخ داده است یا خیر. اگر چنین باشد احتمال این هست که اصلاً برنامه‌ریز روحش هم خبر ندارد؛ پس بهتر است برنامه قطع شود و اطمینان حاصل شود بعدها باگی ایجاد نخواهد کرد.

خوب همه‌ی اینها چه ربطی به قراردادهای هوشمند دارد؟!

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

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

این سناریو تماماً هم نظری و تئوریک نیست؛ بارها شده است که چنین چیزی را در واقعیت شاهد بوده‌ایم (چندین نوع ارز به این روز دچار شدند). معمولاً بعد از اینکه مهاجم کلکش را سوار می‌کند و اصطلاحاً فلنگ را می‌بندد (با جیبی پر از پول) مشکل کد را می‌فهمیم. اما حتی بعد از اینها هم هیچ کاری نمی‌شود انجام داد: قراردادهای هوشمند دائمی و غیرقابل تعویضند؛ نمی‌توانند پَچ شوند.

سرریز[2] و بیت‌کوین

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

سرریز عدد صحیح باعث شد دو کیف‌پول بیت‌کوین به 184 میلیارد بیت‌کوین تبدیل شوند (در تاریخ 15 آگوست سال 2010). دیگر نگوییم که این چقدر برای مؤسسان بیت‌کوین گران تمام شد. آن‌ها (ساتوشی ناکاماتو) به سرعت کد را اصلاح، باگ را برطرف و سابقه مالی را بازگرداند و جوری وانمود کرد انگار هیچ اتفاقی نیافتاده است.

بازگرداندن سابقه[3] یعنی چه؟ مثال می‌زنیم: اگر من آن روز بخصوص 10 هزار دلار بیت‌کوین خریده باشم، این بازگشت باعث می‌شود بیت‌کوین‌هایم به سرعت به فروشنده باز گردد- برخلاف دلارهایم که دیگر برایشان بازگشتی نیست. و اگر این بازگشت (رول‌بک) به جای سال 2010 الان اجرا می‌شد، پیامدهایش بسی عظیم می‌بود. چراکه اکنون هر روز  به ارزش حدود 5 میلیارد دلار بیت‌کوین، تجارت شکل می‌گیرد.

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

برگردیم به قراردادهای هوشمند

تصمیم توسعه‌دهندگان اتریوم به نظر کمی عجیب می‌آید- انگار که برای برنامه‌ریزانِ قرارداد هوشمند تله گذاشته باشند. یا باید بسیار کار کشته باشید و یا بسیار متمرکز (یا هر دو) تا بتوانید خود یا سرمایه‌گذاران خود را از یک‌شبه از دست دادن (احتمالی) پول نجات دهید. و این هم دلیل دیگری است که می‌گوییم کد قرارداد هوشمند به تأییدیه بادقتی نیاز دارد. متخصصین ما به عنوان بخشی از Kaspersky Token Offering Security کد قراردادهای هوشمند را برای آسیب‌پذیری‌ها و قابلیت‌های بدون سند تحلیل می‌کنند. 

 

[1] integer overflow، هنگامی رخ می‌دهد که نتیجهٔ یک عمل محاسباتی مقدار عددی بزرگی است که از محدودهٔ مجاز قابل پردازش فراتر است.

[2] Overflow

[3] history rollback

منبع: کسپرسکی آنلاین (ایدکو)

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

محصولات مرتبط

  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    15,110,400 ریال25,184,000 ریال
    خرید
  • Kaspersky Safe Kids

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

    15,110,400 ریال25,184,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    167,984,000 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    28,512,000 ریال47,520,000 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    40,886,400 ریال68,144,000 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    43,737,600 ریال72,896,000 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    181,440,000 ریال302,400,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    290,294,400 ریال483,824,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    217,718,400 ریال362,864,000 ریال
    خرید
  • Kaspersky Small Office Security

    348,758,400 ریال581,264,000 ریال
    خرید
  • Kaspersky Small Office Security

    254,006,400 ریال423,344,000 ریال
    خرید
  • Kaspersky Small Office Security

    406,214,400 ریال677,024,000 ریال
    خرید
  • Kaspersky Small Office Security

    290,294,400 ریال483,824,000 ریال
    خرید
  • Kaspersky Small Office Security

    464,678,400 ریال774,464,000 ریال
    خرید
  • Kaspersky Small Office Security

    326,582,400 ریال544,304,000 ریال
    خرید
  • Kaspersky Small Office Security

    522,134,400 ریال870,224,000 ریال
    خرید
  • Kaspersky Small Office Security

    332,630,400 ریال554,384,000 ریال
    خرید
  • Kaspersky Small Office Security

    532,214,400 ریال887,024,000 ریال
    خرید
  • Kaspersky Small Office Security

    468,710,400 ریال781,184,000 ریال
    خرید
  • Kaspersky Small Office Security

    749,942,400 ریال1,249,904,000 ریال
    خرید
  • Kaspersky Small Office Security

    604,790,400 ریال1,007,984,000 ریال
    خرید
  • Kaspersky Small Office Security

    967,670,400 ریال1,612,784,000 ریال
    خرید
  • Kaspersky Small Office Security

    730,790,400 ریال1,217,984,000 ریال
    خرید
  • Kaspersky Small Office Security

    1,169,270,400 ریال1,948,784,000 ریال
    خرید
  • Kaspersky Small Office Security

    1,385,990,400 ریال2,309,984,000 ریال
    خرید
  • Kaspersky Small Office Security

    2,217,590,400 ریال3,695,984,000 ریال
    خرید
  • Kaspersky Standard For Mobile

    امنیت موبایل خود را در تمامی دستگاه‌ها به‌طور کامل سامان‌دهی کنید. دستگاه‌های هوشمند خود را با یک موبایل سکیوریتی، در برابر جدیدترین تهدیدات دیجیتال محافظت کنید — تا خیال‌تان ...

    28,512,000 ریال
    خرید

نظر خودتان را ارسال کنید


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