In the Bitcoin network, nodes don’t have physical addresses in the mempool or blockchain, just scripts. A Bitcoin address is really just a number, and it’s a simple way for us to talk about how we transfer control over value.
To break it down, addresses are just a more user-friendly way for senders and receivers to see what they have in their wallets. When I share my address, I’m telling the sender's wallet to create a new output using a script based on that address.
My wallet can recognize both sender and receiver addresses, but it shows my own wallet address specifically. In the larger Bitcoin network, I can show the addresses tied to my transactions by converting outputs into an address format that represents that information as a number, following certain standard rules.
Inside my wallet app, bitcoin addresses come into play as soon as I choose my wallet's private keys. So as long as the number position exists, any address can exist.
Bitcoin relies on scripts instead of built-in addresses
3 replies 407 views
Indeed the Bitcoin blockchain doesn't know anything about nor stores such things as a public address. I wouldn't call it a simple number, though. You can view a public address as a recipe for a wallet to construct a properly formed standard lock script when such a public address (or similar) is used as target for a transaction output.
If you send coins to a public key (P2PK transaction) the lock script is:
To unlock this (spend it) you just have to provide a valid signature with the corresponding private key from which the public key was derived.
If you send coins to a public address of form 1... (P2PKH transaction) the lock script is:
To unlock this recipe (spend it) you must provide the original non-hashed public key with a signature of the corresponding private key from which the public key was derived.
There are more recipe types like P2SH, P2WPKH and P2WSH (not mentioning all of them, only the most common ones).
For more details you can hop to https://learnmeabitcoin.com/technical/script/ and how various address types are translated to lock scripts P2PK, P2PKH, ... (I've taken my examples from there.)
The nodes in the network do have a physical address and that is their IP address and port which is the way we can find other peers/nodes and connect to each other.
The rest of your statement is a bit strange. Perhaps by "node" you mean the person who is sending a transaction and the output they create doesn't contain an actual address, it only has a script.
As it was mentioned it is also not just a number. It is more complex than that. Each output script is like a smart contract that holds the locking mechanism that is "locking" the coins in that output and can be "unlocked" by the spender when they provide the other half of the smart contract which will be executed by the nodes.
Technically you can only do that if the output script is one of the standard scripts that has a corresponding address format (like P2PKH, P2WSH, etc.). Otherwise if it doesn't (like the standard P2PK or OP_RETURN or P2MS scripts) or is non-standard, you can not convert it to an address.
paul.stakeHero Member
Posts: 651 · Reputation: 3798
#4Nov 28, 2025, 06:41 PM
"Bitcoin has no built-in addresses" is somewhat misleading and confusing. In computers, nearly everything is abstraction. By "virtual memory", someone imagines of a separate piece of memory that is not stored in physical memory, whereas it's just a set of addresses within the physical memory.
Following this line of reasoning, we could also say there are no "built-in" locking scripts, because a locking script is merely an abstraction of a set of machine instructions.
Related topics
- Bitcoin Core displaying coins (UTXOs) in a new tab 13
- Are you in favor of BIP-110? Let's get a Bitcoin poll going. 0
- Erlay seems to have some issues here’s a better proposal for a bitcoin protocol without invites 3
- Ways to earn some sats by contributing to bitcoin core development 5
- Exploring the Potential and Challenges of a Kardashev-Scale Bitcoin Network 3
- What can I do to fix this Bitcoin Core error? 8