Skip to content
Addresses and Keys
One of Ethereum’s foundational technologies is cryptography. There are two
sorts of Accounts.
Externally owned Accounts (EOA)
Ownership of ether by EOA is established through
Digital private keys.
Ethereum addresses, and
externally owned account can send messages to other externally owned accounts OR to other contract accounts by creating and signing a transaction using its private key.
Unlikely externally owned accounts,contract accounts can’t initiate new transactions on their own.
aren’t used directly in Ethereum system. Account addresses are derived directly from private keys.
Private key uniquely determines one Ethereum address,also referred to as an account. Access and control of funds is achieved with digital signature.
Ethereum transactions require
a legitimate digital signature to be included within the blockchain. Anyone with
a replica of a personal key has control of the corresponding account and the other it holds. Contracts account
aren’t backed by public private key pairs.
Transactions in Ethereum
Transactions are signed messages originated by a particularly owned accounts(EOA),transmitted by the Ethereum network,and recorded on the Ethereum blockchain. Transactions are
the sole things which will trigger a change of state,or cuase a contract to execute within the EVM. Ethereum
may be a singleton state machine,and transactions are what make that state machine “tick” changing its states. Contracts don’t run on their own.Ethereum doesn’t run automatically.Everything starts with a transaction.
None:A sequence number,issued by the originating EOA,used to prevent message replay.This number represents the amount of transactions sent from the account’s address.
Gas price:The prices of gas (in wei) the originator is willing to pay.
Gas limit:The maximum amount of gas the originator is willing to shop for for this transaction.
Recipient:The destination Ethereum address.
Value:The amount of ether to send to the destination.
Data:The variable-length binary data payload.
v,r,s:The three components of an ECDSA digital signature of the originating EOA.
The transaction message structure is serialized using the Recursive Length Prefix(RLD) encoding scheme.
All numbers in Ethereum are encoded as big-end ion integers,of lengths that are multiple of 8 bits.
The info are separated by fixed length.No label is included for any field in transaction serialization.
There’s no “from ” data within the address identifying the originator EOA.That is because the EOA’s public key are often derived from the v,r,s components of the ECDSA signature.The address are often derived from the general public key.