Clarifications about AENS and Request for Requirments!

I would like to clarify what current (Lima) AENS is capable in aspect of pointers.

Pointers are things that map name to data and they live in blockchain state.
We allow the data the be encoded as: account, oracle, contract or channel types.

What’s great about AENS, is, in given context, say Spend Transaction, we check if recipient is actual address or a name. If that’s a name, we look for well known key in pointers: account_pubkey key and corresponding account_pubkey type hash. You can have multiple pointer keys with values limited to 32 bytes.

To sum up, thanks to AENS, you can use labels/pseudonyms in signed transactions and they are still valid and executing correctly.

However, there is an API to fetch data that is attached to a name.

This opens up opportunity to use AENS outside of blockchain.

Current limitation is that you need to encode arbitrary data as account/channel/oracle/contract hash types. You can store it under arbirary key. Also it is limited to 32 bytes.

What would be good extension of the AENS protocol to facilitate even more general use-cases?
Our proposal is to allow byte type, so the encoding is more elegant and we don’t need to pretend it’s something else.

Please share your ideas!


Perhaps the new generalized data type “bytes” should only be allowed for hash types that are !(account/channel/oracle/contract).

32 bytes is 1 IPv4 address. That’s too little. At least let people specify a backup IPv4/v6 address!

I think we should have an AEX to standardize how information should be encoded in this binary blob. Let’s think about the size limitation after that. I will create an AEX.

For account/channel/oracle/contract we surly validate the hash value.

IPv4 uses 4 bytes, IPv16 uses 16 bytes.

If we figure out aggressive pricing that will compensate cost of in-tree memory, it’s fine to make it much bigger.

I started with proposal for very high level standard: AEX-draft 12 off chain state

In general I think, tho, that AENS is not right solution for external data.
You can do it with spend transaction body and index it in 3rd party systems.
AENS, tho, would guarantee uniqueness of an entry.

1 Like