3 ms·
> Accept satisfies a relaxed form of consensus and does not establish an ordering of unrelated transactions. Awesome! Requiring total order for everyday transa
by infogulch 5y ago
> Accept satisfies a relaxed form of consensus and does not establish an ordering of unrelated transactions.
Awesome! Requiring total order for everyday transactions is like running the accounting year-end close checklist of a fortune 500 company every time I buy a cup of coffee, it's wasteful and pointless.
IMO, instead of imposing total order from the top down, we should grow total order organically by iteratively building up and combining sets of locally ordered transactions.
Edit: Ok so I read through the paper and it looks OK, perhaps even "obvious" (though I dislike how that term can minimize good contributions), except for the assumption about validators: "we assume up to f = (n−1)/3 of the validators are
adversarial and behave in an arbitrary way". How do you control the number of validators? They are cheap to manage (they just locally verify and sign transactions after all), so what stops the adversary from flooding the network with n*10 hostile validators and thus invalidating the assumption?
- f7ebc20c97 5y agoIt's a permissioned system. A bank, basically.
- infogulch 5y agoSo, validators are centrally controlled? I guess that'll be nice for existing real-world institutions or Ripple or something.
- f7ebc20c97 5y agoYeah. The developers hardcode (eg) 100 validators into the client. Transactions need to be signed by 67 of them. Why not require only 51? Maybe there could be a permissionless way to get all clients to deterministically agree on who the validators are...maybe using something called proof of work... I've considered a completely different system called proof-of-fee that has no miners or stakers: - Each transaction pays a fee (that is either redistributed or burned) - The best blockchain is the one with the most fees paid - Each transaction signs the previous block - The blockchain length is limited to 1 block per 15 seconds - Nodes put their own transactions into the current block or make a new block with it (depending on if the blockchain length is maxed out) and broadcast it. No miners or stakers, everyone's equal. Therefore, in order to replace a buried transaction (to double-spend), you'd need to pay more fees than all the transactions in blocks that were burying your old one. This would be unprofitable for deeply buried transactions. There would be a lot of reorganization going on around the blockchange time at the 15 second mark, but that's an engineering problem.
- javert 5y agoWouldn't this make double spend attacks very practical? I mean, if I spend $X, someone is incentivized to steal if the fee I pay is less than $X. I realize this gets better as more blocks are added to the end of the chain. But it seems like this system would never work for relatively large payments. It may work fine for small value payments. It's illustrative to think about the amount of bitcoin transferred in a block vs. the amount of fees paid. The former enormously dominates the latter. I say this not to criticize, but to continue the discussion. Your idea is interesting.
- f7ebc20c97 5y agoIt gets better as more transactions are added to the end of the chain (in any later blocks). If fees are fixed at 0.1%, the average transaction only has to be buried by 1000 more average transactions. Most transactions are smaller than average, so they don't have to wait that long. This also means that transactions are buried faster the more heavily the blockchain is used. For example, you'd only have to wait one block if there were 1000 transactions in it. The only problem is if the double-spender is trying to double-spend 100 transactions at the same time...
- javert 5y agoI appreciate the mathematical precision there. Still, my intuition is that it wouldn't work very well for large payments. I mean, if the average payment is $1 or $5 worth of value, but sometimes someone wants to buy a car or a house, how does that work out? I suppose it would be possible to write a simulation to try to figure it out, although there may be a more elegant and mathematical way to think about it. Have you thought about creating a whitepaper or some sort of website, or actually starting this kind of project? Or is it just a fun idea?
- deleted 5y ago[deleted]
- f7ebc20c97 5y ago
- norswap 5y agoYep, in blockchainland we call this a "proof of authority" blockchain.