Skip to main content

Alias Transactions

Stardust introduces a new output type called Alias Output that is essentially a UTXO state machine. Simply put, this represents a new type of ledger account suitable for committee ran smart contract chains.

The main features are:

  • Storage of state commitments of the second-layer smart contract chains.
  • Globally unique address assigned upon creation.
  • Different account privileges for two controllers that can be rotated.
  • The ability of issuing custom tokens that are linked to the unique address.

Alias outputs can be created by anyone in the protocol via transactions. A newly created alias receives a unique identifier, or Alias ID, generated by the protocol based on the content of the transaction that created it. Once an alias output is created, only its controllers can unlock it in subsequent transactions. Depending on which controller unlocks it, different commands or state mutations are possible.

State Controller

The State Controller is allowed to change the state data stored in the output and also to manipulate token balances of the alias account. If the State Controller unlocks the alias output in a transaction, it must transition the alias into its new state, meaning the alias output must appear in the transaction as a created output.

Governor

The Governor on the other hand may choose to destroy the alias by not creating its subsequent state as an output in the transaction. It also has the power to change the controller entities.

Unlock Alias Funds

Funds can be sent directly to the unique alias address (derived from Alias ID) of the alias by anyone. Since this address is generated by the protocol, it doesn't have a private key that could be used for signing transactions to prove ownership. So how does one prove that they own the funds locked under an alias address?

The trick is to require the unlocking of the alias output that defines the address in the same transaction that tries to unlock funds sitting on the alias address. If you can prove you own the alias account by successfully unlocking its alias output in a transaction, you can access the funds locked under its address.