主页EIPs
EIPsEIP-2474
EIP-2474

Coinbase calls

StagnantStandards Track: Core
创建时间: 2020-01-19
Ricardo Guilherme Schmidt (@3esmit)
社区讨论原文链接编辑
1 分钟了解
欢迎补充好内容
去提交
相关视频
欢迎补充好内容
去提交
正文

Simple Summary

Allow contracts to be called directly by block.coinbase (block validator), without a transaction.

Abstract

In proof-of-work blockchains, validators are known as miners.

The validator might want to execute functions directly, without having to sign a transaction. Some examples might be presenting a proof in a contract for an change which also benefits the validator.

A notable example would be when a validator want to act as an EIP-1077 Gas Relayer, incentivized to pick up fees from meta transactions. Without this change, they can do so by signing from any address a gasPrice = 0 transaction with the gas relayed call. However this brings an overhead of a signed transaction by validator that does nothing, as msg.sender is never used, and there is no gas cost to EVM charge.

This proposal makes possible to remove this unused ecrecover.

Motivation

In order to reduce the overhead of calls that don't use msg.sender and are being called by validator with tx.gasPrice = 0.

Specification

The calls to be executed by block.coinbase would be included first at block, and would consume normally the gas of block, however they won't pay/cost gas, instead the call logic would pay the validator in other form.

Would be valid to execute any calls without a transaction by the block coinbase, except when the validator call tries to read msg.sender, which would throw an invalid jump.

Calls included by the validator would have tx.origin = block.coinbase and gas.price = 0 for the rest of call stack, the rest follows as normal calls.

Rationale

TBD

Backwards Compatibility

tx.origin = block.coinbase could cause some issues on bad designed contracts, such as using tx.origin to validate a signature, an analysis on how contracts use tx.origin might be useful to decide if this is a good choice.

Test Cases

TBD

Implementation

TBD

Security Considerations

TBD

Copyright and related rights waived via CC0.

扩展阅读
欢迎补充好内容
去提交
相关项目
欢迎补充好内容
去提交

不想错过最新的 EIP 动态?

订阅 EIPs Fun 周刊以跟进相关更新,建⽴你与 EIP 之间的连接 ,更好地建设以太坊。

详情
支持以太坊贡献者,推动生态建设
资源
GitHub
支持社区