Pages:
Author

Topic: Кошельки для Bitcoin (октябрь 2019) - page 15. (Read 4334 times)

hero member
Activity: 1330
Merit: 869
.. в Core нужно не только не забыть (не потерять) сложный пароль от wallet.dat, но и сам wallet.dat не потерять.
Вот поэтому я и интересовался стандартизованным методом восстановления HD-кошелька только по мнемонической фразе. Оказалось - есть такой метод, причём на основе BIP39.

Странно, что Bitcoin Core вообще не учитывает такой момент как удобство для пользователей.
Разработчики Core совершенно справедливо ставят во главу угла надёжность и совместимость, а не рюшечки. И тем не менее и управление монетами (Coin Control), и управление сдачей у них сделано гооораздо удобнее, чем в Электруме.

Сейчас открыл Электрум, смотрю на него и вот в упор "рюшечек" не вижу, хотя иногда даже хотелось бы.

И тем не менее и управление монетами (Coin Control), и управление сдачей у них сделано гооораздо удобнее, чем в Электруме.
Я придерживаюсь противоположного мнения, может недостаточно знаю кор (я действительно им мало пользовался как кошельком)? Можете рассказать подробнее преимущества кора (именно как кошелька) перед электрумом?

У криптанов надежность Core - это где-то на уровне подсознания, неосязаемо и необъяснимо, как единственно настоящий, единственно православный, а все объяснения звучат как вот в этом комментарии, "скорее всего", "наверное" и т. д., человек не знает точно, он душой чувствует).
legendary
Activity: 2338
Merit: 1775
Catalog Websites
Bitcoin Core не поддерживает BIP39, поэтому в процессе генерации мастер-ключа (xprv) из сида мнемоническая фраза не участвует:
На мой взгляд, это огромнейший минус Bitcoin Core.
Если в других HD-кошельках достаточно просто записать в надежном месте (а лучше записать и запомнить) сид-фразу, то в Core нужно не только не забыть (не потерять) сложный пароль от wallet.dat, но и сам wallet.dat не потерять. Потому что при утере самого файла каюк всем денежкам. Можно конечно выписать одну или несколько пар публичных и приватных ключей, а также копии wallet.dat раскидать по разным гаджетам, но это небезопасно.
Странно, что Bitcoin Core вообще не учитывает такой момент как удобство для пользователей. Ощущение, что ему на всех нас просто насрать.

Я не очень продвинут в техническом плане. Но некоторые биткоин - кошельки поковырял.

Мне тоже наличие wallet.dat не очень зашло.

Роджер Желязны писал, что на определенном этапе развития технология не должна отличаться от магии. И при наличии seed так и происходит. Seed это как заклинание, которое открывает тебе дорогу к сокровищу. Крутая получается вещь.

Необходимость хранить и оберегать какой-то файл это немного не то. Это уже не волшебство, если ты привязан к железякам.

Кроме того, как я понял этот файл очень хорошая мишень для хакеров, всяких вредоносных программ, которые его у тебя на компе ищут.

То есть концепция seed мне очень нравится. Семя из которого вырастают деньги - крутяк, идея!
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
И тем не менее и управление монетами (Coin Control), и управление сдачей у них сделано гооораздо удобнее, чем в Электруме.
Я придерживаюсь противоположного мнения, может недостаточно знаю кор (я действительно им мало пользовался как кошельком)? Можете рассказать подробнее преимущества кора (именно как кошелька) перед электрумом?
legendary
Activity: 1540
Merit: 1096
.. в Core нужно не только не забыть (не потерять) сложный пароль от wallet.dat, но и сам wallet.dat не потерять.
Вот поэтому я и интересовался стандартизованным методом восстановления HD-кошелька только по мнемонической фразе. Оказалось - есть такой метод, причём на основе BIP39.

Странно, что Bitcoin Core вообще не учитывает такой момент как удобство для пользователей.
Разработчики Core совершенно справедливо ставят во главу угла надёжность и совместимость, а не рюшечки. И тем не менее и управление монетами (Coin Control), и управление сдачей у них сделано гооораздо удобнее, чем в Электруме.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Bitcoin Core не поддерживает BIP39, поэтому в процессе генерации мастер-ключа (xprv) из сида мнемоническая фраза не участвует:
На мой взгляд, это огромнейший минус Bitcoin Core.
Здесь один из разработчиков объясняет, почему не внедряется BIP39 в Bitcoin Core. Вкратце, во-первых, многие разработчики считают PBKDF2 недостаточно безопасным, а во вторых по тем же причинам, почему разработчики Electrum отказались от BIP39 - привязанность к фиксированному словарю и отсутствие версий.
member
Activity: 138
Merit: 69
Bitcoin Core не поддерживает BIP39, поэтому в процессе генерации мастер-ключа (xprv) из сида мнемоническая фраза не участвует:
На мой взгляд, это огромнейший минус Bitcoin Core.
Если в других HD-кошельках достаточно просто записать в надежном месте (а лучше записать и запомнить) сид-фразу, то в Core нужно не только не забыть (не потерять) сложный пароль от wallet.dat, но и сам wallet.dat не потерять. Потому что при утере самого файла каюк всем денежкам. Можно конечно выписать одну или несколько пар публичных и приватных ключей, а также копии wallet.dat раскидать по разным гаджетам, но это небезопасно.
Странно, что Bitcoin Core вообще не учитывает такой момент как удобство для пользователей. Ощущение, что ему на всех нас просто насрать.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Если вам так хочется привязать BIP39-сид, то ваша схема будет работать. Я только что проверил:

1. выполнил в консоли команду: sethdseed true "приватный_ключ_WIF_256bit"
2. получил адрес
3. создал новый кошелек
4. повторил 1 и 2
Адреса совпали - восстановление работает ).

Quote
(iancoleman.io) - ввести свою мнемоническую фразу, взять первые первые 32 байта из поля "BIP39 Seed", преобразовать их в WIF (например, в bitaddress.org)
просто оставьте стандартный путь m/44'/0'/0' и приватник первого приемного адреса (m/44'/0'/0'/0/0) используйте как сид. Плюс, что не надо возиться со всякими bitaddress, и к тому же этот ключ можно получить в любом BIP39-кошельке.

Я не вижу тут никаких подводных камней, но это не значит, что их нет. В общем, я бы так не делал ).
legendary
Activity: 1540
Merit: 1096
Но смысла в этом немного. Эту фразу можно будет использовать только совместно с Bitcoin Core.
Да, смысла немного, но и вопрос был именно о Bitcoin Core, который уже десять лет как поддерживает обратную совместимость с предыдущими версиями, и, скорее всего, заброшен не будет. А что произойдёт с Электрумом неизвестно; к примеру, стандартно он у себя реализовал мнемоническую фразу не по BIP39, а по своему собственному алгоритму.
legendary
Activity: 2317
Merit: 2318
Поскольку изначально у меня был вопрос "А что насчёт Bitcoin Core?  Правильно я понимаю, что не существует стандартизованного метода или последовательности действий для создания из мнемонической фразы ... сида для скармливания в Bitcoin Core командой sethdseed ?", то, похоже, для этого всё же можно кое-как приспособить BIP32 (iancoleman.io) - ввести свою мнемоническую фразу, взять первые первые 32 байта из поля "BIP39 Seed", преобразовать их в WIF (например, в bitaddress.org), и скормить этот WIF private key в чистый кошелёк Bitcoin Core. И получить свои прежние биткоины  Smiley

Можно-то оно можно. Но смысла в этом немного. Эту фразу можно будет использовать только совместно с Bitcoin Core. Вставив эту же фразу в Electrum, получим совсем другое дерево ключей. Так что, стандартизованного способа для Bitcoin Core действительно не существует.
legendary
Activity: 1540
Merit: 1096
... Вы не совсем правильно поняли документацию, но в этом не ваша вина. Тот кто это написал, вводит в заблуждение читателя, надо полагать, без злого умысла. Фразу "The WIF private key to use as the new HD seed." надо понимать так: "Последовательность из 32 байт, закодированную в формате приватного ключа WIF для использования в качестве нового HD-сида".
... Вот так это работает. Можно ли ещё как то использовать этот сайт (https://iancoleman.io/bip39/) совместно с Bitcoin Core?
Спасибо за разъяснения!
Поскольку изначально у меня был вопрос "А что насчёт Bitcoin Core?  Правильно я понимаю, что не существует стандартизованного метода или последовательности действий для создания из мнемонической фразы ... сида для скармливания в Bitcoin Core командой sethdseed ?", то, похоже, для этого всё же можно кое-как приспособить BIP32 (iancoleman.io) - ввести свою мнемоническую фразу, взять первые первые 32 байта из поля "BIP39 Seed", преобразовать их в WIF (например, в bitaddress.org), и скормить этот WIF private key в чистый кошелёк Bitcoin Core. И получить свои прежние биткоины  Smiley
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
Ты вот описал механизм преобразования. А я интересовался именно дальнейшим преобразованием. Если бы там просто с мнемоники мы обратно получали энтропию и из нее уже сид, то мнемоника бы просто была лишним звеном в отображенной цепочке. Как то так.
Энтропия - это основной секрет и ее можно вычислить, зная мнемоническую фразу. Достаточно перевести ее в бинарный формат и убрать биты контрольной суммы. Сид фразу для генерации кошелька можно вычислить и из бинарного числа, вопрос только в удобстве хранения таких чисел. Например, мнемонику можно запомнить, бинарное число - вряд ли. К тому же, переписывать с бумажки его тоже довольно проблематично.
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Далее маленькое число добавляется в конец большого, точно не помню как называется эта операция, что-то типа 5+6=56. Из двух числе получается одно число размером 132 бита (128+4)

Конкатенация называется.

А так то пост хороший, но ты мой не совсем правильно понял мой вопрос. Очевидно, чтобы превратить число в слово, фразу, набор фраз/слов нужно проделать определенные преобразования. Самое простое, это например брать цифрра = порядковый номер буквы (чисто голый пример, я все знаю что будет только 10 букв и прочее)

И то, что мнемоника это не энтропия напрямую я тоже знал  Smiley

Ты вот описал механизм преобразования. А я интересовался именно дальнейшим преобразованием. Если бы там просто с мнемоники мы обратно получали энтропию и из нее уже сид, то мнемоника бы просто была лишним звеном в отображенной цепочке. Как то так.
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
Хочу уточнить вот этот момент (может и кому полезно будет) как я помню, для BIP39 энтропия == мнемоническая фраза. Ну тоесть мнемоника это просто выражение этой энтропии в понятном для человека виде, тоесть, можно ли заменить вот так или я опять что-то путаю?
Я немного интересовался вопросом о процессе генерации сидов из мнемоники и мнемоники из энтропии. Энтропия и мнемоника - это не взаимозаменяемые понятия, потому что процесс генерации мнемоники проходит несколько этапов.

Как известно, в BIP-39 используется энтропия размером от 128 до 256 бит. Энтропию проще всего представить в двоичном коде с последовательностью 0 и 1, полученных случайным образом, например подкидыванием монеты (орел-это единица, решка-это ноль). Если подкинуть монету 128 раз, то мы получим число длиной в 128 бит.

Далее из этого большого числа нам нужно вычислить контрольную сумму. Для этого используется определенная хеш-функция (SHA256), вычисляется хеш длиной 256 бит, после чего берутся первые несколько бит от этого хеша. Это и будет контрольной суммой для данной энтропии. Количество бит для контрольной суммы вычислить довольно просто: на каждые 32 бита энтропии приходится по одному биту контрольной суммы, то есть для 128 битной энтропии мы берем 4 бита от найденной ранее хеш-суммы.

Теперь у нас есть два числа: одно огромное в 128 бит - энтропия, и одно маленькое в 4 бита - контрольная сумма. Далее маленькое число добавляется в конец большого, точно не помню как называется эта операция, что-то типа 5+6=56. Из двух числе получается одно число размером 132 бита (128+4).

Эта последовательность в 132 бита разбивается на части размером 11 бит каждая. Эти части являются индексами, определяющими, какое именно слово из словаря BIP39 брать. При переводе этих двоичных чисел в десятичные, получаем числа от 0 до 2047 - это и будут порядковые номера, определяющие слово. Наша последовательность будет содержать 12 слов, в последнем слове будет содержаться контрольная сумма.

Процесс генерации сидов из мнемоники осуществляется с помощью функции формирования ключей,  в которой используется некий генератор псевдорандома,  в качестве аргументов используется мнемоническая фраза и мнемоническая фраза+пароль. На выходе получаем бинарное число размером 512 бит - это бинарный сид.

legendary
Activity: 2317
Merit: 2318
В документации на sethdseed говорится "Parameter #2—seed  - The WIF private key to use as the new HD seed. The seed value can be retrieved using the dumpwallet command. It is the private key marked hdseed=1".

Вы не совсем правильно поняли документацию, но в этом не ваша вина. Тот кто это написал, вводит в заблуждение читателя, надо полагать, без злого умысла. Фразу "The WIF private key to use as the new HD seed." надо понимать так: "Последовательность из 32 байт, закодированную в формате приватного ключа WIF для использования в качестве нового HD-сида".

Сид - это не приватный ключ, просто Bitcoin Core принимает и выдаёт этот сид в формате ключа WIF.

То есть пользователь проинициализировать HD-кошелёк Bitcoin Core может только мастер-ключом (xprv), а не сидом.

Нет. В Bitcoin Core невозможно импортировать приватный мастер-ключ xprv, можно импортировать только сид командой sethdseed.

Поэтому у меня и был вопрос - если возможность где-то вне Bitcoin Core сгенерировать из некой мнемонической фразы такой xprv, который Bitcoin Core воспримет в качестве параметра в команде sethdseed.

Нельзя. xprv - это 512 бит, а нужен сид размером 256 бит.

Почему спрашиваю. Страничка Колемана как бы намекает, что что-то подобное возможно - после выбора в разделе "Derivation Path" закладки BIP32 появляется поле "Client" с опцией "Bitcoin Core" и нужным путём (m/0'/0'):

Если вы сделаете экспорт мастер-ключа(xprv) из Bitcoin Core при помощи команды dumpwallet, вставите этот мастер-ключ в поле BIP32 Root Key упомянутого вами сайта, и укажете там Client - Bitcoin Core, то в результате получите на сайте то же дерево приватных ключей, что и в Bitcoin Core. Вот так это работает. Можно ли ещё как то использовать этот сайт совместно с Bitcoin Core? Сомневаюсь.
legendary
Activity: 1540
Merit: 1096
А что насчёт Bitcoin Core?  Правильно я понимаю, что не существует стандартизованного метода или последовательности действий для создания из мнемонической фразы xprv-сида для скармливания в Bitcoin Core командой sethdseed ?
Bitcoin Core не поддерживает BIP39, поэтому в процессе генерации мастер-ключа (xprv) из сида мнемоническая фраза не участвует ...
В документации на sethdseed говорится "Parameter #2—seed  - The WIF private key to use as the new HD seed. The seed value can be retrieved using the dumpwallet command. It is the private key marked hdseed=1". То есть пользователь проинициализировать HD-кошелёк Bitcoin Core может только мастер-ключом (xprv), а не сидом.

Поэтому у меня и был вопрос - если возможность где-то вне Bitcoin Core сгенерировать из некой мнемонической фразы такой xprv, который Bitcoin Core воспримет в качестве параметра в команде sethdseed.

Почему спрашиваю. Страничка Колемана как бы намекает, что что-то подобное возможно - после выбора в разделе "Derivation Path" закладки BIP32 появляется поле "Client" с опцией "Bitcoin Core" и нужным путём (m/0'/0'):



Только вот "BIP32 Extended Private Key" (xprv9xcU6fDSXUWGXuaZ88W...) вычисляется не в Коровском формате. Может, кто знает, как привести его в требуемый для Bitcoin Core формат.
hero member
Activity: 1330
Merit: 869
Например, мобильный electrum не позволяет увидеть (и соответственно нет контроля) приватный ключ. Виден и под контролем только seed из 12 слов. Seed на самом деле это даже более важная тема, чем приватный ключ. Но тем не менее - такая усеченность функционала имеет место быть.
Это не так, есть там доступ к приватным ключам.
Усеченность мобильного электрума (по сравнению с десктопным вариантом) заключается главным образом в невозможности импорта BIP39 сида, в отсутствии контроля над UTXO и в отсутствии консоли. Ну и еще там нет некоторых малополезных мелочей.

Просто у меня другая информация по наличию в мобильном Electrum представления приватного ключа.

По моей информации там есть только seed и открытый мастер - ключ.

Если там действительно в настройках где-то зарыта информация о приватном ключе, то очень ценная информация. Потому что он нужен. Я считаю, что его отсутствие это неудобно.

Electrum очень популярен. Его много кто использует.

И я и другие были бы тебе благодарны, если бы ты подсказал, где именно смотреть в мобильном Electrum информацию о приватном ключе.

Если напишешь - будет здорово!

Все там есть, иначе это был бы не Электрум.

Текст - https://bitcointalksearch.org/topic/m.52764118

Видяшка, хенд мейд на коленке:
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
Ну тоесть мнемоника это просто выражение этой энтропии в понятном для человека виде
Сид для генерации мастер-ключа получается из, грубо говоря, хеша мнемоники. То есть мнемоника нужна не просто для перевода энтропии в удобочитаемый формат, она непосредственно участвует в процессе генерации ключей. Именно мнемоника, а не энтропия, из которой эта мнемоника получена. 
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
В BIP39 генерация мастер-ключа происходит через мнемоническую фразу:
Code:
сид(энтропия) -> фраза -> сид BIP39 -> мастер-ключ(xprv)

Очевидно, что если исходный сид (он ещё называется энтропией) в обоих случаях будет одинаковый, то мастер-ключи будут разные, поскольку последовательность преобразований отличается.

Хочу уточнить вот этот момент (может и кому полезно будет) как я помню, для BIP39 энтропия == мнемоническая фраза. Ну тоесть мнемоника это просто выражение этой энтропии в понятном для человека виде, тоесть, можно ли заменить вот так или я опять что-то путаю?

Code:
энтропия (фраза) ->  сид BIP39 -> мастер-ключ(xprv)
legendary
Activity: 2317
Merit: 2318
А что насчёт Bitcoin Core?  Правильно я понимаю, что не существует стандартизованного метода или последовательности действий для создания из мнемонической фразы xprv-сида для скармливания в Bitcoin Core командой sethdseed ?

Bitcoin Core не поддерживает BIP39, поэтому в процессе генерации мастер-ключа (xprv) из сида мнемоническая фраза не участвует:
Code:
сид(энтропия) -> мастер-ключ(xprv)

В BIP39 генерация мастер-ключа происходит через мнемоническую фразу:
Code:
сид(энтропия) -> фраза -> сид BIP39 -> мастер-ключ(xprv)

Очевидно, что если исходный сид (он ещё называется энтропией) в обоих случаях будет одинаковый, то мастер-ключи будут разные, поскольку последовательность преобразований отличается.
legendary
Activity: 1848
Merit: 2033
Crypto Swap Exchange
где именно смотреть в мобильном Electrum информацию о приватном ключе
Вкладка "Receive" -> тап по адресу -> тап по адресу -> "Details" -> "Export private key". Дальше можно тапнуть по ключу, чтобы получить QR-код.
Pages:
Jump to: