¿Son diferentes el límite de gas en la transacción y el límite de gas en bloque?

¿Qué significa límite de gas? ¿Hay dos significados de límite de gas?

  1. límite de gas en una transacción
  2. límite de gas de bloque

Respuestas (1)

Sí. Cada transacción tiene un límite de gas. Por ejemplo, podría haber 5 transacciones no minadas donde cada una tiene un límite de gas de 10, 20, 30, 40, 50. El límite de gas del bloque determina cuántas transacciones pueden caber en un bloque. Por ejemplo, si el límite de gas del bloque es 100, las primeras cuatro transacciones pueden caber en el bloque. Los mineros deciden qué transacciones incluir en un bloque. Un minero diferente podría intentar incluir las últimas 2 transacciones en el bloque (50+40), y solo tiene espacio para incluir la primera transacción (10).

Cada persona que crea una transacción puede decidir cuál es el límite de gas de su transacción: pero no tendría sentido que especificaran algo más alto que el límite de gas del bloque, por lo que Geth y otros clientes evitarían que establecieran un límite demasiado alto. Es un límite de gas porque es la cantidad máxima de gas que la persona que crea la transacción está dispuesta a usar: no paga por el gas extra que no se usa. Pero si establecen el límite demasiado bajo, su transacción puede quedarse sin combustible y pagar todo al minero.

Con el límite de gas del bloque, los mineros son los que deciden. Cuanto más grande es, más pueden obtener de las tarifas de transacción, pero más ancho de banda y computación tendrían que hacer. Los mineros no pueden cambiar demasiado el límite de gas del bloque dentro de un bloque: solo pueden cambiarlo por un factor de 1/1024.

El límite de gas de transacción es la gaspropiedad en un transactionObject. El límite de gas del bloque es un parámetro en el archivo de génesis creado (depende del cliente y generalmente significa el límite mínimo de gas del bloque: un bloque con un límite de gas más pequeño que no será aceptado por los nodos en esa cadena de bloques).

¿Puedes explicar dónde se definen/modifican estas dos cosas? ¿Están en el archivo de génesis? Quiero jugar con ellos por una cadena de bloques privada.
@stone212 Sí, el límite de gas del bloque está en el archivo de génesis (el nombre utilizado podría depender del cliente). El límite de gas para una transacción está en cada transacción: generalmente es el gasvalor en un objeto de transacción.
Estoy más confundido que antes. ¿Puede decirme qué parámetro se refiere al límite de gas del bloque aquí: github.com/paritytech/parity/blob/master/ethcore/res/ethereum/… ? ¿Y alguno de los otros parámetros de gas en ese archivo es parte de la transacción? minGasLimit, tal vez? Si es así, tal vez estoy empezando a entender. Estoy confundido porque creo que un valor es el límite mínimo de gas de transacción y el otro es el límite de gas del archivo de génesis, pero ninguno es el límite de gas de bloque. Pero no puedo obtener una respuesta directa sobre esto, por lo que mis pruebas son realmente confusas para mí.
@ stone212 No estoy familiarizado con esos parámetros de paridad. Creo que hizo una pregunta sobre esto, y si lo etiqueta con Parity, puede llamar la atención de algunas de las personas que trabajan en Parity: una razón por la cual las etiquetas y los títulos son importantes. Si tiene suerte, también puede probar 5chdn en chat.stackexchange.com/rooms/34620/whisper
el problema que tengo es que dices "Con el límite de gas del bloque los mineros son los que deciden" pero (a) existe el parámetro "gasLimit" y todo me dice que ese es el límite de gas del bloque. Si puede incluir una explicación en su respuesta, la marcaré como correcta.
Además, considere agregar su comentario anterior a la respuesta, para que los futuros buscadores lo encuentren.
@stone212 Listo, gracias por sus sugerencias y veo su comentario anterior sobre minGasLimit y también he incluido una breve explicación.