76 0

Биткоин: как усилить безопасность сделок

Дополнительная защита сделок с биткоинами исползуя приложение Catena

Биткоины можно считать реакцией сообщества ИТ-менеджеров, технически одаренных людей и программистов на финансовый кризис 2008 года. Биткоин – система цифровой валюты, предназначенная для перехвата контроля над денежно-кредитными системами центральных банков государств. Система распространения биткоинов позволяет каждому человеку «печатать» деньги при условии, что он или она может выполнять сложные вычисления при помощи своих компьютеров довольно быстро. При помощи особой системы умных протоколов эта система защищена от большинства действий самых прогрессивно мыслящих хакеров.
 Исследователи из Лаборатории искусственного интеллекта МТИ (Массачусетского технологического института) в Кембридже недавно представили публике свою систему защиты вычислений при транзакциях биткоинов, чтобы помочь разработчикам обезопасить их держателей от идентификации личности.

 – Мы разработали положение, которое позволит защитить сервис по распространению биткоинов от ложных срабатываний, – говорит исследователь Алин Томеску.
 – Когда ты строишь систему, основанную на распространении цифровых подписей, к примеру, такие системы могут быть скомпрометированы за счет задвоения кодов, один из которых –фальшивый.

Они посылают одному человеку одни данные, а другому – другие. Мы хотим это предотвратить.
 Многие крупнейшие разработчики вирусного ПО пристально следят за развитием рынка криптовалют. Атакуя подобные сервисы, они пытаются «сертифицировать», то есть криптографически подтвердить операции при помощи подставных ключей и кодов. Этот трюк помогает им завладеть некоторыми секретными данными о пользователе. Однако такие вредоносные программы не могут лишить статуса истинности настоящий код, не активировав систему тревоги в сети. В такой ситуации сервер подтверждает оба кода. Система, разработанная Алином Томеску в компании с Шрини Девадасом, Эдвином Сибли Уэбстером, защищает системы криптовалют от подобных задвоений.

 Поскольку биткоин полностью децентрализован, его контролирует особая система, называемая блокчейном, массовый публичный лог, который осуществляет каждую транзакцию с участием этой криптовалюты. Система впервые была введена в действие в 2009 году. До того момента защита от двойных кодов требовала скачивания всего блокчейна, который может достигать 110 гигибайт и более. Приложение Томеску и коллег, для примера, требует всего 40 мегабайт данных, то есть может работать даже на смартфоне.

 Удар по мошенникам

 Рост и развитие блокчейна – неотъемлемая часть процесса «чеканки» («майнинга»), в рамках которого в систему добавляются новые биткоины. Процесс «печатания денег» в форме цифровых валют строится на основе математической функции, называемой односторонней хэш-функцией. Она требует три типа вводных данных:
 1. последнего лога в блокчейне;
 2. данные о новом блокчейне (в рамках которого производитель получает вознаграждение в виде фиксированного количества новых биткоинов, в мае 2017 года это было 12,5 штук);
 3. целое число.
 На выходе функции появляется строка 1s и 0s.

 Процесс «печатания денег», то есть производства биткоинов, состоит из попыток найти значение для ввода целого числа, которое на выходе даст строку с предписанным номером ведущих 0s. Нет иного способа сделать это, кроме как методом перебора. Даже имея хорошую базу серверов, можно потратить на процесс около 10 минут. Это своего рода азартная игра: надо добавлять новую запись, или «блок», в блокчейн, которая аннулирует попытки других «майнеров». Им приходится начинать все сначала, добавляя вновь сгенерированный блок в качестве входного, а не выходного параметра.

 Процесс выработки новых биткоинов существенно осложняет квота на их производство. Новые блоки в блокчейне также генерируются и недавними сделками держателей монет. А если учесть, что на сегодня около 100 тысяч коммерческих предприятий мира принимают биткоины к оплате, то дело кажется и вовсе безнадежным. Верификация платежа, обмен записями между продавцом и клиентом тоже уходят в сеть в виде блоков. Эти транзакции добавляются к блокам, над которыми трудятся «чеканщики цифровых монет». Как только транзакция прописалась в сети, она становится частью публичных записей.

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

 Предыдущие схемы предотвращения задвоений хранили такие подписи в аннотации записей транзакции. Существующие структуры безопасности биткоина защищают от попыток фальсификации подписей.

 Но верификация того, что веб-сервис, использующий эти схемы, не имеет задвоений кодов, требует проверки каждой транзакции в каждом блоке во всем блокчейне. Или, по меньшей мере, каждого блока, который добавился в систему после того, как сервис начал работать с системой сертификации. Именно эту систему и попытался усовершенствовать Алин Томеску с коллегами.

 Проверка эффективности

 Основное требование системы биткоинов заключается в том, что никто не может потратить или получить одну и ту же монету более, чем в одном месте. Все умные протоколы и криптографические системы работают на то, чтобы предотвратить обратное.

 – Наша идея очень простая, до банального элементарная, – уверяет Томеску.

 Алин назвал свою систему «Катена» (Catena), она просто добавляет требование о том, что каждая транзакция биткоинов, которая требует логов в публичном пространстве, должна предусматривать фактическую передачу монет. Пользователи могут просто перевести биткоин самому себе, исключая возможность передачи биткоинов еще кому-то в том же блоке в цепи. Это позволяет избежать задвоения кодов внутри одного блока.

 Чтобы не было дублирования ключей между блоками, надо дополнительно подтвердить, что каждый биткоин, который тратится пользователем приложения «Катена» в одном блоке, это тот же самый биткоин, который тратился в том же блоке при последнем публичном подтверждении. Поскольку возможность верифицировать цепь биткоинов в депозитарии является центральной для успеха всей системы этой цифровой валюты, это довольно просто осуществить. Люди, которые хотят использовать приложение «Катена» для аудита всех публичных подтверждений конкретного веб-сервиса, должны загрузить информацию о каждом блоке в блокчейне. Но им надо скачать только небольшой кусок криптографического кода, примерно по 600 байт на каждый блок. Это намного меньше, чем вся информация, содержащаяся в блоке, которая может составлять мегабайт данных.

Комментарии

Комментариев нет. Стеньте первым!

Комментировать

Оставляя комментарий, Вы соглашаетесь с Политикой Конфиденциальности