Отправляется ли газ *только* майнерам, в то время как вычисления, определенные в смарт-контракте, выполняются каждым узлом сети? [дубликат]

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

Я смущен. Если смарт-контракт должен выполняться на каждом узле сети, то почему некоторые майнеры могут отказаться принять задание и почему вознаграждение получают только майнеры, учитывая, что в вычислениях участвуют все?

Ответы (1)

Обработка транзакций и майнинг с использованием Proof of Work — это отдельные вычисления.

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

Вознаграждение от Proof of Work необходимо, чтобы стимулировать людей запускать узлы, участвующие в процессе майнинга. Процесс майнинга случайным образом выбирает и вознаграждает один узел примерно каждые 15 секунд для обновления сети. Если бы майнинг был удален, например, все получали вознаграждение только за обработку транзакций, тогда каждый мог бы обновлять сеть в любое время, и было бы тривиально тратить средства дважды, что делало бы сеть бесполезной.

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