Futures are derivative financial contracts that obligate the parties to transact an asset at a predetermined future date and price.
If you are a buyer of a contract, you have a LONG position. You agree to purchase an asset at a specified price in the future (the expiration date), regardless of what the price is.
If you are a seller of a contract, you have a SHORT position. You agree to sell an asset at a specified price in the future, regardless of what the price is.
Futures can have physical delivery or cash settlement.
In futures with physical delivery, the asset actually gets delivered, i.e. moves from the seller to the buyer.
In cash-settled futures, the parties gain or lose the difference between the contract price and the price of the asset at the contract expiration. No delivery of the asset takes place.
Though, traditionally, the futures have an expiration date, cryptocurrency derivative platforms have introduced a perpetual futures contract. Such a contract never expires and can be cash settled at any moment.
The math of the perpetual futures is similar to the math of CFDs. However, with futures, buyers and sellers trade derivatives with each other. In CFDs, a broker is an intermediary of every transaction. The broker receives an order to BUY or to SELL from a trader and then executes it on the spot market at the best available price. So, with similar math, the nature of CFDs and futures is different.