Я пытаюсь понять, как работает Биткойн под капотом, но есть кое-что, чего я вообще не понимаю и не могу найти.
Предположим, у меня есть адрес А (у меня есть открытый ключ, А-открытый, и закрытый ключ А-закрытый), и я хочу перевести 1 BTC на адрес Б (мне известен его открытый ключ, В-открытый).
Чтобы иметь возможность совершить транзакцию, я должен каким-то образом доказать, что владею A, и единственный способ сделать это — показать A-private. Но если я покажу A-private, то я раскрываю свой личный адрес, так что кто-то каким-то образом может его получить.
Подводя итог: в биткойн-блокчейне, как мне доказать, что я владею определенным количеством биткойнов, не раскрывая свой закрытый ключ? Или, наоборот, как с этим справляется протокол Биткойн?
В криптографии с открытым и закрытым ключом вы можете использовать свой закрытый ключ (не сообщая его никому) таким образом, чтобы создать сообщение, полностью привязанное к вашему открытому ключу.
Любой может просмотреть это сообщение и ваш открытый ключ и сделать вывод, что сообщение может быть сгенерировано только кем-то, кто знает закрытый ключ, даже если он не знает, что такое закрытый ключ.
Тот факт, что сообщение может быть подтверждено вашим открытым ключом , доказывает , что вы должны знать закрытый ключ и должны быть владельцем открытого ключа и адреса кошелька.
Думайте об этом как о замке, который все время остается закрытым. Вы можете разблокировать замок в любое время с помощью своего секретного ключа, никому не показывая свой ключ.
Любой может посмотреть на этот замок и прийти к выводу: «Этот замок, должно быть, открыл владелец, у которого есть ключ; никто другой не мог его открыть» , но вы все равно ни с кем не делились ключом.
амаклин