106 votes
Accepted

What happens when a transaction nonce is too high?

Summary Transactions with too low a nonce get immediately rejected. Transactions with too high a nonce get placed in the transaction pool queue. If transactions with nonces that fill the gap between ...
BokkyPooBah's user avatar
  • 40.3k
33 votes

What was the reason to invent the EVM?

Vitalik Buterin gave a presentation about Ethereum to Hyperledger April 28 2016 (agenda, minutes) and had this on slide 8: Buterin clarified the third point as the developer centralization observed ...
eth's user avatar
  • 85.7k
29 votes
Accepted

What was the reason to invent the EVM?

So the important point in your question is why a new VM and not a java VM. ok let's choose a Java VM instead, what do we get? : 1- complex and voluminous Bytecode => how to store it, in the ...
Badr Bellaj's user avatar
  • 18.8k
27 votes

How does the Casper proof of stake algorithm work?

The friendly Ghost Casper is a security-deposit based economic consensus protocol. This means that nodes, so called bonded validators, have to place a security deposit, an action called bonding, in ...
q9f's user avatar
  • 32.9k
19 votes
Accepted

How many transactions per second can Ethereum currently handle? What changes will allow the network to be able to handle more?

I did the math to show the aprox tx/s: The block gas limit is 7,999,992 Transaction costs 21,000 gas (let's assume nothing else is attached) That's ~380 transactions per block With a block time of ...
CPereez19's user avatar
  • 2,835
16 votes
Accepted

What is casper?

There are a number of reasons I much prefer Casper over PoW: In PoW, any coalition of >50% (or 25-33% if selfish mining) can very profitably censor and revert history. In Casper, it takes close to ...
Vlad Zamfir's user avatar
15 votes

What exactly is an Ethereum client and what clients are there?

There are a couple of "reference implementations" that the Ethereum foundation is supporting. Ethereum C++ (known as Eth or "TurboEthereum") Go Ethereum (known for the command line client Geth) ...
Maran's user avatar
  • 1,835
13 votes
Accepted

When there is an unexpected hardfork, what is the procedure taken by the core team?

We've had an unexpected fork in the past that caused a split between clients. While no hardfork is like any hardfork we generally follow these rules and steps: Identify and announce the issue; Create ...
Jeffrey W.'s user avatar
  • 1,939
13 votes

Does every node execute the contract code for each transaction?

Every full node processes every transaction. The miners choose which transactions to execute, based on gasprice. Once a block is mined, every node must rerun all of the contract executions in order to ...
Tjaden Hess's user avatar
  • 37.1k
12 votes
Accepted

What is GHOST and what is its relationship to Frontier and Casper?

GHOST is short for the Greedy Heaviest Observed Subtree chain selection rule which was a proposed modification for the Bitcoin blockchain (Paper). GHOST orignally was a protocol modification, a chain ...
q9f's user avatar
  • 32.9k
11 votes

What does it mean to "seal a block"?

"Seal a block" is a proposed term to describe "mine a block" in a private chain. Private chains typically do not need to use proof-of-work mining, so a different term can be helpful. Specifics of ...
eth's user avatar
  • 85.7k
11 votes
Accepted

Bitcoin : Ethereum :: Raft : Paxo

No; Ethereum and Bitcoin's consensus algorithm is very different from Raft and Paxos. Ways in which they differ: In both Raft and Paxos, the systems elect a leader. There is no leader in Ethereum and ...
lungj's user avatar
  • 6,680
10 votes

Does every node execute the contract code for each transaction?

Yes, every (full) node executes the contract code for each transaction. Since executing contract code is relatively expensive, nodes only do this when they need to. When a node gets a transaction, ...
eth's user avatar
  • 85.7k
10 votes

How does the Casper proof of stake algorithm work?

https://gitter.im/ethereum/research is an open, highly technical channel where the most details about Casper can be obtained currently. Here are some background references that can help before ...
eth's user avatar
  • 85.7k
10 votes
Accepted

QuorumChain Consensus vs Raft Consensus vs Istanbul consensus quorum

I'm not an expert on this Quorum world. But as i've read, the main difference between the three mechanisms you mentioned is the % of BFT (Byzantinism Fault Tolerance). BFT is defined as: ...
CPereez19's user avatar
  • 2,835
9 votes

What's the difference between proof of stake and proof of work?

the_truth = Agreed data structure (Block) containing valid future state of the ethereum virtual machine (and related information) as calculated by me using the rules set out in the yellow paper. rand ...
Lee's user avatar
  • 8,548
9 votes
Accepted

How are contracts executed on nodes?

When a node is validating a block, transactions are executed sequentially, in the order specified by the block; this is necessary, since a block might contain multiple transactions that call the same ...
Nick Johnson's user avatar
  • 8,154
8 votes

How does the system enforce correct execution of smart contracts?

Every full node will run the same contract with the same input (with the goal of checking the output). So, when a miner runs a contract and notes its execution in a published block, every full ...
Slender's user avatar
  • 141
8 votes

Can a smart contract be validated only by a specific selected node

Its kind of what Casper is trying to do with its sharding scheme. The high level idea is to split the network into several groups, and a group of nodes will be responsible for verifying some set of ...
Loi.Luu's user avatar
  • 2,103
7 votes

Does every node execute the contract code for each transaction?

In the current version every node runs every contract. Since this is not scalable it is highly likely that "sharding" will be implemented, where some states are only on certain nodes. They will then ...
zunior's user avatar
  • 1,312
7 votes
Accepted

Consensus Client vs Execution Client

The Execution Client listens and executes transactions and maintains the latest state and database of all Ethereum data, while the Consensus Client provides consensus (using PoS algorithm) from ...
Yongjian P.'s user avatar
  • 4,180
6 votes

What is GHOST and what is its relationship to Frontier and Casper?

Casper began life as an adaptation of the principles of GHOST to security-deposit-based PoS. The most complex version of Casper uses a subtree-choice rule, executes all transactions and includes bets ...
Vlad Zamfir's user avatar
6 votes

Smart contracts code: what are nodes in Ethereum actually agreeing upon during the consensus process?

What I expect should be happening from my reading of the docs (I have not personally traced through the code or the consensus process yet): Each mining node selects a list of pending transactions ...
BokkyPooBah's user avatar
  • 40.3k
6 votes
Accepted

What is the proof that Mainnet can't be reset?

A blockchain is about consensus on the starting point, the genesis block, and all the blocks after. There is virtually nothing that prevents anyone from creating a new genesis block and blockchain, ...
eth's user avatar
  • 85.7k
6 votes
Accepted

What algorithm Ethereum use POS(proof of shake) or POW(proof of work)?

Ethereum currently uses a Proof of Work algorithm called Ethash, implementation details of which can be found on the wiki. The plan is to move to a Proof of Stake algorithm called Casper at some ...
Richard Horrocks's user avatar
6 votes

How is consensus in the state achieved if contracts have random output?

The contract provide deterministic outputs there is no rand function in the smart contract. you could try to write your own rand function using for example the block time stamp as a base. However, for ...
Badr Bellaj's user avatar
  • 18.8k
6 votes
Accepted

What contract is used in Istanbul consensus mechanism in JP Morgan Quorum?

Possibly, it is block_voting.sol. I'm 90% sure. Also, I'm 90% sure that it's garbage. This contract is not used by Istanbul consensus. Some evidence (with radare2): Cut "code:" content from "...
Mikhail Shihov's user avatar
6 votes

What is the Oracle Problem definition exactly and briefly?

The oracle problem is: "If oracles allow corrupt data to be imported on-chain, auto-executing smart contracts can have disastrous affects" Once data is reported to a blockchain, that data ...
Patrick Collins's user avatar
6 votes
Accepted

What happens if two different states of smart contract conflict?

People have been explaining this since Bitcoin emerged on the scene but it's a little difficult to grasp at first and usually takes a few explanations from a few angles, so I'll try for an overview ...
Rob Hitchens's user avatar
  • 55.2k
6 votes

Miner-modifiability of block timestamp after the Merge

Does that mean block timestamps can no longer be tweaked or fudged by miners, after the Merge? That's correct, (post-Merge) consensus on valid blocks is pre-determined timestamps that are not ...
eth's user avatar
  • 85.7k

Only top scored, non community-wiki answers of a minimum length are eligible