قراردادهای هوشمند، چالش ارزهای مجازی
نوامبر سال گذشته یک کاربر بهصورت تصادفی بیش از 155 میلیون دلار از سرمایه خود را در سرویس کیف الکترونیکی «پریتی» متعلق به ارز مجازی «اتروم» (ethereum) از دست داد. این کلاهبرداری در نتیجه وجود یک باگ بزرگ در این نرمافزار اتفاق افتاد که دامن این کاربر را گرفت.
این اتفاق البته اولین حادثهای نبود که در کیف پول هوشمند پریتی رخ میداد. یک ماه قبل از این اتفاق، یک باگ دیگر در این سرویس باعث شد هکرها بتوانند مبلغی معادل 30 میلیون دلار از ارزهای مجازی این برنامه را به سرقت ببرند. البته پریتی تنها کیف پول متعلق به اتروم نیست که از این دسته از آسیبپذیریهای قرارداد هوشمند ( Smart Contract ) ضرر میکند.
قرارداد هوشمند چیست؟
قرارداد هوشمند یک پروتکل ویژه است که برای مشارکت، تأیید یا اجرای مفاد یک قرارداد خاص، فعال می شود. قراردادهای هوشمند معاملات و فرایند ها را به صورت کاملا تضمینی و بدون اشخاص ثالث انجام می دهند. فعالیت و ثبتهای قرارداد هوشمند قابل پیگیری و غیر قابل برگشت هستند. قراردادهای هوشمند شامل تمام اطلاعات مربوط به شرایط قرارداد و اجرای تمام اقدامات هدف گذاری شده به طور خودکار می شوند.
در سال 2016، هکرها موفق شدند مبلغی برابر با 15 درصد از سرمایه در گردش اتروم را به سرقت ببرند. این اتفاق باعث ایجاد یک شکاف بزرگ در کسب و کار اتروم شد و در نتیجه آن اتروم مجبور شد سیستم بلاک چین و ارز مجازی خود را به طور کامل تغییر دهد و نسخه جدیدی از پول مجازی خود را برای مشتریانش معرفی کند.
همانند بسیاری دیگر از سرقتها که از زمان ظهور اتروم در سال 2015 تا به حال در این زمینه صورت گرفته، اکثر این اتفاقت و باگها به «پروتکلهای هوشمند» مربوط میشوند. پروتکل هوشمند همان کدی است که بر روی بلاکچین اتروم قرار دارد و امکان خلق اپلیکیشنهای غیرمتمرکز را فراهم میکند. پروتکلهای هوشمند یکی از مهمترین بخشهای صنعت بلاکچین محسوب میشوند و علیرغم این هکهای صورت گرفته که در بالا به آنها اشاره کردیم اما همچنان استفاده از این پروتکلها در حال افزایش است. اما این پروتکلها در عین اینکه کاربردی هستند، یکی از اهداف مورد علاقه هکرها هم محسوب میشوند و اگر متخصصین پروسههای نظارتی و حسابرسی هوشمندتری را برای آن طراحی نکنند، همچنان شاهد وقوع چنین حملات و سرقتهایی در این بخش خواهیم بود. شاید هم راه حل این مشکل در بهکارگیری قرارداد هوشمندتر باشد.
چرا تامین امنیت قرارداد هوشمند مشکل است؟
قرارداد هوشمند همانند دیگر برنامههایی که بر روی کامپیوترها وجود دارند، یک کد است. با این حال یک سری عوامل باعث میشوند قرارداد هوشمند از جنبه امنیتی نسبت به دیگر برنامهها حساستر باشند. در ادامه به این عوامل اشاره کردهایم.
اول اینکه همانند تراکنشهای بلاکچین، قرارداد هوشمند هم تغییر ناپذیر هستند. پس از اینکه برنامهنویسان قرارداد هوشمند را اجرایی میکنند، دیگر امکان ایجاد تغییر در آنها وجود نخواهد داشت. همین مسئله هم باعث میشود باگهایی که در این پروتکلها وجود دارند «غیرقابل رفع» باشند. البته تلاشهای بسیاری در جهت رفع باگهای موجود در قراردادهای هوشمند انجام شده اما پروسه رفع این باگ ها بسیار پیچیده و مشکل هستند.
دوم اینکه قرارداد هوشمند مستقیما به پرداختها متصل هستند و میتوانند حاوی میلیونها دلار ارز دیجیتال باشند. تفاوت زیادی بین باگ یک نرمافزار که امکان دسترسی هکرها به تصاویر شخصی شما را میدهند و باگ قرارداد هوشمند که امکان دسترسی به سرمایه دیجیتال شما را میدهد وجود دارد.
سوم اینکه قرارداد هوشمند فعلا در مراحل ابتدایی کار خود قرار دارند و حتی 10 سال از ظهور آنها نمیگذرد. میتوان گفت برنامهنویسان هنوز بهترین و مطمئنترین کدها و طراحیهای لازم برای اپلیکیشنهای غیرمتمرکز و قرارداد هوشمند را خلق نکردهاند و فعلا زمان لازم است.
این دلایل باعث میشوند نظارت و بررسی امنیت قرارداد هوشمند بیش از حد اهمیت پیدا کنند چون با اینکه نرمافزارهای سنتی شامل چرخه «ساخت-انتشار-رفع عیب» میشوند اما قرارداد هوشمند تنها شامل یک قدم میشوند و در همان مرحله اول همه چیز باید بدون نقص طراحی شده باشد چون امکان ایجاد تغییر پس از انتشار این دسته از قراردادها وجود ندارد. البته امکان تغییر این قرارداد در یک حالت وجود دارد که این روش باعث از دست رفتن میلیونها دلار از سرمایه و البته بخش اعظمی از اعتبار شما در دنیای ارزهای دیجیتال خواهد شد.
نظارت بر قراردادهای هوشمند
بسیاری از شرکتها یک قدم فراتر رفتهاند و خدمات نظارتی و حسابرسی را برای تراکنشها ارزهای دیجیتال خود در نظر گرفتهاند که این سرویسها کدهای مرتبط با قرارداد هوشمند را بررسی کرده و بازخوردهای مرتبط با کیفیت و امنیت آنها را به شرکتها گزارش میکنند. این پروسه به خدمات امنیتی که در بخش نرمافزارهای سنتی انجام میشوند شباهت دارد.
با این حال هزینه نظارت بر قراردادهای هوشمند از طریق این سرویسها بالا است و بسیاری از استارتآپهایی که در زمینه ارزهای دیجیتال فعالیت میکنند ممکن است نتوانند از پس این هزینهها بر بیایند. مشکل بعدی اینکه سرمایهگذاران و کاربرانی که از ارزهای دیجیتال این شرکتها استفاده میکنند قادر به مشاهده این سرویسهای نظارتی نخواهند بود که این مسئله خلاف عرف حاکم در صنعت بلاکچین است. در دنیای بلاکچین همه چیز بر پایه شفافیت بنا شده و تمامی پروسهها و اتفاقات برای همه قابل مشاهده است.
حال روش جایگزینی که تازگی استفاده میشود، استفاده از بلاکچین و قراردادهای هوشمند جهت خلق پروسههای نظارتی شفاف و مطمئن است که در آن تمامی گروههایی که در زمینه نظارت و ایمن سازی یک پروتکل نقش دارند سهم خواهند داشت.
حال شرکت «سالیدیفاید» (Solidified) که تجربه زیادی در نظارت و حفظ امنیت قراردادهای هوشمند تعدادی از پروژههای مهم اتروم داشته، در حال راه اندازی نوعی «شبکه تشخیص باگهای برنامههای غیرمتمرکز» است تا از طریق آن بتواند امنیت قراردادهای هوشمند سیستمهای بلاکچین مختلف را تایید و تامین کند. خلاقیت و نکته مثبت این بازار تشخیص باگ این است که با این روش تمامی گروههایی که در زمینه بررسی قرارداد هوشمند نقش دارند از لحاظ کیفیت کار بهطور منصفانه تشویق یا تنبیه میشوند.
با کمک شرکت سالیدیفاید برنامهنویسان میتوانند سریعا تقاضای نظارت بر قرارداد هوشمند خود را اعلام کنند. پس از اعلام تقاضا، بازرسان قرارداد هوشمند این شرکت که شامل بیش از 200 متخصص میشود، شرایط و دستمزد دریافتی خود را اعلام میکنند و در صورتی که برنامهنویس و ناظران به توافق برسند، پروژه بررسی و نظارت بر قرارداد هوشمند آغاز میشود.
متخصصین شرکت پس از توافق، بررسی کدها را آغاز کرده و یافتههای خود را با برنامهنویسان به اشتراک میگذارند و آنها را از باگهای موجود در کدها باخبر کرده و به برنامهنویس فرصت تصحیح کدها را میدهند. اما قبل از اینکه متخصصین ناظر دستمزدشان را دریافت کنند، کدهای تصحیح شده توسط این متخصصین برای تست و بررسی با شبکه گستردهتری از افراد متخصص در نظارت بر قرارداد هوشمند در سراسر دنیا بهاشتراک گذاشته میشود. در صورتی که این ناظرها بتوانند باگهای جدیدی در کدها کشف کنند، آنها هم در دستمزد نهایی این پروژه سهیم خواهند شد و مبلغی دریافت خواهند کرد. این شیوه از نظارت و بازرسی پروتکلهای هوشمند و همچنین این نوع از پرداخت دستمزد بر اساس عملکرد باعث میشود نظارت و بازرسی در بالاترین سطح و کیفیت ممکن انجام بگیرد.
شبکه نظارت بر باگها
بازرسی کدها و تصحیح باگها چیز جدیدی نیست. بسیاری از کمپانیهای بزرگ دنیا و سرویسهای دولتی بهطور مرتب برای اطمینان یافتن از امنیت برنامههای خود هر چند وقت یکبار چنین بازرسیهایی را انجام میدهند. با این حال نظارت بر کدهای بلاکچین و قرارداد هوشمند مزیتهای متعددی دارد که باعث میشود ارزش آن از نظارت بر کدهای معمولی بالاتر باشد.
اول اینکه این روش باعث بهوجود آمدن شفافیت میشود. هر چیز و هرکس که در پروسه نظارت شرکت داشته روی شبکه بلاکچین ثبتنام میشود و برای بررسی قابل دسترس خواهد بود. این مسئله برای سرمایهگذاران کاربران بسیار اهمیت دارد چرا که قادر خواهند بود تاریخچه پروسه بازرسی بر معاملاتشان را مشاهده کنند و شخصا تشخیص دهند که معاملاتشان توسط افراد حرفهای نظارت و عیب یابی شده یا خیر.
دوم اینکه این پروسه باعث ایجاد اطمینان کافی در تعیین مقدار امنیت یک قرارداد هوشمند توسط شرکت میشود. این اطمینان در نتیجه نظارت و بررسی دقیق متخصصین قراردادهای هوشمند به دست میآید و باعث میشود در آینده از آن به عنوان یک سیستم هشدار به افراد استفاده کرد و از کاربران خواسته شود قبل از اینکه باگ موجود در قرارداد توسط هکرها شناسایی شود سریعا از آن قرارداد خارج شوند و از این طریق از سرقت و هدر رفتن سرمایه افراد جلوگیری کرد.
سوم اینکه نظارت بر کدهای بلاک چین به روش شرکت سالیدیفاید باعث افزایش انگیزه بازرسان میشود که در نتیجه آن باگهای بیشتری کشف و رفع میشوند. ناظران پس از گزارش یک باگ علاوه بر دریافت دستمزد، از طرف شرکت سالیدیفاید هم مقداری ارز مجازی Solid دریافت میکنند که البته در صورتی که در پروژههای بعدی اشتباه کنند آن را از دست خواهند داد. این روش باعث ایجاد انگیزه و همچنین افزایش دقت ناظران قراردادهای هوشمند شده است.
ضمنا شرکت سالیدیفاید قصد دارد گستره نظارت خود را افزایش دهد و متخصصین بیشتری را بهکار بگیرد. در حال حاضر سالیدیفاید نظارت را از طریق لیستی از متخصصین فعال در شرکت خود انجام میدهد اما شرکت قول داده در آینده این فرصت را در اختیار تمامی افرادی که مایل هستند از این روش کسب درآمد کنند قرار دهد.
در گذشته این باور وجود داشت که هیچ نرمافزار پروتکل هوشمندی با امنیت 100 درصد وجود ندارد اما ظاهرا با اقدامات انجام شده در این زمینه توسط سالیدیفاید و متخصصین آن، بهتر است کمکم باورهایمان را تغییر دهیم.