У меня мало сомнений относительно проверки транзакции, и я пытаюсь найти ответы за последние несколько дней. Я согласен с тем, что подобный пост существует на этом портале, но я не получаю удовлетворительного ответа на свои вопросы. Также хорошо, если вы можете вставить ссылку с подробным анализом проверки транзакции, если это раздражает, чтобы отвечать на одни и те же вопросы снова и снова.
1) Поскольку блок создается после постоянного количества транзакций, происходит ли так, что до тех пор, пока это количество транзакций не будет накоплено, все транзакции остаются в ожидании?
2) Поскольку на блок приходится только одна транзакция coinbase, означает ли это, что все вознаграждения накапливаются в одной транзакции, а затем распределяются между победителями?
3) Когда транзакция проверяется, что именно она проверяет и как она проверяет? Вот основная часть моего замешательства. Насколько я понимаю, он проверяет каждую транзакцию с самого начала, проверяя подписи, чтобы проверить, не потрачены ли данные транзакции или нет, что я считаю непрактичным.
Спасибо за ваше время
1) Поскольку блок создается после постоянного количества транзакций, происходит ли так, что до тех пор, пока это количество транзакций не будет накоплено, все транзакции остаются в ожидании?
Ваша предпосылка ложна. Блоки не создаются после постоянного количества транзакций. Они создаются всякий раз, когда кому-то удается их создать.
2) Поскольку на блок приходится только одна транзакция coinbase, означает ли это, что все вознаграждения накапливаются в одной транзакции, а затем распределяются между победителями?
Нет. Каждый блок имеет транзакцию coinbase, которая вознаграждает майнера, сгенерировавшего этот блок.
3) Когда транзакция проверяется, что именно она проверяет и как она проверяет? Вот основная часть моего замешательства. Насколько я понимаю, он проверяет каждую транзакцию с самого начала, проверяя подписи, чтобы проверить, не потрачены ли данные транзакции или нет, что я считаю непрактичным.
Вам не обязательно делать это на самом деле. Вы просто должны получить такие же результаты, как если бы вы это сделали. Поскольку вы проверяете каждую транзакцию по мере ее возникновения, существует очевидная оптимизация — нет необходимости проверять транзакции, которые вы уже проверили. Это будет каждая прошлая транзакция.
По сути, вы проверяете, что транзакция правильно сформирована, правильно подписана, не тратит больше денег, чем получает (если только это не транзакция coinbase), и что все средства, которые она получает, поступают из действительных транзакций, а не все же потрачено.
Франкенштейн
Дэвид Шварц
Франкенштейн
Дэвид Шварц
Франкенштейн