Известный хакер Дэн Камински признался, что два года назад пытался взломать Bitcoin, но не смог.

Дэн является одним из самых известных хакеров в мире. Стал он таковым после того как описал уязвимости в глобальной системе DNS. Данная уязвимость дает возможность подменить данные на DNS сервере путем заполнения кэша с постороннего источника. В результате атака была названа атакой Каминского. С тех пор Камински консультирует крупные корпорации по вопросам безопасности. Так что же произошло с Bitcoin?

"Как инженера и как хакера, меня удивила система Bitcoin. Это система со следующими свойствами:

- Глобальное облако неограниченного размера, составленное из постоянно находящихся в онлайне машин, готовых к работе.

- Коммуникации на собственном корявом маленьком сетевом протоколе.

- Написана на С++, который обычно не самый безопасный язык при столкновении с обычным интернет-мусором.

- Напрямую реализует функцию сказочного обогацения для любого хакера, который взломает систему.

По всем признакам, подобная технология должна бы обрушиться мгновенно, на каждом из уровней. Но ядро технологии реально работает, и продолжает работать в таком масштабе, который никто даже не предполагал. Что за чертовщина тут происходит?"

Дэн считает, что устойчивость системы к взлому заключается в том, что она разрабатывалась не в том контексте, в каком обычно создается ПО. Обычно программисты не задумываются о безопасности, но система Bitcoin изначально создавалась из учета возможных атак. В таком контексте выбор языка программирования С++ правильный, т.к. он позволил создать логичную и безопасную архитектуру.

Однако, по словам Дэна Камински эксперимент еще не закончен и необходимо сделать еще много интересных вещей, что бы понять будущее технологии.

Интересно обратить внимание на сравнение кода Bitcoin с "нормальным" кодом от Камински.

Нормальный код:

- выглядит нормально, но только на первый взгляд;

- если копнуть все становится плохо.

Код Bitcoin

- на первый взгляд выглядит плохо;

- если копнуть, то все становится на удивление хороше;

- мы не привыкли работать с системами с такими характеристиками;

- в коде есть признаки, что аудит проводили хакеры вроде нас.

Интересно чем история закончится и удастся ли Дэну выявить какие-нибудь уязвимости в дальнейшем.