Pagar una tarifa de transacción con un token ERC20

Según tengo entendido, una de las características del token ERC20 es que puede pagar una tarifa de transacción con él. En otras palabras, puedes enviarlos sin tener Ether. Transferí tokens REP al intercambio y volví sin usar Ether en ese intercambio para que funcione.

Supongo que esa tarifa va a los mineros. ¿Dónde más?

Entonces, alguien crea un token que no tiene ningún valor, realiza una transferencia y paga una tarifa con él, luego un minero lo obtiene pero no tiene idea de qué es.

Respuestas (5)

No es realmente cierto en este momento que puede pagar tarifas en cualquier cosa que no sea ETH, aunque existe cierta discusión sobre cómo cambiar esto. De la forma en que normalmente funcionan las cosas, debe pagar la tarifa en ETH. Cuando envió REP al intercambio, probablemente usó ETH en su propia cuenta para depositar tokens en el intercambio, y el intercambio habría pagado la transacción para enviarlos de vuelta.

En teoría, dado que depende del minero si incluyen su transacción, podría enviar una tarifa baja o cero en ETH y tener un acuerdo separado con un minero en el que le daría un token ERC 20 o le enviaría USD a través de PayPal. o FedEx les un pollo. Esto depende de que el minero piense que lo que le estás dando es valioso y esté preparado para aceptarlo como pago. Si les ha enviado un pollo pero no quieren uno, o si les ha enviado un token ERC 20 del que nunca han oído hablar y no lo consideran valioso, no debe esperar que extraigan su transacción. .

Actualización (diciembre de 2021): desde EIP1559, la cuenta debe tener ETH para pagar la tarifa en el momento en que se incluye en el bloque, y la mayor parte de este ETH se quema (desaparece, en beneficio de cualquiera que tenga ETH cuyo ETH se vuelve proporcionalmente más valioso) en lugar de ser entregado al minero. Todavía es técnicamente posible que un minero incluya una transacción de una cuenta sin ETH al momento del envío, pero tendrá que agregar una transacción antes de acreditar la cuenta con el ETH requerido para pagar la tarifa.

Me encanta el ejemplo del pollo. Transmite una comprensión muy esencial y profunda de los incentivos de los mineros.
La percepción del valor es interesante, y supongo que sería un mercado para la conversión o un fideicomiso que encontrara valioso el token ERC20 (suena hacky). Supongo que ya hay un EIP abierto en esto.
Me pregunto si todo esto cambiará cuando pase EIP1559. Siempre habrá una tarifa base en ETH, por lo que los pollos de FedEx ya no serán una opción. Esto resultará en la pérdida de empleos en el sector de la entrega y una menor demanda de las fábricas de pollos, lo que provocará el colapso de toda la economía y el "ethosystem"...
@david-callanan Económicamente, lo que sucede es que los mineros tienen un costo adicional por incluir su transacción, por lo que deberá enviarles suficientes pollos para que valga la pena, y ellos pagarán el ETH que se quema. Sin embargo, la especificación parece requerir (innecesariamente) que el remitente de cada tx tenga suficiente ETH en su cuenta para cubrir la tarifa base, por lo que para enviar un tx sin tener ETH, el minero tendrá que agregar una transacción adicional acreditando su cuenta con ETH. , que luego se deduce inmediatamente para pagar la tarifa base.
@EdmundEdgar Sí, ese es el desafortunado problema.

Cada vez que realiza una transacción en ethereum, debe pagar una tarifa al minero del bloque que calculará el resultado de su contrato inteligente. Si bien esto podría cambiar en el futuro, por el momento las tarifas solo se pueden pagar en ether y, por lo tanto, todos los usuarios de sus tokens lo necesitan. Los tokens en cuentas con un saldo menor que la tarifa se bloquean hasta que el propietario pueda pagar la tarifa necesaria. Pero en algunos casos de uso, es posible que no desee que sus usuarios piensen en ethereum, blockchain o cómo obtener ether, por lo que un enfoque posible sería que su moneda recargue automáticamente el saldo del usuario tan pronto como detecte que el saldo es peligrosamente bajo.

El creador del token puede haberlo configurado para que la tarifa se pague en ETH bajo el capó, los usuarios simplemente no lo saben. Fuente

Como información adicional, recientemente se ha presentado un protocolo de código abierto (protocolo 0x) para permitir el paso gratuito de tokens EC20 sobre la cadena de bloques de Ethereum. el libro blanco está disponible https://github.com/bellaj/Bitcoin_Ethereum_docs/blob/master/0x_white_paper.pdf

Cómo funciona

El protocolo 0x es una implementación híbrida de algunas tecnologías existentes, que combina la funcionalidad fuera de la cadena de los canales estatales con la liquidación en la cadena, a la que se refieren como "retransmisión de órdenes fuera de la cadena con liquidación en la cadena" para realizar transacciones. ¿Qué significa esto? Los pedidos se retransmiten fuera de la cadena y luego se liquidan en la cadena, lo que reduce los costos para los creadores de mercado y, al mismo tiempo, se beneficia del tiempo de liquidación casi instantáneo de la cadena de bloques de Ethereum.

El enlace al libro blanco no funcionó para mí. Recibo un mensaje 404... no encontrado. ¿Podría por favor verificar que sea exacto?
Gracias por su indicación, tengo una copia en mi github: github.com/bellaj/Bitcoin_Ethereum_docs/blob/master/…
¿Eso no significa que x0 controla su éter como una billetera de custodio?
¿Alguien implementó dentro del contrato inteligente?

¡Esto es posible! Su servicio puede cobrar tarifas en sus propios tokens y pagar tarifas para los usuarios en ETH de una manera absolutamente segura y sin confianza. Vea esta respuesta: https://ethereum.stackexchange.com/a/46546/3032

En este LÉAME puede encontrar MyTokenun ejemplo de contrato inteligente, qué transferllamadas se pueden delegar a cualquier persona (que pagará las tarifas): https://github.com/bitclave/Feeless

TomoChain está implementando un protocolo llamado TomoZ. Ayudará al titular del token a pagar la tarifa de transacción con tokens.

En caso normal:

  • El remitente envía tokens al receptor

  • El remitente paga la tarifa de tx por token nativo (TOMO) a los nodos

En TomoZ:

  • Remitente envía token al receptor

  • Remitente envía tarifa de tx en token al emisor

  • Emisor envía tarifa de tx en token nativo (TOMO) a nodos