Pages:
Author

Topic: Вопрос на $500K - page 4. (Read 18009 times)

member
Activity: 172
Merit: 11
November 27, 2018, 08:18:22 AM
А, прикольно.

Похоже, я неправильно прочитал и понял код изменений в BitcoinSV форке.
У меня такое смутное ощущение, что SCRIPT_VERIFY_CLEANSTACK не стал
обязательным флагом. То есть ламбада в этом форке продолжается на радость
всем участвующим. А может это у меня глюки? Ща, всё заново буду проверять.

Анализ ситуации осложняется тем, что нет рабочего блок-эксплорера этого форка.
https://bchsvexplorer.com/ какое-то время поработал и сдох.

Клиента BitcoinSV под убунту и винду я себе еще собрал как-то
https://github.com/AlisterMaclin/bitcoin-sv/releases

А вот без блок-экспорера трудно некоторые вещи делать. Даже не делать, а просто смотреть.

Подключаюсь сейчас к исследованиям.

Подтверждаю подозрение. В текущей версии кода в SV изменения не большие,  то есть
ламбада в этом форке продолжается на радость всем участвующим.
sr. member
Activity: 770
Merit: 305
November 27, 2018, 06:53:06 AM
А, прикольно.

Похоже, я неправильно прочитал и понял код изменений в BitcoinSV форке.
У меня такое смутное ощущение, что SCRIPT_VERIFY_CLEANSTACK не стал
обязательным флагом. То есть ламбада в этом форке продолжается на радость
всем участвующим. А может это у меня глюки? Ща, всё заново буду проверять.

Анализ ситуации осложняется тем, что нет рабочего блок-эксплорера этого форка.
https://bchsvexplorer.com/ какое-то время поработал и сдох.

Клиента BitcoinSV под убунту и винду я себе еще собрал как-то
https://github.com/AlisterMaclin/bitcoin-sv/releases

А вот без блок-экспорера трудно некоторые вещи делать. Даже не делать, а просто смотреть.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
November 26, 2018, 08:27:20 AM
Операция сложения на эллиптической кривой, определенна как точка, которая являет отражением относительно оси Х точки, которая является третьей точкой пересечения прямой которая соединяет 2 складываемых точки на эллиптической кривой.

В случае сложении точки с самой собой, что как раз и используется активно в ECDSA, данная прямая является касательной к кривой и имеет всего 2 т очки пересечения.


Википедию гуглить тут все умеют.

Пошагово можете расписать как "сложить" (в эллиптическом смысле) две точки координаты каждой из которых даны как два 256-битных числа?

Чтобы не засорять здесь, я создал новую ветку в кодерах https://bitcointalksearch.org/topic/--5075972

member
Activity: 148
Merit: 45
https://bitaps.com/
November 26, 2018, 08:14:52 AM
Операция сложения на эллиптической кривой, определенна как точка, которая являет отражением относительно оси Х точки, которая является третьей точкой пересечения прямой которая соединяет 2 складываемых точки на эллиптической кривой.

В случае сложении точки с самой собой, что как раз и используется активно в ECDSA, данная прямая является касательной к кривой и имеет всего 2 т очки пересечения.

 P + Q  :



sr. member
Activity: 770
Merit: 305
November 26, 2018, 06:38:06 AM
по модулю p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
Вот тут могу ошибаться, кстати. поправьте если что. Может быть по модулю
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
Я так на память не помню, а за вас всю работу делать лень. Помогите мне хотя бы в этом вопросе, а?
Первый правильно.
Quote
Умножение вектора на число - это не просто умножение на калькуляторе, это как-то хитро вычисляется
Да опять же, ничего хитрого: умножение вектора (точки) на скаляр вычисляется путём сложения соответствующее число раз.
В принципе, сложение - тоже ничего хитрого, обычная геометрия.

Это понятно, что умножить на пять - это ( ( x + x ) + ( x + x ) ) + x
Или ( ( x + x ) + x ) + ( x + x )
Или еще как-нибудь.
Теперь остается понять, что есть сложение ( x + y ) и частный случай сложения ( x + x )
member
Activity: 280
Merit: 26
November 26, 2018, 06:03:57 AM
по модулю p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
Вот тут могу ошибаться, кстати. поправьте если что. Может быть по модулю
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
Я так на память не помню, а за вас всю работу делать лень. Помогите мне хотя бы в этом вопросе, а?
Первый правильно.
Quote
Умножение вектора на число - это не просто умножение на калькуляторе, это как-то хитро вычисляется
Да опять же, ничего хитрого: умножение вектора (точки) на скаляр вычисляется путём сложения соответствующее число раз.
В принципе, сложение - тоже ничего хитрого, обычная геометрия.
sr. member
Activity: 770
Merit: 305
November 24, 2018, 07:52:21 AM
Как тогда в тетрадке карандашем мне из приватного ключа "1" получить
1. публичный биткоин-ключ,
Это самое простое. Давайте вместе разбираться, оба научимся и другим дорогу покажем.

Мы рассматриваем так называемый secp256k1 криптографический стандарт.
В котором определен константный вектор G вот такой:

x= 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
y= 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8


Почему именно этот набор цифр? Почему не какой-то другой? Об этом знает только NSA, по крайней
мере я не нашел (да особо и не искал) никаких публичных источников рассказывающих о том, почему
именно это число выбрано и чем оно так приглянулось. Вообще, такое у меня ощущение сложилось, что
этот вопрос все стараются обходить стороной, не связываться и ни дай Бог не привлекать внимания
органов власти и правопорядка США. Ну типа выбрали и выбрали, нам, холопам, не дано знать.

Соотношение между x и y этого вектора укладываются по идее (я не проверял) в уравнение эллиптической кривой
y2 = x3+ax+b где a=0, b=7
Почему ноль и семь - я тоже не знаю. Операции сложения и умножения в этом уравнении - обычные арифметические
операции по модулю p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
Вот тут могу ошибаться, кстати. поправьте если что. Может быть по модулю
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
Я так на память не помню, а за вас всю работу делать лень. Помогите мне хотя бы в этом вопросе, а?

Итак. Приватный ключ = 1, чтобы найти публичный ключ надо G умножить на 1
Умножение вектора на число - это не просто умножение на калькуляторе, это как-то хитро вычисляется,
сейчас пока пропустим это, важно что "умножить на один" - это как раз этот самый вектор и получится.

Итак. Публичный ключ для privkey=1 мы вычислили. Даже калькулятор не понадобился.
Его записывают, добавляя 04 (байт равный четырем) в начало. Результат в шестнадцатеричном виде:

04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

Можете проверить на сайте bitaddress.org  Grin

Наш разговор ушел далеко от изначальной темы. Я бы начал новый топик, но не знаю в каком разделе.
Никакой раздел для этого не подходит. Я в свое время предлагал "Хроники Биткойна", но идея угасла.

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
November 24, 2018, 06:03:57 AM
Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить
1. публичный биткоин ключ
2. подпись сообщения
ну и как проверить подпись тоже?
Практически нереально, если рассматривать 256-битные числа.
Но можно взять G=11 или G=13 и по идее сделать то же самое.

Формула подписи там несложная (сожнее вычислить публичный ключ) - но да, если возиться с 256-битными числами, да ещё по модулю, с тетрадкой и карандашом как-то совсем грустно.

Ну допустим я могу в уме хэшировать, складывать, делить и умножать 255-битные числа.
Как тогда в тетрадке карандашем мне из приватного ключа "1" получить
1. публичный биткоин-ключ,
2. цифровую подпись к числу "2"
3. проверить цифроыую подпись
?
member
Activity: 280
Merit: 26
November 23, 2018, 06:38:02 AM
Еще бы кто так же понятно объяснил операции на эллиптической кривой.

Ну там, если в дебри теории групп не лезть, тоже всё не особо сложно.

Определили некоторое множество целых чисел (координата X, в первом приближении - приватный ключ), которые обозвали полем.
Над этим множеством определили одну единственную операцию - где-то её называют умножением, где-то сложением, академическое название - групповой закон. (Отсюда из-за этих разных названий и возникает как правило путаница и непонятки.) Обозначается плюсиком в кружочке, я такого знака в таблице символов не нашёл - поэтому ниже буду писать просто +.
(На самом деле, для вычисления этого "сложения"/"умножения" применяется целая формула.)
Для ЕС есть ещё хитрушка: если две точки A == B, то A + B считается как правило несколько по иной формуле, чем если эти точки не равны (называется удвоение).
Плюс ещё ввели некоторые сущности: точка в бесконечности O и обратный элемент, такой, что A + (-A) = 0.
Все операции делаются по модулю, что дополнительно осложняет.

Вкратце, это всё насчёт операций.

Для криптографии на этой кривой выбирают точку-генератор G - её как-то там специально вычисляют, но в принципе, это просто любая точка на ЕС.
Соответственно, все операции - т.е., вычисление публичных ключей из приватных 1, 2, 3, ... производят начиная от этой точки: G+1, G+2, G+3 ...

Вот, как-то так.

Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить
1. публичный биткоин ключ
2. подпись сообщения
ну и как проверить подпись тоже?
Практически нереально, если рассматривать 256-битные числа.
Но можно взять G=11 или G=13 и по идее сделать то же самое.

Формула подписи там несложная (сожнее вычислить публичный ключ) - но да, если возиться с 256-битными числами, да ещё по модулю, с тетрадкой и карандашом как-то совсем грустно.
sr. member
Activity: 770
Merit: 305
November 23, 2018, 12:13:02 AM
там хитрое сложение. Суть ниже
Я знаю, что такое теория групп. И то, что сложение хитрое - знаю тоже.
Сам пытался разобраться как оно работает. Но опять же - знаю это приблизительно.
Ну какую отметку получит школьник по географии, если на вопрос "где находится
америка?" ответит: "не знаю где, вроде где-то на карте видел и в книжке про нее
читал, то есть то что она есть - я зуб даю, а вот показать указкой на карте - тут я точно
щас обосрусь"

Приватный ключ = 1
сообщение = 2
Подписывается не само сообщение, а его дайджест, то есть сперва мы "Войну и Мир"
хэшируем каким-либо способом (в биткойне sha256d но можно и любым другим)
до 256 бит, а потом уже скармливаем алгоритму подписи.

Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить
1. публичный биткоин ключ
2. подпись сообщения
ну и как проверить подпись тоже?
Практически нереально, если рассматривать 256-битные числа.
Но можно взять G=11 или G=13 и по идее сделать то же самое.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
November 22, 2018, 11:34:54 PM
Приватный ключ = 1
сообщение = 2

Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить
1. публичный биткоин ключ
2. подпись сообщения
ну и как проверить подпись тоже?
member
Activity: 172
Merit: 11
November 22, 2018, 04:31:24 PM
...складывать два предвычисленных значения всяко проще, чем умножать p на G.
там хитрое сложение. Суть ниже

Еще бы кто так же понятно объяснил операции на эллиптической кривой.

Порядок вычисления публичного ключа (координаты точки на эл.кривой):

1. Берем двоичную форму любого задуманного нами числа (32 бит) - приватный ключ.
Публичный ключ = x(G) в этом моменте (пабкей)

2. Начиная с младших разрядов, используя технику умножения-сложения делаем следующее...
Точка в бесконечности G (ее координаты) на каждом такте цикла складываются сами с собой (аккумулятор). Сложение точек на эл.кривой несложная мат.операция. При обходе битов приватного ключа в случае, если бит=1 складываем с (пабкей) результат акуммулятора.

Итого: 255 операций тактов цикла внутри которого несколько операций сложения.

В целом все бы ничего, но перебор очень затрудняют 2 операции: hash160 и sha256



newbie
Activity: 56
Merit: 0
November 22, 2018, 11:39:08 AM
класс! как в Китае побывал, спасибо! Grin ни хера из текста многоуважаемых гуру не понял,
кроме того, что бабок не удалось срубить Cry, но сюжет достоин сериала!)
Ну почему не удалось? Плохо ты читал  Grin Про таких говорят: смотришь в книгу - видишь фигу
Да? Странно Huh Наверное какую-то серию пропустил. Чесслово у меня сложилось впечатление, что не вы, а другие люди увели бабосы на 3+ BCH Wink
Ну, раз не так, то тем более все супер, раз еще и хеппиэнд! Smiley
sr. member
Activity: 770
Merit: 305
November 22, 2018, 10:51:12 AM
К известной точке на эллиптической кривой (публичный ключ) последовательно прибавляются точки +1, +2, ... (т.е., вычисленные из приватного ключа 1, 2, ...). И так пока не упрёмся в одну из предвычисленных точек.
Вот блин. Век живи, век учись. Ясен плинтус, что складывать два предвычисленных значения всяко проще, чем умножать p на G.
Спасибо. Понятно объяснил. Еще бы кто так же понятно объяснил операции на эллиптической кривой.
Я пытался понять, но так и не сумел, бросил. То есть в принципе понимаю что там они что-то крутят-вертят
с вектором. Все-таки теорию групп/колец/полей я еще не совсем забыл из школьного курса. Но экзамен
по операциям не сдал бы точно.
member
Activity: 280
Merit: 26
November 22, 2018, 10:10:04 AM
Все равно я это в гимназии не проходил.
А на пятом десятке лет трудно уже мозги заставить работать.
Да там не над чем мозги напрягать: тот же линейный перебор. К известной точке на эллиптической кривой (публичный ключ) последовательно прибавляются точки +1, +2, ... (т.е., вычисленные из приватного ключа 1, 2, ...). И так пока не упрёмся в одну из предвычисленных точек.
Проблема там только в изобретении более нового (быстрого) алгоритма сложения, либо какой-нибудь сверхбыстрой реализации существующих - так-то с текущими там ловить уже особо и нечего.
sr. member
Activity: 770
Merit: 305
November 22, 2018, 08:48:18 AM
Ничего там сложного нет, просто это две немного разные субстанции: известные начальные
биты ограничивают диапазон перебора, а известный публичный ключ даёт стартовую точку
(на EC) от которой можно делать baby step / giant step.
Все равно я это в гимназии не проходил.
А на пятом десятке лет трудно уже мозги заставить работать.

Ключи известны только те, с которых автор убрал койны (т.е., выше 160 бит).
Ой, верно. Я плохо посмотрел.
member
Activity: 280
Merit: 26
November 22, 2018, 08:39:54 AM
Там интересная математика говорящая о том, что если в приватном ключе известно
какое-то количество начальных битов, то найти его (зная публичный ключ) можно быстрее, чем брутфорсом.
Но я уже этой математикой не владею. А учиться поздно.
Ничего там сложного нет, просто это две немного разные субстанции: известные начальные биты ограничивают диапазон перебора, а известный публичный ключ даёт стартовую точку (на EC) от которой можно делать baby step / giant step.
Плюс к этому известны публичные ключи - ведь автор этого паззла понял, что для перебора не надо
проверять 256 бит, а достаточно перебрать 160 бит и перераспределил призовой фонд, тем самым
показав народу публичные ключи.
Ключи известны только те, с которых автор убрал койны (т.е., выше 160 бит).
sr. member
Activity: 770
Merit: 305
November 22, 2018, 07:59:27 AM
класс! как в Китае побывал, спасибо! Grin ни хера из текста многоуважаемых гуру не понял,
кроме того, что бабок не удалось срубить Cry, но сюжет достоин сериала!)
Ну почему не удалось? Плохо ты читал  Grin Про таких говорят: смотришь в книгу - видишь фигу
newbie
Activity: 56
Merit: 0
November 22, 2018, 07:27:34 AM
класс! как в Китае побывал, спасибо! Grin ни хера из текста многоуважаемых гуру не понял, кроме того, что бабок не удалось срубить Cry, но сюжет достоин сериала!)
member
Activity: 70
Merit: 12
November 21, 2018, 04:42:41 PM
Quote
А зачем его листить на биржу. Написал контракт, отправил на него какую-то сумму, а потом
забыл про него, отформатировал винчестер и умер от удара скалкой, когда жена узнала какой
херней муж занимается. И бабки на контракте лежат себе, ждут.
Биржа это доступ к баблу юзеров. Если речь идет о токене - то дорога к баблу только одна - через биржу.

Quote
99.9% криптоманов не понимают как работают криптовалюты.
Именно так, поэтому юзер пологается не на себя, а на авторитет, который скажет "норм, можно вливать" - но большая часть авторитетов не далеко ушла от юзеров (зачастую не по глупости, а просто времени мало прошло). А авторитет никогда не впишется не глянув в сорс.

Quote
Ну, я не претендую на миллионы. Я лишь утверждаю, что найти можно. Надо лишь уметь искать.
Я пока не умею. Но в отличие от многих других у меня есть опыт изучения предметной области.
Ну конечно, просто искать рыбу в прозрачном пруду, по моему, несколько проще чем в мутном болоте. Я уверен что на контрактах с открытым кодом куда больше денег чем на прочих.


Quote
Quote
Просто ключи генерил не рандомно а из даннах которые уже в блокчейне есть в каком-то
виде (например Txid - это готовый приватный ключ - и удивительно много адресов на которых
были баллансы сделаны из Txid).
Это подтверждает, что долбоёбов в мире всё ещё больше, чем нам кажется в наших самых смелых предположениях.
Значительно больше. Хэш слова password - приватный ключ на котором был баланс.

Quote
и все будут твои, даже этот:
Code:
0000000000000000000000000111111010001010111011101001101011011010001010011000100111001101011110111110011111011101111110011101001001101011001000001101011111011110101111011101101101101101001101001001101011001000001101011111011110101111011101101101101101001101

Quote
Да, надо как-нибудь поставить телепортом скачиваться сайт directory.io
За неделю, я так думаю, я его полностью себе на комп скачаю (у меня канал связи не очень широкий),
а потом уже локально на машине буду обрабатывать результаты. (Да, я тоже умею глумиться)

directory.io сдох - видать не вынес нагрузки твоего канала Smiley)
Только ты не понял - глум не в переборе - а в ключике.

 
Pages:
Jump to: