Questions tagged [ethereum-design]

The tag has no usage guidance.

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

Why is it called a 51% attack if you need 2/3 of total stake in Proof of Stake?

Validation schemes require 2/3 of total stake to agree on the next block in proof of stake, so, if I'm a bad actor, outpacing honest validators requires 2/3 of total stake. Yet, attacks from malicious ...
shaha's user avatar
  • 11
1 vote
0 answers
172 views

Patricia Merkle trie and LevelDB in each block

I have a few questions regarding Ethereum's modified Patricia Merkle trie and LevelDB. Does each block only contain the root hash of all the tries (World State, transaction, and receipt) or the ...
Kevvv's user avatar
  • 797
2 votes
0 answers
177 views

Why is the EVM designed to have "private variables"?

In EVM, one contract is able to read code and balance of any addresses. However, storage and nonce of other addresses is not accessible. Since all states are public on the blockchain, why is EVM ...
zzh1996's user avatar
  • 141
1 vote
1 answer
911 views

Why virtual functions without implementation cannot have modifiers?

Trying to compile the code pragma solidity ^0.8.0; abstract contract Test { event functionCompleted(address indexed); modifier emitter(address x) { _; emit ...
shamisen's user avatar
  • 159
1 vote
1 answer
27 views

Is there a need of network additional security measure

I didn't find information about the risk and threat of being connected to the Ethereum network / internet. I was wondering if we would need additional measures such as a firewall, proxy to protect ...
Drago's user avatar
  • 13
1 vote
2 answers
303 views

How do I develope a QR code for a 64 character hex string generated ethereum address?

I am learning about how the 64 character hex string generated Eth Address is formed. Is there a program for this?
Richard Jan's user avatar
6 votes
0 answers
92 views

UNGAS and why was GAS made available to programming smart contracts? [closed]

Hardforks, such as Istanbul, have illustrated the best practice that smart contracts should not make any assumptions about gas. Gas costs have, can, and will change, for example: Is transfer() still ...
eth's user avatar
  • 85.4k
2 votes
0 answers
512 views

History question: Left and Right padding

from: https://solidity.readthedocs.io/en/v0.5.12/abi-spec.html#encoding-of-indexed-event-parameters bytesNN types are padded on the right while uintNN / intNN are padded on the left. I would ...
ligi's user avatar
  • 1,183
0 votes
1 answer
121 views

Why some transaction errors lead to discarding the whole block?

In terms of go-ethereum code, transaction errors can be grouped into (I made up the terminology) several categories by their effect on state transition. System errors: like database connection issues....
user avatar
6 votes
1 answer
189 views

What is an SSZ partial?

What is an SSZ partial? What are its benefits and are there any existing similar concepts that would help in understanding it? Some references: https://github.com/ethereum/eth2.0-specs/pull/1184/...
eth's user avatar
  • 85.4k
0 votes
1 answer
1k 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 ...
user2284570's user avatar
  • 1,008
1 vote
1 answer
80 views

Is it possible to manipulate maximum callstack size in solidity?

I'm a student learning about solidity language. According to solidity's official docs, the maximum callstack size is 1024. But, I am wondering, can a developer change the maximum callstack size in ...
SeungSoo Kim's user avatar
1 vote
2 answers
1k views

What are offchain and onchain Transactions?

What is meant by off-chain and on-chain transactions? I don't get the meaning of off-chain and on-chain in general.
Sheikh's user avatar
  • 445
0 votes
1 answer
49 views

Dynamic Arrays of type memory

Are the dynamic arrays of type memory fixed sized. I have read that the arrays of type memory are fixed sixed. Thanks
Sheikh's user avatar
  • 445
0 votes
1 answer
61 views

Smart Contract (SC) - Is it a Block itself?

Is SC a block itself on the Ethereum Block chain or it's just a storage? I know SC has its own hash address, it's own data stored in State variables, but does it has nonce and gas limit?
Munish's user avatar
  • 43
2 votes
1 answer
165 views

What is the collapse function, L, explained in Ethereum yellow paper?

I have learned the Ethereum yellow paper. In the 4th page of the paper, you can find the following statements: The function, L_s of sigma is defined as p of a, and the function is used to provide a ...
Eps Yoo's user avatar
  • 41
3 votes
0 answers
38 views

Does any client maintain a mapping of hashes to addresses?

As explained in the Design Rationale wiki: Using sha3(k) as the key in the "secure tree" (used in the state and account storage tries): this makes it much more difficult to DoS the trie by setting ...
medvedev1088's user avatar
5 votes
1 answer
437 views

Why are keys hashed in Merkle Patricia Trie?

Account addresses are hashed before they are recorded in the Patricia Merkle Trie, as well as storage slot indexes. This makes it difficult to enumerate all accounts and storage slots by scanning the ...
medvedev1088's user avatar
2 votes
1 answer
70 views

Is there a document describing the design rationale behind Ethereum?

What are the design decissions behind Ethereum? Why are storage words 256-bit long? Why is Ethereum using the account model and not the UTXO model? ... Is there a document describing these design ...
ivicaa's user avatar
  • 7,519
5 votes
1 answer
1k views

Why is the Ethereum Virtual Machine designed as a stack based language?

I heard that Ethereum is about to change into a flavor of Web Assembly (a register-based language, eWASM). Web Assembly is register-based, which means they are faster. So why is Ethereum using a ...
Ho Now Nahc's user avatar