Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
28 апреля 2015, 3:56:19 PM   # 1
 
 
Сообщений: 65
Цитировать по имени
цитировать ответ
по умолчанию Re: Как проверить действительность сделки

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я хочу, чтобы проверить действительность сделки

Подписание ТХ

Для того, чтобы подписать ТХ, мне нужно:
    - , Random Number = RN и хэш ТХ = txHash

Для того, чтобы подписать ТЙ я должен опубликовать <Публичных> знак равно * G = (X, У)
где G является точкой генератора

и я также должен опубликовать подпись = <сиг> = (R, S)
где s представляет собой случайное число:
    генерирует случайное число RN, и вычислить s = RNX как это:
    RN * G = (RNX, RNY)
и г является сигнатурный множитель построен с txHash, RNX, Р.Н.

то сценарий подписи знак равно <сиг> + <Публичных> = (R, S) + (X, Y)

Проверьте ТХ

Если у меня есть вся информация о R, S = RNX, RNY, X, Y, я могу подписать ТХ и проверить его достоверность с моим сценарием

НО в транзакции Bitcoin иногда X и Y заданы: 04 X Y
а иногда только X дается: 02 X или 03 X

также только s = RNX дается и не RNY.

Поэтому для того, чтобы проверить, ТЕ, мне нужно вычислить Y и RNY
Вопрос 1) есть способ сделать это без Y и / или RNY?

Вопрос 2) Существует алгоритм приведен упрощенный найти Y когда
вычисления квадратных корней по модулю р, когда р = 3 (те 4).
Я проверил, что это условие выполнено с р используется в Bitcoin.
Я прав ? Могу ли я использовать этот алгоритм?

если р = 3 (по модулю 4) решение у ^ 2 = х ^ 3 + 4 = а (по модулю р)
имеет вид у = а ^ (к + 1)
Доказательство: если р = 4k + 3, то установить у = а ^ (к + 1) по модулю р, то
у ^ 2 = а ^ (2k + 2) = а ^ (2k + 1), а = а ^ ((р-1) / 2) = а (той р)
по критерию Эйлера. Таким образом, у = а ^ (к + 1) является решением.

Вопрос 3) Есть ли риск столкновения при нахождении Y или RNY?
В простом примере (http://www.royalforkblog.com/2014/09/04/ecc/)
р = 29 и privKey = 7 => 7 * G = (17,9)
Если у меня есть только X = 17 У меня есть 2 варианта для Y: (17,9) или (17,20)

благодаря
redPanda сейчас офлайн Пожаловаться на redPanda   Ответить с цитированием Мультицитирование сообщения от redPanda Быстрый ответ на сообщение redPanda


Как заработать Биткоины?
Без вложений. Не майнинг.


28 апреля 2015, 4:51:34 PM   # 2
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Как проверить действительность сделки

Получил 1806 Биткоинов
Реальная история.





- чик -
НО в транзакции Bitcoin иногда X и Y заданы: 04 X Y
а иногда только X дается: 02 X или 03 X
- чик -

В точку. А 02 или 03, что вы упоминали там, потому что Y может иметь два разных значения. 02 или 03 пусть вы знаете, какой из этих двух значений следует использовать.

Если у меня есть только X = 17 У меня есть 2 варианта для Y: (17,9) или (17,20)

К счастью, вы должны не только иметь X = 17.

Вы должны либо иметь
02 Х = 17
или
03 X = 17
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

28 апреля 2015, 5:43:59 PM   # 3
 
 
Сообщений: 65
Цитировать по имени
цитировать ответ
по умолчанию Re: Как проверить действительность сделки

большое спасибо 
а как насчет случайного числа RNY от S = RNX?
redPanda сейчас офлайн Пожаловаться на redPanda   Ответить с цитированием Мультицитирование сообщения от redPanda Быстрый ответ на сообщение redPanda

30 апреля 2015, 9:28:37 AM   # 4
 
 
Сообщения: 217
Цитировать по имени
цитировать ответ
по умолчанию Re: Как проверить действительность сделки

Вам не нужно RNY проверить действительность.

Compute txHash / с * G + R / S * (X, Y), которые должны дать вам Р.Н. * G = (RNX, RNY). Тогда просто проверить, если г = RNX.

РЕДАКТИРОВАТЬ: Ваша нотация несколько нестандартная. RN обычно называется к. То, что я назвал г, с выше подпись ECDSA. г RNX, и с представляет собой (txHash + г * г) / к, где d представляет собой закрытый ключ. Кажется, что вы поменялись местами г и с.
johoe сейчас офлайн Пожаловаться на johoe   Ответить с цитированием Мультицитирование сообщения от johoe Быстрый ответ на сообщение johoe

8 мая 2015, 3:56:29 PM   # 5
 
 
Сообщений: 65
Цитировать по имени
цитировать ответ
по умолчанию Re: Как проверить действительность сделки

котировка
Кажется, что вы поменялись местами г и S
Да, вы правы, я думаю, моя ошибка пришла из http://www.royalforkblog.com/2014/09/04/ecc/ (С небольшим числом)
где они дают "подпись = 22,13" (С 22 = с и 13 = г: в обратном порядке). Я должен был проверить дважды.
И спасибо за чтение моего длинный вопрос.
redPanda сейчас офлайн Пожаловаться на redPanda   Ответить с цитированием Мультицитирование сообщения от redPanda Быстрый ответ на сообщение redPanda



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW