Distributed systems have to make trade-offs to function effectively in an asynchronous environment like the internet — one without a global clock to define the ordering of events.
Blockchain-based networks, designed to carry immense value, must also guard against malicious, or byzantine, actors.
At the consensus level, these trade-offs can include limiting the number of participating nodes to provide consistent ordering of events between them (as in DPOS, PBFT algos), or adopting a probabilistic view of the ordering to ensure the continued functioning of the network (Nakamoto consensus).
At the application level, trade-offs exist around the expressiveness of a blockchain network’s programming capabilities, as the size of its design space is correlated with the size of its attack surface. The list goes on…