Meta-Transaction Layout
Introduction
Cryptocurrencies are only one use case of Distributed Ledger Technology (DLT). The vision of IOTA goes beyond that and solves the core problem instead of specific use cases. IOTA should be considered as a generic protocol; a protocol that enables decentralized communication in an unreliable medium. A protocol that is same powerful and valuable as other low level protocols, e.g. TCP/IP.
By using an application agnostic transaction format, we can use the network for any application imaginable.
The aim of the Meta-Transaction (meta-tx) Layout is to provide an application agnostic format, by separating vital characteristics from optional.
A meta-tx consists of the following vital fields:
-
trunk
-
branch
-
shard_id
-
timestamp
-
tx_type
-
payload
-
nonce
tx_type indicates how the payload is structured. This field could be any number or sequence.
The meta-transaction layout allows the network to have different types of transactions at the same time. Therefore, the payload of a certain transaction could contain custom field x,y whereas another payload only contains custom field z. It should be noted, not every node will/must understand all transactions. Applications parse only the transactions that are relevant to them.
Further advantages:
- A transaction of an application will only contain fields that are relevant to it. It is more clean, saves space and has positive impact on TPS.
- This layout allows us to make updates on the protocol, without breaking the network. Nodes will be able to forward transactions, even if they don’t understand them, to neighbors who could understand them. It gives us backward compatibility.
- The meta-tx layout should help standardize the protocol.
Could this have an impact on consensus?
Yes. We still want to find consensus, even if there are different types of transactions. Instead of voting on double-spends (which is use case specific), we vote on a more abstract layer, e.g. the timestamp of a transaction (vital field). The result will be a totally ordered Tangle, independent of the use case. Applications then make use of this ordering.
Reference: Meta-Transaction Layout - Google Dokument