Так как я впервые услышал о Bitcoin я очарован идеей и проектом. Одним из наиболее привлекательных качеств является его потенциал как длинный и короткий срок. Если все это когда-либо будет способ для хакеров, чтобы склонить чашу своего любимый мультипликатора, это здорово. Если это оказывается крупномасштабная инструмент для защиты частной жизни лиц от тоталитарных правительств и других крупных организаций, это здорово. Если оказывается обходной путь, чтобы справиться с центральными банками массово девальвировать свою валюту, это было бы замечательно.
Однако, как полезность системы Bitcoin растет, я уверен, что нападения на него будет отображаться как хорошо. Если Bitcoin должны были быть использовано на миллиарды долларов уклонения от уплаты налогов, например, то, что кажется вероятным, по крайней мере, на мой взгляд, что АНБ будет тратить по крайней мере, некоторые из его огромных вычислительных ресурсов и аналитических навыки, чтобы попытаться сломать систему. Я думаю, что перечисляя векторы атаки и начать думать о том, как защититься от них является хорошей стратегией, чтобы подготовиться. Это то, что я придумал в последние несколько дней:
# Уязвимость в программном обеспечении Bitcoin (например, переполнение буфера в коде сети), которая позволяет злоумышленнику узнать секреты кошелька каждого пользователя и украсть доступные биткойно. Я думаю, что эталонная реализация является сложным, граничащей с запутанным и так как это монолитная частью программного обеспечения, уязвимость в любом месте будет делать важные секреты доступны. В качестве дополнительного бонуса, p2p автораспознавание позволяет найти узлы атаковать тривиальным.
Чтобы смягчить это, разделив управление бумажник из p2p частей и только соединить два, когда это необходимо было бы хорошим шагом. Кроме того, работа на альтернативных реализациях Bitcoin бы уменьшить воздействие определенных атак.
# Malware не связанные с Bitcoin может извлечь соответствующие содержимое wallet.dat и украсть деньги. Защита бумажника с хорошим симметричным шифрованием будет управлять некоторыми из этого риска, но я думаю, что было бы желательно иметь бумажники с нетривиальными количеством Bitcoins связанным с ними на съемных носителях, такие как USB-накопители.
# Имея нетривиальное количество evilnodes в сети p2p. Представьте себе несколько тысяч узлов ведут себя хорошо в течение нескольких недель, а потом вдруг начать отбрасывая некоторые операции, спам поддерживающих узлов с печатными запросами, изменять списки узлов, которые получают прошли вокруг, чтобы сделать его трудным для подключения к незлым узлам.
Я считаю, что этот сценарий трудно защититься. Тщательно настроенный ограничение скорости и отключиться от злоупотребления немного поможет. Может быть, какое-то схема, где узлы идентифицировали себя с помощью открытого ключа и заработали доверие со стороны своих сверстников пропорционально количество хорошего поведения, которые они демонстрируют.
# Много сделок. Это сделало бы стоимость запуска узла, способного проверки новых транзакций дорого. Прошел бы дни, когда ваш ноутбук имел емкость, чтобы проверить сделку по двойным расходам. Кроме того, это заняло бы много времени для вашей транзакции идет попасть в блок, если были тысячи новых сделок каждого вторым затопления сети. Если объединить это с большими горными работами, которые будут строить блоки из только небольшого подмножества доступных операций и выиграть большинство гонок для следующего блока, это будет означать, что делает ваш законный платеж может занять много времени, и система будет чувствовать себя ненадежными для своих пользователей.
Страшные вещи, но если нам удастся провести вокруг этих угроз я считаю, что система Bitcoin является мировым чейнджера.
/ ноа