17 июня 2013, 1:03:44 PM   # 1
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Привет, Я работаю над реализацией узла в C # и у меня есть вопрос вокруг проверки подписей ECDSA. Я использую библиотеку BouncyCastle и вызова ECDsaSigner.VerifySignature принимает ~ 100мс на четырехъядерной i5-2500K процессора. Это означает, что если Макс из всех 4 ядер можно обрабатывать около 40 подписей в секунду. Это кажется крайне медленно для меня, но я не использовал ECDSA раньше. Кажется ли это, как разумная скорость проверки подписи? На странице вики масштабируемости упоминает возможность сделать десятки тысяч подписей поверок в секунду.

Благодаря,

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


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


17 июня 2013, 2:08:46 PM   # 2
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

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





Для такого процессора OpenSSL необходим ~ 1 мс на операцию. Даже меньше, если вы используете 64-битную арку.
Так что я бы сказал, что 100ms не является разумным.
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

17 июня 2013, 2:13:54 PM   # 3
 
 
Сообщения: 1610
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Если это было реализовано в C, это будет быстрее. Я могу видеть, как реализация Java может быть медленнее.
Помните, помните 5 ноября сейчас офлайн Пожаловаться на Помните, помните 5 ноября   Ответить с цитированием Мультицитирование сообщения от Помните помню 5 ноября Быстрый ответ на сообщение Помните, помните 5 ноября

17 июня 2013, 2:17:57 PM   # 4
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Вы можете попробовать jasvet, чтобы увидеть, сколько времени это занимает в Python
jackjack сейчас офлайн Пожаловаться на jackjack   Ответить с цитированием Мультицитирование сообщения от jackjack Быстрый ответ на сообщение jackjack

17 июня 2013, 2:43:43 PM   # 5
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Я когда-то была аналогичная проблема в Go - это довольно оптимальный компилятор, но текущая реализация Lib больших чисел далеко от оптимального.

Так что для меня это было как 10мс на ор, который до сих пор было долго, поэтому я решил использовать реализацию OpenSSL.
На мгновение я даже имел решение с сервером TCP (написанный в C, с OpenSSL), который делал ECDSAs для моего фактического приложения. Это было довольно сумасшедшим, хотя он работал ..
Позже я понял, как совместить OpenSSL LIB с моим приложением идут и с тех пор он работает так же быстро, как мне нужно.

Большинство языков в эти дни позволяют создавать оберток для родных LIBS - это, вероятно, лучший способ для вас, чтобы идти, как хорошо.
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

17 июня 2013, 4:21:32 PM   # 6
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Всем спасибо! То, что я сейчас функционирует, по крайней мере; это хорошо, чтобы знать, что можно улучшить вниз линию.

Постскриптум Кто-нибудь есть большой интерес к реализации в C #? Я начал это в основном самообразованием, но я больше прогрессировать, чем я ожидал.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

17 июня 2013, 4:28:27 PM   # 7
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Постскриптум Кто-нибудь есть большой интерес к реализации в C #? Я начал это в основном самообразованием, но я больше прогрессировать, чем я ожидал.
Если вы начали, просто закончить его - превратить его в полноценный узел.
Это даст вам большое удовлетворение и сообществам нуждаются в других клиентах.
Bittorrent никогда бы не стало успешным, если бы люди придерживались оригинальных питона скачать диалоги.

Лично я считаю, что будущее Bitcoin не в официальном клиенте - официальный ядро ​​является слишком важным и ни один здравомыслящий разработчик не захочет рисковать разбив его, что, безусловно, парализовать его дальнейшее развитие. Так как это будет все труднее и труднее добавлять новые возможности там, рано или поздно альтернативные клиенты будут просто бить его по функциональности и скорости развития.

Что касается ваших дальнейших возможных проблем, так как я был там, я могу вам сказать, что самая большая проблема, помимо производительности ECDSA, является собственно базой данных для UTXO.
Забудьте о что-нибудь SQL основе. Если вы не хотите, чтобы сделать узел testnet только
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

17 июня 2013, 4:31:15 PM   # 8
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Хех, SQL Server является то, что я в данный момент, но я не удосужился реализации UTXO еще. Мы увидим, как это происходит.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

18 июня 2013, 9:24:20 AM   # 9
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Самая быстрая реализация этого:

https://github.com/sipa/secp256k1
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

18 июня 2013, 10:44:41 AM   # 10
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Самая быстрая реализация этого:

https://github.com/sipa/secp256k1
Ничего себе, это здорово.
187us против 1008us OpenSSL,, на моем тестовом ноутбуке.

Sipa для президента!
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

18 июня 2013, 11:40:37 AM   # 11
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Ничего себе, это должно быть рядом с 1000x более высокой производительностью, чем я сейчас получаю. Она засасывает, что моя скорость проверки будет хромает это сейчас, но у меня есть миллион других вещей, осталось реализовать в любом случае.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

18 июня 2013, 11:42:43 AM   # 12
 
 
Сообщения: 1610
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Самая быстрая реализация этого:

https://github.com/sipa/secp256k1
Я не думаю, что я могу использовать эту библиотеку для создания даже скорейшего адреса?
Помните, помните 5 ноября сейчас офлайн Пожаловаться на Помните, помните 5 ноября   Ответить с цитированием Мультицитирование сообщения от Помните помню 5 ноября Быстрый ответ на сообщение Помните, помните 5 ноября

18 июня 2013, 11:46:54 AM   # 13
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Самая быстрая реализация этого:

https://github.com/sipa/secp256k1
Я не думаю, что я могу использовать эту библиотеку для создания даже скорейшего адреса?
Если вы имеете в виду закрытый ключ -> Открытый ключ (или адрес), я уверен, что вы можете
Если вы имеете в виду создание закрытого ключа, нет
jackjack сейчас офлайн Пожаловаться на jackjack   Ответить с цитированием Мультицитирование сообщения от jackjack Быстрый ответ на сообщение jackjack

24 июня 2013, 2:37:37 AM   # 14
 
 
Сообщения: 116
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Что касается этой библиотеки secp256k1,


Я пытался получить его для компиляции в Visual Studio, но есть некоторые проблемы с ним, а именно secp256k1_fe_mul_inner и secp256k1_fe_sqr_inner внутреннее имеет sysv_abi соглашения о вызовах, что VS не понимает и использует __int128, что VS не поддерживает ,

Может быть, я могу получить что-то, чтобы работать через MingW, но я спасу, что на другой день.

Edit: определение поля 10x26 выглядит многообещающим.
riplin сейчас офлайн Пожаловаться на riplin   Ответить с цитированием Мультицитирование сообщения от riplin Быстрый ответ на сообщение riplin

24 июня 2013, 9:22:20 AM   # 15
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Что касается этой библиотеки secp256k1,


Я пытался получить его для компиляции в Visual Studio, но есть некоторые проблемы с ним, а именно secp256k1_fe_mul_inner и secp256k1_fe_sqr_inner внутреннее имеет sysv_abi соглашения о вызовах, что VS не понимает и использует __int128, что VS не поддерживает ,

Может быть, я могу получить что-то, чтобы работать через MingW, но я спасу, что на другой день.

Edit: определение поля 10x26 выглядит многообещающим.
Он отлично работает в MinGW.
Вам просто нужно внести некоторые изменения в сценарии конфигурации и немного другой Makefile.
Смотрите build_windows.txt в моей вилке: https://github.com/piotrnar/secp256k1
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

24 июня 2013, 2:53:16 PM   # 16
 
 
Сообщения: 1092
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Быстрее и меньше альтернативы OpenSSL было бы хорошо, но библиотека СИПА реализовать все причуды OpenSSL, которые необходимы для реализации полного узла Bitcoin? И кто-то думал о библиотеке GPU для кода ECDSA?
MatthewLM сейчас офлайн Пожаловаться на MatthewLM   Ответить с цитированием Мультицитирование сообщения от MatthewLM Быстрый ответ на сообщение MatthewLM

24 июня 2013, 3:04:09 PM   # 17
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Быстрее и меньше альтернативы OpenSSL было бы хорошо, но библиотека СИПА реализовать все причуды OpenSSL, которые необходимы для реализации полного узла Bitcoin?
Единственное, за исключением ECDSA являются SHA256 и RIMP160 хэширования funcs, но и легко реализовать без OpenSSL.

Хотя от того, что я слышал, что они в настоящее время заняты, добавив некоторые X509 вещи, так что в конце концов, это будет нуждаться в OpenSSL даже больше. Если терминатор не получит задницу Гэвины первой, в этом случае может быть еще некоторое время, чтобы увидеть код ссылки, без зависимости OpenSSL.
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

24 июня 2013, 5:42:21 PM   # 18
 
 
Сообщения: 116
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Что касается этой библиотеки secp256k1,


Я пытался получить его для компиляции в Visual Studio, но есть некоторые проблемы с ним, а именно secp256k1_fe_mul_inner и secp256k1_fe_sqr_inner внутреннее имеет sysv_abi соглашения о вызовах, что VS не понимает и использует __int128, что VS не поддерживает ,

Может быть, я могу получить что-то, чтобы работать через MingW, но я спасу, что на другой день.

Edit: определение поля 10x26 выглядит многообещающим.
Он отлично работает в MinGW.
Вам просто нужно внести некоторые изменения в сценарии конфигурации и немного другой Makefile.
Смотрите build_windows.txt в моей вилке: https://github.com/piotrnar/secp256k1

Мне удалось получить его для компиляции в Visual Studio. 32bit прямо сейчас, потому что 64-битная OpenSSL, кажется, дает мне некоторые компоновщика проблемы (_ префикс на BN_ * функции). Не было времени, чтобы посмотреть на что еще.
riplin сейчас офлайн Пожаловаться на riplin   Ответить с цитированием Мультицитирование сообщения от riplin Быстрый ответ на сообщение riplin

24 июня 2013, 5:49:19 PM   # 19
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Мне удалось получить его для компиляции в Visual Studio. 32bit прямо сейчас, потому что 64-битная OpenSSL, кажется, дает мне некоторые компоновщика проблемы (_ префикс на BN_ * функции). Не было времени, чтобы посмотреть на что еще.
Мы можем обратиться только к SPIA, чтобы сделать версию без зависимостей OpenSSL / ГПХ, которые были бы просто идеально.
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

28 июня 2013, 1:30:00 AM   # 20
 
 
Сообщения: 952
Цитировать по имени
цитировать ответ
по умолчанию Re: Скорость проверки ECDSA

Привет, Я работаю над реализацией узла в C # и у меня есть вопрос вокруг проверки подписей ECDSA. Я использую библиотеку BouncyCastle и вызова ECDsaSigner.VerifySignature принимает ~ 100мс на четырехъядерной i5-2500K процессора. Это означает, что если Макс из всех 4 ядер можно обрабатывать около 40 подписей в секунду. Это кажется крайне медленно для меня, но я не использовал ECDSA раньше. Кажется ли это, как разумная скорость проверки подписи? На странице вики масштабируемости упоминает возможность сделать десятки тысяч подписей поверок в секунду.

Благодаря,

Павел
Если вы можете найти C # привязок для OpenSSL, что позволит значительно ускорить процесс. Там в это, хотя я не пробовал. Это действительно добавляет беспорядок OpenSSL, хотя (большая зависимость).
runeks сейчас офлайн Пожаловаться на runeks   Ответить с цитированием Мультицитирование сообщения от runeks Быстрый ответ на сообщение runeks



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW