I think the point being made here is that &quot;what your application needs&quot; is often something you chose your way into, and can choose your way back out of by backing out some other constraints—and that it&#x27;s often <i>more sensible</i> to back out these constraints than to dive head-first into a problem domain that requires distributed locking.<p>In other words: if you set out to create Bitcoin in 1998, you might end up running into distributed consensus problems that are difficult enough that you decide to &quot;solve an easier problem&quot;—such that you end up creating Paypal instead.