0

Say I am a miner, and my genesis block on the mainnet has configuration X. A transaction comes in for me to mine. How does my Ethereum client confirm that transaction adheres to all the standards set in my genesis block?

It's my understanding that the genesis block of the transaction sender and that of the miner have to be identical for the transaction to be validated. How can I tell just from the transaction what the genesis block of the sender is? A technical explanation of this entire protocol would be excellent.

0

first you do not mine transaction but blocks that are block of transactions.

I believe from your question that there is confusion about three distinct concepts:

  1. the network behavior: that is initialized in a Genesis block.
  2. the creation of a new block (through proof-of-work, proof-of-authority, proof-of-stack) usually simply called mining. The current ethereum proof of work is described here https://github.com/ethereum/wiki/wiki/Ethash
  3. the consensus algorithm that is about accepting (or not) the newly mined block being broadcasted through the network. Every node participates in the consensus although not every node is mining.

The Genesis Block defines rules for initializing the network itself. For example looking at

https://github.com/ethereum/go-ethereum/wiki/Private-network

we see parameters like the following:

  • GasLimit (maximum amount of gas used in a block)
  • difficulty (mining difficutly to enforce a more or less constant mining period of new blocks)

and here is how the geth client parses and knows about those parameters: https://github.com/ethereum/go-ethereum/blob/master/params/config.go

  • I have a complete understanding of everything in your answer except the very last sentence, which is what my question asks about. Miners do get transactions instead of blocks, and they mine those transactions into blocks. How specifically is compatibility for the transaction itself checked with the consensus genesis block? – AlwaysQuestioning Jan 27 '18 at 14:07
  • @Aditya are you saying that the transaction itself will look different if the genesis file is different? – AlwaysQuestioning Jan 27 '18 at 22:42
  • No, the block will look different. – Aditya Jan 28 '18 at 6:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.