Что происходит с транзакциями в потерянных/разветвленных блоках?

Из моего расследования и много прочитанного об этом, кажется, что транзакция просто удаляется, а эфир возвращается обратно на какой-то адрес. В биткойне осиротевшие блоки изначально принимаются сетью, но будут отклонены после получения более длинной цепочки блоков, которая не включает блок. Верно ли то же самое в Ethereum?

Ответы (2)

Поведение в Эфириуме такое же, как и в Биткойне. Сначала кажется, что транзакции прошли, но после того, как найдена лучшая цепочка, кажется, что транзакций никогда не было.

Не правда. Транзакция возвращается в состояние ожидания, она не отменяется. Теперь, если к тому времени была принята другая транзакция от того же отправителя и с более высоким одноразовым номером, то первая транзакция будет эффективно отменена, но из-за одноразового номера, а не из-за потери блока.

Согласно Белой книге Ethereum , транзакции сироты (дяди) в любом случае будут добавлены в цепочку.

Как описали Сомполинский и Зохар, GHOST решает первую проблему потери безопасности сети, включая устаревшие блоки в расчет того, какая цепочка является «самой длинной»; то есть не только родитель и дальнейшие предки блока, но и устаревшие потомки предка блока (на жаргоне Ethereum «дяди») добавляются к вычислению того, какой блок имеет наибольшее общее доказательство поддержки работы. Это.

Я не думаю, что вы отвечаете на исходный вопрос, а на другой. ОП спрашивает, что происходит с транзакцией с точки зрения того, влияет ли она на состояние Ethereum («... эфир возвращается на какой-то адрес»). Ваш ответ объясняет, что блок дяди включен в расчет POW. Однако, поскольку дядя не является предком активного наконечника, его транзакции не могли участвовать в переходе состояния.