Why Nostr? What is Njump?
2023-08-12 16:10:33

ImmanuelOlivia on Nostr: Welcome to another series where we delve into the intricacies of Ethereum addresses. ...

Welcome to another series where we delve into the intricacies of Ethereum addresses. In this article, we’ll demystify Ethereum addresses, their significance, and their role in the Ethereum ecosystem. We’ll simplify complex concepts, provide real-world examples, and share practical tips to ensure you’re adept at handling Ethereum addresses with confidence.

By the time you finish reading, you’ll have a solid grasp of Ethereum addresses, empowering you to handle transactions, engage with smart contracts, and secure your assets within Ethereum. Let’s jump in and master the world of Ethereum addresses!

Understanding Ethereum Addresses

Think of Ethereum addresses as the digital equivalents of traditional bank accounts, but for the Ethereum blockchain. These 20-byte hexadecimal numbers uniquely identify accounts on Ethereum and serve as the gateway for sending, receiving, storing Ether (ETH), tokens, and accessing decentralized applications (DApps). Each address comprises alphanumeric characters and typically begins with “0x” to indicate its hexadecimal nature.

Types of Ethereum Accounts

There are two primary types of Ethereum accounts, each with its own address:

  • Externally Owned Accounts (EOAs): These are user-controlled accounts used for managing Ether and tokens. EOAs facilitate transactions like sending Ether to other addresses and can be created using wallet software such as MetaMask.

  • Contract Accounts: Owned by smart contracts, these accounts interact with the Ethereum blockchain. Each smart contract deployed has a unique contract address, serving as an identifier.

Differences Between EOAs and Contract Accounts

EOAs:

  • Created by users.

  • Have a private-public key pair.

  • Controlled by the user’s private key.

  • Can sign transactions.

  • Interact via transactions.

Contract Accounts:

  • Created by deploying smart contracts.

  • No private-public key pair.

  • Controlled by smart contract code.

  • Cannot sign transactions.

  • Interact via transactions and events.

  • Address Generation

EOA Address Generation:

  • Generate a random private key.

  • Compute the corresponding public key through elliptic curve multiplication.

  • Hash the public key using the Keccak-256 algorithm.

  • Take the last 20 bytes to get the EOA address. Prefix the address with “0x.”

Contract Address Generation:

Contract addresses are generated using a combination of the deploying account’s address and a nonce value, which represents the number of transactions sent from that account.

The contract address is derived by RLP encoding the deploying account’s address and the nonce using the Keccak-256 hashing algorithm.

Contract addresses are deterministic, meaning that the same contract deployed from the same account with the same nonce will always result in the same address.

Address obfuscation techniques, like hashing and mixing, to enhance privacy. ZKPs allow users to prove ownership without revealing specific details.

Here is a more detailed explanation of the process:

  • The deploying account’s address is obtained. Let’s assume the deployer’s account’s address is: 0x0123456789abcdef0123456789abcdef0123456

  • The nonce value is obtained. Let’s assume the nonce value is 5

  • The deploying account’s address and the nonce value are concatenated. We concatenate the deploying account’s address and the nonce value: 0x0123456789abcdef0123456789abcdef01234565

  • The concatenation is then RLP encoded.

  • Keccak-256 Hash: 0x4b6f5a3dfc911e992c3d8f38c6bb9d1563b5e9a526260ee1a83693a8e56f4f48

  • The first 20 bytes of the hash are used as the contract address.

  • Following our example, the Contract Address is prefixed with the “0x” character.: 0x4b6f5A3dFc911E992c3D8F38C6bb9D1563B5e9A5

Note that this is a simplified example for illustration purposes, and in practice, additional steps and considerations might be involved in the deployment process.

Conclusion

Mastering Ethereum addresses is vital for seamless navigation within the Ethereum ecosystem. This expertise empowers you in transactions, smart contract interactions, and asset security. By understanding Ethereum addresses and embracing privacy measures, you contribute to the decentralized movement. Thank you for reading, and stay tuned for more insights in my upcoming articles!

Author Public Key
npub176justa2vn487zqjxg7ww3dag7kjg52ukllj27yxvvvgww4x72sq8x8g8q