как майнеры проверяют транзакцию без идентификации отправителя и получателя?

Я имею в виду, что в сатоши мы читаем, что отправитель и получатель имеют ограниченную анонимность.

Сохраняя анонимность открытых ключей. Общественность может видеть, что кто-то отправляет сумму кому-то другому, но без информации, связывающей транзакцию с кем-либо.

Сохраняя анонимность открытых ключей, как майнеры могут проверить, достаточно ли денег у отправителя?

Ответы (2)

сохраняя анонимность открытых ключей.

В техническом документе говорится о том, что по умолчанию неизвестно, какой человек или организация контролирует открытый ключ. ---Сам открытый ключ может быть восстановлен из подписи в биткойн-транзакции--- Открытый ключ включается как часть scriptSig при входе транзакции, а затем хешируется и проверяется по открытому ключу, используемому для создания адреса.

Поскольку подпись может быть создана только с помощью соответствующего закрытого ключа, вы можете убедиться, что это правильный ключ для данного адреса.

Таким образом, хотя вы и видите перемещаемые суммы, вы не знаете, кто их тратит или куда они идут (без проведения анализа вне цепочки).

Сохраняя анонимность открытых ключей, майнеры могут проверить, достаточно ли денег у отправителя.

Теперь, когда мы установили, что сам ключ доступен, майнеры проверяют правильность сумм, ссылаясь на цепочку входных данных. Каждый вход в транзакции относится к определенному результату, созданному в прошлом. При проверке узел просматривает все предыдущие транзакции, на которые ссылаются, суммирует все их выходные значения, а затем проверяет выходные данные текущей транзакции. Если выходные данные, созданные транзакцией, меньше или равны сумме входных данных, она действительна.

На практике выходы меньше, чем входы в настоящее время, поскольку транзакции с нулевой комиссией больше не разрешены (их все еще можно майнить, но вам будет довольно сложно их транслировать). Разница между входами и выходами затребована майнером в качестве комиссии за транзакцию.

Полный процесс проверки подписи и адреса включает:

  • Проверка подписи над данными транзакции
  • Хэширование открытого ключа из scriptSig с помощью HASH_160и сравнение его с хэшем, встроенным в адрес

Это подтверждает, что:

  1. Сама транзакция подписана
  2. Открытый ключ соответствует открытому ключу внутри адреса (путем проверки равенства хэшей)
Восстановление ключа @saraafshar описано на Crypto.SE: crypto.stackexchange.com/a/18106/2301
спасибо за ваш ответ, но я не могу понять, когда у майнеров нет открытого ключа, как они могут проверить подпись? Вы имеете в виду, что майнер может найти открытый ключ отправителя по подписи?
Правильно, я немного отредактировал свой ответ, чтобы уточнить, как восстановленный ключ паба также проверяет адрес.
если я правильно понимаю, потому что, наконец, майнеры находят открытый ключ, чтобы они знали, кто является отправителем, и у нас нет никакой анонимности?
Они знают ключ, но не знают, кому принадлежит этот ключ. Если вы каким-то образом публично не связали адрес со своей личностью в реальном мире (разместив его на форуме, в социальных сетях, блоге и т. д.), невозможно угадать или доказать, кому принадлежит адрес.
@RaghavSood открытый ключ явно включен в скрипт, не восстановленный из подписи. его можно восстановить из подписи, но на практике это не так, потому что это процесс с интенсивным использованием ЦП.
@Abdussamad О, дорогой, ты прав. Я имел в виду ethereum txs. Я обновлю ответ, спасибо!

Если вас попросили подтвердить транзакцию с наличными, все, что вам нужно сделать, это проверить подлинность обмениваемых банкнот. Вам не нужно знать, кто эти две стороны или каковы их мотивы.

Аналогичным образом майнеры просто проверяют, что у отправляющей стороны есть закрытые ключи адреса, на котором находится биткойн, и что они еще не отправили биткойн куда-то еще.

на самом деле я ищу способ полной анонимности, я знаю о смешивании сервисов или использовании нескольких кошельков, но у них низкая анонимность