Найти в Дзене

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

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

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

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

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

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

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

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