Bitcoin, the first implementation of the blockchain technology, had a very simple data structure.
It is a table, to be more accurate, a database containing the addresses and its balances.
The commands like “to transfer 3 bitcoins fdrom account X to account Y” changes the database. The sender balance is decreased and the receiver balance is increased.
You can not change this data structure. You can not add tokens in sthis system, and any programming is impossible here.
Ethereum is the next generation , blockchain 2.0.
It is the first pllatforn programmable with smart contracts.
In Ethereum ecosystem you can create about any type data, including arrays and structures.
Popular Ethereum tokens are just data with structure <address, tokens amount>.
With blockchain 2.9 user can execute differnet commands, including the transactions with tokens.
A smart contract is a set of commands in Solidity language. These commands are executed on any node in Ethereum ecosystem.
Don’t be mistaken with a word “contract”! A smart contract is a program code. It is not a legal document.
However, the smart contract can perform actions with crypto assets (cryptocurrencies, tokens).
Imagine the last will in the crypto world. No notary, no paper documents.
When the beneficiary reaches the definite age, he will found ancestor’s Ethers on beneficiary’s Ethereum address (the smart contract works!) like in a classical inheritance procedure.