Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
28 марта 2015, 4:37:12 PM   # 1
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

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


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

Я пытаюсь создать случайный Bitcoin адрес, используя Go Ланг, но моя текущая настройка не очень случайная, лол.


 Это выходной ток кода ниже:
Код:
000000000000000000000000000000000000000000000039bebc16a4f5c1002e
 1PFeGBpmGPjyUUHxdEqcDnYsxeyUn7xV77 1BjhbdBuDSjiCvNp48tjz6tpNcYRsBiiCm
00000000000000000000000000000000000000000000003a0c2198c5fdbdfd80
 1Gs8MNmFCnCy3fzR4LmTcCu4FgF9njMyLR 1DJZSjW6sZC1PMvisFiDj6WGan7hPtbQFj
00000000000000000000000000000000000000000000003a59871ae705bafad2
 1LwZ2nX1TTTw5iiYFNQj16dpnQwGNd4nBW 1Lhj5X5N9Lms4VpbboMD41nFKgyeen2MAA
00000000000000000000000000000000000000000000003aa6ec9d080db7f824
 1NRGfrjrEUzMcpEGF5mh9SVNw2NdaYAQET 1HhZikzy4oHy8kDcBuXwM7fiYZhvV2NrtA
00000000000000000000000000000000000000000000003af4521f2915b4f576
 18obhg39sdA4vpTgNKsidqNHYpw2iyvBoU 1698kvdkrLFnK5BT1PU7aa5WP43DEUGQDi
00000000000000000000000000000000000000000000003b41b7a14a1db1f2c8
 16dVjGbfNEJj73v4ZbTrp5HbSbgjqR97FQ 1BJRdzncmbqcmsaeCvFzvp2MWNv34ndj6i
00000000000000000000000000000000000000000000003b8f1d236b25aef01a
 1J3PtXyY1ktmCdECVzVRRKPBTyjmuJfPs9 14Rw7d98cvGciKou7sBtfM1jx1zzQWUf2Q

Код:
ечать: = rand.Intn (9223372036854775807)
вар rint64 int64
rint64 = int64 (ечать)

// Инициализировать большие числа с малыми числами
рассчитывать, одно: = big.NewInt (rint64), big.NewInt (rint64)

// Создать кусочек раздуть наш счет до 32 байт
проложенные: = сделать ([] байт, 32)

// Цикл навсегда
для {
// увеличиваем наш счетчик
count.Add (количество, один)

байты // копируют подсчитанное значение, чтобы проложенный ломтик
копия (проложенный [32-LEN (count.Bytes ()):], count.Bytes ())

// Получить открытый ключ
_, Общественности: = btcec.PrivKeyFromBytes (btcec.S256 (), проложенный)

// Получить сжатые и несжатые адреса
caddr, _: = btcutil.NewAddressPubKey (public.SerializeCompressed (), &btcnet.MainNetParams)
uaddr, _: = btcutil.NewAddressPubKey (public.SerializeUncompressed (), &btcnet.MainNetParams)

Любая помощь будет оценена и скорее всего вознаграждены.
Jude Остина сейчас офлайн Пожаловаться на Jude Остин   Ответить с цитированием Мультицитирование сообщения от Jude Остин Быстрый ответ на сообщение Jude Остин


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


28 марта 2015, 4:55:19 PM   # 2
 
 
Сообщения: 387
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

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





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

28 марта 2015, 4:57:03 PM   # 3
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

Возможно, этот вопрос является заполнение нулями (хотя, казалось бы, было сделано нарочно, и я не обращал внимания на Go)?
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

28 марта 2015, 5:01:03 PM   # 4
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

Да, это все 0 заполнения.

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

Это то, что я пытаюсь устранить.
Jude Остина сейчас офлайн Пожаловаться на Jude Остин   Ответить с цитированием Мультицитирование сообщения от Jude Остин Быстрый ответ на сообщение Jude Остин

28 марта 2015, 5:04:04 PM   # 5
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

Тогда почему вы это делаете?

Код:
проложенные: = сделать ([] байт, 32)

(Я предполагаю, что это то, что дает нули вместе с вашим расширением до 64-битных целых чисел?)

Если каждый "случайный" составляет всего 4 байта (32 бита), то вам нужно использовать 8 таких случайных чисел для одного 256-битового значения.

К сожалению, я никогда не писал никакого кода в Go поэтому не могу дать вам "ответ" но то, что вы в основном придется сделать, это решить, как собрать мелкие случайные числа в 256 бит значения (по частям).
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

28 марта 2015, 5:10:54 PM   # 6
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

Тогда почему вы это делаете?

Код:
проложенные: = сделать ([] байт, 32)

(Я предполагаю, что это то, что дает нули)


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

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

Исхода я хотел бы видеть, нет единообразия между каждым сгенерированным секретным ключом, как сейчас есть:

00000000000000000000000000000000000000000000003b41b7a14a1db1f2c8

а потом

00000000000000000000000000000000000000000000003b8f1d236b25aef01a

Я хочу:

219380471027f01298401284012a74801247012479120947102947102947102947120f

а потом

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

28 марта 2015, 5:16:16 PM   # 7
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

Тогда почему вы это делаете?

Код:
проложенные: = сделать ([] байт, 32)

(Я предполагаю, что это то, что дает нули вместе с вашим расширением до 64-битных целых чисел?)

Если каждый "случайный" составляет всего 4 байта (32 бита), то вам нужно использовать 8 таких случайных чисел для одного 256-битового значения.

К сожалению, я никогда не писал никакого кода в Go поэтому не могу дать вам "ответ" но то, что вы в основном придется сделать, это решить, как собрать мелкие случайные числа в 256 бит значения (по частям).


Нет проблем, вы помогаете мне, говоря это, и я ценю это!
Jude Остина сейчас офлайн Пожаловаться на Jude Остин   Ответить с цитированием Мультицитирование сообщения от Jude Остин Быстрый ответ на сообщение Jude Остин

28 марта 2015, 5:18:39 PM   # 8
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

3b Приставка интересен тем, что 3b41b7a14a1db1f2c8 18 символов (можно было ожидать 16, если это было 64 бит значение, которое отображается в шестнадцатеричном виде).

Я предполагаю, что у вас есть что-то происходит с выводящей.
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

28 марта 2015, 5:28:17 PM   # 9
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

3b Приставка интересен тем, что 3b41b7a14a1db1f2c8 18 символов (можно было ожидать 16, если это было 64 бит значение, которое отображается в шестнадцатеричном виде).

Я предполагаю, что у вас есть что-то происходит с выводящей.


Возможно, хмм.

Я хотел бы знать больше о Го и эти данные в целом.

У меня есть сценарий Python, который делает именно то, что я хочу, но это slowwww, как 2 ключей в секунду.

Я действительно хотел бы изменить VanityGen, как он оптимизирован для скорости.
Jude Остина сейчас офлайн Пожаловаться на Jude Остин   Ответить с цитированием Мультицитирование сообщения от Jude Остин Быстрый ответ на сообщение Jude Остин

28 марта 2015, 7:04:19 PM   # 10
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

НЕ использовать свой собственный криптографический источник случайности. ЗАПРЕЩАЕТСЯ использовать ecdsa.GenerateKey и крипто / рандов.

https://github.com/monero-project/urs/blob/master/messagesign.go#L46-L82

Циклический, что было бы наивно, потому что постоянные вызовы Форканы могут быть дорогими ... если вы пытаетесь тщеславия гена, я хотел бы использовать BIP32 и просто постоянно получать новые адреса из посевных, пока не нашел тот, который вы хотите.

https://github.com/btcsuite/btcutil/tree/master/hdkeychain
https://github.com/btcsuite/btcwallet/tree/master/waddrmgr
tacotime сейчас офлайн Пожаловаться на tacotime   Ответить с цитированием Мультицитирование сообщения от tacotime Быстрый ответ на сообщение tacotime

28 марта 2015, 7:21:33 PM   # 11
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

НЕ использовать свой собственный криптографический источник случайности. ЗАПРЕЩАЕТСЯ использовать ecdsa.GenerateKey и крипто / рандов.

https://github.com/monero-project/urs/blob/master/messagesign.go#L46-L82

Циклический, что было бы наивно, потому что постоянные вызовы Форканы могут быть дорогими ... если вы пытаетесь тщеславия гена, я хотел бы использовать BIP32 и просто постоянно получать новые адреса из посевных, пока не нашел тот, который вы хотите.

https://github.com/btcsuite/btcutil/tree/master/hdkeychain
https://github.com/btcsuite/btcwallet/tree/master/waddrmgr

TacoTime,

Спасибо!

Как бы я реализовать это в моем текущем сценарии?

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

Поэтому я хочу использовать Go, потому что я видел значительную разницу в скорости.

C # является довольно медленно, 2-3 клавиши второй, то же самое с Python.

Go, кажется, значительно быстрее, C, вероятно, будет лучше.
Jude Остина сейчас офлайн Пожаловаться на Jude Остин   Ответить с цитированием Мультицитирование сообщения от Jude Остин Быстрый ответ на сообщение Jude Остин

28 марта 2015, 11:16:12 PM   # 12
 
 
Сообщений: 57
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

Я хочу, чтобы иметь хороший BTC адрес. Это легко запомнить. Как создать?

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

29 марта 2015, 4:08:39 PM   # 13
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

TacoTime,

Спасибо!

Как бы я реализовать это в моем текущем сценарии?

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

Поэтому я хочу использовать Go, потому что я видел значительную разницу в скорости.

C # является довольно медленно, 2-3 клавиши второй, то же самое с Python.

Go, кажется, значительно быстрее, C, вероятно, будет лучше.

Мм

Код:
для someCondition {
// Генерация пары ключей.
aKeypair, ERR: = ecdsa.GenerateKey (btcec.S256 (), crand.Reader)
если заблуждаться! = ноль {
возвращение эээ
}
pubkeyBtcec: = btcec.PublicKey {aKeypair.PublicKey.Curve,
aKeypair.PublicKey.X,
aKeypair.PublicKey.Y}
keypairBtcec: = btcec.PrivateKey {aKeypair.PublicKey, aKeypair.D}

// Создание карты для JSon маршала
keypairMap: = сделать (отображение [строка] строка)
keypairMap ["Публичных"] = Hex.EncodeToString (pubkeyBtcec.SerializeCompressed ())
keypairMap ["privkey"] = Hex.EncodeToString (keypairBtcec.Serialize ())

// Сохраняет адрес в случае, если кто-то хочет использовать его для BTC
PKH, ERR: = btcutil.NewAddressPubKey (pubkeyBtcec.SerializeCompressed (),
&btcnet.MainNetParams)
если заблуждаться! = ноль {
возвращение эээ
}
keypairMap ["адрес"] = Pkh.EncodeAddress ()

б, ERR: = json.Marshal (keypairMap)
если заблуждаться! = ноль {
возвращение эээ
}

fmt.Printf ("% V \ п", Б)
}
tacotime сейчас офлайн Пожаловаться на tacotime   Ответить с цитированием Мультицитирование сообщения от tacotime Быстрый ответ на сообщение tacotime

29 марта 2015, 4:27:10 PM   # 14
 
 
Сообщения: 1097
Цитировать по имени
цитировать ответ
по умолчанию Re: Go Ланг - Создать случайный Bitcoin адрес

TacoTime,

Спасибо!

Как бы я реализовать это в моем текущем сценарии?

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

Поэтому я хочу использовать Go, потому что я видел значительную разницу в скорости.

C # является довольно медленно, 2-3 клавиши второй, то же самое с Python.

Go, кажется, значительно быстрее, C, вероятно, будет лучше.

Мм

Код:
для someCondition {
// Генерация пары ключей.
aKeypair, ERR: = ecdsa.GenerateKey (btcec.S256 (), crand.Reader)
если заблуждаться! = ноль {
возвращение эээ
}
pubkeyBtcec: = btcec.PublicKey {aKeypair.PublicKey.Curve,
aKeypair.PublicKey.X,
aKeypair.PublicKey.Y}
keypairBtcec: = btcec.PrivateKey {aKeypair.PublicKey, aKeypair.D}

// Создание карты для JSon маршала
keypairMap: = сделать (отображение [строка] строка)
keypairMap ["Публичных"] = Hex.EncodeToString (pubkeyBtcec.SerializeCompressed ())
keypairMap ["privkey"] = Hex.EncodeToString (keypairBtcec.Serialize ())

// Сохраняет адрес в случае, если кто-то хочет использовать его для BTC
PKH, ERR: = btcutil.NewAddressPubKey (pubkeyBtcec.SerializeCompressed (),
&btcnet.MainNetParams)
если заблуждаться! = ноль {
возвращение эээ
}
keypairMap ["адрес"] = Pkh.EncodeAddress ()

б, ERR: = json.Marshal (keypairMap)
если заблуждаться! = ноль {
возвращение эээ
}

fmt.Printf ("% V \ п", Б)
}

Эй, спасибо!

Я на самом деле понял.

Я просто произвел 64 обугленные случайную строку с помощью шестнадцатеричных символов, а затем использовал hex.decode строку, чтобы получить секретный ключ из байт.

Вот выход после моих изменений, намного более случайным образом, то 6 цифр в конце представляют собой счетчик цикла:

Код:
4aeaaaec1b84ef3015c4ee1d0f094facd02536205ae819276e38f74c7a4605b6 676651
 18PrXNBbxrg2KWNvnbfLzSwpxR4ynyoH3S 1B7UGMtbNgX8PbavqsNNJQdAw7FPSaViPr
22d5620d8a500ba446f0322d1607469e390f2f03d4c901cb1f09999448c64e8d 676652
 1DXpuk7BWz6EK9PScUpCBwn9ksGnyrAwqn 15n21bF8JhEytL4nkHSvuPJkEpogkfZ3tN
0b645864934c1639e2731ca911a81d7329b0c47a0e6ee6f0cfbcb1e5781c00d4 676653
 13qF3EAno4gc7Hqswq8oC2kGHfShVHTwEp 1C8ZEB1huzjqhPcrWrFA3F6yi9imn28ST2
bcf5aaf9cb77265e716d09a66972d260340aa250e8777c5ff894453591d1245b 676654
 1BuGZmB8WBVeYAm42Aa6jJgqZq9QVHJvpY 128SK4muV5FjmAiiS92p5GndxstnxBXkA7
d0f346b06fbb93a42e7279a76c075df6f7e9b1e6a04afb0e0fc8f8a61818aeff 676655
 19Vu5xPZYQAy2e5houeLL57FRgqAGRYxWA 17qHRE3RDiTuZEc471nAG4Qa5tmCAFQG78
15c1d5345cfc0fa64a6facc6af108460a13d8119469099aaf44ed8dc2ad86983 676656
 1PwHUPUdBLkn4BMvcVGcbTE2FLjGCUxSkc 13YYjBVFJNnaRzxzTiJ29exDbMCP4JNz2N
0bc524534c51273cd5849c30bcca59e46d679eb9eda4bdeae874f27e513126c4 676657
 1JTXZcZTAnN5MZFe7SJeF1SmTWxUKSntZm 19nWRU971Nq46iHJYFdZA82LXaVJ2YEFKa
7b3f70bcf37faf29227e863f028f1cf13021052967028e5d33fb9ad5e94751ff 676658
 12sk7CVxCLNwU5tuAh8DzW9nBJgJXSjcpT 1EEt7ubWnWZqUcCmpfBcUQ2Xznv87Hc3XW
ee0e7e097dba72484edc80bf4d9efd33f1bd3f65e950b105cdf9a02783bc3531 676659
 16pg6BBYRnPL34LPbAenkBRgCk7urG7AZZ 1DMJkLkDdrR2gXFrkaxtk6iqpjaRwqs1Qs
4acb6803f4707a8f0a4e12cbe5d422b5f84f1c36e2615c6efc926444d5e1f4cc 676660
 126SjxtjNMdGr3FGUtJAa67GsYWj9D59dr 1Hk3krWGxiviPyLNyBAM9MdWXLJT2nKJ6q
a381da6f8679b7e0b41d5c08221e807f3078bf52cb379cbb5a2b2ef791b47c2a 676661
 19yuDgVSxWr8uGT1r2j6CNhTijoY22QEAL 13mzLF8SqEpsup2fUN7WMv366AK4NCktL7
9eb0bfe95e16347627e0d76d3a494a746fb12738d1131bee756c12064ff3c7ba 676662
 1Gwr2Yr4tmYE2d4c2VHoZZomMMUYArmBRw 1MBbt7yKWoqLnsXu6C62UcCAoEW6vg4hJD
Jude Остина сейчас офлайн Пожаловаться на Jude Остин   Ответить с цитированием Мультицитирование сообщения от Jude Остин Быстрый ответ на сообщение Jude Остин



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW