Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

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.

1
vote
1answer
20 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-...
0
votes
1answer
20 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"? ...
1
vote
0answers
24 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
25 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 ...
2
votes
1answer
399 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
68 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 ...
1
vote
1answer
72 views

Why has 2048 been chosen as a 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
32 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
42 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
41 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
58 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
38 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
54 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
54 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
84 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
119 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
58 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
41 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
94 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
62 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
141 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
305 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 ...
7
votes
1answer
343 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
292 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
62 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
225 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
556 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
166 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
953 views

What is the maximum number of blocks in a blockchain?

What is the maximum number of blocks in a blockchain?
5
votes
1answer
797 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
678 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
888 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
8k 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
87 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, ...
5
votes
1answer
61 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
63 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 ...
3
votes
2answers
542 views
4
votes
1answer
495 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
3k 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?
24
votes
1answer
9k 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?
3
votes
1answer
285 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
585 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 ...
5
votes
1answer
221 views

Difficulty growing exponentially with block chain length?

The Ethereum Yellow Paper includes on page 6 in equation (44) a term which contributes to the difficulty of a block. This term is added to the difficulty in equation (39). is an exponential ...
4
votes
1answer
205 views

Why are the dataset and MixHash required for Proof of Work?

From the yellow paper; for a block to be accepted as valid, an 8 byte number, n_rand, must be found that satisfies equation 253: = block header without n_rand and MixHash = difficulty = ...
9
votes
2answers
12k views

What is the exact data structure of each block?

is there any document / diagram describing Ethereum block structure in similar way as https://en.bitcoin.it/wiki/Block? I know I can find implementation at https://github.com/ethereum/pyethereum/...
18
votes
2answers
936 views

Algebra symbology guidance for Ethereum Yellow Paper

There are numerate people who have limited experience in interpreting the algebra used in computer science papers. Therefore, it would be most useful if there were a list of all algebraic symbols used ...
10
votes
1answer
680 views

Is the LogsBloom in the block header the same as the Bloom filter in the Transaction Receipts Trie?

Reading the yellow paper, I'm attempting to understand the difference between the Hb and Rb values - they appear to be the same thing, unless I've missed something. Is the LogsBloom in the block ...
13
votes
2answers
1k views

How would a miner cope with a huge block time?

Given that: According to the white and yellow paper a block's timestamp must be bigger than the parent's. According to the white paper a block's timestamp can be within 15 min of the parent ...