bech32m #53
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
mosaic/nostr-next#53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
bech32 has an insertion/deletion weakness: https://github.com/sipa/bech32/issues/51
If starting over, use bech32m.
100% bech32m but why even have a suffix at all? Seems like a big mistake.
Just use
npub
tb
Or something like this.
Npub is also a big problem because it doesnt pass the "test of independent invention". If another system were to come up with an npub encoduing, no sane system would use segwit suffix on a taproot address and prefix, which is just a bug.
A solution is to allow the libraries to shift gradually, whatever the new solution.
Make the suffix optional would be a good first step.
Yeah I only care for the character set of bech32, not the rest of it.
An important omission is the version number which provides future proofing.
I suggest current n- encodings either be treated as version=null or version=0
All next versions start from a new version number
Ok. I also like zbase32 except that it doesn't have error correction or error detection. I don't like the fact that bech32 is specified as part of bitcoin and tied into things like segwit and taproot, neither of which are relevant to a binary encoding scheme.
Maybe the time has come to take base32, zbase32, and bech32 as inputs, and make a new one that ticks all the boxes, including a version number.
I just whipped this up https://github.com/mikedilger/hum32 but I forgot the version number! lol