Post
Topic
Board Oбcyждeниe Bitcoin
Merits 10 from 7 users
Re: 2 ^ 256 закрытых ключей
by
Balthazar
on 09/12/2019, 23:21:23 UTC
⭐ Merited by Julien_Olynpic (3) ,fillippone (2) ,madnessteat (1) ,zasad@ (1) ,witcher_sense (1) ,Ratimov (1) ,johhnyUA (1)
Закрытых ключей меньше 2^256 штук. Если точнее, то твердолобая реализация конечно же может использовать можно любое число на отрезке [0, 2^256 - 1], но безопасными в качестве ключей являются только числа меньше 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141. Потому что бОльшие значения могут иметь соответствие более чем одному публичному ключу. Поэтому, практически все библиотеки при загрузке ключа первым делом проверяют, чтобы загруженное значение было меньше 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141.

Количество адресов биткойнов: 2160
Побольше, по-моему:
2160 адресов на "1" (P2PKH)
2160 адресов на "3" (P2SH)
2160 адресов на "bc1" (42 символа) (P2WPKH)
2256 адресов на "bc1" (62 символа) (P2WSH)
Значение HASH160 для всех типов адресов (legacy, P2WPKH-in-p2sh, bc1-P2WPKH) вычисляется одинаково, поэтому формат адреса не имеет никакого значения. Это просто разные способы записи одного и того же хэша в "человекопонятном" виде, и не более того.

Но адресов действительно больше, хотя и не поэтому. Дело в том, что публичный ключ может быть записан в двух формах - сжатой и несжатой. По этой причине для легаси адресов, тех что начинаются с 1, каждому приватному ключу гарантированно соответствует по крайней мере два возможных адреса. Для сегвит адресов (как нативных bc1, так и P2SH) есть обязательное требование использовать именно сжатый ключ, поэтому такой неопределенности уже нет.

Итого, на 2^160 закрытых ключей получается:

2161 адресов на "1" (P2PKH)
2160 адресов на "3" (P2WPKH-in-P2SH)
2160 адресов на "bc1" (42 символа) (P2WPKH)

Где 2160 легаси адресов будет использовать тот же самый хэш, что и сгенерированные из того же приватного ключа P2WPKH-in-P2SH и P2WPKH адреса, а для оставшихся 2160 легаси адресов не будет соответствия среди новых.

P2WSH адреса совсем другая степь, для них никакого соответствия не будет. Равно как и для обычных P2SH адресов, не сегвитных.