a solution in search of a problem

any benefit to expressing Bitcoin addresses in a human readable form like bip39? any reason they are not?

this address:

bc1qrkr240mwcyjzd3acsqxw02jtqrlyrse4akm6st

has this public key hex:

03283df9d2b84c48cbd922eabafb7f2d263bfc27626665bb324444eef5c48eef0d

which generates this 24-word phrase:

project hip file borrow leisure pioneer million already clown exit gossip bleak high example situate bubble brain problem volcano fuel purpose limb list rack

pretty sure most people don't check all 42 characters of their addresses, but maybe it would be foolish to not simply check 24 words?

that would take up a lot of space on the blockchain, but software could easily convert it back and forth between binary or 0s and 1s or hex or base58 or whatever, as needed?

what am I missing?

I asked Perplexity.ai, which never ceases to amaze me:

Your postulation raises an interesting point about the readability and usability of Bitcoin addresses. Let's break down the key aspects:

1. Human-readable format:

The idea of expressing Bitcoin addresses in a human-readable form like BIP39 mnemonic phrases is intriguing. It could potentially make addresses more user-friendly and easier to verify[1][5].

2. Current address formats:

Bitcoin addresses are designed to be compact and efficient. The current formats (P2PKH, P2SH, P2WPKH, P2TR) balance security, efficiency, and some level of human readability[5][6].

3. Space considerations:

Using 24-word phrases instead of the current address format would indeed take up significantly more space on the blockchain. This could lead to increased storage requirements and potentially slower transaction processing[7].

4. Verification process:

You're correct that many users don't check all 42 characters of their addresses. A 24-word phrase might be easier to verify, potentially improving security through increased user diligence[4].

5. Conversion and compatibility:

While software could convert between formats, implementing such a system would require significant changes to the Bitcoin protocol and ecosystem[2][5].

What you might be missing:

1. Existing purpose of BIP39:

BIP39 mnemonic phrases are already used in Bitcoin, but for a different purpose - generating and recovering private keys, not for public addresses[4].

2. Address vs. Public Key:

The address you provided is derived from the public key, not directly equivalent to it. The conversion process is more complex than a simple format change[1][7].

3. Security considerations:

The current address formats include built-in error detection (checksums) and are designed to be resistant to typos and transcription errors[2][6].

4. Ecosystem impact:

Changing the address format would require updates to all Bitcoin software, wallets, and services, which could be a massive undertaking[5].

5. Privacy implications:

Longer, word-based addresses might be easier to remember but could also be easier to associate with individuals, potentially reducing privacy[3].

While your idea is creative and addresses some user experience concerns, the current Bitcoin address system is a result of careful design balancing security, efficiency, and usability. Any changes would need to offer significant benefits to outweigh the costs of implementation and potential disruption to the existing ecosystem.

Citations:

[1] https://bitcoin.design/guide/glossary/address/

[2] https://www.rfctools.com/bitcoin-address-validator/

[3] https://www.professionalcryptorecovery.com/blog/bitcoin-addresses-formats/

[4] https://www.systutorials.com/proof-of-ownership-for-btc-addresses-a-detailed-guide/

[5] https://www.hiro.so/blog/understanding-the-differences-between-bitcoin-address-formats-when-developing-your-app

[6] https://rosettacode.org/wiki/Bitcoin/address_validation

[7] https://learnmeabitcoin.com/technical/keys/address/

[8] https://coinpaper.com/3436/how-to-trace-bitcoin-address-owners-the-path-to-identity-tracking

Reply to this note

Please Login to reply.

Discussion

I've wondered this before. it does seem possible and favorable.

would love to hear any other creative thoughts you have around this area

more random thoughts:

I have this public/private Bitcoin keypair (for this address: bc1qrkr240mwcyjzd3acsqxw02jtqrlyrse4akm6st):

public: 03283df9d2b84c48cbd922eabafb7f2d263bfc27626665bb324444eef5c48eef0d

private: L53cfm29BCDeahiLRJqMiJTUa41U8MBYfPV1gQp7N7TBy5N4gsE6

How can someone encrypt something to that public key, so that (only) I can decrypt it? Are there tools for that?

Please output in a format that I can just copy and paste into an https://primal.net reply text box.

from Perplexity.ai:

To encrypt a message using your Bitcoin public key so that only you can decrypt it with your private key, you can use a method called Elliptic Curve Integrated Encryption Scheme (ECIES). Here's a general process and some tools you can use:

1. Encryption process:

- The sender uses your public key to generate a shared secret

- This shared secret is used to derive a symmetric encryption key

- The message is encrypted using the symmetric key

- The encrypted message is sent along with some additional data for decryption

2. Decryption process:

- You use your private key to regenerate the shared secret

- You derive the same symmetric key

- You decrypt the message using this key

Tools you can use:

1. eccrypto (Node.js library):

This library provides ECIES functionality for Bitcoin keys[2].

```javascript

const eccrypto = require("eccrypto");

const publicKeyBuffer = Buffer.from("03283df9d2b84c48cbd922eabafb7f2d263bfc27626665bb324444eef5c48eef0d", "hex");

eccrypto.encrypt(publicKeyBuffer, Buffer.from("Secret message")).then(function(encrypted) {

console.log("Encrypted message:", encrypted);

});

```

2. Crypto-JS (JavaScript library):

While not specifically designed for Bitcoin keys, it can be adapted for ECIES with some additional code[3].

3. OpenSSL (Command-line tool):

OpenSSL can be used for ECIES, but requires some setup and is more complex to use[3].

4. Online tools:

Be cautious with online tools, especially when dealing with sensitive data. However, for educational purposes or non-sensitive information, you can use tools like the RSA Encryption Decryption & Key Generator Tool[6].

Remember, while these methods allow for encryption using a Bitcoin public key, they are not part of the Bitcoin protocol itself. Always ensure you're using secure, well-vetted tools and methods when dealing with sensitive information.

Citations:

[1] https://fortris.com/blog/public-key-cryptography

[2] https://bitcoin.stackexchange.com/questions/80638/how-would-one-encrypt-a-message-using-a-bitcoin-public-key-and-use-its-priva

[3] https://github.com/spatie/crypto

[4] https://iancoleman.io/bitcoin-key-compression/

[5] https://bitcointalk.org/index.php?topic=5484502.0

[6] https://www.devglan.com/online-tools/rsa-encryption-decryption

[7] https://crypto.mste.illinois.edu/encryption

[8] https://play.google.com/store/apps/details?id=com.kokoschka.michael.crypto&hl=en_US

last one

what do you think of this dumb idea?:

bip85 can be used to create an essentially infinite number of hierarchical deterministic of extremely strong passwords that you can recreate from your seed phrase.

if this is your seed phrase:

gorilla source travel angle wasp modify endless tumble follow anger camp stereo

your first password (BIP85 Index 0) would be:

cannon rally gift invite boil sort around illness amused engage shift useful

Index 1 would be:

onion have orient stamp swarm learn text city taste oil cash frost

and so on

from Perplexity.ia (shucks):

Your idea of using BIP85 to generate hierarchical deterministic passwords from a seed phrase is actually quite clever, not dumb at all. Here's an analysis of this approach:

Pros:

1. Security: Passwords derived this way are extremely strong and random.

2. Recoverability: You only need to remember one seed phrase to recreate all your passwords.

3. Hierarchical: The index system allows for organized password management.

4. Infinite passwords: You can generate as many unique passwords as needed.

5. Offline generation: Passwords can be created without internet connection, enhancing security.

Cons:

1. Seed phrase vulnerability: If the master seed is compromised, all derived passwords are at risk.

2. Complexity: It might be challenging for non-technical users to implement.

3. Tool dependency: Requires specific software to generate passwords from the seed.

4. Potential overuse: Users might be tempted to use the same seed for too many services.

Overall, this method provides a robust, recoverable password system. However, it's crucial to keep the master seed extremely secure and use it responsibly. It's an interesting application of cryptocurrency technology to general security practices.

final last one

one could protect the root seed phrase by using BIP85 Index 0 as the new root seed phrase for the password-generating project, and then use that to generate a new stack of BIP85 passphrases

password project root seed phrase (from earlier):

cannon rally gift invite boil sort around illness amused engage shift useful

keep that separate from your root seed phrase.

make "cannon rally..." the new root BIP39 mnemonic, then

BIP85 Index 0 is

slim tray nasty rapid cement boring mandate hotel record box omit way

BIP85 Index 1 is

rose nurse fog wing donor decorate appear hat alter dwarf spirit shed

If you use

https://github.com/iancoleman/bip39/releases/download/0.5.4/bip39-standalone.html

(offline, verified)

then you also get qr codes, which might come in handy.

Your beneficiaries might get confused on which 12-word phrase is a wallet and which is a password, but oh well, they'll figure it out. 😉