Журнал "Information Security/ Информационная безопасность" #1, 2023

Упрощенная проверка платежей Верификация транзакций возможна без запуска полнофункционального узла. Пользователю необходимо лишь хранить заголовки блоков самой длинной цепочки, которую он получил от других узлов, и запрашивать хеш-поддерево для необходимой транзакции. Он не может проверить корректность транзакции само- стоятельно, но, получив ссылку на блок, в котором она находится, он может убе- диться в том, что этот блок и все после- дующие приняты и подтверждены сетью. На такой метод проверки можно пола- гаться, пока сеть хотя бы наполовину находится под контролем честных участников, то есть пока злоумышлен- ник не завладеет большими ресурсами. Обычные узлы могут проверять тран- закции самостоятельно, но если напа- дающий генерирует самую длинную цепь блоков, то своими сфабрикован- ными транзакциями он может ском- прометировать упрощенную схему. Одной из стратегий противодействия этому может быть рассылка сигналов тревоги от обычных пиров, которые получают "ложный" блок. Такой сигнал будет заставлять программу-клиент загружать блок полностью, чтобы само- стоятельно подтверждать некоррект- ность данных. Конфиденциальность технологии Традиционная банковская модель под- держивает необходимый уровень кон- фиденциальности, предоставляя доступ к информации лишь сторонам-участни- цам и доверенному третьему лицу. Необходимость открытой публикации транзакций исключает такой подход, однако приватность по-прежнему можно сохранить, если публичные ключи ано- нимны. Открытой будет информация о том, что кто-то отправил кому-то неко- торую сумму, но без привязки к конкрет- ным личностям. Столько же данных рас- крывается и на фондовых биржах, кото- рые публикуют время и объем частных сделок, не указывая, между кем именно они были совершены. Дополнительной защитой будет являться генерация новой пары "откры- тый/закрытый ключ" для каждой тран- закции: это предотвратит связывание различных платежей с их общим отпра- вителем или адресатом. Некоторого пуб- личного связывания все же не избежать: транзакции с несколькими входами дока- зывают, что эти суммы принадлежат одному лицу. Риск состоит в том, что раскрытие личности владельца ключа может привести к раскрытию и всех принадлежащих ему транзакций. Оценка вероятности "атаки 51%" Рассмотрим сценарий, в котором зло- умышленник пытается генерировать более длинную цепь блоков, чем честные участники. Даже если он преуспеет, это не приведет к тому, что можно будет создавать деньги из воздуха, присваи- вать себе чужие монеты или вносить иные произвольные изменения. Узлы никогда не примут некорректную тран- закцию или блок, содержащий ее. Ата- кующий может лишь пытаться изменить одну из своих транзакций, чтобы воз- вратить отправленные деньги. Гонку между честными участниками и нападающим можно представить как биномиальное случайное блуждание. Успешное событие, когда "хорошая" цепь удлиняется на один блок, приводит к уве- личению отрыва на единицу, а неуспеш- ное, когда очередной блок создает зло- умышленник, – к его сокращению. Веро- ятность атакующего наверстать разницу в несколько блоков такая же, как и в задаче о "разорении игрока". Представим, что игрок имеет неограниченный кредит, начинает с некоторым дефицитом и у него есть бесконечно много попыток, чтобы отыграться. Вероятность того, что он преуспеет, как и вероятность зло- умышленника догнать честных участни- ков, вычисляется следующим образом: p = вероятность появления блока в честной цепочке, q = вероятность того, что блок создаст атакующий, q z = вероятность того, что атакующий наверстает разницу в z блоков. В случае p > q вероятность уменьша- ется экспоненциально с ростом числа блоков, на которое отстает злоумыш- ленник. Поскольку все ставки против него, без удачного рывка в начале его шансы на успех становятся ничтожно малы. Рассмотрим теперь, как долго полу- чателю платежа стоит ждать, прежде чем он будет полностью уверен, что бывший владелец не сможет отменить транзакцию. Предположим, что зло- умышленник-отправитель позволяет адресату некоторое время верить, что платеж был проведен, после чего воз- вращает деньги себе. Получатель узнает об этом, но мошенник надеется, что будет уже слишком поздно. Адресат создает новую пару ключей и сообщает свой публичный ключ отпра- вителю прямо перед подписанием тран- закции. Это не позволит отправителю заранее начать работать над цепочкой и провести транзакцию в тот момент, когда он будет достаточно удачлив, чтобы совершить рывок вперед. После отправки платежа мошенник начинает втайне работать над параллельной вер- сией цепочки, содержащей альтерна- тивную транзакцию. Получатель ждет, пока транзакция не будет добавлена в блок и тот не будет продолжен еще z блоками. Ему неизве- стен прогресс злоумышленника, но если средняя скорость генерации честных блоков известная величина, то число блоков атакующего подчиняется рас- пределению Пуассона с математическим ожиданием: Чтобы получить вероятность того, что атакующий обгонит честных участников, необходимо умножить значение случай- ной величины (число созданных им бло- ков) на вероятность того, что он сможет наверстать оставшуюся разницу: Перегруппировав слагаемые и избав- ляясь от бесконечного ряда, получаем: Таким образом, разработчики пришли к выводу, что вероятность экспоненци- ально падает с ростом z. В биткоин- кошельках это было реализовано в виде подтверждения транзакций. Выводы При успешной реализации "атаки 51%", если будет иметь место сговор пулов или использование квантовых компьютеров, злоумышленники не смо- гут получить прибыль, поскольку это подорвет доверие к сети и произойдет крах курса биткоина. Для поддержания нормальной работы сети необходимо участие честных май- неров с соответствующими распреде- ленными мощностями. Но компаниям, часто принимающим платежи, необхо- димо подключаться к сети в обычном режиме, а не по упрощенной схеме, для большей независимости, безопасности и быстроты проверки блоков. Отдельно стоит отметить, что псевдо- анонимность биткоина позволяет ана- лизировать транзакции, кластеризовать адреса кошельков и, как следствие, идентифицировать личности злоумыш- ленников в случае инцидентов. Источники 1. https://bitcoin.org/files/bitcoin-paper/bit- coin_ru.pdf – вайтпейпер биткоина (офи- циальный перевод сообщества). 2. Сейфедин Аммус. Краткая история денег, или Все, что нужно знать о бит- коине. Перевод на русский язык, издание на русском языке, оформление. ООО "Манн, Иванов и Фербер", 2019. l • 45 КРИПТОГРАФИЯ www.itsec.ru Ваше мнение и вопросы присылайте по адресу is@groteck.ru

RkJQdWJsaXNoZXIy Mzk4NzYw