В частности, если мы посмотрим на любую транзакцию в блокчейне Ethereum, будет ли TimeStamp основана на том, когда транзакция сгенерирована (например, когда вы нажмете «Создать транзакцию» в MEW), или на том, когда транзакция была успешно отправлена с любого узла, сгенерированного этим сделка?
Как ответил @Thomas, временная метка транзакции совпадает с блоком, в котором она содержится. Насколько я понимаю, если бы я попытался объяснить, почему это так;
это TimeStamp, основанный на моменте создания транзакции (например, когда вы нажимаете «Создать транзакцию» в MEW)
Если это так, транзакции, которые имеют меньший приоритет в ожидающих транзакциях, но были отправлены раньше, будут иметь более раннюю временную метку, но фактически произошли в более позднее время, что приведет к путанице в том, в каком порядке происходили транзакции. Потому что вы можете быть уверены, что транзакция произошла только после того, как она будет добыта в блоке.
Допустим, кто-то отправляет транзакцию (скажем, Tx-A), которая на момент отправки с балансом счета могла завершиться ошибкой из-за отсутствия газа. Но из-за низкой цены на газ, пока он находится в ожидании, тот же аккаунт получает некоторое количество эфира от другой транзакции (скажем, Tx-B), которая была отправлена позже на вышеупомянутую. Теперь Tx-A приходит в состояние, когда он может быть завершен без ошибки отсутствия газа, пока он все еще находится в очереди ожидающих транзакций, а затем завершается. Если временные метки были временем, когда он был инициирован владельцем, это может выглядеть так, как будто эфир из ниоткуда был использован в Tx-A.
И чтобы убедиться в этом, если вы проверите tx любого блока на etherscan , вы увидите, что все они имеют одинаковую отметку времени.
timestamp
Каждая транзакция в блоке такая же, как и сам блок . Все транзакции в блоке имеют одинаковую метку времени. Временная метка записывается майнером, который находит хэш блока для этого блока.