We’re rewarding the question askers & reputations are being recalculated! Read more.

Questions tagged [yellow-paper]

Used to ask questions or get clarification about the subjects covered in Gavin Wood's Ethereum yellow paper. Good questions will be highly-technical and/or protocol-level questions, rather than the "how do I..." style. Great for inspiring discussions and getting clarification about specific passage you haven't quite grasped or understanding how a subject fits into the larger protocol.

Filter by
Sorted by
Tagged with
0
votes
1answer
18 views

Where does contract’s call failure behavior is definied in the yellow paper?

If a contract’s call succeeds then 0x1 is pushed on the stack and 0x0 otherwise. Where is this behavior defined in the yellow paper ? Also, are there cases were sending ether isn’t reverted in ...
1
vote
1answer
41 views

Missing create2 opcode in ethereum yellow paper

In eip 1014 Vitalik added Create2 at opcode 0xf5 Adds a new opcode at 0xf5 But in ethereum yellow paper opcode i don't see opcode 0xf5 or any create2 opcode, it doesn't appear in https://www....
0
votes
1answer
61 views

How to get the return value of a contract from a contract call?

If a contract does returns something, (whether a string or return true/return false) how to get it’s return value ? I mean where does the return value is stored ? Is necessary to use RETURNDATACOPY or ...
4
votes
1answer
39 views

Where’s the equivalent of Yellow paper for Ethereum classic?

Ethereum classic performed changes never implemented on Ethereum like on mining. I do expect them to have their own paper for detailing this. But it seems it’s not called the yellow paper… Even on ...
1
vote
1answer
31 views

Are transactions to EOA included in a block guaranteed to be successful?

Regardless of the source of the transaction (externally owned address / smart contract) and the data included within the transaction, if the destination is an EOA and the transaction was included in a ...
2
votes
1answer
6 views

Formula for instrinsic gas value in Ethereum yellow paper

In the Ethereum yellow paper 6.2 there is a formula (54) defining g_0 refers to a sum which is indexed over i. But i doesn't occur on the right side except by making a distinction between i = 0 and ...
1
vote
1answer
28 views

Why do Merckle trees use nibbles

In Appendix D of the yellow paper for Ethereum, it describes the Modified Merkle Patricia Tree, and states: Any series of bytes may also trivially be viewed as a series of nibbles, given an endian-...
1
vote
1answer
26 views

What is “w”, the permission to make modifications?

As per chapter 9 of the yellow paper: However, I find it vaguely defined. Who gives this permission? Is it dependent on each machine or is there an objective algo to follow? What is the type of "w"? ...
2
votes
0answers
31 views

Is the refund gas paid up-front?

Excerpt from chapter 9 of the yellow paper, "Execution Model", describing the behaviour of the EMV when clearing storage: This refund is effectively paid up-front since the initial usage of a ...
0
votes
1answer
36 views

What is “a” in the execution environment “I” in the yellow paper?

Excerpt from chapter 7, "Contract creation": All symbols in the picture above have been clearly defined prior to chapter 7. I couldn't find though a specific explanation for what a stands for, as per ...
3
votes
2answers
801 views

How to cite the Ethereum Yellow Paper in a scientific work

Maybe the question can be off-topic or more appropriate for other communities, I try to ask it here. I am currently writing my thesis and I want to cite the yellow paper. Google scholar provides the ...
4
votes
2answers
81 views

Understanding the formal description of a transaction and its associated refunds

Excerpt from page 8 of the yellow paper: I fully understand that contracts can self-destruct and, when that happens, according to this thread, all the balance is refunded to the address specified as ...
2
votes
1answer
98 views

Why is 2048 the mining difficulty bound divisor?

Excerpt from page 6 of the yellow paper: The paper focuses more on the difficulty bomb ε but says little about the rationale of mandating 131072 and 2048 as scalars. I guess the former is merely an ...
1
vote
1answer
35 views

Why is LH repeated in equation 35 of the yellow paper?

Excerpt from page 5 of the yellow paper, version e94ebda: I understand that LX is the preparation function for serialising X, as follows: LB for blocks LH for block headers LU for ommer block ...
3
votes
1answer
55 views

What exactly does the “m” function in the formal Bloom filter specifications do?

Excerpt from page 6 of the yellow white paper: I can understand the first three definitions, the fourth one is problematic. How does the m function actually work? Maybe I'm not too familiar with ...
1
vote
1answer
43 views

What does the logger's address mean in Ethereum yellow paper?

In the Ethereum yellow paper Page 5 says that the log entry O consists of (O_a,(O_{t0}, O_{t1},...),O_d). And O_a means the logger's address. What's the meaning of logger's address? Does it mean the ...
2
votes
1answer
66 views

Ethereum Yellow Paper: “more powerful” statement question

I have a question regarding the following statement in the current Ethereum yellow paper. It states that a state and it's transition function is really powerful than any-other existing comparable ...
1
vote
0answers
39 views

Ethereum Go Source: hexToCompact function

I have a question regarding the following code snippet. Specifically the following function: func hexToCompact(hex []byte) []byte { terminator := byte(0) if hasTerm(hex) { terminator ...
2
votes
1answer
66 views

What is “electrum style signature”?

In the Yellow paper, appendix F "Signing Transactions", (BYZANTIUM VERSION f72032b - 2018-05-04 to be specific), it says: The method of signing transactions is similar to the ‘Electrum style ...
1
vote
1answer
60 views

Yellow Paper Section 4:1 (6) and (7) explanation help needed:

Can anyone please explain this (6) and (7) and what does "element-wise transformation means"?
1
vote
0answers
89 views

Hex Prefix Ethereum - Yellow Paper

I am trying to understand what is Hex Prefix as specified in the Yellow Paper(Appendix C), I don't see a similar reference in the whitepaper, but thank's to this awesome medium post I think I got it, ...
1
vote
0answers
146 views

Gas cost of a Message Call

I was trying to calculate the cost of a message call (CALL, DELEGATECALL, CALLCODE) following the yellow paper but I've not been able to fully understand it. It seems that Ccallgas is an isolated ...
1
vote
1answer
70 views

Execution environment variables Iw and Ie

According to the yellow paper, one of the Execution Environment variables is: Iw, the permission to make modifications to the state. I can't find further information about it, for example how it'...
0
votes
1answer
44 views

Where can I read about the technical implementation of the Transaction / Memory Pool?

I have not been able to find specific details about how the Transaction / Memory Pool was implemented in any of the Ethereum White / Yellow papers. I am wondering if there is somewhere I can read ...
3
votes
1answer
104 views

What happened in the anomalous transaction, where an account was deleted despite out of gas?

In the Byzantium Revision of the Yellow Paper, Appendix K: Here is equation 195: Here is the transaction, It was made during efforts to de-bloat the state post EIP-150. It appears that the txn was ...
1
vote
1answer
69 views

Is it possible to send a standard transaction with a gas limit < 21,000?

I've noticed that Parity and Geth will return the following error when sending a standard transaction with less than 21,000 gas: "Transaction gas is too low. There is not enough gas to cover minimal ...
2
votes
1answer
167 views

RLP Rationale Question

I am trying to understand why RLP was chosen and developed as an in-house protocol.I stumbled up this link which provides some insights: https://github.com/ethereum/wiki/wiki/Design-Rationale Trying ...
1
vote
1answer
371 views

RLP decoding question

I am trying to understand what this means from the RLP white paper wiki "The only purpose of RLP is to encode structure; encoding specific data types (eg. strings, floats) is left up to higher-order ...
6
votes
1answer
384 views

Is there a readable (less formal) version of Ethereum Yellow Paper?

The "Yellow Paper" is Ethereum's formal specification. https://github.com/ethereum/yellowpaper The problem is that it's difficult to read for people not familiar with formal specifications. [Q]: is ...
4
votes
1answer
317 views

(key,value) pair in account storage and corresponding modified Merkle patricia tree

In the yellow paper(section 4.1, storageRoot) at it is mentioned storageRoot: A 256-bit hash of the root node of a Merkle Patricia tree that encodes the storage contents of the account (a mapping ...
1
vote
1answer
64 views

Yellow Paper eq 221: Why and how the sender of a signed transaction equals to the address of the signer?

Ethereum Yellow Paper: Please see equation 220 and 221. On equation 220, we obtain the transaction that can be sent to the network and will be tracked by a 256 bit transaction-id. Its right most 160-...
1
vote
0answers
99 views

EVM Assembly tags

Studying the Solidity optimizer, I found that the assembly code is divided into tags and the optimizer doesn't work between them: It splits the sequence of instructions into basic blocks at JUMPs ...
1
vote
1answer
247 views

How can I create a correct seedhash in ethereum?

In the ethereum yellowpaper, about the creation of seedhash, I found that, when height is less 30000, the seedhash S = keccak256({0}32), description is: Seed hash. The seed hash is different for ...
1
vote
1answer
634 views

What happens on hash collisions for, e.g., transactions, blocks, and contracts?

What happens on hash collisions for, e.g., transactions, blocks, and contracts? What happens if, say, two transactions hash to the same value? In this case, we say that a hash-collision occured. I'...
1
vote
1answer
185 views

How do Ethereum clients cope with future blocks?

According to the Yellow Paper, the restrictions on block timestamps, Hs, are, Hs ∈ ℙ256 (Mathematical term #35) ― ①, and Hs > P(H)Hs (Mathematical term #48 and #56) ― ②, where P(H)Hs is the parent (...
0
votes
2answers
1k views

What is the maximum number of blocks in a blockchain?

What is the maximum number of blocks in a blockchain?
5
votes
1answer
884 views

why is the EVM stack limited to 1024?

Here you can see that if the EVM stack gets larger than 1024, it results in an error: Why is there this hard limit on the stack size? What is the justification for this not being parametrizable? ...
6
votes
1answer
680 views

What is a Zombie Account in Ethereum?

I was reading the contract creation part from the Ethereum Yellow paper and came across following statement: For a normal STOP code, or if the code returned is otherwise empty, then the state ...
3
votes
1answer
928 views

Brute-forcing private keys

In this post by an Ethereum engineer taken from the Ethereum wiki about brute-forcing private keys, he writes: "Public keys are sized so that, absent a breakthrough in solving the discrete ...
11
votes
1answer
9k views

Why is the Ethereum paper called the “yellow paper”?

I googled this and this does not exist here yet, so Why is the Ethereum paper called the "yellow paper"?
1
vote
1answer
92 views

Contract creation - “previous existence” of the contract

I am reading the ethereum yellow paper, chapter 7, on contract creation. There it mentions how the address a of the created contract is derived and then describes the state after the creation. Namely, ...
4
votes
1answer
63 views

Is the Ethereum Subtleties page correct about value transfers under exceptions?

On the Ethereum Subtleties page (largely maintained by VB) it states the following under Exceptional Conditions: If a transaction triggers an exception, then: The value transfer from ...
1
vote
1answer
2k views

Where are the opcode 0xfe and 0xfd documented?

The Solidity documentation has the following: Internally, Solidity performs a revert operation (instruction 0xfd) for a require-style exception and executes an invalid operation (instruction ...
2
votes
1answer
72 views

How large are header scalar values?

The Yellow paper talks about "scalar values" in section 4.4 to describe block header fields. E.g. difficulty: A scalar value corresponding to the dif- ficulty level of this block. This can be ...
2
votes
2answers
563 views

In the Ethereum Modified Merkle-Particia tree, what do the prefix, key and value signify?

What does the prefix '3☐' mean in the leaf nodes?
4
votes
1answer
534 views

From an account's address is it possible to tell whether the account is a contract account or externally owned contract?

I am trying to visualise transactions for Ethereum, currently, I know there are blockchain explorers such as Etherscan.io and Etherchain.org, however I don't want to keep calling their API to get data,...
10
votes
2answers
4k views

What is the difference between a “call” , “message call” and a “message”

Is a transaction a type of a message? Is message call a call? And which of these results in any state change?
27
votes
1answer
10k views

Is there a table of EVM instructions and their gas costs?

The EVM instructions are in the yellow paper, or they are summed up in this answer. But their gas costs are not there. Where can I find a list of all instructions with their associated gas costs?
2
votes
1answer
301 views

How to calculate a root node in a Merkle Patricia tree?

I'm trying to understand a Merkle Patricia tree. For example there are two accounts: x00: {balance: 1} x01: {balance: 2} I can't understand how to begin building my trie. RLP and HP encoding are ...
6
votes
1answer
660 views

Block header structure change under Proof of Stake?

The yellow paper describes the below block header structure: This includes difficulty, beneficiary, mixHash and nonce values. Presumably these will be redundant under Proof-of-Stake. How will the ...