Why do we need TTL(Time to Live) when creating transaction

Hi, I am going through the Cardano stake pool course, and part of building a transaction using the cardano-cli is to provide a TTL number which specifies the upper bound slot number that our transaction must be included in a block for it to be a valid transaction. What is the reason for this? Why do we need a TTL?

The general case for the TTL is that it is a requirement for Smart Contracts (coming with the Alonzo release in Q2).

Since the TTL is required for some transactions from a programmers perspective at least, it makes sense for it to be required for all transactions.

1 Like

Iā€™m always impressed how much thought and research has gone into the protocol. This kind of consistency really matters.