PoW is never going to scale to global levels. A globally used currency is by definition going to have a very large market cap and needs to be completely robust against blockchain corruption/manipulation/vandalism/terrorism/etc. PoW is exclusive of poorer users, to whom the concept of spending money on otherwise useless to them computer hardware and furthermore having to pay to run it is justifiably alien.
PoW is mindbogglingly inefficient. Pretend for a moment you know nothing about crypto. Then try selling this cunning plan to yourself:
Current BTC hashrate = 368 PH/s = 368 * 10^15 H/s ~ 4.784 * 10^20 32 bit operations/sec. * Consuming dog knows how many megawatts of power. To obtain network consensus on a mighty theoretical maximum of 7 transactions per second. Face it, it's toytown crap.
Crouton's PoService Proposal:
Each block BNs (or the network as a whole) choose a subset of miners. Only those assigned miners out of all connected miners validate transactions for that block. All mining logic is the same, just without the wasteful algo make-work, carried out by that subset. Plus maybe a control group or three for extra security. Consensus among subset reached, block gets baked into the chain. All conflicting txes get rejected.
Furthermore, all connected wallets with a unique IP address (and maybe some small minimum balance) are miners. (To avoid people firing up ten thousand wallets each.) Doesn't need to be a fixed IP as miners can be identified on the network with a unique privkey, same as BNs are. And no expensive hardware or the ability to pay running costs are needed because there's no hardware arms race any more. All connected wallets are chosen amongst each block, The chosen subset does what miners usually do, but without the need for megawatts, bake that block and distribute to all. Next block, new subset, etc.
We would have
1. Near perfect decentralisation of mining.
2. Impregnable Blockchain security. Forget 51% attacks. With a subset of eg. 20 miners required for consensus, any attacker would need to control over 80% of running wallets to have a 1.1% chance of a double-spend etc.**
3. Inherently higher tx capacity as it should be faster to achieve consensus among a smaller set of nodes.
4. No wasteful make-work.
5. No hashrate fluctuations, stuck blocks etc. as there wouldn't be any hashrate, so currency emission/blocktimes would be perfectly predictable.
6. Steady and predictable miner income, the same way BN payments should work on a FIFO basis, while avoiding the p2pool dust problem as only elected miners are paid each block.
7. Inclusion - everyone gets a share, not just hardware junkies with cheap/free electricity and BN ops.
8. Peace on Earth.
Now, tell me why this wouldn't be awesome.***
*source:
Quote from: gmaxwell on November 19, 2011, 06:26:11 PM
Ngzhang says above that there are about 1300 32-bit operations (in one bitcoin hash) which sounds about right. So one 1GH/s would be equal to 1,300,000,000,000 operations per second.
**Chance of successful attack ~ (Number of compromised nodes / Total number of nodes)^(Number of nodes in the consensus validation chain)
eg, 80% compromised nodes on a 1000 node network, with a random 20 nodes in agreement needed for consensus gives (800/1000)^20 = 0.011529 ~ 1.11% chance of a successful attack. Whick beats the pants off 51% of compromised PoW miners giving a 100% chance of wreaking blockchain mayhem.
***The usual argument against this is, 'mining gives value to the currency.' To which I reply:
a) Unless your electricity is free, most mining is unprofitable and most currencies trade below their mining costs most of the time, so no, mining doesn't really give value to anything.
b) More importantly, nobody in the real world gives a damn how much it cost you to produce your digital tokens. What they care about, and what ultimately lends value to a coin, is it's utility. When you go travelling, do you care how much it cost The Land of Far Away to print their banknotes? Do you even care much what the exchange rate is? No, you just buy as much as you need and go spend it on bar girls and tequila wholesome and tax deductible things and postcards home.
And PoService != PoStake. You are not staking anything, you are not earning interest based on your balance. You are providing a service - consensus validation of transactions - and getting paid a little income for that service.
I'm not suggesting this be implemented overnight, but in the longer term PoW just isn't going to cut it. Near(er) term, if any algo change or whatever was being considered, I really like SPR's pool resistant solo-only approach. It's not perfect but it's by far the best PoW solution currently available IMO. And it could be slotted right in in fairly short order.
Seems we are almost always on the same wavelength, i had a slightly different idea but we are in the same direction.
Signature PoWI propose a system where only active BNs are miners. Basically instead of a hash rate based PoW, we have a signature based PoService. BNs would therefor be the only waste point for the network. Blocks are produced in mostly the same way except that they require a signature from a BN. A block with an invalid sig is rejected.
Some may say this is elitist, but let me remind you that PoW serves two purposes,
distribution and security. The security factor will be dealt with and now only distribution remains. If you were willing to burn $12 (excluding hardware & maintenance cost ) to mine ~ 2000 BCR per day, are you not better off buying 7 000 BCR for the same price? I saw an interesting method of coin distribution used by Bitshares for their (AngelShares). What they did was take donations in PTS and BTC all day, then they would tally the total and divide 10000 AGS between all who had donated. Theirs was an off blockchain method that required trusting the developers
I believe this can be done by SigPoW requiring no trust and thus maintaining autonomy. Let me expand:-
1) We set up donation addresses for whatever currencies we will accept. (this number can be as high as we want)
2) These addresses are polled once a day and a list of addresses and percentages is generated based on price at poll time
3) Whatever BNs are producing these blocks maintain a list of those who get their payout today
4) at the end of the day, the daily amount of coins is distributed directly to their addresses
Why PoService is superior to PoW- Highly efficient
- Much faster, less hashrate swings
- 99% reduction in leakage to utility companies
- Convenient for users
The payout can be adjusted as we see fit, "off blocks" are low reward blocks with only tx fee. these will fly by very quickly and are expressly to process transactions in as little time as possible, look at crouton's numbers to see what can be done. We already have 20 MB blocks @ 1 minute intervals so our tx rate would be 1440 tx per second!!!!!!
"payout blocks" would contain transactions and the payouts, we can set these blocks to anytime we want, or any saturation point we want. I would suggest one block a day, as this reduces resource wastage even more because polling would be done only twice every 24 hours.
It would take a bit of doing but this system would propel BCR and all our development giant leaps forward.