Анонимность в Биткоин. Часть 1. Лекция 9

13
Анонимность в криптовалютах. Часть 1 Павел Кравченко Лекция 9

Upload: pavel-kravchenko-phd

Post on 26-Jul-2015

187 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: Анонимность в Биткоин. Часть 1. Лекция 9

Анонимность в криптовалютах. Часть 1

Павел КравченкоЛекция 9

Page 2: Анонимность в Биткоин. Часть 1. Лекция 9

Как работают электронные деньги

Page 3: Анонимность в Биткоин. Часть 1. Лекция 9

Как работают электронные деньги

Page 4: Анонимность в Биткоин. Часть 1. Лекция 9

Анонимность и приватность

Unlinkability - невозможно определить, связаны ли две некоторые транзакции (общий ли отправитель).

Untraceability - невозможно определить действия участника в сети

Anonymity - невозможно идентифицировать конкретного человека, осуществляющего транзакцию

arxiv.org/pdf/1107.4524.pdfcryptome.org/2013/11/bitcoin-pirate-nakamoto.pdf

Page 5: Анонимность в Биткоин. Часть 1. Лекция 9

Криптографические схемы

Blind signature (Chaum, 1982)

Zero-knowledge proof (Goldwasser, Micali, Rackoff, 1985)

One-way accumulator (Benaloh, de Mare, 1993)

Ring signature (Rivest, Shamir, 2001)

http://cryptomoms.com/forum/questions/21/history-of-cryptocurrency/112/

Page 6: Анонимность в Биткоин. Часть 1. Лекция 9

Слепая подпись

Это цифровая подпись при которой содержание сообщения “ослеплено” перед

подписью. Когда “ослепление” снимается, все выглядит как обычная подпись.

Page 7: Анонимность в Биткоин. Часть 1. Лекция 9

Слепая подпись

Каждый может проверить подпись.

Подписывающая сторона не может соотнести запросы на подпись и подписанные документы.

Page 8: Анонимность в Биткоин. Часть 1. Лекция 9

Что может быть достигнуто

Page 9: Анонимность в Биткоин. Часть 1. Лекция 9

Алгоритм выдачи анонимных денег

1. Алиса создает случайное число – серийный номер m для банкноты.

2. Она “ослепляет” m и предоставляет в банк

3. Банк подписывает “ослепленное” m и списывает с ее счета $1 (считается, что все что подписал банк, равно $1)

4. Алиса снимает “ослепление” <m,sig> и может платить банкнотой

5. Перед принятием платежа, продавец посылает банкноту <m,sig> в банк.

6. Банк проверяет, что подпись sig is корректна и m не было использовано ранее и начисляет $1 на счет продавца.

Page 10: Анонимность в Биткоин. Часть 1. Лекция 9

Анонимные деньги

Page 11: Анонимность в Биткоин. Часть 1. Лекция 9

Как это работает. RSA

RSA: (me)d = m (mod N),

e – открытый ключ, d – личный ключ, m – сообщение, N=pq

Протокол слепой подписи:

Алисе необходимо получить подпись на сообщении m (которая должна выглядеть как md)

1. Алиса ослепляет сообщение: mre (выбирая случайное r)

2. Банк подписывает: (mre)d=mdred=mdr (mod N)

3. Алиса снимает ослепление: mdr/r = md (mod N)

Page 12: Анонимность в Биткоин. Часть 1. Лекция 9

1. masternode создает mixing пул

2. пользователи предоставляют inputs и ослепленные outputs

3. пользователи анонимно переподключаются и предоставляют де-ослепленные outputs 

...

Blind signature позволяет доказать что предоставленые outputs принадлежат участникам пула.

Никто не знает соответствия между input и output.

Page 13: Анонимность в Биткоин. Часть 1. Лекция 9

Вопросы?

[email protected]

ideateam_macuser

ua.linkedin.com/in/pkravchenko/