<p>Nothing is preventing any sort of data from using <code>Base58Check</code> encoding, but I'm not sure why you would want to. There's already a multitude of 'altcoins' using a variety of address prefixes though, so you might run into issues should one of them become a real-world success. </p>

<p>In reality, I'd just avoid having users typing a UUID-type string at all, then you don't need to worry about having the typing friendly characters and checksum. </p>

CC BY-SA 3.0
2013-09-22T23:26:51.630Z
None of the other Base58Check address schemes are simple UUIDs, but rather some hash or key preservation scheme. UUIDs in and of themselves don't contain a check digit or avoid similar looking characters. Typing in long strings, be they UUIDs or Bitcoin addresses, is tiresome for users but I can't anticipate how they choose to propagate a UUID so I should make value transcription slightly easier and more robust with Base58Check. Obviously transferring without human error (TCP/IP, QR Codes, SDCard, etc) is preferable but not guaranteed.
LateralFractal
CC BY-SA 3.0
2013-09-23T00:14:37.957Z
My point was that having the same version as an address of an altcoin could be confusing, as they would both look remarkably similar to the user.
Anonymous
CC BY-SA 3.0
2013-09-23T00:49:02.880Z
Yes, similarity is an unavoidable byproduct of pseudorandom values; as any item looks much like another. Some degree of visual distinction could be gained by prefixing "UUID-" in the same manner that BitMessages prefix "BM-" but the question of whether the Base58Check address ecology requires "registration" [or equivalent](http://programmers.stackexchange.com/questions/15241/when-why-is-it-easier-to-beg-forgiveness-than-ask-permission) still remains :-)
LateralFractal
CC BY-SA 3.0
2013-09-22T22:17:32.073Z
2013-09-22T22:17:32.073Z
Anonymous
<p><strong>Can Base58Check encoding be used to encode a Version 4 UUID?</strong></p>

<p>This would be handy for the same reasons as encoding Bitcoin public keys in <em>Base58Check</em> instead of <em>Base64</em>.</p>

<p>I've read the Bitcoin wiki pages on <a href="https://en.bitcoin.it/wiki/Base58Check_encoding" rel="nofollow">address encoding</a> and the <a href="https://en.bitcoin.it/wiki/List_of_address_prefixes" rel="nofollow">list of address prefixes</a>, but it isn't clear whether <em>Base58Check</em> encoding can be used reliably for <a href="http://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29" rel="nofollow">version 4 UUIDs</a> without reserving a prefix somehow. For example, <strong><code>U</code></strong> for UUID.</p>

<base58check><encoding>
Base58Check encoding: Using for Version 4 UUID?
LateralFractal
# Base58Check encoding: Using for Version 4 UUID?

(Asked by: username_0 on 2013-09-22)

**Can Base58Check encoding be used to encode a Version 4 UUID?**

This would be handy for the same reasons as encoding Bitcoin public keys in *Base58Check* instead of *Base64*.

I've read the Bitcoin wiki pages on [address encoding](https://en.bitcoin.it/wiki/Base58Check_encoding) and the [list of address prefixes](https://en.bitcoin.it/wiki/List_of_address_prefixes), but it isn't clear whether *Base58Check* encoding can be used reliably for [version 4 UUIDs](http://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29) without reserving a prefix somehow. For example, **`U`** for UUID.

**Tags:** base58check, encoding


---

## 1 answers

### Answer by username_1 on 2013-09-22. Score: 1

Nothing is preventing any sort of data from using `Base58Check` encoding, but I'm not sure why you would want to. There's already a multitude of 'altcoins' using a variety of address prefixes though, so you might run into issues should one of them become a real-world success.

In reality, I'd just avoid having users typing a UUID-type string at all, then you don't need to worry about having the typing friendly characters and checksum.

> **Comments:**
> **username_0**: None of the other Base58Check address schemes are simple UUIDs, but rather some hash or key preservation scheme. UUIDs in and of themselves don't contain a check digit or avoid similar looking characters. Typing in long strings, be they UUIDs or Bitcoin addresses, is tiresome for users but I can't anticipate how they choose to propagate a UUID so I should make value transcription slightly easier and more robust with Base58Check. Obviously transferring without human error (TCP/IP, QR Codes, SDCard, etc) is preferable but not guaranteed.  
> **username_1**: My point was that having the same version as an address of an altcoin could be confusing, as they would both look remarkably similar to the user.  
> **username_0**: Yes, similarity is an unavoidable byproduct of pseudorandom values; as any item looks much like another. Some degree of visual distinction could be gained by prefixing "UUID-" in the same manner that BitMessages prefix "BM-" but the question of whether the Base58Check address ecology requires "registration" [or equivalent](http://programmers.stackexchange.com/questions/15241/when-why-is-it-easier-to-beg-forgiveness-than-ask-permission) still remains :-)  

---

