Сооснователь Ethereum Виталик Бутерин опубликовал третью, заключительную часть цикла, посвящённого обфускации с неразличимостью (indistinguishability obfuscation, iO). Новая работа рассматривает метод локального смешивания (local mixing), который, по его словам, представляет собой «совершенно иной способ заниматься криптографией».
Первая часть вышла 29 июня, вторая — 28 июля; в них разбирались конструкции, активно использующие решётки и эллиптические кривые. Локальное смешивание сознательно уходит от этих инструментов: в дизайне нет ни эллиптических кривых, ни факторизации простых чисел, ни решёток. Ближайшим родственником метода Бутерин называет симметричную криптографию, лежащую в основе повседневного шифрования и хеширования.
Процесс начинается с логической схемы из элементов XOR, AND и NOT. Затем схема проходит через несколько этапов: добавление обратимости, усиление, «гаджетизацию», смешивание и, наконец, обфускацию. На этапе смешивания в схему вводятся «мусорные» вентили, элементы переставляются, а небольшие блоки заменяются другими, вычисляющими то же самое. Бутерин подчёркивает, что само по себе смешивание недостаточно: основную нагрузку несут остальные шаги, а обратимость делает возможным весь дальнейший процесс.
Несмотря на новизну, Бутерин называет локальное смешивание «дикой и рискованной ставкой», стоящей на «кладбище провалившихся попыток white-box-криптографии». Он допускает, что дополнительные усилия и готовность принять более высокие накладные расходы могут сделать идею жизнеспособной. Один из предложенных путей ускорения — искусственный интеллект: он способен сжать десятилетия, необходимые для созревания хеш-функций, до нескольких лет.
В июньской публикации Бутерин назвал обфускацию «финальным боссом криптографии», а в новой работе — «последним рубежом криптографии». Он отмечает, что наиболее строгие конструкции имеют «буквально галактическое» время выполнения, превышающее срок существования Вселенной. Тем не менее обфускация может превратить программу в зашифрованную версию, которая продолжает работать с обычными входными данными и выдаёт обычные результаты, скрывая внутренний код. В связке с блокчейном это приближает появление «доверенной третьей стороны без доверия» и позволяет создавать приватное, устойчивое к сговору голосование без необходимости доверять M-of-N-комитету.