Пытаюсь разобраться в ее королевском биткойне...
Я понимаю, что блоки транзакций транслируются в сеть, и что майнеры проверяют, что BC можно «расходовать», просматривая блокчейн и отслеживая историю транзакций адреса кошелька (или, по крайней мере, я предполагаю, что так это работает).
Но как на самом деле проверить, что транзакция BC была подписана ее владельцем, если у майнеров нет доступа к закрытому ключу? Проще говоря, как может происходить проверка без обработки как открытого, так и закрытого ключей?
Я, вероятно, неправильно понимаю шифрование PKI, но (скажем) с SSH закрытый ключ будет на доверенном сервере, и проверка будет происходить на этом сервере. Как это может работать в распределенной сети?
Биткойн-транзакции не шифруются, они криптографически подписаны.
Вы можете использовать пару открытых/закрытых ключей двумя способами: (предупреждение о значительном упрощении)
Второй метод — тот, который используется Биткойном. В распределенный реестр помещается сообщение о том, что биткойны были отправлены из X в Y (и, как правило, Z) и подписаны закрытым ключом X. X — адрес источника биткойнов, Y — адрес назначения, а Z — адрес сдачи. .
Биткойн scriptSig несут все, что им нужно, чтобы удовлетворить scriptPubKey, который загромождает вывод. Как таковые они считаются лицами без гражданства, т. е. автономными.
Всякий раз, когда необходимо проверить подпись, открытый ключ отображается в сценарии, предоставляя другим узлам то, что им нужно для проверки транзакции.
Ник Оделл
Шеннан