Categories
Satoshi Nakamoto

Transactions – Trust No One

If knight’s “trust everyone collectively” meant, “trust in the process” I find that insightful and a good motto.

The following content was written by Red on August 06, 2010, 06:16:51 PM in the thread Bitcoin minting is thermodynamically perverse. All content is owned by the author of the bitcointalk.org post. (original)


Currently the rules are why they are because the entire network is designed with “trust no one” but instead “trust everyone collectively”.

You mean it is designed  to “trust no one”, not of “trust everyone collectively”?
Trust no one node, but if enough nodes are saying the same thing, then trust that.  Grin

This exchange is fascinating! At some sense it’s just a matter of semantics, but it is very insightful semantics.

Logically I can support knightmb’s statement “trust everyone collectively”.
However kiba’s statement “trust no one” is disprovable,
as is knightmb’s statement “Trust no one node, but if enough nodes are saying the same thing, then trust that.”

The way the system works is every node attempts to receive every transaction, they each try to put every received transaction into a block at the same time. And while they are doing that, they each play the hashing game individually looking for fate to bless them with a match before it does anyone else.

So at any given point in time the system is really *trust (but validate) someone arbitrarily*. This happens when someone declares a block & hash “solved”. All the other nodes check the block for self consistency, but they DON’T check the block’s transactions for consistency with the transactions they themselves were working on. Nor do they check against the transactions other nodes received. So I see no support for the “if enough nodes are saying the same thing, then trust that.”

All nodes simply declare, “I will trust this node’s work as the next increment of bitcoin truth, because fate has blessed it.” So it doesn’t qualify as a “trust no one” system. Node’s never say, “Hey you fuck head! I have 5 known transactions you didn’t bother to put in your block! You are a lying bastard.” Everyone just presumes the missing transactions will be resubmitted and they’ll end up in a subsequent block. This is heuristically plausible, but not absolutely deterministic. Everyone has to keep checking to make sure their transactions actually cleared the process.

So if knight’s “trust everyone collectively” meant, “trust in the process” I find that insightful and a good motto. I’d probably add “…but keep doing your own validation!”


By Ali Sherief

Editor-in-chief and serial coder & blogger.