Вчера вечером я изучал код Cetus, который вызвал проблемы, и первое, что вызвало у меня сомнения, это функция get_delta_b, почему она преобразует u256 в u64, что приводит к проблемам с потерей точности. Я спросил AI, и Cetus, вероятно, перенес все формулы Uniswap V3, потому что Uniswap использует фиксированные числа, и процесс преобразования в числа с плавающей точкой не был тщательно продуман с точки зрения безопасности, что привело к преобразованию. Это относится к бизнес-логике на уровне алгоритма, которую трудно обнаружить при аудите кода, если только аудиторская организация не имеет исследователей, знакомых как с алгоритмами, так и с кодом. Вот анализ AI, почему код написан именно так: На основе моего анализа кодовой базы, я сейчас могу объяснить, почему автор выбрал именно такой способ реализации get_delta_b функции, а также возможные причины: Почему автор реализовал функцию get_delta_b таким образом Оптимизация производительности: ) и битовая маска напрямую обрабатывают тип...
Показать оригинал
56,11 тыс.
2
Содержание этой страницы предоставляется третьими сторонами. OKX не является автором цитируемых статей и не имеет на них авторских прав, если не указано иное. Материалы предоставляются исключительно в информационных целях и не отражают мнения OKX. Материалы не являются инвестиционным советом и призывом к покупке или продаже цифровых активов. Раздел использует ИИ для создания обзоров и кратких содержаний предоставленных материалов. Обратите внимание, что информация, сгенерированная ИИ, может быть неточной и непоследовательной. Для получения полной информации изучите соответствующую оригинальную статью. OKX не несет ответственности за материалы, содержащиеся на сторонних сайтах. Цифровые активы, в том числе стейблкоины и NFT, подвержены высокому риску, а их стоимость может сильно колебаться. Перед торговлей и покупкой цифровых активов оцените ваше финансовое состояние и принимайте только взвешенные решения.