Место для вашей рекламы

Виталик Бутерин описал технологию, которая может «решить криптографию» — но работает медленнее возраста Вселенной

Место для вашей рекламы
Разработка технологии Виталиком Бутериным которая изменит криптографию
Представьте, что вы даёте кому-то кофемашину. Человек может нажимать кнопки и получать коф, при этом не может разобрать машину, чтобы понять, как она устроена внутри, и уж тем более скопировать схему.

Именно это делает обфускация с программным кодом. Программу можно запустить и получить результат — но понять, что происходит внутри, или извлечь секретные данные невозможно. Код становится «чёрным ящиком».

Основатель Ethereum Виталик Бутерин опубликовал большую техническую статью, в которой объяснил, как работает эта технология, где она сейчас находится и почему это важно для будущего криптографии и блокчейна.

Почему это важно

Большинство современных криптографических систем решают одну задачу: как двум сторонам обмениваться данными так, чтобы никто посторонний не подслушал? Обфускация ставит другой вопрос: как запустить программу так, чтобы никто даже тот, кто её запускает не узнал, что внутри?

Это открывает принципиально новые возможности. По мнению Бутерина, обфускация в сочетании с блокчейном позволяет создавать системы, которым практически не нужно доверять никому:

  • Полностью приватное голосование — результат известен, механизм проверяем, но голос каждого человека скрыт на уровне математики, а не на уровне обещания организаторов.
  • Защищённые вычисления — можно запустить программу на чужих данных и получить результат, не видя самих данных. Применимо в медицине, финансах, разведке.
  • Смарт-контракты с секретами — сейчас весь код на блокчейне публичен. С обфускацией можно будет скрыть логику, сохранив возможность её выполнять.
Сегодня всё это требует «доверенной третьей стороны» — компании, комитета или регулятора, которому все должны верить. Обфускация позволяет убрать этого посредника.
«Протоколы Бога» (Ник Сабо), 1997 год
«Протоколы Бога» (Ник Сабо), 1997 год

Почему это пока не работает

Здесь начинается честная часть. Обфускация теоретически возможна и математики доказали это. Но текущие реализации настолько медленны, что их практическое применение невозможно.

Бутерин приводит конкретику: накладные расходы на вычисления измеряются в миллиардах миллиардов раз от нормального. Ожидаемое время выполнения реальных задач с помощью существующих протоколов превышает возраст Вселенной.

Проблема не в том, что кто-то плохо написал код. Проблема архитектурная: чтобы скрыть программу, нужно запустить её через несколько уровней шифрования одновременно, каждый уровень замедляет выполнение в тысячи раз, и все эти замедления перемножаются.

Есть ли надежда

Бутерин проводит параллель с ZK-доказательствами (zero-knowledge proofs). В начале 2010-х они тоже казались академической экзотикой без практического применения. Потребовалось десять лет умных оптимизаций, чтобы они стали стандартом в блокчейн-индустрии. Сейчас ZK используются в десятках протоколов.

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

Три направления, которые Бутерин считает перспективными: найти способ объединить существующие криптографические примитивы в более простую конструкцию; построить обфускацию на более агрессивных, но более простых математических предположениях; найти принципиально другой подход, вообще не использующий решётчатую криптографию.

Если один из этих путей сработает то по словам Бутерина, мы «решим проблему криптографии»: любой протокол, который можно описать через идеализированную доверенную третью сторону, можно будет реализовать без неё.

FAQ

1. Что такое обфускация?
Технология, превращающая программный код в «чёрный ящик». Программу можно запустить и получить правильный результат, но невозможно понять, как она устроена, или извлечь встроенные секреты.

2. Чем обфускация отличается от обычного шифрования?
Шифрование скрывает данные. Обфускация скрывает код - логику программы, а не её входные или выходные данные.

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

4. Когда это станет реальностью?
Неизвестно. Текущие реализации работают на галактических временных масштабах. 

Вопрос к читателю: Как думаете - обфускация повторит этот путь или останется академической экзотикой? Напишите в комментариях.

Комментарии

Комментариев пока нет. Будьте первым!