Могу ли я заставить майнеров сделать мою транзакцию привилегированной, установив высокий лимит газа?

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

Краткий ответ: да. Подробнее см. здесь: ethereum.stackexchange.com/questions/8962/…
Эта ссылка не отвечает на мой вопрос, она просто говорит о том, что установка высокой цены на газ будет стимулировать майнеров. Мой вопрос заключается в том, как стимулировать, когда цена на газ ограничена.

Ответы (2)

Да, вы можете сделать свою транзакцию более приоритетной, предложив более высокую комиссию за транзакцию (комиссия за транзакцию = стоимость газа * цена газа).

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

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

Не выглядит правильно. Во-первых, комиссия за транзакцию = потребляемый газ * цена газа. Майнеры не могут знать потребленный газ, пока они не выполнят транзакцию. Во-вторых, транзакция с низкой ценой на газ, но длительная, может стоить больше, чем быстрая передача стоимости с высокой ценой на газ. Вы можете поместить больше транзакций с низким лимитом газа в определенный лимит газа, чем транзакции с высоким лимитом газа (очевидно). В-третьих, цена на газ может быть настолько низкой, что может привести к ожидаемым убыткам майнера (из-за нехватки и застоя). Таким образом, вы дважды стреляете себе в ногу, отдавая предпочтение высоким комиссиям за транзакции.
Согласен, что комиссия за транзакцию является только «потенциальной» и не гарантируется, но, как правило, майнеры предпочитают txns с более высокой потенциальной комиссией. Аналогичный вопрос - ethereum.stackexchange.com/a/13055/15853 и ethereum.stackexchange.com/a/6111/15853 проливают свет на реализацию по умолчанию для Geth и Parity
Обе эти ссылки противоречат тому, что вы написали в своем ответе: они обе утверждают, что по умолчанию приоритет отдается цене, а не плате (и, фактически, во втором ответе говорится, что низкий лимит газа считается альтернативной стратегией в Parity - - но не то, что вы предлагаете, это высокий лимит газа). Низкий предел газа имеет смысл для меня в некоторых случаях, например, когда вы хотите максимизировать количество транзакций, чтобы очистить отставание. Другие стратегии для Parity кажутся доминирующими по сравнению со стратегией «сначала более высокие комиссии за транзакции» (которая не может быть дешево оценена) для любой из метрик, которые я могу придумать.

Я никогда не слышал о термине «фиксированная цена на газ» и хотел было ответить, что такого понятия не существует. Затем я начал думать, что контракт может проверять цену на газ tx.gaspriceи отменять транзакции, которые не соответствуют желаемому значению цены на газ, и это может даже иметь какой-то смысл.

Чем больше я об этом думаю, тем больше смысла это может иметь, например, для ICO, которые хотят равного отношения ко всем участникам.

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

Единственное, что я могу придумать, как улучшить ваши шансы, — это отправить несколько транзакций (с разными одноразовыми номерами) и желательно даже с разных узлов. В этом случае вы должны быть готовы к тому, что в какой-то момент все транзакции пройдут. Как правило, это не очень жизнеспособный вариант.