3 ms·
> Consensus in [proof of work blockchain] design is: > 1. Perhaps the single most expensive consensus algorithm ever designed. It's like arguing that bubbleso
by dozzie 8y ago
> Consensus in [proof of work blockchain] design is:
> 1. Perhaps the single most expensive consensus algorithm ever designed.
It's like arguing that bubblesort is one of the most expensive graph traversal
algorithms. It's not, because it's a protocol for document timestamping, not
establishing a consensus.
> 2. Deliberately one of the slowest.
Indeed. It was designed so verification of the timestamps is much, much faster
than producing them. In previous work, with trusted third party operating
a timestamping service, it was enough to control a single service, so there
was no need to design this into the very data structure.
> 3. Does not actually provide trustless consensus once 1/3 of the miner nodes decide to collude.
Indeed it does not, because it was never designed as a consensus protocol.
> [...] what, is the proper application [of blockchain]?
When you need to establish an order in a sequence of related documents, like
with trade contracts. Outside of this very narrow purpose, blockchain is
pretty much useless.
- KirinDave 8y ago> Indeed it does not, because it was never designed as a consensus protocol. What exactly do you think a distributed ledger is other than a normal ledger and a trustless consensus protocol?
- dozzie 8y ago> What exactly do you think a distributed ledger is other than a normal ledger and a trustless consensus protocol? There is no such thing among cryptographic protocols as "distributed ledger". The ledger is implemented on top of document timestamping and while required for Bitcoin, it doesn't exist for blockchain data structure. It's like calling HTTPs a cryptographic protocol for serving files. About this "trustless consensus" part, how do you define "consensus" and how does it relate to what computer science calls "consensus" with its most prominent problem of Byzantine generals, especially with the impossibility proof (the one that talks about 1/3 traitors)?
- KirinDave 8y agoI'm sorry, but I cannot even work out what your post is about. Firstly: the single most important function of the Bitcoin network is to maintain a ledger that prevents double spends. Ethereum's charter is not so easily summed up bit it shares a responsibility here. The tools Bitcoin uses to do this do indeed stem from cryptographic research, but the primary function of a blockchain is not to certify the past but to come to consensus on the immedate future. No elliptic curve will do that for you. It is a distributed algorithm leveraging guarantees given by cryptographic primitives. Every expert accepts it as such. As for your final note: multiple "solutions" for the Byzantine generals exist and have been published for years. Many of them give better guarantees than what a post-selfish-mining PoW blockchain gives you. If your argument was, "It was never possible to come to consensus to begin with" then what are we talking about. If your argument is that it works fine, you should refute the cited paper directly. If your argument is that it's fine despite the flaws, I do not agree.
- dozzie 8y ago> I'm sorry, but I cannot even work out what your post is about. The point boils down to this: you throw the "consensus" term left and right. The term has a concrete meaning in computer science, and you use it incorrectly, so stop doing that. > As for your final note: multiple "solutions" for the Byzantine generals exist and have been published for years. Many of them give better guarantees than what a post-selfish-mining PoW blockchain gives you. Note that the Byzantine generals problem has a rigorous proof that says you cannot have a consensus if loyal nodes don't outnumber the traitors by more than 2:1 (so you need 2/3 + 1 loyal nodes), and the proof is not about just the original algorithm Lamport et al. designed, it's about the consensus problem itself. Where does the blockchain's "50% + 1" stands against that if blockchain was supposed to be a consensus algorithm? > If your argument was, [...] If your argument is [...] If your argument is [...] My whole point is "don't use the 'consensus' term incorrectly" and "call the blockchain what it is, i.e. timestamping protocol".
- KirinDave 8y ago> My whole point is "don't use the 'consensus' term incorrectly" and "call the blockchain what it is, i.e. timestamping protocol". The time is 35. If you don't agree, we'll have to come sort of... Oh wait I'm not supposed to use that word.