In this track: Cryptography with intuition
advanced · 7 MIN READ

Signatures and permissions

Prove authorization without sharing the secret that creates it.

LET’S PICTURE IT

A signature is a checkable approval. The shape of the document matters just as much as who signed it.

SEE IT FOR YOURSELF
From a public address to a verified signatureStep 1 / 4
From a public address to a verified signaturePublic address0x0000…0001Share to receiveAnother personCan read the addressCannot sign for youPublic identifier ≠ secret authorizationLocal signerPrivate key stays hereSign the chosen requestSigned requestMessage + signatureSecret key not includedThe moving packet represents a signature, not a keySignatureCheck the exact messageCheck the signing contextVerificationAuthorization checkedIntent still mattersValidity and safety are different questionsWallet interfaceReads public dataRequests authorizationNetwork stateBalances and recordsIndependent verificationNo wallet is connected in this local illustration

An address is public receiving information. It is not the private key that authorizes actions.

Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.

Signing is not encryption

A digital signature lets someone verify authorization by the holder of a key. It does not hide the message. With Ethereum’s common externally owned account signatures, software can recover a signer address from a correctly formed signature and the expected message digest.

The message format matters

Signing a transaction, signing a personal message and signing typed data use different rules. EIP-712 typed data provides structured fields and domain information, often including chain and verifying contract. That makes requests easier to inspect, but a readable request can still authorize a dangerous action.

Watch for replay

A signature can be reused if the application does not design appropriate protections. Nonces, deadlines and domain separation help bind an approval to an intended context. The verifier must enforce these checks; simply displaying a deadline in a website is insufficient.

Contract wallets differ

A contract account can define signature validity through mechanisms such as ERC-1271. Recovering an ordinary signer address is therefore not a universal wallet signature check. Never infer that a signature is safe just because a verification step passes. Start with the permissions described in wallet safety.

QUICK CHECK · NO PRESSURE

Does a valid signature prove that the signed action is safe?

Your progress stays in this browser.
Keep exploring the original referenceEthereum Improvement Proposals ↗

Original explanations by EtherTools. Examples are educational and source-linked; this site is independent of the Ethereum Foundation. Our approach.