> Can anyone explain "trust, but verify" to me?

"Trust, but verify" is a long established quote in politics, but in the infosec community it has been used in a different way.

Based on this quote, some members from the cypherpunk community coined "Don't trust, verify", it represents the principle that one should use technological solutions that enable transparency or decentralization, such as free and open source software, P2P networks, cryptography, or reproducible builds to eliminate the dependence of an authority or a 3rd party, whose power may be abused. It's believed by many libertarians (in the broadest sense of the word) in the hacking world. It both represents an infosec doctrine and a political idealism. For example, you must trust your government and your ISP to protect the privacy and integrity of your communication, but if you use end-to-end encryption, you don't need to (and must not) trust - instead, the security properties of the system is independently verified, e.g. by reading code, check digital signatures, etc. In other words, "Code is Law".

Quote Bruce Schneier,

> What we also had, more important than ideas, was the unshakable belief that technology trumped politics. You can see it in John Perry Barlow's 1996 "Declara­tion of the Independence of Cyberspace," where he told governments, "You have no moral right to rule us, nor do you possess any methods of enforcement that we have reason to fear." You can see it three years earlier in cypherpunk John Gilmore's famous quote: "The Net interprets censorship as damage and routes around it." You can see it in the pages of Applied Cryptography. The first paragraph of the Preface, which I wrote in 1993, says, "There are two kinds of cryptography in this world: cryptography that will stop your kid sister from reading your files, and cryptography that will stop major governments from reading your files. This book is about the latter." This was the promise of cryptography. It was the promise behind everything­ from file and e-mail encryption to digital signatures, digital certified mail, secure election protocols, and digital cash. The math would give us all power and security, because math trumps everything else. It would topple everything from government sovereignty to the music industry's attempts at stopping file sharing. The "natural law" of cryptography is that it's much easier to use than it is to break.

This quote was popularized by the Bitcoin people and common in the cryptocurrency community, both to signify the distrust of the political and financial institutions, and to promote the perceived security properties of cryptocurrency, i.e. you don't even need to trust the blockchain, because the consensus rule is coded into the source code of your Bitcoin client, your transaction cannot be spoofed or seized - which is a verifiable fact (and it's not what you've found, file a bug report ASAP). Quote Schneier,

> In his 2008 white paper that first proposed bitcoin, the anonymous Satoshi Nakamoto concluded with: “We have proposed a system for electronic transactions without relying on trust.” He was referring to blockchain, the system behind bitcoin cryptocurrency. [...] We might not know someone personally, or know their motivations, but we can trust their future actions. Blockchain enables this sort of trust: We don’t know any bitcoin miners, for example, but we trust that they will follow the mining protocol and make the whole system work. Most blockchain enthusiasts [...] are fond of catchphrases like “in code we trust,” “in math we trust,” and “in crypto we trust.”

However, "Don't trust, verify" is seen as problematic by many people, including Schneier. First, it has become the rallying cry of the cryptocurrency community, which many people do not want to explicitly be associated with. Also, it has been criticized by many, for being unrealistic due to various reasons - to begin with, it's infeasible to verify everything, and you still need to have a general sense of trust that the system is designed to be secure, and even in a decentralized system which trust is verified by code, the need to trust other humans and institutions persist, just in other forms. Read Bruce Schneier's criticism here [0].

> What blockchain does is shift some of the trust in people and institutions to trust in technology. You need to trust the cryptography, the protocols, the software, the computers and the network. And you need to trust them absolutely, because they’re often single points of failure.

> When that trust turns out to be misplaced, there is no recourse. If your bitcoin exchange gets hacked, you lose all of your money. If your bitcoin wallet gets hacked, you lose all of your money. If you forget your login credentials, you lose all of your money. If there’s a bug in the code of your smart contract, you lose all of your money. If someone successfully hacks the blockchain security, you lose all of your money. In many ways, trusting technology is harder than trusting people. Would you rather trust a human legal system or the details of some computer code you don’t have the expertise to audit?

> Blockchain enthusiasts point to more traditional forms of trust — bank processing fees, for example — as expensive. But blockchain trust is also costly; the cost is just hidden. For bitcoin, that’s the cost of the additional bitcoin mined, the transaction fees, and the enormous environmental waste.

> Blockchain doesn’t eliminate the need to trust human institutions. There will always be a big gap that can’t be addressed by technology alone. People still need to be in charge, and there is always a need for governance outside the system. This is obvious in the ongoing debate about changing the bitcoin block size, or in fixing the DAO attack against Ethereum. There’s always a need to override the rules, and there’s always a need for the ability to make permanent rules changes. As long as hard forks are a possibility — that’s when the people in charge of a blockchain step outside the system to change it — people will need to be in charge.

> Blockchain technology is often centralized. Bitcoin might theoretically be based on distributed trust, but in practice, that’s just not true. Just about everyone using bitcoin has to trust one of the few available wallets and use one of the few available exchanges. People have to trust the software and the operating systems and the computers everything is running on. And we’ve seen attacks against wallets and exchanges. We’ve seen Trojans and phishing and password guessing. Criminals have even used flaws in the system that people use to repair their cell phones to steal bitcoin.

> Moreover, in any distributed trust system, there are backdoor methods for centralization to creep back in. With bitcoin, there are only a few miners of consequence. There’s one company that provides most of the mining hardware. There are only a few dominant exchanges. To the extent that most people interact with bitcoin, it is through these centralized systems. This also allows for attacks against blockchain-based systems.

Currently, most people (outside of the cryptocurrency community) have already heard of the original saying and accepted the criticism against it - after all, it's self-evident that completely replacing trust with verification is infeasible. Nevertheless, independent verification is still seen as a good idea and important in general. So the infosec community reverted the quote back to "Trust, but verify."

[0] https://www.schneier.com/blog/archives/2019/02/blockchain_an...