Впервые взглянуть на кодовую базу FTX мы смогли в прошлую среду. Сторона обвинения показала скриншоты с Github в процессе допроса сотрудничающего со следствием свидетеля Гэри Вана, бывшего CTO компании FTX, который в разные промежутки времени отвечал за кодовую базу, лежащую в основе и FTX, и Alameda Research. Ван признал себя виновным по четырём пунктам обвинения.
Хотя существовала опасность того, что ознакомление жюри присяжных собьёт его с толку, Ван по предложению обвинения пошагово описал работу кода, и мне показалось, сделал это вполне понятно.
Наверно, этому способствовало и то, что инженеры FTX написали достаточно чистый код с описательными именами переменных и короткими функциями, а также выбрали человекочитаемый язык (Python).
Заметка для себя: если собираешься писать код для мошеннических действий, то сделай его запутанным и нечитаемым, чтобы снизить вероятность того, что в будущем его покажут жюри присяжных в качестве доказательства.
Основная часть обсуждений касалась флага allow_negative
, добавленного в кодовую базу FTX 1 августа 2019 года. Ван дал показания, что Сэм Бэнкман-Фрид попросил его и Нишада Сингха (бывшего технического директора FTX, тоже признавшего свою вину) добавить этот флаг. На скриншотах из Github видно, как Сингх внёс в код изменение, добавляющее столбец в базу данных, и логику, исключающую счета с этим флагом из проверок, которые в противном случае позволили бы определить, достаточно ли у них средств для снятия.