دفتر کل XRP سقف سختی معادل ۱۰۰ میلیارد XRP دارد. برای حدود یازده سال، این سقف فقط یک پیشنهاد بود. در ۹ اکتبر ۲۰۲۶، بنیاد XRPL یک گزارش افشا منتشر کرد که تأیید میکرد یک تراکنش واحدِ دستساز میتوانست حدود ۱۸.۴ تریلیون XRP قابلخرج ایجاد کند، یعنی حدود ۱۸۴ برابر کل عرضه، و کدی که این امکان را فراهم میکرد از نوامبر ۲۰۱۵ در موتور پرداخت حضور داشت. این باگ توسط یک عامل هوش مصنوعی پیدا شد، در سه روز وصله شد و به روشی منتشر شد که دفتر کل هرگز قبلاً از آن استفاده نکرده بود. هیچکس از آن سوءاستفاده نکرد. این خبر خوب است. بقیه داستان نیازمند بررسی دقیقتری است.
باگ سرریز دفتر کل XRP در واقع چه کاری انجام میداد
این نقص در بخشی از موتور پرداخت قرار داشت که پرداختی را که از یک دفتر سفارشات عبور میکند مدیریت میکند. وقتی یک پرداخت همزمان بسیاری از پیشنهادها را مصرف میکند، موتور مبالغی را که به هر صاحب پیشنهاد بدهکار است جمع میزند. این جمعزنی از اعداد صحیح علامتدار ۶۴ بیتی ساده بدون بررسی سرریز استفاده میکرد. اگر مجموع از ۲ به توان ۶۴ عبور کند، شمارنده به یک عدد کوچک میچرخد، مثل کیلومترشمار خودرویی که از ۹۹۹۹۹۹ به ۰۰۰۰۰۰ برمیگردد.
بخش زشت ماجرا اینجاست. موتور از خریدار مبلغ چرخیدهشده را دریافت میکرد که ناچیز بود. اما به هر صاحب پیشنهاد مبلغ کامل و نچرخیده را پرداخت میکرد. تفاوت بین این دو عدد، XRPای است که لحظهای قبل وجود نداشت.
دفتر کل در واقع برای دقیقاً همین حالت یک تور ایمنی دارد. یک بررسی ناوردا به نام XRPNotCreated بعد از هر تراکنش اجرا میشود و از تأیید هر چیزی که کل XRP را افزایش دهد خودداری میکند. مشکل اینجاست که این ناوردا تغییر خالص XRP را با همان حساب ۶۴ بیتی بدون بررسی دنبال میکرد. یک بستانکار بهاندازه کافی بزرگ، شمارنده ناوردا را هم میچرخاند، بنابراین تراکنشی که تریلیونها XRP چاپ میکرد، از دید بررسی ایمنی مثل یک سوزاندن کارمزد معمولی به نظر میرسید. دو باگ مستقل، که دو سال با فاصله نوشته شده بودند، محافظت یکدیگر را خنثی کردند.
چگونه ۲۵۶ پیشنهاد به ۱۸ تریلیون XRP میرسد
Veria Labs، شرکت امنیتی که عامل هوش مصنوعیاش این باگ را پیدا کرد، محاسبات را منتشر کرد. این حمله از ۲۵۶ پیشنهاد استفاده میکرد. هر پیشنهاد به قیمت ۲ به توان ۵۶ بهعلاوه یک دراپ XRP فروخته میشد. ۲۵۶ را در این رقم ضرب کنید و مجموع دقیقاً به ۲ به توان ۶۴ بهعلاوه ۲۵۶ دراپ میرسد. آن یک دراپ اضافی در هر پیشنهاد مهم است: بدون آن مجموع دقیقاً به صفر میچرخد که موتور آن را بهعنوان پرداخت خشک رد میکرد. با آن، از خریدار ۲۵۶ دراپ، حدود ۰.۰۰۰۲۵۶ XRP، دریافت میشود، در حالی که ۲۵۶ صاحب پیشنهاد مجموعاً ۲ به توان ۶۴ دراپ دریافت میکنند. این معادل ۱۸,۴۴۶,۷۴۴,۰۷۳,۷۰۹,۵۵۱,۶۱۶ دراپ، یا حدود ۱۸.۴۵ تریلیون XRP است.

مهاجم به ۲۵۶ حساب تأمینشده نیاز داشت چون هر حساب XRPL حداکثر ۱۰۰ میلیارد XRP را میپذیرد، که بسیار کمتر از مبلغ هر پیشنهاد تقسیمشده بر یک حساب است. او همچنین به چند صد XRP برای ذخایر و کارمزد تراکنش نیاز داشت که همه قابل بازیابی بودند. هیچ دسترسی به اعتبارسنج لازم نبود. این حمله میتوانست با حسابهای تازه تکرار شود. Veria ارزش در معرض خطر را حدود ۹۴ میلیارد دلار تخمین زد، که بیش از شصت برابر سرقت ۱.۵ میلیارد دلاری Bybit است که در حال حاضر رکورد یک هک رمزارزی واقعاً رخداده را در دست دارد.
| ماده لازم | مقدار | چرا مهم است |
|---|---|---|
| پیشنهادهای مصرفشده در یک پرداخت | ۲۵۶ | زیر سقف ۱۰۰۰ پیشنهاد در هر پیمایش دفتر |
| قیمت هر پیشنهاد | ۲^۵۶ + ۱ دراپ | زیر محدودیت ۱۰۰ میلیارد XRP در هر حساب میماند |
| مجموعی که موتور محاسبه کرد | ۲^۶۴ + ۲۵۶ دراپ | در حساب ۶۴ بیتی به ۲۵۶ دراپ میچرخد |
| آنچه خریدار پرداخت | ۲۵۶ دراپ (۰.۰۰۰۲۵۶ XRP) | مقدار چرخیدهشده |
| آنچه فروشندگان دریافت کردند | حدود ۱۸.۴۵ تریلیون XRP | مقدار نچرخیده، ۱۸۴ برابر کل عرضه |
| هزینه مهاجم | چند صد XRP، قابل بازیابی | ذخایر بهعلاوه کارمزدها |
| دسترسی به اعتبارسنج لازم | هیچ | هر حساب تأمینشده میتوانست این کار را انجام دهد |
یک عامل هوش مصنوعی آن را دوشنبه شب پیدا کرد
گزارشدهنده رسمی Cayden Liao از Veria Labs است، و عامل هوش مصنوعی این شرکت نیز در کنار او اعتبار داده شده است. بر اساس گزارش خود Veria، این عامل در ۲۱ سپتامبر به کدبیس rippled اشاره شد، هر دو سرریز را علامتگذاری کرد، تشخیص داد که میتوان آنها را زنجیره کرد و یک اثبات مفهوم کارآمد روی یک شبکه محلی تولید کرد. یک مهندس بنیانگذار ساعت ۴ صبح بیدار شد تا آن را بررسی کند. تا صبح ۲۲ سپتامبر، تیم بهاندازه کافی مطمئن بود که آن را از طریق برنامه Bug Bounty دفتر کل XRP ثبت کند و آن را Major ارزیابی کرد. RippleX همان روز آن را بازتولید کرد و به Critical ارتقا داد. واقعبینانه، Veria ادعا میکند که عوامل کدنویسی عمومی که پس از افشا به همان کد اشاره شدند، نتوانستند آن را پیدا کنند. این را با نمک همیشگی از شرکتی که ابزار انجامدهنده را میفروشد بپذیرید. اما نکته گستردهتر بههرحال پابرجاست. کد تجمیع BookStep به نوامبر ۲۰۱۵ برمیگردد و ناوردای XRPNotCreated به فوریه ۲۰۱۷. دفتر کل XRP از سال ۲۰۲۴ بیش از ۱ میلیون دلار جایزه پرداخت کرده و بیش از دوازده ممیزی و مسابقه ممیزی اجرا کرده است. انسانها و شرکتهای ممیزی یک دهه به این کد نگاه کردند و آن را ندیدند. الگو دارد آشنا میشود. Coldcard تابستان امسال حدود ۱,۳۶۷ بیتکوین را به یک باگ فریمور پنجساله از دست داد که سازندهاش گمان میکند با کمک هوش مصنوعی پیدا شده است. کد قدیمی دیگر فقط به این دلیل که قدیمی است امن نیست.
چرا اصلاح از رأیگیری اعتبارسنجها عبور کرد
اینجاست که داستان از یک پیروزی امنیتی تمیز خارج میشود و به یک بحث حاکمیتی تبدیل میشود. دفتر کل XRP معمولاً قوانین تراکنش را از طریق اصلاحیهها تغییر میدهد. یک قانون جدید در نرمافزار خاموش عرضه میشود، اعتبارسنجها به آن رأی میدهند و تنها پس از حفظ بیش از ۸۰ درصد پشتیبانی در فهرست گرههای یکتای پیشفرض برای دو هفته متوالی فعال میشود. این سیستم بیش از یک دهه برقرار بوده و هرگز برای تغییر پردازش تراکنش عمداً دور زده نشده است.
تا ۲۵ سپتامبر. اصلاح سرریز مستقیماً در xrpld 3.4.1 بدون دروازه اصلاحیه عرضه شد. به محض ارتقای هر سرور، روی همان سرور اعمال شد. استدلال بنیاد XRPL ساده است: رأیگیری اصلاحیه، اصلاح و در نتیجه باگ را دو هفته قبل از اعمال منتشر میکرد. هر کسی که تفاوت را میخواند، دو هفته فرصت داشت ۱۸ تریلیون XRP چاپ کند. بنیاد میگوید این تصمیم بهطور مشترک توسط خودش، RippleX، توسعهدهندگان اصلی و اعتبارسنجها گرفته شده و هیچ طرف واحدی نمیتوانست بهتنهایی این تصمیم را بگیرد.
این رویکرد ریسک خودش را داشت که گزارش افشا آن را میپذیرد. اگر کسی در حالی که شبکه بین سرورهای وصلهشده و وصلهنشده تقسیم شده بود تلاش به سوءاستفاده میکرد، دو گروه بر سر وضعیت دفتر کل اختلاف پیدا میکردند. بدترین حالت، توقف شبکه بود. تیم قضاوت کرد که یک توقف احتمالی بهتر از یک انفجار قطعی عرضه است، که سخت میتوان با آن مخالفت کرد. بیش از ۸۰ درصد اعتبارسنجهای UNL پیشفرض ظرف چند ساعت پس از انتشار در ۲۵ سپتامبر در حال اجرای 3.4.1 بودند.
| تاریخ | رویداد |
|---|---|
| نوامبر ۲۰۱۵ | کد جمعزنی پیشنهاد BookStep با جمع ۶۴ بیتی بدون بررسی نوشته شد |
| فوریه ۲۰۱۷ | ناوردای XRPNotCreated با همان حساب بدون بررسی اضافه شد |
| ۲۱ سپتامبر ۲۰۲۶ | عامل هوش مصنوعی Veria Labs هر دو سرریز را علامتگذاری و زنجیره میکند |
| ۲۲ سپتامبر ۲۰۲۶ | از طریق Bug Bounty دفتر کل XRP گزارش شد، توسط RippleX بازتولید و به Critical ارتقا یافت |
| ۲۳ سپتامبر ۲۰۲۶ | اصلاح بهصورت خصوصی در نامزد انتشار 3.4.1 ادغام شد |
| ۲۵ سپتامبر ۲۰۲۶ | xrpld 3.4.1 منتشر شد، بیش از ۸۰ درصد اعتبارسنجهای UNL پیشفرض ارتقا یافتند |
| ۸ اکتبر ۲۰۲۶ | به Veria Labs حداکثر جایزه ۲۵۰,۰۰۰ دلاری پرداخت شد |
| ۹ اکتبر ۲۰۲۶ | گزارش افشای عمومی منتشر شد، اصلاحیه Batch fix فعال شد |
| ۱۲ اکتبر ۲۰۲۶ | ZachXBT علناً این جایزه را بسیار کم خواند |
نبرد غیرمتمرکزسازی که در پی آمد
بهطور خلاصه، Justin Bons از Cyber Capital، یک منتقد دیرینه XRP، از این ماجرا استفاده کرد تا استدلال کند بازاریابی XRP بهعنوان غیرمتمرکز برای خردهفروشان معادل کلاهبرداری است. شکایات مشخص او: انتشار ۲۵ سپتامبر فقط بهصورت باینریهای کامپایلشده توزیع شد، با کد منبع که موقتاً نگه داشته شد، و اپراتورها تحت فشار بودند باینریای را ارتقا دهند که نمیتوانستند بررسی کنند. گزارش افشای XRPL تأیید میکند که منبع بعداً منتشر شد، هرچند نمیگوید چه زمانی.
عملاً، استدلال مخالف به همان اندازه که از بنیاد میآمد از اپراتورهای اعتبارسنج مستقل هم میآمد. XRP Kuwait که گره خودش را اجرا میکند، آن را اینگونه بیان کرد: هماهنگی همان کنترل نیست. اپراتورهای مستقل همان توصیه را خواندند، به همان نتیجه رسیدند و ارتقا دادند. هیچکس آنها را مجبور نکرد. بیتکوین هم همین کار را کرده است، بهویژه با باگ تورم ۲۰۱۸ در Bitcoin Core 0.16.x، زمانی که توسعهدهندگان بیسروصدا اصلاحی را عرضه کردند قبل از توضیح اینکه چه چیزی را اصلاح میکند. هر زنجیرهای با یک باگ جدی در نهایت با انتخاب بین شفافیت و بقا روبرو میشود و همه آنها بقا را انتخاب کردهاند. در نهایت، جایی که Bons نکته منصفانهای دارد باینریها هستند. عرضه یک باینری غیرقابل بررسی و درخواست از اعتبارسنجها برای اجرای فوری آن، یک تمرین اعتماد است، هرچند موجه. نسخه صادقانه موضع XRPL این است که مجموعه اعتبارسنجهایش بهاندازه کافی به بنیاد و RippleX اعتماد داشتند که چند روز کد بررسینشده را اجرا کنند. اینکه آن را غیرمتمرکز بنامید بستگی دارد به اینکه فکر میکنید آن کلمه چه معنایی دارد.
آیا ۲۵۰,۰۰۰ دلار برای یک باگ ۹۴ میلیارد دلاری کافی بود
Veria Labs در ۸ اکتبر حداکثر پرداخت رده بحرانی برنامه XRPL را به مبلغ ۲۵۰,۰۰۰ دلار دریافت کرد. Veria آن را احتمالاً بزرگترین جایزهای خواند که تاکنون برای باگی که کاملاً توسط یک عامل هوش مصنوعی پیدا شده پرداخت شده است. چهار روز بعد، محقق بلاکچین ZachXBT آن را یک شوخی بد خواند. استدلال او: اکوسیستمی که خزانهاش میلیاردها دلار نگه میدارد، یکچهارم میلیون دلار برای یافتهای پرداخت که میتوانست آن دارایی را نابود کند. و این شکاف دقیقاً همان انگیزهای است که محقق بعدی را به فروش به یک مهاجم سوق میدهد. او هفت رقم را بهعنوان کف پیشنهاد کرد و به پاداش هفترقمی اشاره کرد که گفته میشود در اکوسیستم Zcash برای یک باگ جعل اخیر پرداخت شده است. نه Ripple و نه بنیاد در زمان نگارش این مطلب بهطور عمومی پاسخ نداده بودند.
هر دو طرف درباره چیزهای متفاوتی درست میگویند. این برنامه حداکثر تبلیغشدهاش را پرداخت کرد، محقق مسئولانه افشا کرد و اصلاح قبل از اینکه کسی خارج از حلقه بداند فرود آمد. این یعنی سیستم کار میکند. همچنین درست است که ۲۵۰,۰۰۰ دلار معادل ۰.۲۷ درصد از ۹۴ میلیارد دلار در معرض خطر است و هر مهاجمی با ۲۵۶ حساب و چند صد XRP میتوانست آن ۹۹.۷۳ درصد دیگر را بردارد. سقفهای جایزهای که زمانی نوشته شدند که XRP کسری از ارزش بازار فعلیاش بود، با چیزی که از آن محافظت میکنند مقیاس نمیشوند.
دارندگان XRP و قماربازان کریپتو از این ماجرا چه بگیرند
اصلاح سمت سرور است. کیف پول، کلیدها و موجودی شما هرگز درگیر نبودند و هیچ چیزی در سمت شما نیاز به بهروزرسانی ندارد. سقف عرضه حفظ شد چون باگ گرفته شد، نه چون ناوردا کار کرد. نیمه دوم آن جمله ارزش یادآوری دارد.
سه درس عملی اینجا وجود دارد. اول، اینکه کد ده سال زنده بوده دیگر یک استدلال امنیتی نیست. ممیزی به کمک هوش مصنوعی پیدا کردن سرریزهای قدیمی را ارزان میکند و مهاجمان همان مدلها را بهعنوان محققان اجاره میکنند. دوم، فرآیندهای حاکمیتی که برای عرضه ویژگیها طراحی شدهاند برای وصلههای بحرانی طراحی نشدهاند. و هر زنجیرهای باید از قبل تصمیم بگیرد که با مورد بعدی چگونه برخورد خواهد کرد، نه اینکه تحت فشار بداههپردازی کند. سوم، سقفهای جایزه باگ باید ارزش تأمینشده را دنبال کنند. یک سقف ثابت که در ۲۰۲۲ سخاوتمندانه به نظر میرسید، در ۲۰۲۶ یک دعوتنامه است. بهعلاوه، برای مخاطب قمار، ارتباط ساده است. XRP به یک ریل واریز استاندارد در کازینوهای کریپتو تبدیل شده چون در چهار ثانیه با کسری از یک سنت تسویه میشود. و آن سرعت بستگی دارد به درست بودن قوانین دفتر کل. پلتفرمهایی که پرداختها را خودکار میکنند، از جمله CryptoCasino.Vegas، هر بار که یک برداشت XRP بدون نگاه انسانی تسویه میشود به ناورداهای زنجیره اعتماد میکنند. این ناورداها این بار به لطف یک محقق و یک عامل هوش مصنوعی که شبکار کردند حفظ شدند و این حاشیهای نازکتر از آن چیزی است که سقف ۱۰۰ میلیاردی هرگز نشان میداد.
تجزیه فنی کامل، شامل هر دو محل سرریز و حساب سختشدهای که جایگزین آنها شد، در گزارش افشای آسیبپذیری بنیاد XRPL برای xrpld 3.4.1 موجود است.