Questions tagged [consensus]

The process used by mutually untrusting users to agree on the validation and execution of transactions and smart contracts.

Filter by
Sorted by
Tagged with
86
votes
3answers
30k views

What is an uncle/ommer block?

The Ethereum blockchain is described as containing "ommer" blocks, usually called "uncle" blocks by the general public. What is an ommer/uncle block, and why are they needed?
131
votes
5answers
44k views

Why does Ethereum plan to move to Proof of Stake?

The initial version of Ethereum (Frontier) uses a Proof of Work based consensus algorithm, but I see that there are plans to implement a Proof of Stake based consensus algorithm called "Casper" in a ...
48
votes
4answers
27k views

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

What exactly is an Ethereum client? Is it a full network node that can post transactions to the blockchain (if that is the correct lingo?) or could it also be a light JS client that connects from a ...
28
votes
4answers
9k views

Does every node execute the contract code for each transaction?

This question was asked on Reddit a while ago: When a node sends a transaction to the network and has the receiver as a contract, does every node execute the contract bytecode with the inputs to ...
8
votes
2answers
5k views

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

As high-level as possible without losing important meaning, what's the intuition behind GHOST? How is it currently implemented in Frontier? What will be different with GHOST in Casper?
70
votes
5answers
51k views

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

The Ethereum frontier network currently uses a proof of work (PoW) consensus algorithm, while a future version of the network plans to utilise a proof of stake (PoS) algorithm instead. What's the ...
36
votes
4answers
18k views

What happens when a transaction nonce is too high?

From Design Rationale: One weakness of the account paradigm is that in order to prevent replay attacks, every transaction must have a "nonce", such that the account keeps track of the nonces used ...
67
votes
1answer
11k views

Why is the average block time 17 seconds?

The network stats show a constant average blocktime of around 17 seconds. Whenever you check it is around 16~18 seconds. Reading the blog post by vitalik buterin it states the block time should be 12 ...
53
votes
4answers
32k views

What proof of work function does Ethereum use?

The Ethereum frontier network currently uses a proof of work (PoW) based consensus algorithm. But which specific PoW function does that algorithm use, and why was it chosen?
17
votes
2answers
2k views

During a 51% attack, What Can the Attacker Actually Accomplish?

During an attack on the network, where the attacker has more than 51% of hashing power (or the equivalent of Ether in PoS), what can the attacker do and not do to the chain and the contracts on it? ...
34
votes
3answers
5k views

What was the reason to invent the EVM?

What was the reason to invent the Ethereum Virtual Machine (EVM)? Why not use an existing virtual machine like the Java-VM. The big advantage would be that the existing toolsets for Java development ...
40
votes
3answers
16k views

How does the Casper proof of stake algorithm work?

Ethereum plans to move to the Casper proof of stake algorithm in a future version of the network. What are the details of that algorithm, and how does it compare to previous Proof of Stake consensus ...
12
votes
3answers
2k views

Smart contract consensus for dummies

I've read a few other questions/answers on smart contract consensus by nodes in the network, but I still don't understand the steps. Here's how I picture it: Two parties might agree upon a smart ...
6
votes
1answer
694 views

How are contracts executed on nodes?

How are contracts executed on full nodes? Do they run one by one on first-in first-served basis, or simultaneously in the isolated environments? If they run in parallel, I guess it may exhaust the ...
1
vote
1answer
984 views

What happens if the block time changes to 5 seconds?

Related to this and this. The difficulty adjustment algorithm is: block_diff = parent_diff + parent_diff // 2048 * max(1 - (block_timestamp - parent_timestamp) // 10, -99) + int(...
27
votes
3answers
4k views

Is Ethereum secure against an attack by quantum computers?

Does Ethereum implement Post-quantum cryptography? Or will the network break once a malicious actor gains control of an effective quantum computer?
7
votes
2answers
1k views

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

When a contract is triggered, all nodes execute the code; where exactly does consensus come in? Are they agreeing upon the OUTPUT or just the code itself?
9
votes
2answers
469 views

How can I compare two consensus protocols?

There are a large number of competing consensus protocols in the blockchain space today. How can I compare them to each other in an objective way?
7
votes
2answers
4k views

What is the Ethereum Virtual Machine?

What is the Ethereum Virtual Machine? How does it contrast to the Ethereum World Computer? The description of the EVM tag says: EVM is the Ethereum Virtual Machine, the protected, distributed "...
2
votes
1answer
352 views

How will the number of confirmations for security change with Casper?

How will this answer change when Casper is deployed?
5
votes
2answers
3k views

How does a Smart Contract know the gas/fees needed to execute a transaction?

I installed recently Solidity for Visual Studio and they have this Smart Contract sample there: contract Payout { address Victor; address Jim; address Kieren; mapping (address => uint) ...
2
votes
1answer
348 views

Plug new Consensus into Go-ethereum (geth)

I was wondering if it was possible to easily plug new consensus into the geth client. Actually, I tried to add a very simple "consensus" (which is a fully centralized proof of authority with a single ...
18
votes
2answers
3k views

What is casper? [duplicate]

I see that Vitalik and Vlad are working on Casper. As far as I understand, casper is the new POS mining algorithm. Why is it better than bitcoin's POW? I understand it's environmentally friendly, ...
13
votes
2answers
3k views

What does it mean to "seal a block"?

In both the Ethereum chain specification format and in Parity's documents on private chains, you see the term seal a block. What exactly does that term mean? How is it different than mining a block?...
11
votes
3answers
2k views

What are the major risks of Ethereum moving to Proof of Stake?

There has been discussion about the motivations and benefits of moving to Proof of Stake. For a risk-benefit analysis of moving to Proof of Stake, what are the major risks?
6
votes
3answers
2k views

What is the Oracle Problem definition exactly and briefly?

What is the Oracle Problem definition exactly and briefly? Does it mean "trusting on a centralized Oracle" ? Or "How to reach a consensus between a group of Oracles" ? Is the matter "centralization" ...
6
votes
1answer
1k views

What is the significance of uncle rate?

What is the significance of uncle rate? Some Ethereum sites show an uncle rate in decimal, another shows the uncle count per 25 blocks. If there are many or few uncles, how important is that to the ...
2
votes
1answer
882 views

Where is the function that rewards the miner address for mining the block?

I have recently been digging into go-ethereum and have 'plugged' my own consensus mechanism which requires a node to solve a simple equation (2+2) etc to seal a block. However, even after letting it ...
2
votes
1answer
844 views

Is Quorum production ready

Quorum is private permissioned blockchain network.Is it production ready or still in beta/Proof of Concept stage?
8
votes
2answers
651 views

How does betting on a block work in Casper?

Betting on a block is betting money that effectively says something like: "I believe that this block has at least a 60% chance of being true." Q1. Once a bet is made, is it possible to change the ...
7
votes
2answers
609 views

How does the system enforce correct execution of smart contracts?

If I understand correctly, the smart contracts are run by the miners. What incentive do the miners have to execute the smart contracts correctly? What stops a malicious miner from changing the result, ...
6
votes
0answers
151 views

Does everyone have to run all the contracts? [duplicate]

Does everyone have to run all the contracts or can nodes pick and choose what contracts they want to run? I'm still trying to wrap my head around how many nodes need to run a contract before I can ...
5
votes
1answer
319 views

What is the longest fork that had occurred so far?

What is the longest fork that had occurred since the start of Frontier?
5
votes
1answer
437 views

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

It has been argued that the Morden testnet can be reset any time. How can one verify that this is not possible with the mainnet?
4
votes
2answers
175 views

When a bonded node loses a bet who gets the ETH?

In Casper Proof-of-Stake, a validator needs to be a bonded node: it puts up a security deposit that can be lost if the validator misbehaves. When a bonded node misbehaves, who receives the lost ETH?
2
votes
1answer
275 views

What happens if a miner who didn't soft fork mines an "invalid" block?

Can someone explain, technically, what would happen if a majority of the miners adopted a soft fork (forward-compatible) making some tx invalid and then a miner who didn't fork happened to mine a ...
1
vote
2answers
202 views

Decentralized Access Control in permissioned Blockchain

For a business use case I am conceptualizing for my master's thesis, which is based on a Blockchain system, I need to understand impacts on decentralization/trustlessness. Many people argue that ...
0
votes
0answers
27 views

What’s the transaction ordering inside a block? [duplicate]

The game I found a game where each gambler needs to pay 0.02 ᴇᴛʜ to register a secret before the game before the games switch to status==reveal each day. Then, during the status==reveal period no ...
0
votes
1answer
84 views

Ethereum fork that implements transaction ordering

Hyperledger fabric has its consensus that contains Transactions endorsement Transactions ordering Transactions committed to a block I wonder if there is an Ethereum consensus or fork that would have ...