Константин
Константин личный блог
14 января 2026, 16:35

Как работают Биткоин и Монеро (упрощённо). Для начинающих

Как работает Биткоин (упрощенно)

Представьте, что вы сгенерировали случайное 256-битное число, 256 случайных нулей и единиц. Это ваш приватный ключ. Алгоритм Биткоина так устроен, что на основе этого приватного ключа однозначно вычисляется публичный ключ, тоже 256 бит. Самое важное то, что обратная функция (вычисление приватного ключа, зная публичный) выполняется только перебором 2^256 комбинаций приватных ключей, что было бы невозможно за квинтиллионы лет даже для компьютера размером с Солнечную систему. Вы можете опубликовать эти 256 бит публичного ключа где угодно, не боясь взлома своего кошелька, и кто угодно сможет послать вам монеты. Чтобы потратить эти монеты, вам нужно сформировать транзакцию, где будет указан публичный ключ вашего кошелька и публичные ключи и количество отсылаемых монет получателей. От всего этого компота считается SHA-256, псевдослучайное 256-битное число, которое невозможно подделать. Оно называется хешем транзакции. И тут самое интересное. Вы, используя 256 бит приватного ключа, выполняете операцию подписания транзакции. Т.е. вы, используя приватный ключ и хеш транзакции, формируете подпись транзакции, состоящую также из 256 бит. Алгоритм так устроен, что эту подпись без приватного ключа подделать невозможно, но любой человек, знающий ваш публичный ключ, может проверить, что подпись получена именно вашим приватным ключом. Еще раз, он это делает, не зная приватного ключа, а зная только публичный.

Вот и все! Все в Биткоине основано на 256-битных числах.


 

Как работает Монеро (упрощенно)

Скажу честно, я не до конца изучил этот вопрос, напишу, что знаю.

Скорее всего в Монеро тоже используется 256 или 260 бит приватного ключа. По крайней мере, в кошелек можно войти по 256-битному приватному ключу траты. На его основе генерируется 512-битный адрес. Зная этот адрес, отправитель может сгенерировать одноразовый 256-битный стелс-адрес. На него он посылает средства. Любое третье лицо, увидев в блокчейне стелс-адрес, не сможет вычислить ни исходный адрес, ни, тем более, приватный ключ траты. А вы, зная приватный ключ траты, сможете потратить средства с этого стелс-адреса. На основе приватного ключа траты можно вычислить приватный ключ просмотра. Как вы догадались, тоже 256 бит. С помощью последнего можно вычислить публичный ключ траты и публичный ключ просмотра, оба также 256-битные числа. Кстати, именно они и зашифрованы в адресе кошелька. Зачем используется последний, я не знаю, а публичный ключ траты используется для того, чтобы вы, формируя свою транзакцию (при трате монет со своего стелс-адреса), могли взять еще 15 случайных публичных ключей траты чужих стелс-адресов из блокчейна и подписать всеми ими и своим дополнительным одноразовым публичным ключом траты (вычисляемым из вашего публичного ключа траты) транзакцию. Самое интересное то, что третье лицо сможет понять, что транзакция подписана тем стелс-адресом, с которого тратятся средства, но не сможет понять, каким именно из 16 стелс-адресов она подписана.

Так же в Монеро скрывается количество монет в транзакции, но при этом третье лицо может убедиться, что количество входов равно количеству выходов + комиссии.

Мой Телеграм-канал: https://t.me/iee_economy

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн