Keyless addresses
Types of addresses in the TRAIT ecosystem
Last updated
Types of addresses in the TRAIT ecosystem
Last updated
Blockchain addresses are unique identifiers used to represent ownership of cryptocurrency assets on the blockchain network. These addresses serve as destinations for transactions and are essential for sending and receiving blockchain tokens. Although there are many ways to sign and authorise transactions on a blockchain, all blockchains use a combination of public-key and private-key formats where the address is a representation of a public-key and anyone with the private-key can spend any assets held by that address.
Read more about blockchain addresses here.
Like most other blockchains, TRAIT blockchain supports regular blockchain addresses.
In TRAIT blockchain, in addition to regular addresses, we have the concept of keyless addresses. These are the addresses generated with a special algorithm and they have no corresponding private keys. Each keyless address is permanently bound to an AppAgent such as that only the controlling AppAgent can spend or use the assets held by that keyless address.
Existence of keyless addresses bound to AppAgents simplifies many routine tasks and provides many indispensable features. You may note that almost every TRAIT feature is based on the existence of keyless addresses. Below are just a few examples representing the simplicity of integrating with TRAIT.
Keyless addresses allow an AppAgent to use billions of blockchain addresses for any kind of on-chain actions and not be worried about individually managing private keys for each of these addresses. This allows you as a game developer to manage blockchain complexity on the backend and have no issues with storing and making backups of private keys.
All on-chain fees related to the keyless addresses are paid automatically by the controlling AppAgent. Therefore, there's no need to manage balance and gas fees of addresses controlled by the game.
The AppAgent controlling the address is encoded in the address itself so you can always know which addresses you're provided with (either a regular address or an address controlled by the app or game). This improves the game's UI.
These are just a few benefits brought by keyless addresses.
At the moment TRAIT blockchain supports 3 types of keyless addresses listed below.
AppAgent addresses are associated with AppAgents within the blockchain system. AppAgent addresses are unchangeable addresses set during AppAgent creation and every AppAgent has exactly one AppAgent address. They are used by the system to charge fees for the use of blockchain.
Transactional Addresses (TAs) are associated with transactional activities within the blockchain system. Each AppAgent can have up to 4,294,967,295 of Transactional Addresses. The main purpose of TAs is to perform regular blockchain transfers like receiving transfers from players or sending withdrawals.
Deposits of assets to Transactional addresses can be filtered by Transfer filters.
Each AppAgent can have Named Addresses that may be used freely for any purpose. They provide a way to associate a human-readable identifier with an address which can be useful for various purposes such as labeling accounts.
Named keyless addresses are used for Hot Wallet and Cold Wallet.
When anyone sends tokens to a keyless address - it doesn't differ from a regular address.
The difference manifests itself when you spend tokens stored on a keyless address. In order to do this, an authority of AppAgent that controls the keyless address (AppAgent Owner or AppAgent Admins) creates a transaction to spend tokens from keyless address. When blockchain processes such a transaction it checks the permissions of the authority that signed the TX and performs the transfer.
Read more about such transactions: Clearing Transactions