The output features that don't affect the actual unlocking, and hence ownership, are called Output Features.
The Metadata FeatureEnables outputs to carry additional data. makes storing any data in outputs possible. Smart contract requests make use of it to encode the actual request call data that is only interpreted on L2.
Of course, there is a limit on how much data one can store in an output, as outputs are part of transactions with a limited size. Anyway, bigger data can always be sliced into chunks to store in outputs.
The Sender FeatureUsed to specify the validated sender of an output. allows to define a sender address directly inside an output. The protocol validates whether the address was actually signed in the transaction that created the output. Smart contract chains identify the sender account of an on-ledger request based on the information in the output's Sender FeatureUsed to specify the validated sender of an output..
Combining the Sender FeatureUsed to specify the validated sender of an output. with the Metadata FeatureEnables outputs to carry additional data. makes it possible to implement data oraclesOracles establish a secure, decentralized bridge between digital and physical realms. They introduce off-chain data to decentralized applications and smart contracts within the network. in the ledger with verified sources.
The Issuer FeatureSimilarly to the Sender Feature, it enables a verified issuer to be defined directly inside an output. However, the Issuer Feature is only available for NFT Outputs. follows the same address verification logic as the Sender FeatureUsed to specify the validated sender of an output., but it is only available for NFTs. Upon NFT minting, one might attach the issuer identity to the token if ownership of the issuer address is proved by unlocking it in the same transaction. Artists that disclose their issuer identities off-chain protect buyers and traders from fakes.
A Tag FeatureEnables outputs to be tagged with a small amount of data intended to be used as an index. is a small piece of data intended to be used as an indexation tag for the output by custom applications built around the network. It becomes possible to map data (Metadata Feature) stored in the ledger by a specific party (Sender Feature) for a specific purpose (Tag Feature).