diff --git a/doc/standards/ecash-alias.md b/doc/standards/ecash-alias.md --- a/doc/standards/ecash-alias.md +++ b/doc/standards/ecash-alias.md @@ -39,6 +39,7 @@ ## Phase 1 details Aliases are registered by creating a "Registration Transaction" with the following properties: + 1. An output paying the required amount to a designated "Registration Address", and 2. An output with an OP_RETURN containing 4 data pushes: 1. A push of the 4-byte protocol identifier. @@ -50,7 +51,7 @@ Registration fees are paid to a single address. This address will be polled via the chronik client for its transaction history, whereby incoming txs are parsed for valid registration txs. Since the transaction history of this address cannot change, wallets supporting this alias system may cache valid aliases up to a known blockheight to minimize on-chain polling. -The designated registration address will either be the IFP address or an address that periodically sends funds from valid registrations to the IFP address. Automatically processing hot wallet refunds for invalid transactions would not be feasible from the IFP address. +The designated registration address will be the IFP address. ### The Registration Payment Amount @@ -60,7 +61,7 @@ ### The Protocol Identifier -This protocol adheres to the eCash [OP_RETURN Prefix Guideline](op_return-prefix-guideline.md) and uses the 2E786563 protocol identifier, which must be pushed with the 0x04 opcode. +This protocol adheres to the eCash [OP_RETURN Prefix Guideline](op_return-prefix-guideline.md) and uses the 2E786563 protocol identifier. ### Version Number @@ -78,7 +79,9 @@ ### The Alias Address -The Alias Address is defined in a 21-byte push containing a CashAddr payload. The first byte will be the version byte indicating the type of address, and the following 20 bytes are the hash. +The Alias Address is defined in a push containing a CashAddr payload. The first byte will be the version byte indicating the type of address. The following bytes are the hash. + +Valid hash lengths are specified in the [CashAddr spec](https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/doc/standards/cashaddr.md). The shortest supported alias address push is 21 bytes (one byte version + 20 bytes hash). The longest supported alias address push is 65 bytes (one byte version + 64 bytes hash). An Alias Address may have many aliases. Each alias maps to one and only one Alias Address.