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

Post on 26-Jul-2015

189 Views

Category:

Internet

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как это работает. 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)

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

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

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

...

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

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

Вопросы?

kravchenkopo@gmail.com

ideateam_macuser

ua.linkedin.com/in/pkravchenko/

top related