Jump to content

Seed-фраза / PrivateKey


bitbitbit777

Recommended Posts

Posted

Заметил, что некоторые кошельки предлагают одну SEED, а создают несколько адресов. Например, кошелëк Electrum Андроид создаëт сразу 20 адресов + 10 адресов сдачи (все bc1q) и добавляет новые адреса по мере совершения транзакций. Скорее всего, похожая ситуация в Bitcoin Wallet. Как это работает? После битов SEED вставляются ещë n битов, перебирая которые, получаются 2^n приватных ключей и адресов? Если да, то чему равно n? Я замечал, что некоторые генераторы действительно позволяли делать адреса с названиями вроде "m/44h/0h/0h/0/0".

Posted (edited)
16 минут назад, bitbitbit777 сказал:

Как это работает? После битов SEED вставляются ещë n битов, перебирая которые, получаются 2^n приватных ключей и адресов?

Выбираются разные пути деривации.

На основе одного и того же сида можно сгенерить миллиарды, если не триллионы пар ключ-адрес


 

16 минут назад, bitbitbit777 сказал:

Я замечал, что некоторые генераторы действительно позволяли делать адреса с названиями вроде "m/44h/0h/0h/0/0".

Это не названия, это пути деривации

 

https://iancoleman.io/bip39/

 

Сгенерите пустой сид и экспериментируйте

Edited by Helber
Posted

Здравствуйте. Есть проект на GitHub или просто описание такой функции?

На вход: биты (байты) из файла или сам вводишь HEX или BIN число.

Функция берёт первые N бит, добавляет хеш и получает SEED-фразу из 24 слов (264 бита, я так понимаю), приватный ключ, публичный адрес. Для bc1q соответственно последовательность адресов и возвратных адресов.

Соответственно при одинаковом входе всегда одинаковый выход.

Больше ничего не надо.

Я понимаю, что есть проекты, генерирующие энтропию и делающие то же самое, но мне не это нужно.

Posted

@bitbitbit777  Если интересно подробнее, стоит погуглить иерархически детерминированные кошельки, они же HD кошельки. В книге mastering ethereum Антонопулоса хорошо описано. Книга в свободном доступе гуглится.

Posted

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

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

Posted

элементарно, линейно рекурентный регистр. На входе N бит -  на выходе M (сколько угодно бит).

Выход превращаем в слова из известного списка. 

Стойкости - ноль

Posted (edited)
14 часов назад, polym0rph сказал:

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

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

Энтропию я беру на себя.

Язык html или c++, но без груды нестандартных библиотек.

Вот примеры такие нашëл, они дают PrivateKey (WIF), которым можно подписывать транзакции, но не SEED.

https://secretscan.org/PrivateKeyWif

https://gist.github.com/cloverstd/dceb82565ca2f2de0e84680be267a5cc

https://www.ntcfinans.com.tr/visual-btc-generator.asp

 

Вот ещë примерно, что искал, только интересно что-то с github:

https://learnmeabitcoin.com/technical/mnemonic

Edited by bitbitbit777
  • rammendo changed the title to Seed-фраза / PrivateKey
Posted

@bitbitbit777

PrivateKey не годится в такой постановке задачи. Из PrivateKey не сделать SEED. Это из SEED можно получить PrivateKey.

Так что тут раскуривать BIP39 и делать самому SEED

Posted
6 часов назад, polym0rph сказал:

@bitbitbit777

PrivateKey не годится в такой постановке задачи. Из PrivateKey не сделать SEED. Это из SEED можно получить PrivateKey.

Так что тут раскуривать BIP39 и делать самому SEED

Да, я, наверное, имел ввиду не PrivateKey, а случайный набор 256 бит. Но уже разорался.

Posted
20 минут назад, bitbitbit777 сказал:

Но уже разорался.

Сдержаннее надо быть!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...