https://www.youtube.com/watch?v=fOGdb1CTu5c
- Привет, меня зовут Амит Сахай
- Hi, my name is Amit Sahai,
, я профессор компьютерных наук
and I'm a Professor of computer science
в инженерной школе Самуэли Калифорнийского университета в Лос-Анджелесе.
at the UCLA Samueli School of Engineering.
Сегодня меня попросили объяснить доказательства с нулевым разглашением
Today, I've been asked to explain zero-knowledge proofs
на пяти уровнях возрастающей сложности.
in five levels of increasing complexity.
Доказательство с нулевым разглашением — это способ для доказывающего
A zero-knowledge proof is a way for a prover to
убедить проверяющего в истинности некоторого утверждения,
convince a verifier that some statement is true,
но при этом не раскрыть никакой дополнительной информации,
and yet reveal no additional information
кроме того факта, что утверждение истинно.
beyond the fact that the statement is true.
Доказательства с нулевым разглашением используются в
Zero-knowledge proofs are being used in
блокчейнах и криптовалютах.
blockchains and cryptocurrencies.
Таким образом, криптографы в восторге от нулевого разглашения
So cryptographers are excited about zero-knowledge
из-за его удивительных математических свойств.
because of its amazing mathematical properties.
Но также из-за его невероятной применимости
But also because of its incredible applicability
к множеству различных сценариев.
to so many different scenarios.
[жизнерадостная игривая музыка]
[upbeat playful music]
Какой твой любимый предмет?
What's your favorite subject?
- Я бы сказал, математика.
- I'd say math.
Некоторые из небольших проблем на
Some of the small problems
самом деле могут быть очень большими и сложными.
can actually be really big and complicated.
Это как головоломка.
It's like a puzzle.
- Я люблю математику по той же причине.
- I love math for the same reason.
Сегодня я расскажу вам о такой штуке, как
Today, I'm gonna tell you about a thing called
доказательство с нулевым разглашением.
zero-knowledge proof.
Итак, в доказательстве с нулевым разглашением участвуют два человека.
So in a zero-knowledge proof, there are two people.
Есть доказывающий и проверяющий.
There's a prover and a verifier.
И я хочу доказать, что что-то верно для вас.
And I wanna prove that something is true to you.
Но странно то, что я хочу доказать вам, что это правда,
But the weird thing is, I wanna prove to you that it's true
не объясняя причин.
without telling you any reasons why.
Помню, когда я впервые услышал об этом,
I remember when I first heard about it,
я подумал: подождите, что?
I was like, wait, what?
Как это может быть?
How can that possibly be?
Верно? - Да.
Right? - Yeah.
- Так что вы видите на этом фото?
- So what do you see in this photo?
- [Челси] Много пингвинов.
- [Chelsea] A lot of penguins.
- Да. Среди всех этих пингвинов спрятался тупик.
- Yeah. Hidden along all these penguins is a puffin.
Хочешь попробовать поискать? Вы видите, где это?
Do you wanna try to look for it? Do you see where it is?
- Хм.
- Hmm.
- Я знаю, где это, но не хочу тебе говорить.
- I know where it is, but I don't wanna tell you.
Ты веришь мне?
Do you believe me?
Вы не уверены, что верите мне. Верно?
You're not sure to believe me. Right?
- Да.
- Yeah.
- А что, если бы я мог доказать вам,
- But what if I could prove to you
что знаю, где находится тупик,
that I know where the puffin is
не открывая вам, где он?
without revealing to you where it is?
Позволь мне показать тебе.
Let me show you.
Я сделал то фото, которое мы вам показывали.
I took that photo that we showed you.
И я разместил его за этим плакатом здесь.
And I put it behind this poster here.
Почему бы тебе не заглянуть в эту дыру?
Why don't you go take a look through that hole?
- Я вижу тупика.
- I see the puffin.
Итак, когда вы смотрите на эту доску,
So when you look at this board,
мы не знаем, где была фотография, верно?
we don't know where the photo was, right?
Фото было как с углом здесь?
Was the photo like with the corner here?
В этом случае тупик будет полностью на этой стороне.
In which case the puffin would be all the way at this side.
Или фото с уголком было здесь?
Or was the photo with the corner here?
В этом случае тупик будет на другой стороне.
In which case the puffin would be on the other side.
Итак, это действительно простой
So this is a really simple example
пример доказательства с нулевым разглашением.
of a zero-knowledge proof.
Я убедил тебя, что знаю, где тупик,
I convinced you that I knew where the puffin was,
но больше ты ничего не узнал.
but you didn't learn anything else.
- Почему вы изучаете доказательство с нулевым разглашением?
- Why do you study zero-knowledge proof?
- Когда я впервые узнал о них,
- When I first learned about them,
я просто подумал, что они такие крутые.
I just thought they were so cool.
Но оказывается, они также очень полезны
But it turns out they're also really useful,
не только для поиска тупиков.
not just for finding like, puffins.
Если вы просто введете свой пароль,
If you just type in your password
и хакер взломает компьютер,
and the hacker hacks into the computer,
он сможет получить ваш пароль.
they can just get your password.
Верно? - Да.
Right? - Yeah.
- Что, если вместо этого мы могли бы каким-то образом
- What if instead, we could somehow use
использовать доказательство с нулевым разглашением для входа в систему.
a zero-knowledge proof to log in.
Вы бы просто смогли доказать, что,
You would just be able to prove that,
эй, я Челси, ничего им не раскрывая.
hey, I'm Chelsea, without revealing anything to them.
Если бы вы могли это сделать, то это было бы потрясающе, не так ли?
If you could do that, then it would be amazing, right?
- Да.
- Yeah.
- Потому что тогда, даже если хакер взломает компьютер,
- Because then even if the hacker hacked into the computer,
он ничего не узнает.
he wouldn't learn anything.
Потому что даже компьютер ничему не учится.
Because even the computer doesn't learn anything.
Итак, Челси, по-вашему,
So Chelsea, in your own words,
что такое доказательство с нулевым разглашением?
what is a zero-knowledge proof?
- Доказательство с нулевым разглашением — это доказательство утверждения.
- Zero-knowledge proof is proof to a statement.
Вы не показываете им, почему или что.
You don't show them why or what.
Вы просто показываете им крошечный сегмент.
You just show them a tiny segment.
Или просто сделайте какой-нибудь
Or just do some sort of,
странный фокус [смеется],
weird magic trick [chuckles]
который на самом деле не фокус,
that's not really a magic trick,
и они будут убеждены.
and they will be convinced.
И вы не показали им, почему, или что-то в этом роде.
And you didn't show them why, or anything like that.
[жизнерадостная игривая музыка]
[upbeat playful music]
— Вы когда-нибудь слышали термин «
- So have you ever heard the term
доказательство с нулевым разглашением»?
zero-knowledge proof before?
- Я нет. Нет. - Нет. Верно.
- I have not. No. - You have not. Right.
Это способ доказывающего убедить верификатора в
It's a way for a prover to convince a verifier
том, что что-то верно, не раскрывая
that something is true without revealing
ничего о том, почему это правда, что звучит совершенно странно.
anything about why it's true, which sounds totally bizarre.
Верно? - Да.
Right? - Yeah.
- Как это может быть?
- Like how can that possibly be?
Что я хочу сделать, так это доказать вам, что я знаю эту комбинацию,
What I wanna do is prove to you that I know this combination
не раскрывая вам комбинацию.
without revealing the combination to you.
И что ты мог бы сделать, так это написать маленькую записку
And what you could do is you could write a little note,
, секрет, который я бы точно не узнал.
a secret that I definitely wouldn't know.
Сложите его, воткните сюда.
Fold it up, stick it in here.
И затем, если я знаю комбинацию,
And then, if I know the combination,
я смогу открыть ее и сказать вам, что вы написали.
I should be able to open it and tell you what you wrote.
[шуршит бумагой] Хорошо.
[paper rasps] All right.
[щелчок циферблата]
[dial clicking]
[щелчок замка]
[lock clicks]
Вот так. [щелкает замком]
There we go. [latch clacks]
Хорошо.
All right.
Итак,
So,
«Мою собаку зовут Дуг».
"My dog is named Doug."
Вы поняли, что это за комбинация?
Did you figure out what the combination was?
- Нет.
- No.
- Значит, нигде в этом взаимодействии
- So nowhere in this interaction,
вы не увидели никакой информации, которой вы еще не знали.
did you see any information that you didn't already know.
И все же я убедил вас, что знаю комбинацию.
And yet I convinced you that I know the combination.
Верно? - Да.
Right? - Yeah.
- Так какова точная цель доказательства с нулевым разглашением?
- So what's the exact purpose of a zero-knowledge proof?
Это похоже на доказательство чего-то,
Is it like proving something
но без предоставления достаточной информации, которая может
but without giving enough information that could
поставить под угрозу то, что вы доказываете?
endanger whatever it is that you're proving?
- Так ты спрашиваешь,
- So you're asking like,
почему бы мне просто не поделиться с кем-нибудь своими секретами?
why shouldn't I just share my secrets with somebody?
Люди не доверяют друг другу.
People don't trust each other.
И если бы я мог доказать
And if I was able to prove that I've
кому-то, что я сделал что-то правильно,
done something correctly to someone
не раскрывая своих секретов,
without having to reveal my secrets,
то этот человек больше доверял бы мне.
then that person would trust me more.
- Как это связано с компьютерными технологиями?
- How does this relate to computer technology?
Например, вы печатаете его на компьютере,
Like, do you type it into a computer
и кто-то другой его получает?
and somebody else receives it?
Или это личное общение?
Or is it an in-person interaction?
- Предположим, вы хотите обменяться сообщениями
- Suppose you wanted to exchange messages
с кем-то, кого вы знали.
with someone that you knew.
- М-м-м. - Что бы вы, ребята, сделали?
- Mm-hmm. - What would you guys do?
Вероятно, вы бы сначала собрались вместе и
You'd probably first get together and like,
придумали какой-нибудь секретный код, верно?
figure out some secret code, right?
А потом, например, писать сообщения друг другу в этом коде.
And then like, write messages to each other in that code.
Но что, если вы никогда раньше не встречали этого человека?
But what if you've never met the person before?
Что, если ты хочешь обменяться со мной секретными сообщениями,
What if you wanna exchange secret messages with me
а мы никогда раньше не встречались?
and we've never met each other before?
Как мы могли это сделать?
How could we possibly do that?
- Не имею представления.
- I have no idea.
- Звучит невозможно.
- It sounds impossible.
Верно? - Оно делает.
Right? - It does.
- Но это не так.
- But it's not.
Вы бы не использовали физический замок или физическую коробку.
You wouldn't use like, a physical lock, or a physical box.
Вместо этого мы бы использовали математику,
We would instead use mathematics
чтобы делать такие вещи.
to do these kinds of things.
Вы можете взять сообщение и зашифровать его с помощью математики.
You could take a message and encrypt it using mathematics.
И тогда я мог бы доказать вам, что знаю ключ,
And then, I could prove to you that I know the key,
я мог бы открыть его и отправить вам обратно.
I could open it up, and send it back to you.
Таким образом я докажу вам, что
That way I would be proving to you that I know
знаю математический ключ к математическому сейфу.
the mathematical key to the mathematical lockbox.
Итак, основываясь на том, что мы сегодня обсудили
So based on what we've discussed today,
, вашими словами, что такое доказательство с нулевым разглашением.
in your own words, what is a zero-knowledge proof.
- Это как если у вас есть действительно важный секрет
- It's like, if you have this really important secret
, о котором вы хотите, чтобы кто-то узнал,
that you want somebody to know about,
но вы не хотите рассказывать им все.
but you don't want to tell them everything.
Вы можете использовать доказательство с нулевым разглашением, чтобы
You can use a zero-knowledge proof to
доказать им этот секрет, но не раскрывать его полностью.
prove to them that secret, but not give away all of it.
[жизнерадостная игривая музыка]
[upbeat playful music]
- Что ты изучаешь?
- What are you studying?
- Я учусь на первом курсе компьютерных наук в Университете Южной Калифорнии в Витерби.
- I'm a first-year computer science student at USC Viterbi.
Меня интересуют все такие вещи, как
I'm interested in all things like,
данные, интернет, блокчейн и криптовалюта.
data and internet and blockchain and cryptocurrency.
- Вы когда-нибудь слышали о доказательствах с нулевым разглашением?
- Have you ever heard of zero-knowledge proofs?
- Только мимоходом.
- Only in passing.
- Так что на самом деле пространство блокчейна — это
- So actually, in the blockchain space is
одно из пространств, где мы наблюдаем
one of the spaces where we are seeing
внедрение доказательств с нулевым разглашением.
zero-knowledge proofs being implemented.
И я думаю, что это только начало.
And I think it's just the beginning.
Давайте поговорим о доказательствах с нулевым разглашением.
Let's talk about zero-knowledge proofs.
По своей сути доказательство с нулевым разглашением
At its core, a zero-knowledge proof
— это взаимодействие между двумя людьми.
is an interaction between two people.
Тогда я смогу убедить вас,
Then I should be able to convince you
что какое-то утверждение верно,
that some statement is true,
но вы не будете знать, почему оно истинно.
but you won't have any idea why it's true.
- Я, например, пойму, что это правда, потому что, типа,
- Will I, like, understand that it's true because like,
вы знаете, операции, выполняемые в доказательстве, являются
you know, the operations performed in the proof are like,
как бы некими, ну, вы знаете, у
of a certain, like, you know,
них есть вроде бы определенные атрибуты
they have like, certain attributes
, которые делают их истинными?
that would make them true?
- В основном ты спрашиваешь, подожди, что?
- What you're basically asking is, wait, what?
[оба смеются] Верно? Верно.
[both laughing] Right? Right.
Вот что делает доказательство с нулевым разглашением таким увлекательным
So this is what makes zero-knowledge proof so fascinating,
и таким нелогичным.
and so counter-intuitive.
И я думаю, что лучший способ объяснить это вам
And I think the best way I can explain it to you
— это привести пример.
is by means of an example.
Но прежде чем мы это сделаем, я должен решить,
But before we do that, I have to decide
что я собираюсь доказать вам
what I'm gonna prove to you in a,
с помощью доказательства с нулевым разглашением. - Звучит неплохо.
with a zero-knowledge proof. - Sounds good.
- И мы собираемся подойти к этому с
- And the way we're gonna approach this
помощью так называемой NP-полноты.
is through something called NP-completeness.
Что такое NP-полная проблема,
What an NP-complete problem is,
так это проблема, которую действительно трудно решить.
it's a problem that's really hard to solve.
Но если вы можете решить ее,
But if you can solve it,
вы можете решить любую
you can solve any problem
задачу класса NP.
that's in the class NP.
А это включает в себя огромное количество проблем.
And that includes a vast number of problems.
И что мы собираемся сделать, так это
And what we're gonna do is we're gonna
использовать NP-полную задачу, чтобы фактически доказать
use an NP-complete problem to actually prove
невероятное разнообразие утверждений с
an incredible variety of statements
помощью доказательства с нулевым разглашением.
through a zero-knowledge proof.
И конкретная задача Np-complete,
And the specific Np-complete problem
которую мы собираемся рассмотреть,
that we're gonna be looking at
называется трехцветной раскраской карты.
is called map three-coloring.
Итак, у нас есть карта. Хорошо.
Okay, so here we have a map. Okay.
А это куча стран.
And these are a bunch of countries.
И мы расположили их так,
And we've arranged them so that
чтобы страны одного цвета не имели общей границы.
no countries that have the same color share a border.
Вот что делает такую карту правильно ок�
That's what makes a map like this validly colored.
ашенной. И теперь вы можете подумать, ну и какое нам дело?
And now you might think, well, why should we care?
Оказывается, вопрос о том, можно ли
It turns out that whether or not a map can be
таким образом раскрасить карту в три цвета,
three-colored in this way
является примером NP-полной задачи.
is an example of an NP-complete problem.
И оказывается, что,
And it turns out that, you know,
может быть, вы действительно
maybe what you really wanna do,
хотите предоставить доказательство с нулевым разглашением того,
is you wanna give a zero-knowledge proof
что у вас есть как минимум 0,3 биткойна, верно?
that you have at least 0.3 Bitcoins, right?
Было бы здорово. - [смеется] Ага.
That would be cool. - [chuckles] Yeah.
- Не раскрывая адрес вашей учетной записи.
- Without revealing what the address is of your account.
Оказывается, я могу взять это заявление о том,
It turns out I can take that statement
что у меня есть как минимум 0,2 биткойна,
that I have at least 0.2 Bitcoins,
и преобразовать его в карту стран.
and convert it into a map of countries.
И эта карта стран будет трехцветной,
And that map of countries will be three-colorable like this
только если у вас есть хотя бы 0,2 биткойна.
only if you have at least 0.2 Bitcoins.
- Как бы мы превратили нечто подобное
- How would we turn something like this
в доказательство с нулевым разглашением?
into a zero-knowledge proof?
- Конечно, первым делом
- Of course, the first step is
мы должны стереть все цвета.
we have to erase all the colors.
Что я сделал, так это поместил цвет
What I've done is I've put a color
в каждый из этих конвертов.
inside each of these envelopes.
Теперь, как вы знаете, что это допустимая окраска?
Now, how do you know that it's a valid coloring?
Вы не знаете. Верно?
You don't. Right?
Вы должны выбрать любые две соседние страны.
You have to pick any two neighboring countries.
Вы можете выбрать их, как вам нравится. Наугад.
You can pick them however you like. At random.
- Могу я получить эти два?
- Can I get these two?
- Эти двое? - Да.
- These two? - Yeah.
- Отлично. Звучит неплохо. Верно?
- All right. Sounds good. Right?
Здесь у нас есть зеленый, не так ли?
Here we have green, right?
А здесь у нас синий. Хорошо.
And over here, we have blue. Okay.
И, как видите, они двух разных цветов.
And as you can see, they're two different colors.
- М-м-м. - Верно?
- Mm-hmm. - Right?
Итак, у вас есть некоторая уверенность, верно,
So you have a little bit of confidence, right,
что мне удалось правильно раскрасить это.
that I have managed to color this correctly.
но не такая уж уверенность.
but not that much confidence.
Потому что я показал тебе только две страны.
'Cause I've only shown you two of the countries.
- Да. - Верно?
- Yeah. - Right?
Итак, теперь, конечно, один из способов обрести больше уверенности
So now, of course, one way to get more confidence
— открыть для вас больше из них,
is to open up more of them for you,
но это будет означать раскрытие информации для вас.
but that would be revealing information to you.
Я не хочу этого делать.
I don't wanna do that.
Поэтому вместо этого я попрошу вас повернуться.
So instead, I'm gonna ask you to please turn around.
А теперь давайте изменим эти цвета.
And now, let's change up these colors.
Вы можете выбрать две страны наугад,
Can you pick two countries at random
и мы снова покажем два цвета.
and we'll reveal two of the colors again.
- Я возьму этот и этот.
- I'll take this one and this one.
- Хороший.
- Nice.
И это умно с твоей стороны, чтобы свериться с
And that's smart of you to check with
тем же самым из тех, что у тебя уже были.
the same one of the ones you already had.
Верно? - М-м-м.
Right? - Mm-hmm.
- Но, как вы увидите, теперь он не зеленый,
- But as you'll see, now it's not green,
а синий.
it's blue.
А этот, наоборот
And this one on the other hand,
, зеленый.
is green.
Хорошо.
Okay.
Цвета, которые я показал вам в прошлый раз,
The colors I showed you last time,
не работают с этими новыми цветами, верно?
don't work with these new colors, right?
Раньше это не сработало.
This wouldn't have worked before.
- Да, из-за этого, да?
- Yeah, because of this one, right?
- Точно. Верно.
- Exactly. Right.
Но это работает для этой окраски
But it works for this coloring
, которую я показываю вам прямо сейчас.
that I'm showing you right now.
Итак, что мы сделали, так это сделали невозможным для вас
So what we've done is we've made it impossible for you
соединение кусочков.
to put the pieces together.
А если сделать это, скажем, тысячу раз.
And if you do this, let's say, a thousand times.
И если бы я правильно показывал вам разные цвета,
And if I correctly showed you different colors,
каждую тысячу раз, вы бы действительно убедились.
each thousand times, you'd be really convinced.
Вот и все. Это все доказательство с нулевым разглашением.
And that's it. That's the entire zero-knowledge proof.
- Ох, ну ладно. - Хорошо?
- Oh, okay. - Okay?
- То есть, нет фактического, типа, явного,
- So is it like, there's no actual, like, explicit,
типа, шага первого, шага второго,
like, step one, step two,
шага третьего. - [Амит] Нет.
step three. - [Amit] No.
- Это просто вероятностное доказательство.
- It's just like, a probabilistic proof all.
- Да, в реальной реализации мы бы не использовали конверты.
- Yeah, in actual implementations we wouldn't use envelopes.
- Да. - Вы бы использовали шифрование.
- Yeah. - You would use encryption.
Верно.
Right.
Но на самом деле это протокол.
But it's really, this is the protocol.
- Итак, каковы более широкие
- So what are the broader implications
последствия подобных доказательств с нулевым разглашением?
of like, zero-knowledge proofs.
Должны ли они быть похожи, более практичны для
Are they supposed to be like, more practical for like,
реализации и/или, должны ли они нравиться,
implementation, and or, are they supposed to like,
структурно что-то доказывать?
structurally prove something?
- Дело не в том, чтобы сделать что-то более эффективным.
- It's not about making something more efficient.
Речь идет о том, чтобы делать вещи, которые мы просто
It's about doing things that we just
не знали, как делать раньше.
didn't know how to do before.
Я действительно могу доказать вам, не раскрывая вам
I can actually prove to you without revealing to you
ни одного из моих секретов, которые я использую, чтобы вести себя честно.
any of my secrets that I use to behave honestly.
Верно?
Right?
Я мог бы доказать вам, что я
I could prove to you that I
правильно подписал какой-то зашифрованный документ.
signed some encrypted document correctly.
Верно?
Right?
Не раскрывая вам, что это был за секретный документ.
Without revealing to you what that secret document was.
Эта способность изменить игру.
That ability to change the game.
Мол, на самом деле просто изменить то, что мы можем сделать,
Like, really just change what we can do
— это то, что приносит с собой нулевое знание.
is what zero-knowledge brings to the table.
- Как вы думаете, где мы могли бы построить больше доверия,
- Where do you think we could build like, more trust
используя доказательства с нулевым разглашением?
using like, zero-knowledge proofs?
- Верно. - А это реализации?
- Right. - And it's implementations?
- Один прекрасный пример, как на выборах.
- One great example is like in elections.
Если бы вы могли доказать, что выборы были проведены правильно.
If you could prove that an election was correctly conducted.
Что каждый голос был подсчитан,
That every vote was counted,
и все это в сумме привело к победе одного человека
and it all added up to one person winning
с определенной суммой, с нулевым разглашением,
with a particular total, in zero-knowledge,
тогда вам не нужно отказываться
then you don't have to give up
от фактических голосов любого человека.
the actual votes of any person.
И все же все могли видеть, что,
And yet everyone could see that,
эй, да, это было сделано правильно.
hey, yeah, it was done correctly.
[легкая воздушная музыка]
[light airy music]
Как здорово, что ты здесь и можешь поговорить с тобой, Илай.
It's so great to have you here and to talk with you, Eli.
Не могли бы вы немного рассказать о ваших исследованиях?
Can you tell me a little bit about your research?
- Мои исследования в области криптографии.
- My research is in cryptography.
В частности, я работаю над некоторыми различными
Specifically, I'm working on some various
многосторонними вычислительными протоколами.
multi-party computation protocols.
Сейчас я работаю над
The one I'm working on right now is
системой для вычисления совокупной статистики.
a system for computing aggregate statistics.
Чтобы поставщики услуг, такие как Google Chrome или Tesla,
So that service providers like, Google Chrome or Tesla,
могли собирать эту статистику,
can collect those statistics
ничего не узнавая о данных отдельных пользователей.
without learning anything about individual user's data.
- Это потрясающе.
- That's awesome.
- Я, как пользователь, не обязан сообщать Firefox,
- I, as a user, don't have to let Firefox know
что мой любимый веб-сайт — mylittlepony.com.
that my favorite website is mylittlepony.com.
[Амит смеется]
[Amit laughs]
Но они могут знать, сколько пользователей
But they can know how many users
заходят на mylittlepony.com каждый день.
go to mylittlepony.com every day.
- Это близко и дорого моему сердцу.
- That's near and dear to my heart.
Многосторонние вычисления.
Multi-party computations.
- Очевидно, что доказательства с нулевым разглашением предназначены для
- Obviously, zero-knowledge proofs are about
доказательства чего-либо другому человеку
proving things to another person
без раскрытия деталей
without revealing the details of
того, что вы доказываете.
what it is that you're proving.
Но знаете, на мой взгляд, нулевое знание на
But, you know, in my mind, zero-knowledge
самом деле выходит за рамки этого.
actually goes even further beyond that.
Это похоже на эту всеобъемлющую концепцию,
It's like this overarching concept
которую вы можете увидеть в многосторонних вычислениях,
that you can see a lot in multi-party computation,
когда вы хотите выполнить какую-то задачу,
where you wanna accomplish some sort of task
не раскрывая ничего, кроме того
without revealing anything more than
, что именно вам нужно для выполнения этой задачи.
exactly what you need to accomplish that task.
- Верно, и это позволяет вам доказать,
- Right, and it allows you to prove
что вы вели себя честно,
that you've been behaving honestly,
не раскрывая никаких секретов, которые вы используете,
without revealing any of the secrets involved that you use
чтобы вести себя честно.
to actually behave honestly.
Итак, мы, конечно, знаем, что
So we of course know that
доказательства с нулевым разглашением для NP-полных языков
zero-knowledge proofs for NP-complete languages
играют огромную роль в криптографии.
plays such a huge role in cryptography.
Мне любопытно.
I'm curious.
Каким был ваш первый опыт работы с Np-полнотой?
What was your first experience with Np-completeness like?
- Да, так что я впервые столкнулся с NP-
- Yeah, so my first encounter with NP-completeness
полнотой на самом первом курсе по алгоритмам,
was in my very first algorithms class
который я посещал, будучи студентом.
that I took as an undergraduate.
Итак, это было мое первое знакомство.
So that was my first introduction.
Разве что NP-полный язык — это вот эта
Is that an NP-complete language is this
удивительная задача, которая не просто расскажет вам о себе,
amazing problem that not only tells you about itself,
но решение этой задачи на самом деле может рассказать вам
but solving this problem can actually tell you about
о целом классе действительно интересных задач.
an entire class of really interesting problems.
- Когда вы впервые начали думать о доказательствах
- When you first start to think about proofs
как об интерактивной игре, в которой мы разговариваем друг с другом
as an interactive game where we're talking to each other,
, сделало ли это возможным нулевое разглашение?
did that make zero-knowledge possible?
- Абсолютно.
- Absolutely.
- [Амит] Верно. - Да.
- [Amit] Right. - Yeah.
- А сама мысль о случайности - Ага.
- And the idea that randomness - Yeah.
- может быть полезно для доказательства чего-либо.
- could be useful for proving something.
Опять же, кажется таким нелогичным,
Again, seems so counter-intuitive
если мы подумаем об этом платоническом идеале доказательства, верно?
if we think about this platonic ideal of a proof, right?
Там нет никакой случайности, нет никакой недетерминированности
There's no randomness, there's no non-determinism
. - Да.
that's present there. - Yeah.
И это связано со
And it has to do with, you know,
всей этой идеей перевернуть доказательство с ног на голову.
this whole idea of flipping a proof on its head.
Вы знаете, в старом классическом доказательстве
You know, in an old classical proof,
случайность прямо противоречит цели
randomness is specifically against the goal
того, что вы пытаетесь сделать.
of what you're trying to do.
- Верно. - Потому что ты
- Right. - Because you're
пытаешься сделать все очевидным
trying to make everything obvious,
и пытаешься раскрыть поток информации.
and you're trying to reveal the flow of information.
- Конечно. - Но как только вы
- Indeed. - But once you
перевернете это с ног на голову и больше не будете
flip that on its head and you're
пытаться это делать, внезапно
no longer trying to do that, suddenly
все плохие свойства случайности станут хорошими.
all of the bad properties of randomness become good.
- Точно. Верно.
- Exactly. Right.
Потому что случайность непредсказуема, и это то, чего мы хотим.
Because random is unpredictable and that's what we want.
Верно.
Right.
Мы хотим, чтобы эта непредсказуемость вокруг нас использовалась,
We want that unpredictability around us to be utilized,
чтобы на самом деле скрыть информацию, которую мы хотим скрыть.
to actually hide the information that we wanna hide.
Как вы использовали свои знания
How have you used your knowledge
в проектах, над которыми работали?
in the projects that you've worked on?
Какие проблемы вы обнаружите?
What are the challenges that you find?
- По моему опыту, обычно самое сложное — это
- In my experience, usually the hardest part is
выяснить, где именно лучше всего его использовать.
figuring out exactly where the best place is to use it.
В прошлом я написал несколько статей, в
I've written some papers in the past
которых нулевое знание использовалось более теоретически.
that have used zero-knowledge in a more theoretical way.
Но когда дело доходит до приложений,
But when it comes to applications,
некоторые из самых интересных приложений, которые я видел до сих пор
some of the most exciting applications that I've seen so far
, были в пространстве блокчейна.
have been in the blockchain space.
- Итак, какие
- So what are some of the
узкие места эффективности вы обнаружили?
efficiency bottlenecks that you find?
- С точки зрения эффективности,
- In terms of efficiency,
одна из самых крутых вещей в доказательствах с нулевым разглашением
one of the coolest things about zero-knowledge proofs
состоит в том, что их так много видов.
is that there's so many kinds.
- Верно. - Мне нравится называть их вкусами.
- Right. - I like to call them flavors.
Я думаю, что в целом,
I think that in general,
когда вы используете доказательства с нулевым разглашением в приложении
when you're using zero-knowledge proofs in application,
, основным узким местом, как правило, является доказывающий.
the main bottleneck tends to lie on the prover.
- Можете ли вы взять работу доказывающего
- Can you take the prover's job
и разделить ее на множество параллельных вычислений?
and split it up into lots of parallel computations?
- Ох. Это такой забавный вопрос.
- Ooh. That's such a fun question.
- Это такой отличный вопрос.
- It's such a great question.
И да, я думаю, что мы до сих пор не знаем ответа на этот вопрос,
And yeah, I think we still don't know the answer to that,
как поле.
as a field.
— Одна из самых крутых вещей, которые я видел за последние,
- One of the coolest things I've seen over the past,
знаете, три-четыре года,
you know, three or four years,
когда я занимался подобными вещами,
when I've been working on this kind of stuff,
— это переход от теоретического к прикладному.
is the transition from theoretical to applied.
- Верно. - И видя, что все эти
- Right. - And seeing all of these
удивительные системы, о которых люди
amazing systems that people have
думали за последние 30 лет,
thought of in the past 30 years,
начинают становиться достаточно эффективными, чтобы их можно было сделать.
start to actually get efficient enough to be actually made.
- Без сомнений.
- No doubt.
И особенно с облачными вычислениями,
And especially with cloud computing,
использование возможностей облака
exploiting the power of the cloud
для обеспечения доказательств с нулевым разглашением
to enable zero-knowledge proofs,
и использование доказательств с нулевым разглашением
and to make use of zero-knowledge proofs,
было бы удивительным.
would be amazing.
- Да. Абсолютно.
- Yeah. Absolutely.
- А также в пространстве блокчейна, например,
- And also in the blockchain space, for example,
если вы хотите ускорить генерацию доказательств,
if you wanna speed up the generation of proofs,
если бы это можно было сделать распределенным способом,
if that could be done in a distributed way,
тогда это было бы здорово.
then that would be great.
Одна из надежд, которые у меня есть, заключается в том,
One of the hopes that I have is that
что сила многосторонних вычислений
the power of multi-party computation
заключается в объединении людей
is about bringing people together
, которые взаимно не доверяют друг другу.
who are mutually distrustful.
- Да. - Верно.
- Yeah. - Right.
Можем ли мы взять ту силу, которая есть в криптографии,
So can we take that power that's there in the cryptography,
и использовать ее, чтобы как-то помочь с
and use it to somehow help with the
огромным уровнем недоверия - [Эли] Да.
tremendous level of mistrust - [Eli] Yeah.
- что существует в обществе прямо сейчас
- that exists in society right now,
, помогая объединять группы людей?
in helping to bring groups of people together?
- Думаю, это одна из причин, по которой меня так
- I think that's one of the reasons that I was so drawn
привлекли многопартийные вычисления.
to multi-party computation in the first place.
На мой взгляд, одна из самых важных проблем в мире
In my mind, one of the most important problems in the world
заключается в том, что так много людей не доверяют друг другу.
is the fact that so many people don't trust each other.
Я думаю, что иметь возможность использовать математику для создания технологий
And to be able to actually use math to create technology
, которые позволят людям работать вместе,
that can allow people to work together
не доверяя друг другу,
without having to trust each other,
— это действительно крутая и потрясающая миссия.
is a really cool and awesome mission, I think.
[легкая воздушная музыка]
[light airy music]
- Шан-Хуа, так здорово снова тебя видеть.
- Shang-Hua, it's so great to see you again.
Я думаю, что в последний раз мы встречались в 2017 году или что-то в этом роде.
I think last time we met was in 2017 or something like that.
- Я думаю, что мы один раз зумили во время пандемии,
- I think we Zoomed once during the pandemic,
но приятно видеть вас лично.
but it's good to see you in person.
- Верно. Абсолютно. [хихикает]
- Right. Absolutely. [chuckles]
- И на самом деле, в 1986 году я посещал курсы по криптографии
- And actually, in '86 I was taking a crypto class
с профессором Леонардом Эдельманом, отличником RSA.
with Professor Leonard Edelman, the A of RSA.
И он поручил мне статью
And he assigned me the paper by
Голдвассера, Микали и Чарли
Goldwasser, Micali, and Charlie Rackoff
Ракоффа о доказательстве с нулевым разглашением.
on zero-knowledge proof.
Так что это действительно моя первая презентация
So that's indeed my first ever presentation,
в этой стране.
ever, in this country.
- Было о нулевом знании. Это потрясающе.
- Was about zero-knowledge. That's awesome.
- [Шан-Хуа] Было о нулевом знании, да.
- [Shang-Hua] Was about zero-knowledge, yes.
- Это такая почти гипнотическая концепция.
- It's such a almost hypnotic concept.
- Это также интересный
- It's also an interesting way
способ математически сформулировать эти понятия, верно.
how mathematically to formulate those concepts, right.
Например, у нас есть данные.
For example, we have data.
Затем, в конце концов, мы начали с данных, таких как интеллектуальный анализ данных,
Then eventually we started from data, like data mining,
вы можете получить информацию,
you can get the information,
и тогда у вас есть это слово, называемое знанием.
and then you have this word called knowledge.
- [Амит] Правильно - Правильно.
- [Amit] Right - Right.
Таким образом, знание долгое время обсуждалось даже в философии.
So knowledge has been long debated, even in philosophy.
Что такое знание? - Конечно.
What is knowledge? - Indeed.
- Но вот очень увлекательный путь
- But here is a very fascinating way
математиков или компьютерщиков
mathematicians or computer scientists
- Верно. - хочется как-то
- Right. - want to somehow
зафиксировать это знание.
capture this knowledge.
Там не говорилось о доказательстве нулевой информации.
It didn't say zero-information proof.
- [Амит] Верно. - Так что вы думаете
- [Amit] Right. - So what's your take
о том, почему знание, а не информация,
on why knowledge is, rather than information,
или доказательство с нулевыми данными.
or zero-data proof.
Очевидно, там есть данные.
Clearly, there's data there.
Так что не может быть нулевых данных.
So can't be zero-data.
- Абсолютно.
- Absolutely.
Я не думаю, что у нас все еще есть
I don't think we still have a
полностью удовлетворительный ответ на этот вопрос.
completely satisfactory answer to that question.
Что было таким прекрасным прозрением,
What was so, such a beautiful insight,
как я уверен, вы знаете,
as I'm sure you know,
так это идея нулевого знания
is that the idea of zero-knowledge
- Мм-хм. - быть чем-то,
- Mm-hmm. - being something
что вы уже можете предсказать.
that you can already predict.
Верно. - М-м-м.
Right. - Mm-hmm.
- Если вы уже можете предсказать ответ,
- If you can already predict the answer,
то, должно быть, вы не получаете никаких знаний в
then you must not be gaining any knowledge
результате этого взаимодействия.
by that interaction.
Это озарение способности точно предсказывать будущее
This insight of being able to predict the future accurately,
, свидетельствующее об отсутствии новых знаний,
and that being an evidence of a lack of new knowledge,
- [Шан-Хуа] Мм-хм. - было такое
- [Shang-Hua] Mm-hmm. - was such a
прекрасное прозрение, такое удивительное прозрение.
beautiful insight, such an amazing insight.
- Ну тут не нулевая информация.
- Well there's not zero-information here.
По сути, я, ясно с
Fundamentally I, clearly from
точки зрения вычислений, с точки зрения безопасности
computing perspective, security perspective,
, сколько знаний вы получаете, я думаю.
is how much knowledge you're gaining, I guess.
Больше, чем то, сколько информации вы получили.
More than how much information you've gained.
- [Амит] Действительно. - А сколько у вас данных.
- [Amit] Indeed. - And how much data you have.
Верно. - [Амит] Верно.
Right. - [Amit] Right.
- Так что данные тогда сразу подразумевают знание.
- So that data then immediately imply, a knowledge.
Но люди иногда не могут.
But people can't, sometimes.
- Верно. Иногда.
- Right. Sometimes.
Я имею в виду, например, в медицинских исследованиях
I mean, for example, in medical research,
, как удивительно
how amazing would it be, right,
было бы иметь лекарство и быть в состоянии доказать,
to be able to have a drug, and be able to prove
что мое лекарство работает
that my drug works
в этой модели. - М-м-м.
in this model. - Mm-hmm.
- И тем не менее, не обязательно
- And yet, not have to actually
раскрывать структуру соединения.
reveal the structure of the compound.
- Что, в настоящее время, вы говорите,
- What, currently, you're saying
это будут следующие направления
it would be the next directions
в этом пространстве. - Какие следующие большие дела?
in this space. - What's the next big things?
- Да. - Да.
- Yes. - Yeah.
Эта концепция программ с нулевым разглашением
This concept of zero-knowledge programs
позволит вам выполнять
would allow you to carry out
совершенно произвольные вычисления
completely arbitrary computations
— м-м-м. - с нулевым разглашением,
- Mm-hmm. - in a zero-knowledge way,
без какого-либо взаимодействия, правильно.
without any interaction, right.
Я могу просто взять программу,
I can just take the program,
преобразовать ее в программу с нулевым разглашением
convert it to a zero-knowledge program,
или в запутанную программу,
or an obfuscated program,
а затем просто отправить ее вам. - М-м-м.
and then just send it to you. - Mm-hmm.
- И тогда вы можете запустить его
- And then you can run it
и получить выгоду от этого вычисления
and gain the benefit of that computation
без необходимости говорить со мной больше.
without having to talk to me anymore.
- Вот так.
- That's right.
Там неинтерактивный характер.
There's a non-interactive nature.
- [Амит] Неинтерактивный характер.
- [Amit] The non-interactive nature.
- Но в этом есть проверяемость.
- But there's verifiability in it.
- Конечно.
- Indeed.
- Иногда, когда, например,
- Sometimes when, for example,
когда у вас многопротокольный обмен,
when you have multi-protocol exchange
который, знаете, просто как случайное число,
that, you know, just like a random number showed up,
вы должны ввести случайное число.
you have to enter the random number.
- В качестве аутентификации, да. - Аутентификация, правильно.
- As authentication, yes. - Authentication, right.
Теперь я ясно думаю, что в цепочке блоков
Now clearly I think in block chain,
они также начали включать больше
they also began to incorporate a more
- действительно. - общие знания о доказательствах
- Indeed. - general knowledge of proof
в бухгалтерской книге.
in the ledger.
- Сейчас мы определенно находимся в том моменте,
- We're definitely at this moment now,
когда нулевое разглашение будет использоваться все больше и больше.
where zero-knowledge is gonna be used more and more.
В пространстве с нулевым разглашением происходит так много конференций и встреч
There are so many conferences and meetings
,
that occur in the zero-knowledge space,
куда нас с вами не приглашают.
where you and I are not invited.
[Шан-Хуа смеется] Потому что это
[Shang-Hua laughs] Because it's for
для людей, которые развиваются.
the people who are developing.
Вы знаете, люди, которые программируют, а
You know, the people who are programming,
не мы, математики.
not us mathematicians.
- [Шан-Хуа] Да, да.
- [Shang-Hua] Yes, yes.
- И я думаю, что это знак.
- And I think that's a sign.
Это признак того, что наш ребенок вырос и,
That's a sign that our baby has grown up and,
[смеется Шан-Хуа], вы знаете, пришло время
[Shang-Hua laughs] you know, it's time
для его развития.
for it to be developed.
- Я серьезно думаю, что студенты часто также спрашивают меня,
- I think, profoundly, the students often also ask me,
каково будущее направление,
what are the future direction,
как с точки зрения криптографии, доказательства с нулевым разглашением,
both in terms of crypto, zero-knowledge proof,
в реальном мире, так и с точки зрения математики в вычислениях.
in the real world and how mathematical you see in computing.
- Отличный вопрос. Хотел бы я видеть будущее.
- It's a great question. I wish I could see the future.
Я не могу на самом деле, но позвольте мне попробовать.
I can't actually, but let me try.
Часть этого, на которую мне удобнее всего отвечать,
The part of that that I'm the most comfortable answering
— это, конечно, математическая сторона.
is of course the mathematical side.
- М-м-м. - Я думаю, что,
- Mm-hmm. - I think that there is,
знаете, мы так много сделали в криптографии
you know, we've done so much in cryptography
за последние несколько десятилетий,
over the last few decades,
но так мало понимаем.
but we understand so little.
- М-м-м - Знаешь,
- Mm-hmm - You know,
мы и сегодня так мало понимаем.
even today we understand so little.
И я думаю, что наиболее фундаментальным аспектом этого
And I think the most fundamental aspect of that
является понимание твердости.
is understanding hardness.
Как мы получаем сложные проблемы? - М-м-м.
How do we get hard problems? - Mm-hmm.
- Как мы на самом деле строим математически сложные задачи
- How do we actually build mathematically hard problems
, чтобы затем использовать их для создания эффективных программ с
so that we can then use them to build efficient
нулевым разглашением? - [Шан-Хуа] М-м-м.
zero-knowledge programs. - [Shang-Hua] Mm-hmm.
- И эффективные доказательства с нулевым разглашением, верно?
- And efficient zero-knowledge proofs, right?
- Я также думаю, что в квантовых вычислениях
- I guess also, in quantum computing,
вам нужны еще более сложные задачи.
you need even harder problems.
- Конечно. Абсолютно.
- Indeed. Absolutely.
Вы знаете, теперь, когда у нас есть
You know, now that we have the
призрак квантовых вычислений - [Шан-Хуа] Да, да.
specter of quantum computing - [Shang-Hua] Yes, yes.
- приближается к нам, и мы все знаем, что
- coming at us and we all know that
квантовые компьютеры могут взломать множество
quantum computers can break a lot of
криптографических систем. - Да. Глубокий вызов.
cryptographic systems. - Yes. A profound challenge.
- Это серьезный вызов.
- It's a profound challenge.
Так можем ли мы найти новые источники твердости,
So can we find new sources of hardness
которые будут квантово-устойчивыми? - [Шан-Хуа] Верно.
that are quantum-resistant? - [Shang-Hua] That's right.
- Что даже квантовые компьютеры не могут сломаться.
- That even quantum computers can't break.
И это то, над чем я
And that's something I've been working on
работал последние несколько лет.
for the last several years.
Но я был бы очень рад
But I'd be very excited to
увидеть, что происходит в этом пространстве.
see what happens in that space.
- Но я уверен, что они будут мотивировать на красивую математику.
- But I'm sure they will motivate beautiful mathematics.
- Да все верно.
- Yes, that's right.
Вы знаете, одна из замечательных особенностей реального мира
You know, one of the great things about the real world
заключается в том, что у людей в реальном мире есть требования.
is that people in the real world have demands.
- Вот так. - И эти требования
- That's right. - And those demands
часто кажутся невыполнимыми.
often sound impossible.
И вот где мы вступаем
And that's where we come in.
. Наша работа - сделать невозможное возможным.
It's our job to make the impossible possible.
1
00:00:00,120 --> 00:00:01,820
- Привет, меня зовут Амит Сахай
- Hi, my name is Amit Sahai,
2
00:00:01,820 --> 00:00:03,380
, я профессор компьютерных наук
and I'm a Professor of computer science
3
00:00:03,380 --> 00:00:06,050
в инженерной школе Самуэли Калифорнийского университета в Лос-Анджелесе.
at the UCLA Samueli School of Engineering.
4
00:00:06,050 --> 00:00:08,540
Сегодня меня попросили объяснить доказательства с нулевым разглашением
Today, I've been asked to explain zero-knowledge proofs
5
00:00:08,540 --> 00:00:10,800
на пяти уровнях возрастающей сложности.
in five levels of increasing complexity.
6
00:00:10,800 --> 00:00:13,880
Доказательство с нулевым разглашением — это способ для доказывающего
A zero-knowledge proof is a way for a prover to
7
00:00:13,880 --> 00:00:17,080
убедить проверяющего в истинности некоторого утверждения,
convince a verifier that some statement is true,
8
00:00:17,080 --> 00:00:20,080
но при этом не раскрыть никакой дополнительной информации,
and yet reveal no additional information
9
00:00:20,080 --> 00:00:22,000
кроме того факта, что утверждение истинно.
beyond the fact that the statement is true.
10
00:00:22,000 --> 00:00:24,060
Доказательства с нулевым разглашением используются в
Zero-knowledge proofs are being used in
11
00:00:24,060 --> 00:00:26,110
блокчейнах и криптовалютах.
blockchains and cryptocurrencies.
12
00:00:26,110 --> 00:00:28,950
Таким образом, криптографы в восторге от нулевого разглашения
So cryptographers are excited about zero-knowledge
13
00:00:28,950 --> 00:00:32,170
из-за его удивительных математических свойств.
because of its amazing mathematical properties.
14
00:00:32,170 --> 00:00:34,540
Но также из-за его невероятной применимости
But also because of its incredible applicability
15
00:00:34,540 --> 00:00:36,394
к множеству различных сценариев.
to so many different scenarios.
16
00:00:36,394 --> 00:00:39,644
[жизнерадостная игривая музыка]
[upbeat playful music]
17
00:00:41,290 --> 00:00:42,670
Какой твой любимый предмет?
What's your favorite subject?
18
00:00:42,670 --> 00:00:43,503
- Я бы сказал, математика.
- I'd say math.
19
00:00:43,503 --> 00:00:45,400
Некоторые из небольших проблем на
Some of the small problems
20
00:00:45,400 --> 00:00:48,380
самом деле могут быть очень большими и сложными.
can actually be really big and complicated.
21
00:00:48,380 --> 00:00:50,210
Это как головоломка.
It's like a puzzle.
22
00:00:50,210 --> 00:00:51,660
- Я люблю математику по той же причине.
- I love math for the same reason.
23
00:00:51,660 --> 00:00:53,700
Сегодня я расскажу вам о такой штуке, как
Today, I'm gonna tell you about a thing called
24
00:00:53,700 --> 00:00:55,030
доказательство с нулевым разглашением.
zero-knowledge proof.
25
00:00:55,030 --> 00:00:57,920
Итак, в доказательстве с нулевым разглашением участвуют два человека.
So in a zero-knowledge proof, there are two people.
26
00:00:57,920 --> 00:01:01,570
Есть доказывающий и проверяющий.
There's a prover and a verifier.
27
00:01:01,570 --> 00:01:04,700
И я хочу доказать, что что-то верно для вас.
And I wanna prove that something is true to you.
28
00:01:04,700 --> 00:01:09,040
Но странно то, что я хочу доказать вам, что это правда,
But the weird thing is, I wanna prove to you that it's true
29
00:01:09,040 --> 00:01:11,320
не объясняя причин.
without telling you any reasons why.
30
00:01:11,320 --> 00:01:13,340
Помню, когда я впервые услышал об этом,
I remember when I first heard about it,
31
00:01:13,340 --> 00:01:14,470
я подумал: подождите, что?
I was like, wait, what?
32
00:01:14,470 --> 00:01:15,840
Как это может быть?
How can that possibly be?
33
00:01:15,840 --> 00:01:16,980
Верно? - Да.
Right? - Yeah.
34
00:01:16,980 --> 00:01:18,750
- Так что вы видите на этом фото?
- So what do you see in this photo?
35
00:01:18,750 --> 00:01:19,950
- [Челси] Много пингвинов.
- [Chelsea] A lot of penguins.
36
00:01:19,950 --> 00:01:23,090
- Да. Среди всех этих пингвинов спрятался тупик.
- Yeah. Hidden along all these penguins is a puffin.
37
00:01:23,090 --> 00:01:25,890
Хочешь попробовать поискать? Вы видите, где это?
Do you wanna try to look for it? Do you see where it is?
38
00:01:27,928 --> 00:01:28,761
- Хм.
- Hmm.
39
00:01:28,761 --> 00:01:31,100
- Я знаю, где это, но не хочу тебе говорить.
- I know where it is, but I don't wanna tell you.
40
00:01:31,100 --> 00:01:32,660
Ты веришь мне?
Do you believe me?
41
00:01:32,660 --> 00:01:34,330
Вы не уверены, что верите мне. Верно?
You're not sure to believe me. Right?
42
00:01:34,330 --> 00:01:35,590
- Да.
- Yeah.
43
00:01:35,590 --> 00:01:37,820
- А что, если бы я мог доказать вам,
- But what if I could prove to you
44
00:01:37,820 --> 00:01:39,420
что знаю, где находится тупик,
that I know where the puffin is
45
00:01:39,420 --> 00:01:41,640
не открывая вам, где он?
without revealing to you where it is?
46
00:01:41,640 --> 00:01:42,473
Позволь мне показать тебе.
Let me show you.
47
00:01:45,730 --> 00:01:47,890
Я сделал то фото, которое мы вам показывали.
I took that photo that we showed you.
48
00:01:47,890 --> 00:01:50,690
И я разместил его за этим плакатом здесь.
And I put it behind this poster here.
49
00:01:50,690 --> 00:01:52,873
Почему бы тебе не заглянуть в эту дыру?
Why don't you go take a look through that hole?
50
00:01:56,020 --> 00:01:57,110
- Я вижу тупика.
- I see the puffin.
51
00:01:57,110 --> 00:01:58,640
Итак, когда вы смотрите на эту доску,
So when you look at this board,
52
00:01:58,640 --> 00:02:00,930
мы не знаем, где была фотография, верно?
we don't know where the photo was, right?
53
00:02:00,930 --> 00:02:03,560
Фото было как с углом здесь?
Was the photo like with the corner here?
54
00:02:03,560 --> 00:02:06,210
В этом случае тупик будет полностью на этой стороне.
In which case the puffin would be all the way at this side.
55
00:02:06,210 --> 00:02:08,464
Или фото с уголком было здесь?
Or was the photo with the corner here?
56
00:02:08,464 --> 00:02:10,070
В этом случае тупик будет на другой стороне.
In which case the puffin would be on the other side.
57
00:02:10,070 --> 00:02:13,080
Итак, это действительно простой
So this is a really simple example
58
00:02:13,080 --> 00:02:15,080
пример доказательства с нулевым разглашением.
of a zero-knowledge proof.
59
00:02:15,080 --> 00:02:17,570
Я убедил тебя, что знаю, где тупик,
I convinced you that I knew where the puffin was,
60
00:02:17,570 --> 00:02:19,889
но больше ты ничего не узнал.
but you didn't learn anything else.
61
00:02:19,889 --> 00:02:21,477
- Почему вы изучаете доказательство с нулевым разглашением?
- Why do you study zero-knowledge proof?
62
00:02:21,477 --> 00:02:22,960
- Когда я впервые узнал о них,
- When I first learned about them,
63
00:02:22,960 --> 00:02:24,510
я просто подумал, что они такие крутые.
I just thought they were so cool.
64
00:02:24,510 --> 00:02:26,550
Но оказывается, они также очень полезны
But it turns out they're also really useful,
65
00:02:26,550 --> 00:02:28,530
не только для поиска тупиков.
not just for finding like, puffins.
66
00:02:28,530 --> 00:02:30,230
Если вы просто введете свой пароль,
If you just type in your password
67
00:02:30,230 --> 00:02:32,470
и хакер взломает компьютер,
and the hacker hacks into the computer,
68
00:02:32,470 --> 00:02:33,710
он сможет получить ваш пароль.
they can just get your password.
69
00:02:33,710 --> 00:02:34,920
Верно? - Да.
Right? - Yeah.
70
00:02:34,920 --> 00:02:38,410
- Что, если вместо этого мы могли бы каким-то образом
- What if instead, we could somehow use
71
00:02:38,410 --> 00:02:40,870
использовать доказательство с нулевым разглашением для входа в систему.
a zero-knowledge proof to log in.
72
00:02:40,870 --> 00:02:43,270
Вы бы просто смогли доказать, что,
You would just be able to prove that,
73
00:02:43,270 --> 00:02:46,510
эй, я Челси, ничего им не раскрывая.
hey, I'm Chelsea, without revealing anything to them.
74
00:02:46,510 --> 00:02:49,710
Если бы вы могли это сделать, то это было бы потрясающе, не так ли?
If you could do that, then it would be amazing, right?
75
00:02:49,710 --> 00:02:50,543
- Да.
- Yeah.
76
00:02:50,543 --> 00:02:53,440
- Потому что тогда, даже если хакер взломает компьютер,
- Because then even if the hacker hacked into the computer,
77
00:02:53,440 --> 00:02:54,490
он ничего не узнает.
he wouldn't learn anything.
78
00:02:54,490 --> 00:02:56,740
Потому что даже компьютер ничему не учится.
Because even the computer doesn't learn anything.
79
00:02:56,740 --> 00:02:58,970
Итак, Челси, по-вашему,
So Chelsea, in your own words,
80
00:02:58,970 --> 00:03:00,870
что такое доказательство с нулевым разглашением?
what is a zero-knowledge proof?
81
00:03:00,870 --> 00:03:05,420
- Доказательство с нулевым разглашением — это доказательство утверждения.
- Zero-knowledge proof is proof to a statement.
82
00:03:05,420 --> 00:03:08,060
Вы не показываете им, почему или что.
You don't show them why or what.
83
00:03:08,060 --> 00:03:10,290
Вы просто показываете им крошечный сегмент.
You just show them a tiny segment.
84
00:03:10,290 --> 00:03:12,959
Или просто сделайте какой-нибудь
Or just do some sort of,
85
00:03:12,959 --> 00:03:15,600
странный фокус [смеется],
weird magic trick [chuckles]
86
00:03:15,600 --> 00:03:18,640
который на самом деле не фокус,
that's not really a magic trick,
87
00:03:18,640 --> 00:03:20,280
и они будут убеждены.
and they will be convinced.
88
00:03:20,280 --> 00:03:24,413
И вы не показали им, почему, или что-то в этом роде.
And you didn't show them why, or anything like that.
89
00:03:24,413 --> 00:03:27,663
[жизнерадостная игривая музыка]
[upbeat playful music]
90
00:03:31,280 --> 00:03:32,600
— Вы когда-нибудь слышали термин «
- So have you ever heard the term
91
00:03:32,600 --> 00:03:34,280
доказательство с нулевым разглашением»?
zero-knowledge proof before?
92
00:03:34,280 --> 00:03:36,760
- Я нет. Нет. - Нет. Верно.
- I have not. No. - You have not. Right.
93
00:03:36,760 --> 00:03:41,760
Это способ доказывающего убедить верификатора в
It's a way for a prover to convince a verifier
94
00:03:41,760 --> 00:03:44,480
том, что что-то верно, не раскрывая
that something is true without revealing
95
00:03:44,480 --> 00:03:47,520
ничего о том, почему это правда, что звучит совершенно странно.
anything about why it's true, which sounds totally bizarre.
96
00:03:47,520 --> 00:03:48,777
Верно? - Да.
Right? - Yeah.
97
00:03:48,777 --> 00:03:49,610
- Как это может быть?
- Like how can that possibly be?
98
00:03:49,610 --> 00:03:54,350
Что я хочу сделать, так это доказать вам, что я знаю эту комбинацию,
What I wanna do is prove to you that I know this combination
99
00:03:54,350 --> 00:03:56,500
не раскрывая вам комбинацию.
without revealing the combination to you.
100
00:03:56,500 --> 00:03:58,310
И что ты мог бы сделать, так это написать маленькую записку
And what you could do is you could write a little note,
101
00:03:58,310 --> 00:04:00,290
, секрет, который я бы точно не узнал.
a secret that I definitely wouldn't know.
102
00:04:00,290 --> 00:04:01,910
Сложите его, воткните сюда.
Fold it up, stick it in here.
103
00:04:01,910 --> 00:04:03,530
И затем, если я знаю комбинацию,
And then, if I know the combination,
104
00:04:03,530 --> 00:04:06,330
я смогу открыть ее и сказать вам, что вы написали.
I should be able to open it and tell you what you wrote.
105
00:04:07,427 --> 00:04:08,863
[шуршит бумагой] Хорошо.
[paper rasps] All right.
106
00:04:10,187 --> 00:04:12,508
[щелчок циферблата]
[dial clicking]
107
00:04:12,508 --> 00:04:14,130
[щелчок замка]
[lock clicks]
108
00:04:14,130 --> 00:04:16,290
Вот так. [щелкает замком]
There we go. [latch clacks]
109
00:04:16,290 --> 00:04:17,680
Хорошо.
All right.
110
00:04:17,680 --> 00:04:18,633
Итак,
So,
111
00:04:19,757 --> 00:04:21,640
«Мою собаку зовут Дуг».
"My dog is named Doug."
112
00:04:21,640 --> 00:04:23,445
Вы поняли, что это за комбинация?
Did you figure out what the combination was?
113
00:04:23,445 --> 00:04:24,278
- Нет.
- No.
114
00:04:24,278 --> 00:04:25,900
- Значит, нигде в этом взаимодействии
- So nowhere in this interaction,
115
00:04:25,900 --> 00:04:29,580
вы не увидели никакой информации, которой вы еще не знали.
did you see any information that you didn't already know.
116
00:04:29,580 --> 00:04:33,230
И все же я убедил вас, что знаю комбинацию.
And yet I convinced you that I know the combination.
117
00:04:33,230 --> 00:04:34,280
Верно? - Да.
Right? - Yeah.
118
00:04:34,280 --> 00:04:38,100
- Так какова точная цель доказательства с нулевым разглашением?
- So what's the exact purpose of a zero-knowledge proof?
119
00:04:38,100 --> 00:04:40,330
Это похоже на доказательство чего-то,
Is it like proving something
120
00:04:40,330 --> 00:04:44,210
но без предоставления достаточной информации, которая может
but without giving enough information that could
121
00:04:44,210 --> 00:04:46,290
поставить под угрозу то, что вы доказываете?
endanger whatever it is that you're proving?
122
00:04:46,290 --> 00:04:47,140
- Так ты спрашиваешь,
- So you're asking like,
123
00:04:47,140 --> 00:04:49,670
почему бы мне просто не поделиться с кем-нибудь своими секретами?
why shouldn't I just share my secrets with somebody?
124
00:04:49,670 --> 00:04:51,320
Люди не доверяют друг другу.
People don't trust each other.
125
00:04:51,320 --> 00:04:53,270
И если бы я мог доказать
And if I was able to prove that I've
126
00:04:53,270 --> 00:04:56,080
кому-то, что я сделал что-то правильно,
done something correctly to someone
127
00:04:56,080 --> 00:04:58,060
не раскрывая своих секретов,
without having to reveal my secrets,
128
00:04:58,060 --> 00:04:59,640
то этот человек больше доверял бы мне.
then that person would trust me more.
129
00:04:59,640 --> 00:05:02,530
- Как это связано с компьютерными технологиями?
- How does this relate to computer technology?
130
00:05:02,530 --> 00:05:04,220
Например, вы печатаете его на компьютере,
Like, do you type it into a computer
131
00:05:04,220 --> 00:05:05,070
и кто-то другой его получает?
and somebody else receives it?
132
00:05:05,070 --> 00:05:07,330
Или это личное общение?
Or is it an in-person interaction?
133
00:05:07,330 --> 00:05:09,510
- Предположим, вы хотите обменяться сообщениями
- Suppose you wanted to exchange messages
134
00:05:09,510 --> 00:05:10,929
с кем-то, кого вы знали.
with someone that you knew.
135
00:05:10,929 --> 00:05:11,762
- М-м-м. - Что бы вы, ребята, сделали?
- Mm-hmm. - What would you guys do?
136
00:05:11,762 --> 00:05:13,560
Вероятно, вы бы сначала собрались вместе и
You'd probably first get together and like,
137
00:05:13,560 --> 00:05:15,260
придумали какой-нибудь секретный код, верно?
figure out some secret code, right?
138
00:05:15,260 --> 00:05:17,520
А потом, например, писать сообщения друг другу в этом коде.
And then like, write messages to each other in that code.
139
00:05:17,520 --> 00:05:19,890
Но что, если вы никогда раньше не встречали этого человека?
But what if you've never met the person before?
140
00:05:19,890 --> 00:05:21,850
Что, если ты хочешь обменяться со мной секретными сообщениями,
What if you wanna exchange secret messages with me
141
00:05:21,850 --> 00:05:23,600
а мы никогда раньше не встречались?
and we've never met each other before?
142
00:05:23,600 --> 00:05:25,470
Как мы могли это сделать?
How could we possibly do that?
143
00:05:25,470 --> 00:05:26,630
- Не имею представления.
- I have no idea.
144
00:05:26,630 --> 00:05:27,880
- Звучит невозможно.
- It sounds impossible.
145
00:05:27,880 --> 00:05:29,230
Верно? - Оно делает.
Right? - It does.
146
00:05:29,230 --> 00:05:30,090
- Но это не так.
- But it's not.
147
00:05:30,090 --> 00:05:33,600
Вы бы не использовали физический замок или физическую коробку.
You wouldn't use like, a physical lock, or a physical box.
148
00:05:33,600 --> 00:05:35,230
Вместо этого мы бы использовали математику,
We would instead use mathematics
149
00:05:35,230 --> 00:05:37,000
чтобы делать такие вещи.
to do these kinds of things.
150
00:05:37,000 --> 00:05:40,940
Вы можете взять сообщение и зашифровать его с помощью математики.
You could take a message and encrypt it using mathematics.
151
00:05:40,940 --> 00:05:43,220
И тогда я мог бы доказать вам, что знаю ключ,
And then, I could prove to you that I know the key,
152
00:05:43,220 --> 00:05:45,370
я мог бы открыть его и отправить вам обратно.
I could open it up, and send it back to you.
153
00:05:45,370 --> 00:05:46,920
Таким образом я докажу вам, что
That way I would be proving to you that I know
154
00:05:46,920 --> 00:05:50,960
знаю математический ключ к математическому сейфу.
the mathematical key to the mathematical lockbox.
155
00:05:50,960 --> 00:05:53,080
Итак, основываясь на том, что мы сегодня обсудили
So based on what we've discussed today,
156
00:05:53,080 --> 00:05:55,490
, вашими словами, что такое доказательство с нулевым разглашением.
in your own words, what is a zero-knowledge proof.
157
00:05:55,490 --> 00:05:58,680
- Это как если у вас есть действительно важный секрет
- It's like, if you have this really important secret
158
00:05:58,680 --> 00:06:00,650
, о котором вы хотите, чтобы кто-то узнал,
that you want somebody to know about,
159
00:06:00,650 --> 00:06:02,790
но вы не хотите рассказывать им все.
but you don't want to tell them everything.
160
00:06:02,790 --> 00:06:06,170
Вы можете использовать доказательство с нулевым разглашением, чтобы
You can use a zero-knowledge proof to
161
00:06:06,170 --> 00:06:09,384
доказать им этот секрет, но не раскрывать его полностью.
prove to them that secret, but not give away all of it.
162
00:06:09,384 --> 00:06:12,634
[жизнерадостная игривая музыка]
[upbeat playful music]
163
00:06:13,930 --> 00:06:14,763
- Что ты изучаешь?
- What are you studying?
164
00:06:14,763 --> 00:06:18,610
- Я учусь на первом курсе компьютерных наук в Университете Южной Калифорнии в Витерби.
- I'm a first-year computer science student at USC Viterbi.
165
00:06:18,610 --> 00:06:19,700
Меня интересуют все такие вещи, как
I'm interested in all things like,
166
00:06:19,700 --> 00:06:22,800
данные, интернет, блокчейн и криптовалюта.
data and internet and blockchain and cryptocurrency.
167
00:06:22,800 --> 00:06:24,810
- Вы когда-нибудь слышали о доказательствах с нулевым разглашением?
- Have you ever heard of zero-knowledge proofs?
168
00:06:24,810 --> 00:06:25,780
- Только мимоходом.
- Only in passing.
169
00:06:25,780 --> 00:06:27,730
- Так что на самом деле пространство блокчейна — это
- So actually, in the blockchain space is
170
00:06:27,730 --> 00:06:29,600
одно из пространств, где мы наблюдаем
one of the spaces where we are seeing
171
00:06:29,600 --> 00:06:31,020
внедрение доказательств с нулевым разглашением.
zero-knowledge proofs being implemented.
172
00:06:31,020 --> 00:06:33,270
И я думаю, что это только начало.
And I think it's just the beginning.
173
00:06:33,270 --> 00:06:35,130
Давайте поговорим о доказательствах с нулевым разглашением.
Let's talk about zero-knowledge proofs.
174
00:06:35,130 --> 00:06:37,270
По своей сути доказательство с нулевым разглашением
At its core, a zero-knowledge proof
175
00:06:37,270 --> 00:06:39,510
— это взаимодействие между двумя людьми.
is an interaction between two people.
176
00:06:39,510 --> 00:06:41,870
Тогда я смогу убедить вас,
Then I should be able to convince you
177
00:06:41,870 --> 00:06:43,500
что какое-то утверждение верно,
that some statement is true,
178
00:06:43,500 --> 00:06:46,260
но вы не будете знать, почему оно истинно.
but you won't have any idea why it's true.
179
00:06:46,260 --> 00:06:48,950
- Я, например, пойму, что это правда, потому что, типа,
- Will I, like, understand that it's true because like,
180
00:06:48,950 --> 00:06:51,690
вы знаете, операции, выполняемые в доказательстве, являются
you know, the operations performed in the proof are like,
181
00:06:51,690 --> 00:06:53,120
как бы некими, ну, вы знаете, у
of a certain, like, you know,
182
00:06:53,120 --> 00:06:54,500
них есть вроде бы определенные атрибуты
they have like, certain attributes
183
00:06:54,500 --> 00:06:55,333
, которые делают их истинными?
that would make them true?
184
00:06:55,333 --> 00:06:57,752
- В основном ты спрашиваешь, подожди, что?
- What you're basically asking is, wait, what?
185
00:06:57,752 --> 00:06:59,510
[оба смеются] Верно? Верно.
[both laughing] Right? Right.
186
00:06:59,510 --> 00:07:02,390
Вот что делает доказательство с нулевым разглашением таким увлекательным
So this is what makes zero-knowledge proof so fascinating,
187
00:07:02,390 --> 00:07:04,110
и таким нелогичным.
and so counter-intuitive.
188
00:07:04,110 --> 00:07:07,740
И я думаю, что лучший способ объяснить это вам
And I think the best way I can explain it to you
189
00:07:07,740 --> 00:07:09,280
— это привести пример.
is by means of an example.
190
00:07:09,280 --> 00:07:11,880
Но прежде чем мы это сделаем, я должен решить,
But before we do that, I have to decide
191
00:07:11,880 --> 00:07:14,011
что я собираюсь доказать вам
what I'm gonna prove to you in a,
192
00:07:14,011 --> 00:07:15,420
с помощью доказательства с нулевым разглашением. - Звучит неплохо.
with a zero-knowledge proof. - Sounds good.
193
00:07:15,420 --> 00:07:17,150
- И мы собираемся подойти к этому с
- And the way we're gonna approach this
194
00:07:17,150 --> 00:07:19,920
помощью так называемой NP-полноты.
is through something called NP-completeness.
195
00:07:19,920 --> 00:07:21,950
Что такое NP-полная проблема,
What an NP-complete problem is,
196
00:07:21,950 --> 00:07:24,680
так это проблема, которую действительно трудно решить.
it's a problem that's really hard to solve.
197
00:07:24,680 --> 00:07:26,250
Но если вы можете решить ее,
But if you can solve it,
198
00:07:26,250 --> 00:07:28,830
вы можете решить любую
you can solve any problem
199
00:07:28,830 --> 00:07:30,443
задачу класса NP.
that's in the class NP.
200
00:07:31,340 --> 00:07:34,330
А это включает в себя огромное количество проблем.
And that includes a vast number of problems.
201
00:07:34,330 --> 00:07:36,000
И что мы собираемся сделать, так это
And what we're gonna do is we're gonna
202
00:07:36,000 --> 00:07:40,507
использовать NP-полную задачу, чтобы фактически доказать
use an NP-complete problem to actually prove
203
00:07:40,507 --> 00:07:42,800
невероятное разнообразие утверждений с
an incredible variety of statements
204
00:07:42,800 --> 00:07:44,680
помощью доказательства с нулевым разглашением.
through a zero-knowledge proof.
205
00:07:44,680 --> 00:07:46,940
И конкретная задача Np-complete,
And the specific Np-complete problem
206
00:07:46,940 --> 00:07:48,060
которую мы собираемся рассмотреть,
that we're gonna be looking at
207
00:07:48,060 --> 00:07:50,720
называется трехцветной раскраской карты.
is called map three-coloring.
208
00:07:50,720 --> 00:07:54,130
Итак, у нас есть карта. Хорошо.
Okay, so here we have a map. Okay.
209
00:07:54,130 --> 00:07:55,740
А это куча стран.
And these are a bunch of countries.
210
00:07:55,740 --> 00:07:58,240
И мы расположили их так,
And we've arranged them so that
211
00:07:58,240 --> 00:08:02,540
чтобы страны одного цвета не имели общей границы.
no countries that have the same color share a border.
212
00:08:02,540 --> 00:08:07,150
Вот что делает такую карту правильно ок�
That's what makes a map like this validly colored.
213
00:08:07,150 --> 00:08:09,700
ашенной. И теперь вы можете подумать, ну и какое нам дело?
And now you might think, well, why should we care?
214
00:08:09,700 --> 00:08:13,970
Оказывается, вопрос о том, можно ли
It turns out that whether or not a map can be
215
00:08:13,970 --> 00:08:16,020
таким образом раскрасить карту в три цвета,
three-colored in this way
216
00:08:16,020 --> 00:08:18,700
является примером NP-полной задачи.
is an example of an NP-complete problem.
217
00:08:18,700 --> 00:08:20,000
И оказывается, что,
And it turns out that, you know,
218
00:08:20,000 --> 00:08:22,010
может быть, вы действительно
maybe what you really wanna do,
219
00:08:22,010 --> 00:08:24,300
хотите предоставить доказательство с нулевым разглашением того,
is you wanna give a zero-knowledge proof
220
00:08:24,300 --> 00:08:27,970
что у вас есть как минимум 0,3 биткойна, верно?
that you have at least 0.3 Bitcoins, right?
221
00:08:27,970 --> 00:08:29,160
Было бы здорово. - [смеется] Ага.
That would be cool. - [chuckles] Yeah.
222
00:08:29,160 --> 00:08:32,160
- Не раскрывая адрес вашей учетной записи.
- Without revealing what the address is of your account.
223
00:08:32,160 --> 00:08:34,200
Оказывается, я могу взять это заявление о том,
It turns out I can take that statement
224
00:08:34,200 --> 00:08:35,900
что у меня есть как минимум 0,2 биткойна,
that I have at least 0.2 Bitcoins,
225
00:08:37,410 --> 00:08:40,820
и преобразовать его в карту стран.
and convert it into a map of countries.
226
00:08:40,820 --> 00:08:45,820
И эта карта стран будет трехцветной,
And that map of countries will be three-colorable like this
227
00:08:46,170 --> 00:08:49,400
только если у вас есть хотя бы 0,2 биткойна.
only if you have at least 0.2 Bitcoins.
228
00:08:49,400 --> 00:08:50,700
- Как бы мы превратили нечто подобное
- How would we turn something like this
229
00:08:50,700 --> 00:08:52,270
в доказательство с нулевым разглашением?
into a zero-knowledge proof?
230
00:08:52,270 --> 00:08:53,480
- Конечно, первым делом
- Of course, the first step is
231
00:08:53,480 --> 00:08:54,700
мы должны стереть все цвета.
we have to erase all the colors.
232
00:08:54,700 --> 00:08:57,030
Что я сделал, так это поместил цвет
What I've done is I've put a color
233
00:08:57,030 --> 00:08:59,160
в каждый из этих конвертов.
inside each of these envelopes.
234
00:08:59,160 --> 00:09:01,770
Теперь, как вы знаете, что это допустимая окраска?
Now, how do you know that it's a valid coloring?
235
00:09:01,770 --> 00:09:02,910
Вы не знаете. Верно?
You don't. Right?
236
00:09:02,910 --> 00:09:06,819
Вы должны выбрать любые две соседние страны.
You have to pick any two neighboring countries.
237
00:09:06,819 --> 00:09:08,600
Вы можете выбрать их, как вам нравится. Наугад.
You can pick them however you like. At random.
238
00:09:08,600 --> 00:09:09,580
- Могу я получить эти два?
- Can I get these two?
239
00:09:09,580 --> 00:09:10,903
- Эти двое? - Да.
- These two? - Yeah.
240
00:09:10,903 --> 00:09:11,736
- Отлично. Звучит неплохо. Верно?
- All right. Sounds good. Right?
241
00:09:11,736 --> 00:09:15,510
Здесь у нас есть зеленый, не так ли?
Here we have green, right?
242
00:09:15,510 --> 00:09:19,630
А здесь у нас синий. Хорошо.
And over here, we have blue. Okay.
243
00:09:19,630 --> 00:09:21,733
И, как видите, они двух разных цветов.
And as you can see, they're two different colors.
244
00:09:21,733 --> 00:09:23,110
- М-м-м. - Верно?
- Mm-hmm. - Right?
245
00:09:23,110 --> 00:09:25,560
Итак, у вас есть некоторая уверенность, верно,
So you have a little bit of confidence, right,
246
00:09:25,560 --> 00:09:28,100
что мне удалось правильно раскрасить это.
that I have managed to color this correctly.
247
00:09:28,100 --> 00:09:29,350
но не такая уж уверенность.
but not that much confidence.
248
00:09:29,350 --> 00:09:31,280
Потому что я показал тебе только две страны.
'Cause I've only shown you two of the countries.
249
00:09:31,280 --> 00:09:32,690
- Да. - Верно?
- Yeah. - Right?
250
00:09:32,690 --> 00:09:35,700
Итак, теперь, конечно, один из способов обрести больше уверенности
So now, of course, one way to get more confidence
251
00:09:35,700 --> 00:09:37,050
— открыть для вас больше из них,
is to open up more of them for you,
252
00:09:37,050 --> 00:09:39,100
но это будет означать раскрытие информации для вас.
but that would be revealing information to you.
253
00:09:39,100 --> 00:09:40,400
Я не хочу этого делать.
I don't wanna do that.
254
00:09:40,400 --> 00:09:43,020
Поэтому вместо этого я попрошу вас повернуться.
So instead, I'm gonna ask you to please turn around.
255
00:09:43,020 --> 00:09:45,460
А теперь давайте изменим эти цвета.
And now, let's change up these colors.
256
00:09:45,460 --> 00:09:47,170
Вы можете выбрать две страны наугад,
Can you pick two countries at random
257
00:09:47,170 --> 00:09:49,480
и мы снова покажем два цвета.
and we'll reveal two of the colors again.
258
00:09:49,480 --> 00:09:51,210
- Я возьму этот и этот.
- I'll take this one and this one.
259
00:09:51,210 --> 00:09:52,043
- Хороший.
- Nice.
260
00:09:52,043 --> 00:09:53,330
И это умно с твоей стороны, чтобы свериться с
And that's smart of you to check with
261
00:09:53,330 --> 00:09:55,070
тем же самым из тех, что у тебя уже были.
the same one of the ones you already had.
262
00:09:55,070 --> 00:09:56,040
Верно? - М-м-м.
Right? - Mm-hmm.
263
00:09:56,040 --> 00:10:00,060
- Но, как вы увидите, теперь он не зеленый,
- But as you'll see, now it's not green,
264
00:10:00,060 --> 00:10:01,650
а синий.
it's blue.
265
00:10:01,650 --> 00:10:03,253
А этот, наоборот
And this one on the other hand,
266
00:10:05,978 --> 00:10:07,580
, зеленый.
is green.
267
00:10:07,580 --> 00:10:08,413
Хорошо.
Okay.
268
00:10:08,413 --> 00:10:09,820
Цвета, которые я показал вам в прошлый раз,
The colors I showed you last time,
269
00:10:09,820 --> 00:10:11,980
не работают с этими новыми цветами, верно?
don't work with these new colors, right?
270
00:10:11,980 --> 00:10:13,100
Раньше это не сработало.
This wouldn't have worked before.
271
00:10:13,100 --> 00:10:14,420
- Да, из-за этого, да?
- Yeah, because of this one, right?
272
00:10:14,420 --> 00:10:15,880
- Точно. Верно.
- Exactly. Right.
273
00:10:15,880 --> 00:10:18,330
Но это работает для этой окраски
But it works for this coloring
274
00:10:18,330 --> 00:10:19,630
, которую я показываю вам прямо сейчас.
that I'm showing you right now.
275
00:10:19,630 --> 00:10:22,290
Итак, что мы сделали, так это сделали невозможным для вас
So what we've done is we've made it impossible for you
276
00:10:22,290 --> 00:10:24,030
соединение кусочков.
to put the pieces together.
277
00:10:24,030 --> 00:10:26,950
А если сделать это, скажем, тысячу раз.
And if you do this, let's say, a thousand times.
278
00:10:26,950 --> 00:10:29,760
И если бы я правильно показывал вам разные цвета,
And if I correctly showed you different colors,
279
00:10:29,760 --> 00:10:32,760
каждую тысячу раз, вы бы действительно убедились.
each thousand times, you'd be really convinced.
280
00:10:32,760 --> 00:10:36,310
Вот и все. Это все доказательство с нулевым разглашением.
And that's it. That's the entire zero-knowledge proof.
281
00:10:36,310 --> 00:10:37,160
- Ох, ну ладно. - Хорошо?
- Oh, okay. - Okay?
282
00:10:37,160 --> 00:10:40,810
- То есть, нет фактического, типа, явного,
- So is it like, there's no actual, like, explicit,
283
00:10:40,810 --> 00:10:42,310
типа, шага первого, шага второго,
like, step one, step two,
284
00:10:42,310 --> 00:10:43,143
шага третьего. - [Амит] Нет.
step three. - [Amit] No.
285
00:10:43,143 --> 00:10:45,661
- Это просто вероятностное доказательство.
- It's just like, a probabilistic proof all.
286
00:10:45,661 --> 00:10:48,100
- Да, в реальной реализации мы бы не использовали конверты.
- Yeah, in actual implementations we wouldn't use envelopes.
287
00:10:48,100 --> 00:10:49,420
- Да. - Вы бы использовали шифрование.
- Yeah. - You would use encryption.
288
00:10:49,420 --> 00:10:50,253
Верно.
Right.
289
00:10:50,253 --> 00:10:52,250
Но на самом деле это протокол.
But it's really, this is the protocol.
290
00:10:52,250 --> 00:10:54,240
- Итак, каковы более широкие
- So what are the broader implications
291
00:10:54,240 --> 00:10:55,590
последствия подобных доказательств с нулевым разглашением?
of like, zero-knowledge proofs.
292
00:10:55,590 --> 00:10:58,130
Должны ли они быть похожи, более практичны для
Are they supposed to be like, more practical for like,
293
00:10:58,130 --> 00:11:00,110
реализации и/или, должны ли они нравиться,
implementation, and or, are they supposed to like,
294
00:11:00,110 --> 00:11:01,960
структурно что-то доказывать?
structurally prove something?
295
00:11:01,960 --> 00:11:04,750
- Дело не в том, чтобы сделать что-то более эффективным.
- It's not about making something more efficient.
296
00:11:04,750 --> 00:11:06,110
Речь идет о том, чтобы делать вещи, которые мы просто
It's about doing things that we just
297
00:11:06,110 --> 00:11:07,420
не знали, как делать раньше.
didn't know how to do before.
298
00:11:07,420 --> 00:11:10,340
Я действительно могу доказать вам, не раскрывая вам
I can actually prove to you without revealing to you
299
00:11:10,340 --> 00:11:12,940
ни одного из моих секретов, которые я использую, чтобы вести себя честно.
any of my secrets that I use to behave honestly.
300
00:11:12,940 --> 00:11:14,057
Верно?
Right?
301
00:11:14,057 --> 00:11:16,010
Я мог бы доказать вам, что я
I could prove to you that I
302
00:11:16,010 --> 00:11:18,940
правильно подписал какой-то зашифрованный документ.
signed some encrypted document correctly.
303
00:11:18,940 --> 00:11:19,773
Верно?
Right?
304
00:11:19,773 --> 00:11:22,310
Не раскрывая вам, что это был за секретный документ.
Without revealing to you what that secret document was.
305
00:11:22,310 --> 00:11:24,080
Эта способность изменить игру.
That ability to change the game.
306
00:11:24,080 --> 00:11:26,290
Мол, на самом деле просто изменить то, что мы можем сделать,
Like, really just change what we can do
307
00:11:26,290 --> 00:11:28,020
— это то, что приносит с собой нулевое знание.
is what zero-knowledge brings to the table.
308
00:11:28,020 --> 00:11:30,110
- Как вы думаете, где мы могли бы построить больше доверия,
- Where do you think we could build like, more trust
309
00:11:30,110 --> 00:11:32,454
используя доказательства с нулевым разглашением?
using like, zero-knowledge proofs?
310
00:11:32,454 --> 00:11:33,390
- Верно. - А это реализации?
- Right. - And it's implementations?
311
00:11:33,390 --> 00:11:35,500
- Один прекрасный пример, как на выборах.
- One great example is like in elections.
312
00:11:35,500 --> 00:11:39,890
Если бы вы могли доказать, что выборы были проведены правильно.
If you could prove that an election was correctly conducted.
313
00:11:39,890 --> 00:11:41,340
Что каждый голос был подсчитан,
That every vote was counted,
314
00:11:41,340 --> 00:11:43,720
и все это в сумме привело к победе одного человека
and it all added up to one person winning
315
00:11:43,720 --> 00:11:46,730
с определенной суммой, с нулевым разглашением,
with a particular total, in zero-knowledge,
316
00:11:46,730 --> 00:11:48,260
тогда вам не нужно отказываться
then you don't have to give up
317
00:11:48,260 --> 00:11:50,180
от фактических голосов любого человека.
the actual votes of any person.
318
00:11:50,180 --> 00:11:52,630
И все же все могли видеть, что,
And yet everyone could see that,
319
00:11:52,630 --> 00:11:54,916
эй, да, это было сделано правильно.
hey, yeah, it was done correctly.
320
00:11:54,916 --> 00:11:57,833
[легкая воздушная музыка]
[light airy music]
321
00:11:59,700 --> 00:12:02,960
Как здорово, что ты здесь и можешь поговорить с тобой, Илай.
It's so great to have you here and to talk with you, Eli.
322
00:12:02,960 --> 00:12:04,440
Не могли бы вы немного рассказать о ваших исследованиях?
Can you tell me a little bit about your research?
323
00:12:04,440 --> 00:12:07,390
- Мои исследования в области криптографии.
- My research is in cryptography.
324
00:12:07,390 --> 00:12:10,750
В частности, я работаю над некоторыми различными
Specifically, I'm working on some various
325
00:12:10,750 --> 00:12:12,870
многосторонними вычислительными протоколами.
multi-party computation protocols.
326
00:12:12,870 --> 00:12:15,070
Сейчас я работаю над
The one I'm working on right now is
327
00:12:15,070 --> 00:12:17,890
системой для вычисления совокупной статистики.
a system for computing aggregate statistics.
328
00:12:17,890 --> 00:12:22,830
Чтобы поставщики услуг, такие как Google Chrome или Tesla,
So that service providers like, Google Chrome or Tesla,
329
00:12:22,830 --> 00:12:24,670
могли собирать эту статистику,
can collect those statistics
330
00:12:24,670 --> 00:12:28,500
ничего не узнавая о данных отдельных пользователей.
without learning anything about individual user's data.
331
00:12:28,500 --> 00:12:29,360
- Это потрясающе.
- That's awesome.
332
00:12:29,360 --> 00:12:32,950
- Я, как пользователь, не обязан сообщать Firefox,
- I, as a user, don't have to let Firefox know
333
00:12:32,950 --> 00:12:36,140
что мой любимый веб-сайт — mylittlepony.com.
that my favorite website is mylittlepony.com.
334
00:12:36,140 --> 00:12:36,973
[Амит смеется]
[Amit laughs]
335
00:12:36,973 --> 00:12:38,960
Но они могут знать, сколько пользователей
But they can know how many users
336
00:12:38,960 --> 00:12:41,150
заходят на mylittlepony.com каждый день.
go to mylittlepony.com every day.
337
00:12:41,150 --> 00:12:42,800
- Это близко и дорого моему сердцу.
- That's near and dear to my heart.
338
00:12:42,800 --> 00:12:43,660
Многосторонние вычисления.
Multi-party computations.
339
00:12:43,660 --> 00:12:46,370
- Очевидно, что доказательства с нулевым разглашением предназначены для
- Obviously, zero-knowledge proofs are about
340
00:12:46,370 --> 00:12:48,730
доказательства чего-либо другому человеку
proving things to another person
341
00:12:48,730 --> 00:12:51,040
без раскрытия деталей
without revealing the details of
342
00:12:51,040 --> 00:12:52,290
того, что вы доказываете.
what it is that you're proving.
343
00:12:52,290 --> 00:12:54,610
Но знаете, на мой взгляд, нулевое знание на
But, you know, in my mind, zero-knowledge
344
00:12:54,610 --> 00:12:56,620
самом деле выходит за рамки этого.
actually goes even further beyond that.
345
00:12:56,620 --> 00:12:58,430
Это похоже на эту всеобъемлющую концепцию,
It's like this overarching concept
346
00:12:58,430 --> 00:13:01,360
которую вы можете увидеть в многосторонних вычислениях,
that you can see a lot in multi-party computation,
347
00:13:01,360 --> 00:13:05,580
когда вы хотите выполнить какую-то задачу,
where you wanna accomplish some sort of task
348
00:13:05,580 --> 00:13:07,930
не раскрывая ничего, кроме того
without revealing anything more than
349
00:13:07,930 --> 00:13:10,430
, что именно вам нужно для выполнения этой задачи.
exactly what you need to accomplish that task.
350
00:13:10,430 --> 00:13:13,300
- Верно, и это позволяет вам доказать,
- Right, and it allows you to prove
351
00:13:13,300 --> 00:13:15,410
что вы вели себя честно,
that you've been behaving honestly,
352
00:13:15,410 --> 00:13:19,270
не раскрывая никаких секретов, которые вы используете,
without revealing any of the secrets involved that you use
353
00:13:19,270 --> 00:13:20,670
чтобы вести себя честно.
to actually behave honestly.
354
00:13:20,670 --> 00:13:22,250
Итак, мы, конечно, знаем, что
So we of course know that
355
00:13:22,250 --> 00:13:24,960
доказательства с нулевым разглашением для NP-полных языков
zero-knowledge proofs for NP-complete languages
356
00:13:24,960 --> 00:13:27,180
играют огромную роль в криптографии.
plays such a huge role in cryptography.
357
00:13:27,180 --> 00:13:28,013
Мне любопытно.
I'm curious.
358
00:13:28,013 --> 00:13:29,480
Каким был ваш первый опыт работы с Np-полнотой?
What was your first experience with Np-completeness like?
359
00:13:29,480 --> 00:13:32,760
- Да, так что я впервые столкнулся с NP-
- Yeah, so my first encounter with NP-completeness
360
00:13:32,760 --> 00:13:35,850
полнотой на самом первом курсе по алгоритмам,
was in my very first algorithms class
361
00:13:35,850 --> 00:13:37,490
который я посещал, будучи студентом.
that I took as an undergraduate.
362
00:13:37,490 --> 00:13:38,840
Итак, это было мое первое знакомство.
So that was my first introduction.
363
00:13:38,840 --> 00:13:42,420
Разве что NP-полный язык — это вот эта
Is that an NP-complete language is this
364
00:13:42,420 --> 00:13:47,340
удивительная задача, которая не просто расскажет вам о себе,
amazing problem that not only tells you about itself,
365
00:13:47,340 --> 00:13:49,940
но решение этой задачи на самом деле может рассказать вам
but solving this problem can actually tell you about
366
00:13:49,940 --> 00:13:52,470
о целом классе действительно интересных задач.
an entire class of really interesting problems.
367
00:13:52,470 --> 00:13:53,530
- Когда вы впервые начали думать о доказательствах
- When you first start to think about proofs
368
00:13:53,530 --> 00:13:56,157
как об интерактивной игре, в которой мы разговариваем друг с другом
as an interactive game where we're talking to each other,
369
00:13:56,157 --> 00:13:58,210
, сделало ли это возможным нулевое разглашение?
did that make zero-knowledge possible?
370
00:13:58,210 --> 00:13:59,043
- Абсолютно.
- Absolutely.
371
00:13:59,043 --> 00:13:59,980
- [Амит] Верно. - Да.
- [Amit] Right. - Yeah.
372
00:13:59,980 --> 00:14:03,190
- А сама мысль о случайности - Ага.
- And the idea that randomness - Yeah.
373
00:14:03,190 --> 00:14:05,700
- может быть полезно для доказательства чего-либо.
- could be useful for proving something.
374
00:14:05,700 --> 00:14:07,600
Опять же, кажется таким нелогичным,
Again, seems so counter-intuitive
375
00:14:07,600 --> 00:14:11,480
если мы подумаем об этом платоническом идеале доказательства, верно?
if we think about this platonic ideal of a proof, right?
376
00:14:11,480 --> 00:14:15,430
Там нет никакой случайности, нет никакой недетерминированности
There's no randomness, there's no non-determinism
377
00:14:15,430 --> 00:14:16,267
. - Да.
that's present there. - Yeah.
378
00:14:16,267 --> 00:14:17,710
И это связано со
And it has to do with, you know,
379
00:14:17,710 --> 00:14:20,280
всей этой идеей перевернуть доказательство с ног на голову.
this whole idea of flipping a proof on its head.
380
00:14:20,280 --> 00:14:22,020
Вы знаете, в старом классическом доказательстве
You know, in an old classical proof,
381
00:14:22,020 --> 00:14:25,200
случайность прямо противоречит цели
randomness is specifically against the goal
382
00:14:25,200 --> 00:14:26,370
того, что вы пытаетесь сделать.
of what you're trying to do.
383
00:14:26,370 --> 00:14:27,203
- Верно. - Потому что ты
- Right. - Because you're
384
00:14:27,203 --> 00:14:28,220
пытаешься сделать все очевидным
trying to make everything obvious,
385
00:14:28,220 --> 00:14:30,880
и пытаешься раскрыть поток информации.
and you're trying to reveal the flow of information.
386
00:14:30,880 --> 00:14:31,930
- Конечно. - Но как только вы
- Indeed. - But once you
387
00:14:31,930 --> 00:14:32,980
перевернете это с ног на голову и больше не будете
flip that on its head and you're
388
00:14:32,980 --> 00:14:34,500
пытаться это делать, внезапно
no longer trying to do that, suddenly
389
00:14:34,500 --> 00:14:37,710
все плохие свойства случайности станут хорошими.
all of the bad properties of randomness become good.
390
00:14:37,710 --> 00:14:38,790
- Точно. Верно.
- Exactly. Right.
391
00:14:38,790 --> 00:14:41,120
Потому что случайность непредсказуема, и это то, чего мы хотим.
Because random is unpredictable and that's what we want.
392
00:14:41,120 --> 00:14:42,178
Верно.
Right.
393
00:14:42,178 --> 00:14:45,050
Мы хотим, чтобы эта непредсказуемость вокруг нас использовалась,
We want that unpredictability around us to be utilized,
394
00:14:45,050 --> 00:14:47,690
чтобы на самом деле скрыть информацию, которую мы хотим скрыть.
to actually hide the information that we wanna hide.
395
00:14:47,690 --> 00:14:49,980
Как вы использовали свои знания
How have you used your knowledge
396
00:14:49,980 --> 00:14:51,580
в проектах, над которыми работали?
in the projects that you've worked on?
397
00:14:51,580 --> 00:14:53,000
Какие проблемы вы обнаружите?
What are the challenges that you find?
398
00:14:53,000 --> 00:14:56,920
- По моему опыту, обычно самое сложное — это
- In my experience, usually the hardest part is
399
00:14:56,920 --> 00:15:00,670
выяснить, где именно лучше всего его использовать.
figuring out exactly where the best place is to use it.
400
00:15:00,670 --> 00:15:02,920
В прошлом я написал несколько статей, в
I've written some papers in the past
401
00:15:02,920 --> 00:15:05,540
которых нулевое знание использовалось более теоретически.
that have used zero-knowledge in a more theoretical way.
402
00:15:05,540 --> 00:15:08,460
Но когда дело доходит до приложений,
But when it comes to applications,
403
00:15:08,460 --> 00:15:11,660
некоторые из самых интересных приложений, которые я видел до сих пор
some of the most exciting applications that I've seen so far
404
00:15:11,660 --> 00:15:13,100
, были в пространстве блокчейна.
have been in the blockchain space.
405
00:15:13,100 --> 00:15:13,933
- Итак, какие
- So what are some of the
406
00:15:13,933 --> 00:15:15,440
узкие места эффективности вы обнаружили?
efficiency bottlenecks that you find?
407
00:15:15,440 --> 00:15:17,033
- С точки зрения эффективности,
- In terms of efficiency,
408
00:15:17,920 --> 00:15:20,040
одна из самых крутых вещей в доказательствах с нулевым разглашением
one of the coolest things about zero-knowledge proofs
409
00:15:20,040 --> 00:15:21,530
состоит в том, что их так много видов.
is that there's so many kinds.
410
00:15:21,530 --> 00:15:23,020
- Верно. - Мне нравится называть их вкусами.
- Right. - I like to call them flavors.
411
00:15:23,020 --> 00:15:24,590
Я думаю, что в целом,
I think that in general,
412
00:15:24,590 --> 00:15:27,480
когда вы используете доказательства с нулевым разглашением в приложении
when you're using zero-knowledge proofs in application,
413
00:15:27,480 --> 00:15:30,500
, основным узким местом, как правило, является доказывающий.
the main bottleneck tends to lie on the prover.
414
00:15:30,500 --> 00:15:32,390
- Можете ли вы взять работу доказывающего
- Can you take the prover's job
415
00:15:32,390 --> 00:15:35,240
и разделить ее на множество параллельных вычислений?
and split it up into lots of parallel computations?
416
00:15:35,240 --> 00:15:37,290
- Ох. Это такой забавный вопрос.
- Ooh. That's such a fun question.
417
00:15:37,290 --> 00:15:38,320
- Это такой отличный вопрос.
- It's such a great question.
418
00:15:38,320 --> 00:15:41,700
И да, я думаю, что мы до сих пор не знаем ответа на этот вопрос,
And yeah, I think we still don't know the answer to that,
419
00:15:41,700 --> 00:15:42,533
как поле.
as a field.
420
00:15:42,533 --> 00:15:44,990
— Одна из самых крутых вещей, которые я видел за последние,
- One of the coolest things I've seen over the past,
421
00:15:44,990 --> 00:15:46,450
знаете, три-четыре года,
you know, three or four years,
422
00:15:46,450 --> 00:15:48,670
когда я занимался подобными вещами,
when I've been working on this kind of stuff,
423
00:15:48,670 --> 00:15:52,770
— это переход от теоретического к прикладному.
is the transition from theoretical to applied.
424
00:15:52,770 --> 00:15:54,570
- Верно. - И видя, что все эти
- Right. - And seeing all of these
425
00:15:54,570 --> 00:15:56,850
удивительные системы, о которых люди
amazing systems that people have
426
00:15:56,850 --> 00:15:59,000
думали за последние 30 лет,
thought of in the past 30 years,
427
00:15:59,000 --> 00:16:02,590
начинают становиться достаточно эффективными, чтобы их можно было сделать.
start to actually get efficient enough to be actually made.
428
00:16:02,590 --> 00:16:03,423
- Без сомнений.
- No doubt.
429
00:16:03,423 --> 00:16:04,740
И особенно с облачными вычислениями,
And especially with cloud computing,
430
00:16:04,740 --> 00:16:06,930
использование возможностей облака
exploiting the power of the cloud
431
00:16:06,930 --> 00:16:08,770
для обеспечения доказательств с нулевым разглашением
to enable zero-knowledge proofs,
432
00:16:08,770 --> 00:16:10,450
и использование доказательств с нулевым разглашением
and to make use of zero-knowledge proofs,
433
00:16:10,450 --> 00:16:11,283
было бы удивительным.
would be amazing.
434
00:16:11,283 --> 00:16:12,720
- Да. Абсолютно.
- Yeah. Absolutely.
435
00:16:12,720 --> 00:16:14,650
- А также в пространстве блокчейна, например,
- And also in the blockchain space, for example,
436
00:16:14,650 --> 00:16:16,940
если вы хотите ускорить генерацию доказательств,
if you wanna speed up the generation of proofs,
437
00:16:16,940 --> 00:16:18,740
если бы это можно было сделать распределенным способом,
if that could be done in a distributed way,
438
00:16:18,740 --> 00:16:20,100
тогда это было бы здорово.
then that would be great.
439
00:16:20,100 --> 00:16:22,630
Одна из надежд, которые у меня есть, заключается в том,
One of the hopes that I have is that
440
00:16:22,630 --> 00:16:25,310
что сила многосторонних вычислений
the power of multi-party computation
441
00:16:25,310 --> 00:16:27,810
заключается в объединении людей
is about bringing people together
442
00:16:27,810 --> 00:16:29,490
, которые взаимно не доверяют друг другу.
who are mutually distrustful.
443
00:16:29,490 --> 00:16:30,610
- Да. - Верно.
- Yeah. - Right.
444
00:16:30,610 --> 00:16:34,547
Можем ли мы взять ту силу, которая есть в криптографии,
So can we take that power that's there in the cryptography,
445
00:16:34,547 --> 00:16:36,800
и использовать ее, чтобы как-то помочь с
and use it to somehow help with the
446
00:16:36,800 --> 00:16:38,530
огромным уровнем недоверия - [Эли] Да.
tremendous level of mistrust - [Eli] Yeah.
447
00:16:38,530 --> 00:16:40,590
- что существует в обществе прямо сейчас
- that exists in society right now,
448
00:16:40,590 --> 00:16:42,980
, помогая объединять группы людей?
in helping to bring groups of people together?
449
00:16:42,980 --> 00:16:45,550
- Думаю, это одна из причин, по которой меня так
- I think that's one of the reasons that I was so drawn
450
00:16:45,550 --> 00:16:47,500
привлекли многопартийные вычисления.
to multi-party computation in the first place.
451
00:16:47,500 --> 00:16:51,750
На мой взгляд, одна из самых важных проблем в мире
In my mind, one of the most important problems in the world
452
00:16:51,750 --> 00:16:54,460
заключается в том, что так много людей не доверяют друг другу.
is the fact that so many people don't trust each other.
453
00:16:54,460 --> 00:16:57,770
Я думаю, что иметь возможность использовать математику для создания технологий
And to be able to actually use math to create technology
454
00:16:57,770 --> 00:16:59,760
, которые позволят людям работать вместе,
that can allow people to work together
455
00:16:59,760 --> 00:17:01,540
не доверяя друг другу,
without having to trust each other,
456
00:17:01,540 --> 00:17:05,724
— это действительно крутая и потрясающая миссия.
is a really cool and awesome mission, I think.
457
00:17:05,724 --> 00:17:08,641
[легкая воздушная музыка]
[light airy music]
458
00:17:10,721 --> 00:17:12,620
- Шан-Хуа, так здорово снова тебя видеть.
- Shang-Hua, it's so great to see you again.
459
00:17:12,620 --> 00:17:16,653
Я думаю, что в последний раз мы встречались в 2017 году или что-то в этом роде.
I think last time we met was in 2017 or something like that.
460
00:17:16,653 --> 00:17:20,460
- Я думаю, что мы один раз зумили во время пандемии,
- I think we Zoomed once during the pandemic,
461
00:17:20,460 --> 00:17:22,680
но приятно видеть вас лично.
but it's good to see you in person.
462
00:17:22,680 --> 00:17:23,840
- Верно. Абсолютно. [хихикает]
- Right. Absolutely. [chuckles]
463
00:17:23,840 --> 00:17:28,120
- И на самом деле, в 1986 году я посещал курсы по криптографии
- And actually, in '86 I was taking a crypto class
464
00:17:28,120 --> 00:17:31,170
с профессором Леонардом Эдельманом, отличником RSA.
with Professor Leonard Edelman, the A of RSA.
465
00:17:31,170 --> 00:17:34,160
И он поручил мне статью
And he assigned me the paper by
466
00:17:34,160 --> 00:17:36,586
Голдвассера, Микали и Чарли
Goldwasser, Micali, and Charlie Rackoff
467
00:17:36,586 --> 00:17:38,170
Ракоффа о доказательстве с нулевым разглашением.
on zero-knowledge proof.
468
00:17:38,170 --> 00:17:41,720
Так что это действительно моя первая презентация
So that's indeed my first ever presentation,
469
00:17:41,720 --> 00:17:43,220
в этой стране.
ever, in this country.
470
00:17:43,220 --> 00:17:44,694
- Было о нулевом знании. Это потрясающе.
- Was about zero-knowledge. That's awesome.
471
00:17:44,694 --> 00:17:45,975
- [Шан-Хуа] Было о нулевом знании, да.
- [Shang-Hua] Was about zero-knowledge, yes.
472
00:17:45,975 --> 00:17:47,920
- Это такая почти гипнотическая концепция.
- It's such a almost hypnotic concept.
473
00:17:47,920 --> 00:17:51,810
- Это также интересный
- It's also an interesting way
474
00:17:51,810 --> 00:17:55,957
способ математически сформулировать эти понятия, верно.
how mathematically to formulate those concepts, right.
475
00:17:55,957 --> 00:17:58,150
Например, у нас есть данные.
For example, we have data.
476
00:17:58,150 --> 00:18:01,100
Затем, в конце концов, мы начали с данных, таких как интеллектуальный анализ данных,
Then eventually we started from data, like data mining,
477
00:18:01,100 --> 00:18:02,450
вы можете получить информацию,
you can get the information,
478
00:18:02,450 --> 00:18:04,880
и тогда у вас есть это слово, называемое знанием.
and then you have this word called knowledge.
479
00:18:04,880 --> 00:18:05,760
- [Амит] Правильно - Правильно.
- [Amit] Right - Right.
480
00:18:05,760 --> 00:18:09,410
Таким образом, знание долгое время обсуждалось даже в философии.
So knowledge has been long debated, even in philosophy.
481
00:18:09,410 --> 00:18:10,480
Что такое знание? - Конечно.
What is knowledge? - Indeed.
482
00:18:10,480 --> 00:18:13,000
- Но вот очень увлекательный путь
- But here is a very fascinating way
483
00:18:13,000 --> 00:18:15,400
математиков или компьютерщиков
mathematicians or computer scientists
484
00:18:15,400 --> 00:18:16,600
- Верно. - хочется как-то
- Right. - want to somehow
485
00:18:16,600 --> 00:18:17,870
зафиксировать это знание.
capture this knowledge.
486
00:18:17,870 --> 00:18:20,270
Там не говорилось о доказательстве нулевой информации.
It didn't say zero-information proof.
487
00:18:20,270 --> 00:18:21,980
- [Амит] Верно. - Так что вы думаете
- [Amit] Right. - So what's your take
488
00:18:21,980 --> 00:18:25,260
о том, почему знание, а не информация,
on why knowledge is, rather than information,
489
00:18:25,260 --> 00:18:26,430
или доказательство с нулевыми данными.
or zero-data proof.
490
00:18:26,430 --> 00:18:27,620
Очевидно, там есть данные.
Clearly, there's data there.
491
00:18:27,620 --> 00:18:29,290
Так что не может быть нулевых данных.
So can't be zero-data.
492
00:18:29,290 --> 00:18:30,123
- Абсолютно.
- Absolutely.
493
00:18:30,123 --> 00:18:31,270
Я не думаю, что у нас все еще есть
I don't think we still have a
494
00:18:31,270 --> 00:18:33,800
полностью удовлетворительный ответ на этот вопрос.
completely satisfactory answer to that question.
495
00:18:33,800 --> 00:18:36,490
Что было таким прекрасным прозрением,
What was so, such a beautiful insight,
496
00:18:36,490 --> 00:18:38,570
как я уверен, вы знаете,
as I'm sure you know,
497
00:18:38,570 --> 00:18:41,310
так это идея нулевого знания
is that the idea of zero-knowledge
498
00:18:41,310 --> 00:18:42,900
- Мм-хм. - быть чем-то,
- Mm-hmm. - being something
499
00:18:42,900 --> 00:18:45,000
что вы уже можете предсказать.
that you can already predict.
500
00:18:45,000 --> 00:18:46,103
Верно. - М-м-м.
Right. - Mm-hmm.
501
00:18:46,103 --> 00:18:48,250
- Если вы уже можете предсказать ответ,
- If you can already predict the answer,
502
00:18:48,250 --> 00:18:51,250
то, должно быть, вы не получаете никаких знаний в
then you must not be gaining any knowledge
503
00:18:51,250 --> 00:18:52,590
результате этого взаимодействия.
by that interaction.
504
00:18:52,590 --> 00:18:57,000
Это озарение способности точно предсказывать будущее
This insight of being able to predict the future accurately,
505
00:18:57,000 --> 00:19:00,890
, свидетельствующее об отсутствии новых знаний,
and that being an evidence of a lack of new knowledge,
506
00:19:00,890 --> 00:19:01,723
- [Шан-Хуа] Мм-хм. - было такое
- [Shang-Hua] Mm-hmm. - was such a
507
00:19:01,723 --> 00:19:03,560
прекрасное прозрение, такое удивительное прозрение.
beautiful insight, such an amazing insight.
508
00:19:03,560 --> 00:19:05,360
- Ну тут не нулевая информация.
- Well there's not zero-information here.
509
00:19:05,360 --> 00:19:07,860
По сути, я, ясно с
Fundamentally I, clearly from
510
00:19:07,860 --> 00:19:10,360
точки зрения вычислений, с точки зрения безопасности
computing perspective, security perspective,
511
00:19:10,360 --> 00:19:12,590
, сколько знаний вы получаете, я думаю.
is how much knowledge you're gaining, I guess.
512
00:19:12,590 --> 00:19:14,600
Больше, чем то, сколько информации вы получили.
More than how much information you've gained.
513
00:19:14,600 --> 00:19:16,150
- [Амит] Действительно. - А сколько у вас данных.
- [Amit] Indeed. - And how much data you have.
514
00:19:16,150 --> 00:19:17,439
Верно. - [Амит] Верно.
Right. - [Amit] Right.
515
00:19:17,439 --> 00:19:20,600
- Так что данные тогда сразу подразумевают знание.
- So that data then immediately imply, a knowledge.
516
00:19:20,600 --> 00:19:22,150
Но люди иногда не могут.
But people can't, sometimes.
517
00:19:22,150 --> 00:19:22,983
- Верно. Иногда.
- Right. Sometimes.
518
00:19:22,983 --> 00:19:24,550
Я имею в виду, например, в медицинских исследованиях
I mean, for example, in medical research,
519
00:19:24,550 --> 00:19:26,750
, как удивительно
how amazing would it be, right,
520
00:19:26,750 --> 00:19:30,690
было бы иметь лекарство и быть в состоянии доказать,
to be able to have a drug, and be able to prove
521
00:19:30,690 --> 00:19:31,900
что мое лекарство работает
that my drug works
522
00:19:31,900 --> 00:19:32,900
в этой модели. - М-м-м.
in this model. - Mm-hmm.
523
00:19:32,900 --> 00:19:34,640
- И тем не менее, не обязательно
- And yet, not have to actually
524
00:19:34,640 --> 00:19:36,910
раскрывать структуру соединения.
reveal the structure of the compound.
525
00:19:36,910 --> 00:19:40,010
- Что, в настоящее время, вы говорите,
- What, currently, you're saying
526
00:19:40,010 --> 00:19:43,633
это будут следующие направления
it would be the next directions
527
00:19:43,633 --> 00:19:46,000
в этом пространстве. - Какие следующие большие дела?
in this space. - What's the next big things?
528
00:19:46,000 --> 00:19:46,833
- Да. - Да.
- Yes. - Yeah.
529
00:19:46,833 --> 00:19:48,890
Эта концепция программ с нулевым разглашением
This concept of zero-knowledge programs
530
00:19:48,890 --> 00:19:50,340
позволит вам выполнять
would allow you to carry out
531
00:19:50,340 --> 00:19:52,510
совершенно произвольные вычисления
completely arbitrary computations
532
00:19:52,510 --> 00:19:53,970
— м-м-м. - с нулевым разглашением,
- Mm-hmm. - in a zero-knowledge way,
533
00:19:53,970 --> 00:19:55,740
без какого-либо взаимодействия, правильно.
without any interaction, right.
534
00:19:55,740 --> 00:19:57,760
Я могу просто взять программу,
I can just take the program,
535
00:19:57,760 --> 00:19:59,300
преобразовать ее в программу с нулевым разглашением
convert it to a zero-knowledge program,
536
00:19:59,300 --> 00:20:00,600
или в запутанную программу,
or an obfuscated program,
537
00:20:00,600 --> 00:20:02,190
а затем просто отправить ее вам. - М-м-м.
and then just send it to you. - Mm-hmm.
538
00:20:02,190 --> 00:20:03,300
- И тогда вы можете запустить его
- And then you can run it
539
00:20:03,300 --> 00:20:06,400
и получить выгоду от этого вычисления
and gain the benefit of that computation
540
00:20:06,400 --> 00:20:07,770
без необходимости говорить со мной больше.
without having to talk to me anymore.
541
00:20:07,770 --> 00:20:08,603
- Вот так.
- That's right.
542
00:20:08,603 --> 00:20:10,490
Там неинтерактивный характер.
There's a non-interactive nature.
543
00:20:10,490 --> 00:20:11,820
- [Амит] Неинтерактивный характер.
- [Amit] The non-interactive nature.
544
00:20:11,820 --> 00:20:14,780
- Но в этом есть проверяемость.
- But there's verifiability in it.
545
00:20:14,780 --> 00:20:15,613
- Конечно.
- Indeed.
546
00:20:15,613 --> 00:20:16,880
- Иногда, когда, например,
- Sometimes when, for example,
547
00:20:16,880 --> 00:20:20,150
когда у вас многопротокольный обмен,
when you have multi-protocol exchange
548
00:20:20,150 --> 00:20:22,420
который, знаете, просто как случайное число,
that, you know, just like a random number showed up,
549
00:20:22,420 --> 00:20:24,980
вы должны ввести случайное число.
you have to enter the random number.
550
00:20:24,980 --> 00:20:27,390
- В качестве аутентификации, да. - Аутентификация, правильно.
- As authentication, yes. - Authentication, right.
551
00:20:27,390 --> 00:20:29,650
Теперь я ясно думаю, что в цепочке блоков
Now clearly I think in block chain,
552
00:20:29,650 --> 00:20:31,730
они также начали включать больше
they also began to incorporate a more
553
00:20:31,730 --> 00:20:33,170
- действительно. - общие знания о доказательствах
- Indeed. - general knowledge of proof
554
00:20:33,170 --> 00:20:34,003
в бухгалтерской книге.
in the ledger.
555
00:20:34,003 --> 00:20:36,430
- Сейчас мы определенно находимся в том моменте,
- We're definitely at this moment now,
556
00:20:36,430 --> 00:20:39,350
когда нулевое разглашение будет использоваться все больше и больше.
where zero-knowledge is gonna be used more and more.
557
00:20:39,350 --> 00:20:42,450
В пространстве с нулевым разглашением происходит так много конференций и встреч
There are so many conferences and meetings
558
00:20:42,450 --> 00:20:44,780
,
that occur in the zero-knowledge space,
559
00:20:44,780 --> 00:20:46,415
куда нас с вами не приглашают.
where you and I are not invited.
560
00:20:46,415 --> 00:20:47,248
[Шан-Хуа смеется] Потому что это
[Shang-Hua laughs] Because it's for
561
00:20:47,248 --> 00:20:48,620
для людей, которые развиваются.
the people who are developing.
562
00:20:48,620 --> 00:20:50,340
Вы знаете, люди, которые программируют, а
You know, the people who are programming,
563
00:20:50,340 --> 00:20:51,440
не мы, математики.
not us mathematicians.
564
00:20:51,440 --> 00:20:52,290
- [Шан-Хуа] Да, да.
- [Shang-Hua] Yes, yes.
565
00:20:52,290 --> 00:20:53,550
- И я думаю, что это знак.
- And I think that's a sign.
566
00:20:53,550 --> 00:20:56,725
Это признак того, что наш ребенок вырос и,
That's a sign that our baby has grown up and,
567
00:20:56,725 --> 00:20:57,558
[смеется Шан-Хуа], вы знаете, пришло время
[Shang-Hua laughs] you know, it's time
568
00:20:57,558 --> 00:20:59,410
для его развития.
for it to be developed.
569
00:20:59,410 --> 00:21:03,460
- Я серьезно думаю, что студенты часто также спрашивают меня,
- I think, profoundly, the students often also ask me,
570
00:21:03,460 --> 00:21:05,640
каково будущее направление,
what are the future direction,
571
00:21:05,640 --> 00:21:09,200
как с точки зрения криптографии, доказательства с нулевым разглашением,
both in terms of crypto, zero-knowledge proof,
572
00:21:09,200 --> 00:21:14,130
в реальном мире, так и с точки зрения математики в вычислениях.
in the real world and how mathematical you see in computing.
573
00:21:14,130 --> 00:21:16,850
- Отличный вопрос. Хотел бы я видеть будущее.
- It's a great question. I wish I could see the future.
574
00:21:16,850 --> 00:21:18,800
Я не могу на самом деле, но позвольте мне попробовать.
I can't actually, but let me try.
575
00:21:18,800 --> 00:21:21,010
Часть этого, на которую мне удобнее всего отвечать,
The part of that that I'm the most comfortable answering
576
00:21:21,010 --> 00:21:22,480
— это, конечно, математическая сторона.
is of course the mathematical side.
577
00:21:22,480 --> 00:21:24,637
- М-м-м. - Я думаю, что,
- Mm-hmm. - I think that there is,
578
00:21:24,637 --> 00:21:26,390
знаете, мы так много сделали в криптографии
you know, we've done so much in cryptography
579
00:21:26,390 --> 00:21:28,350
за последние несколько десятилетий,
over the last few decades,
580
00:21:28,350 --> 00:21:30,190
но так мало понимаем.
but we understand so little.
581
00:21:30,190 --> 00:21:31,324
- М-м-м - Знаешь,
- Mm-hmm - You know,
582
00:21:31,324 --> 00:21:32,157
мы и сегодня так мало понимаем.
even today we understand so little.
583
00:21:32,157 --> 00:21:36,520
И я думаю, что наиболее фундаментальным аспектом этого
And I think the most fundamental aspect of that
584
00:21:36,520 --> 00:21:38,410
является понимание твердости.
is understanding hardness.
585
00:21:38,410 --> 00:21:40,840
Как мы получаем сложные проблемы? - М-м-м.
How do we get hard problems? - Mm-hmm.
586
00:21:40,840 --> 00:21:43,640
- Как мы на самом деле строим математически сложные задачи
- How do we actually build mathematically hard problems
587
00:21:43,640 --> 00:21:46,810
, чтобы затем использовать их для создания эффективных программ с
so that we can then use them to build efficient
588
00:21:46,810 --> 00:21:47,930
нулевым разглашением? - [Шан-Хуа] М-м-м.
zero-knowledge programs. - [Shang-Hua] Mm-hmm.
589
00:21:47,930 --> 00:21:49,520
- И эффективные доказательства с нулевым разглашением, верно?
- And efficient zero-knowledge proofs, right?
590
00:21:49,520 --> 00:21:51,890
- Я также думаю, что в квантовых вычислениях
- I guess also, in quantum computing,
591
00:21:51,890 --> 00:21:53,120
вам нужны еще более сложные задачи.
you need even harder problems.
592
00:21:53,120 --> 00:21:54,200
- Конечно. Абсолютно.
- Indeed. Absolutely.
593
00:21:54,200 --> 00:21:55,760
Вы знаете, теперь, когда у нас есть
You know, now that we have the
594
00:21:55,760 --> 00:21:57,800
призрак квантовых вычислений - [Шан-Хуа] Да, да.
specter of quantum computing - [Shang-Hua] Yes, yes.
595
00:21:57,800 --> 00:21:59,560
- приближается к нам, и мы все знаем, что
- coming at us and we all know that
596
00:21:59,560 --> 00:22:01,850
квантовые компьютеры могут взломать множество
quantum computers can break a lot of
597
00:22:01,850 --> 00:22:03,830
криптографических систем. - Да. Глубокий вызов.
cryptographic systems. - Yes. A profound challenge.
598
00:22:03,830 --> 00:22:04,720
- Это серьезный вызов.
- It's a profound challenge.
599
00:22:04,720 --> 00:22:07,600
Так можем ли мы найти новые источники твердости,
So can we find new sources of hardness
600
00:22:07,600 --> 00:22:09,562
которые будут квантово-устойчивыми? - [Шан-Хуа] Верно.
that are quantum-resistant? - [Shang-Hua] That's right.
601
00:22:09,562 --> 00:22:11,120
- Что даже квантовые компьютеры не могут сломаться.
- That even quantum computers can't break.
602
00:22:11,120 --> 00:22:12,520
И это то, над чем я
And that's something I've been working on
603
00:22:12,520 --> 00:22:13,630
работал последние несколько лет.
for the last several years.
604
00:22:13,630 --> 00:22:14,670
Но я был бы очень рад
But I'd be very excited to
605
00:22:14,670 --> 00:22:16,220
увидеть, что происходит в этом пространстве.
see what happens in that space.
606
00:22:16,220 --> 00:22:19,713
- Но я уверен, что они будут мотивировать на красивую математику.
- But I'm sure they will motivate beautiful mathematics.
607
00:22:19,713 --> 00:22:20,690
- Да все верно.
- Yes, that's right.
608
00:22:20,690 --> 00:22:23,900
Вы знаете, одна из замечательных особенностей реального мира
You know, one of the great things about the real world
609
00:22:23,900 --> 00:22:25,930
заключается в том, что у людей в реальном мире есть требования.
is that people in the real world have demands.
610
00:22:25,930 --> 00:22:26,763
- Вот так. - И эти требования
- That's right. - And those demands
611
00:22:26,763 --> 00:22:28,620
часто кажутся невыполнимыми.
often sound impossible.
612
00:22:28,620 --> 00:22:29,640
И вот где мы вступаем
And that's where we come in.
613
00:22:29,640 --> 00:22:31,890
. Наша работа - сделать невозможное возможным.
It's our job to make the impossible possible.