کد منبع
۱۴۰۵/۱/۲۷
کد منبع متن قابل خواندن توسط انسان از یک برنامه است که به زبان برنامهنویسی مانند C++، Rust، Go یا Solidity نوشته شده است. قبل از اجرای یک برنامه، کد منبع به شکل قابل اجرا توسط ماشین کامپایل یا تفسیر میشود. در ارزهای دیجیتال، دسترسی به کد منبع تفاوت بین سیستمی است که میتوانید آن را تأیید کنید و سیستمی که باید به آن اعتماد کنید.
چرا کد منبع باز در کریپتو اهمیت دارد
ارزهای دیجیتال باید بیاعتماد باشند — شما نباید به گفتههای یک شرکت اعتماد کنید. کد منبع باز این امکان را فراهم میکند:
- هر کسی میتواند تأیید کند که نرمافزار همان کاری را انجام میدهد که سازندگانش ادعا میکنند
- پژوهشگران امنیتی مستقل میتوانند آسیبپذیریها را پیدا کرده و گزارش دهند
- کاربران میتوانند خودشان باینریها را کامپایل کنند و تأیید کنند که با آنچه توزیع شده مطابقت دارد
- فورکها ممکن میشوند — اگر جهت یک پروژه اشتباه برود، جامعه میتواند آن را ادامه دهد
بیتکوین، اتریوم و اکثر کلاینتهای اصلی بلاکچین منبع باز هستند. پروژههای کریپتوی بسته به دلایل خوبی با شک و تردید مواجه میشوند — کاربران هیچ راهی برای بررسی اینکه کد واقعاً چه کاری انجام میدهد ندارند.
ممیزی کد
قبل از اینکه قراردادهای هوشمند یا پروتکلهای بلاکچین به تولید برسند، معمولاً توسط شرکتهای امنیتی تخصصی (Trail of Bits، OpenZeppelin، ConsenSys Diligence) ممیزی میشوند. ممیزیها به دنبال موارد زیر هستند:
- خطاهای منطقی و سوءاستفادههای اقتصادی
- بازگشتپذیری، سرریز عدد صحیح و دیگر آسیبپذیریهای رایج
- اشتباهات کنترل دسترسی
- انحرافات بین مستندات و پیادهسازی
ممیزی تضمین نیست — اما یک قرارداد بدون ممیزی که ارزش قابل توجهی را مدیریت میکند، یک علامت خطر بزرگ است.
