Rework Namada addresses #2018
Labels
brainstorming
breaking:client
has-a-pr
The issue has been solved by a PR that has yet to be merged
ledger
prio:high
Context
All Namada addresses (established, implicit and internal) are currently encoded with bech32m, with an
atest
prefix. The data being encoded for these addresses consists of 45 bytes, split into the following sections:"nam"
)"::"
)A consequence of this is that we employ some hacks for internal addresses, to fit the criteria above. See:
Goal
We should introduce different prefixes, for addresses with different size constraints.
tnam
prefix. A discriminant byte (e.g. with a value of 0/1) may be used to distinguish between implicit or established addresses, followed by the raw (truncated to 20 bytes) public key hash of an address, in the case of implicit addresses, or random data, in the case of established addresses. This will result in encodings of the form:tnam1xqqqzqsrqszsvpcgpy9qkrqdpc83qygjzvd4tm66
. Maybe established/implicit keys should have different bech32m prefixes?znam
prefix. See section 5.6 starting on page 110 of the zcash paper for size constraints. Distinguishing between different MASP keys may also be done with a discriminant byte. Perhaps we should use a different prefix for these?The text was updated successfully, but these errors were encountered: