Перша версія Coinbase була запущена лише з гарячим гаманцем - ризикована пропозиція. Ми були на стадії бета-тестування, і додаток чітко говорив людям не зберігати там гроші, які вони не могли дозволити собі втратити. Але суми депозитів продовжували неухильно зростати. Я зрозумів, що нам потрібно побудувати систему холодного зберігання для підвищення безпеки (інакше один злам гарячого гаманця означатиме, що ми неплатоспроможні, і компанія помре), і зателефонував двом знайомим експертам з криптографії/безпеки (@zooko і @octal, якщо пам'ять служить) і запитав їх, якою була б найкраща архітектура. Вони були дуже корисними і дали мені прискорений курс, оскільки я ніколи раніше не будував таку систему. Я запитав їх, скільки часу займе будівництво, і пам'ятаю, один з них сказав, що може знадобитися команда з ~10 людей 18 місяців, щоб запустити все і протестувати. Проблема полягала в тому, що у нас було близько 8 тижнів, поки загальні депозити на платформі перевищать загальні активи компанії, і всього 2 інженери (включаючи мене) для її створення. Ми бачили ознаки того, що хакери вже намагаються зламати систему, що є справжнім моментом «зроби або помри». Ми з @satoshilite пристебнулися і взялися за написання коду нової системи холодильного зберігання з нуля та інтеграцію її в додаток. Ми пішли на деякі розумні компроміси, але те, що ми зробили, було принципово безпечним і значно покращилося. Ми навіть розпакували кілька нових ноутбуків для генерації ключів, зберігаючи резервні копії в кількох сейфових скриньках і місцях. Залишалося близько тижня, і ми розпочали процес переведення коштів на нову систему. Ми обоє були вкрай недосипані (як трапляються помилки!), і об'єдналися в пари, щоб двічі перевірити роботу один одного, коли ми відправили першу тестову транзакцію, потім більшу, і так до тих пір, поки вона не була повністю переведена. Ми зітхнули з полегшенням і пішли додому спати близько 12 годин. Це було одне з моїх найбільш гордих технічних досягнень з перших днів Coinbase: написання коду нашої системи зберігання ключів v2 з 2 людьми приблизно за 8 тижнів, що повинно було зайняти 10 людей 18 місяців. І це працювало і служило нам справу роками. Зараз ми працюємо на ~v5 сховища ключів, і просунулися набагато далі того, що придумали того дня. Але якби ми не витягли це вчасно, Coinbase цілком могла б не існувати сьогодні. Це чудове свідчення того, як обмеження породжують креативність, найкращі таланти мають значення в стартапах, а команди часто здатні на більше, ніж вони думають, коли немає іншого варіанту. Більшість продуктів, які досягають успіху, мають такі ранні моменти, коли хтось повинен активізуватися і зіграти на полі, кинувши виклик усім шансам. Оскільки ми стикаємося з новими викликами та дедлайнами в наших численних продуктах, я завжди звертаю увагу на те, хто в команді готовий активізуватися та зробити гру переможною на полі.
Moon Dragon
Moon Dragon1 квіт. 2025 р.
Поділіться історією про себе
827,63K