This talk will consider whether we can trust distributed systems to behave as we expect and to be available to us when we need them. We'll take a whistle-stop tour of the academic literature, visiting key results on what's possible, and more importantly, what's impossible, in the context of distributed computing. We will then see how this research has shaped how we reason about and build resilient distributed systems today. We'll look ahead to some up-and-coming trends, including trusted hardware and decentralization, to see how we can re-imagine today's systems and whether these technologies hold the key to circumventing the impossibility results in distributed systems and finally making the impossible possible.