在我的私有测试网中,我发送了一个在完成之前耗尽的事务,可以从gasUsed: 28666 = gas: 28666和failure status: "0x0"中看到。我以为它不会被纳入区块链。但它是(在blockNum #1456)。这是预料中的吗?如果是的话,垃圾邮件发送者是否会继续发送低油量限制的交易,并填写所有区块?
> eth.getTransaction("0xe97d2b5e6f109c7d299dcd8673474d9853363c611bf1d973062cfcbc26a7ede7")
{
blockHash: "0x907826c61038402c394d2e297b03643929cef97fb943574e8312a09fa84387c2",
blockNumber: 1456,
from: "0xf6de496ec5601d74937ddd77af09c8cd4ba41ab5",
gas: 28666,
gasPrice: 22000000000,
hash: "0xe97d2b5e6f109c7d299dcd8673474d9853363c611bf1d973062cfcbc26a7ede7",
input: "0xa9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029a2241af62c0000",
nonce: 8,
r: "0xb9d8c5f664887c10070681f2c35d3baa8f1e4d57439f3e93bafc920b2a126f90",
s: "0x7e969e860765a7102c8bad833c672df08b5d760f1a2d2aac717857e401653ae8",
to: "0x091e99d1fbf1d18b7c42aeb6938dec588b2aae9c",
transactionIndex: 0,
v: "0x42",
value: 0
}
> eth.getTransactionReceipt("0xe97d2b5e6f109c7d299dcd8673474d9853363c611bf1d973062cfcbc26a7ede7")
{
blockHash: "0x907826c61038402c394d2e297b03643929cef97fb943574e8312a09fa84387c2",
blockNumber: 1456,
contractAddress: null,
cumulativeGasUsed: 28666,
from: "0xf6de496ec5601d74937ddd77af09c8cd4ba41ab5",
gasUsed: 28666,
logs: [],
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
status: "0x0",
to: "0x091e99d1fbf1d18b7c42aeb6938dec588b2aae9c",
transactionHash: "0xe97d2b5e6f109c7d299dcd8673474d9853363c611bf1d973062cfcbc26a7ede7",
transactionIndex: 0
}发布于 2018-05-10 03:37:54
这是预料中的吗?
是。如果失败的交易不包括在块中,垃圾邮件发送者可以以较高的天然气价格(在默认的矿商设置下占据优先权)不断地发送失败交易,以降低块创建率,因为矿工被这些失败的交易“阻塞”。
如果是的话,垃圾邮件发送者是否会继续发送低油量限制的交易,并填写所有区块?
有一个恒定的气体成本(21000气体)发送一个事务,以避免发送垃圾邮件事务没有任何成本。
Ethereum使用了一个名为块气体限制的概念来确定块中可以包含多少事务。目前块体气体的极限值是~8M。因此,垃圾邮件发送者通过创建事务攻击网络的成本非常高。
https://ethereum.stackexchange.com/questions/48060
复制相似问题