Проверка транзакции после трансляции транзакции

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

1) Поскольку блок создается после постоянного количества транзакций, происходит ли так, что до тех пор, пока это количество транзакций не будет накоплено, все транзакции остаются в ожидании?

2) Поскольку на блок приходится только одна транзакция coinbase, означает ли это, что все вознаграждения накапливаются в одной транзакции, а затем распределяются между победителями?

3) Когда транзакция проверяется, что именно она проверяет и как она проверяет? Вот основная часть моего замешательства. Насколько я понимаю, он проверяет каждую транзакцию с самого начала, проверяя подписи, чтобы проверить, не потрачены ли данные транзакции или нет, что я считаю непрактичным.

Спасибо за ваше время

Ответы (1)

1) Поскольку блок создается после постоянного количества транзакций, происходит ли так, что до тех пор, пока это количество транзакций не будет накоплено, все транзакции остаются в ожидании?

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

2) Поскольку на блок приходится только одна транзакция coinbase, означает ли это, что все вознаграждения накапливаются в одной транзакции, а затем распределяются между победителями?

Нет. Каждый блок имеет транзакцию coinbase, которая вознаграждает майнера, сгенерировавшего этот блок.

3) Когда транзакция проверяется, что именно она проверяет и как она проверяет? Вот основная часть моего замешательства. Насколько я понимаю, он проверяет каждую транзакцию с самого начала, проверяя подписи, чтобы проверить, не потрачены ли данные транзакции или нет, что я считаю непрактичным.

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

По сути, вы проверяете, что транзакция правильно сформирована, правильно подписана, не тратит больше денег, чем получает (если только это не транзакция coinbase), и что все средства, которые она получает, поступают из действительных транзакций, а не все же потрачено.

Я думаю, что я должен копать больше о создании блоков. Спасибо за Ваш ответ. Что касается вопроса 3, то как проверяется двойная трата для широковещательной транзакции?
При двойной трате, какая бы транзакция не пришла второй, она попытается потратить выходы, которые уже были потрачены. Это сделает блок недействительным. (Таким образом, ни один майнер не стал бы создавать блок с двойной тратой, поскольку он не получил бы вознаграждения. Но если бы они это сделали, все бы просто проигнорировали его, поскольку он недействителен.)
Хорошо. Просто рассмотрите этот сценарий, если у меня есть две транзакции, которые назначены мне, и я хочу их потратить, тогда, если я попытаюсь дважды потратить их, выполнив одну транзакцию (используя обе в качестве входных данных) сегодня, а затем снова используя те же транзакции 10 лет после. Возможен ли такой сценарий, и если да, то будет ли он проверен в сети?
Да, это будет проверено. Система ведет себя так, как будто каждый вход каждой транзакции проверяется, чтобы увидеть, не был ли он потрачен какой-либо другой транзакцией, которая когда-либо была обработана. (Конечно, сделаны очевидные оптимизации. Например, серверы отслеживают все неизрасходованные выходные данные, так что это просто операция «содержит ли этот набор это значение».)
ооо, я думаю, что здесь появляется понятие индекса, который дает информацию о неизрасходованной транзакции. Спасибо, что терпеливо отвечали на мои вопросы.