BitShares Forum

Main => General Discussion => Topic started by: sparkles on November 29, 2014, 05:17:30 pm

Title: Making Proof of Work as Predictable as DPOS
Post by: sparkles on November 29, 2014, 05:17:30 pm
So it has been really bugging me that Sparkle lacks the nice predictable block times that DPOS provides so I set out to design a better approach to proof of work.

Imagine if you will that miners don't create a block at the same time that they find a hash.  Imagine instead that every time a miner produces a hash they get put in a queue to sign a block.   Now imagine this queue is processed every 10 seconds just like DPOS.   It would be like a buffered video stream.

If the queue length is less than X blocks difficulty decreases, if it is more than X blocks difficulty increases. 

So now you end up with two "chains" the proof of work chain to determine the signers and the transaction chain that executes every 10 seconds exactly.  The proof of work chain would have to reference the head of the transaction chain and thus support and confirm the transaction history.   

The issue becomes what new attacks can be executed:

1) a bad miner (who is anonymous) could easily sign many different blocks when their turn shows up.
2) a bad miner would know in advance when they have a run of blocks
3) what would a good "confirmation time" be? 

We can mitigate the first attack by having their mining reward vest for X blocks and allow any crypto graphic proof to the contrary to deny their pay.

Just a wild idea :)  Perhaps too complex and untested and Sparkle should simply stick with what is known.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: ag on November 30, 2014, 11:03:25 pm
if you have POW with 20s target, you could have delegates still responsible to broadcast a signed block if a POW block is not submitted within 30s. POW block could take preference over signed block in the fork situation. the majority of blocks would end up mined, the minority signed. not sure what %.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: ticklebiscuit on November 30, 2014, 11:20:00 pm
Doesnt mining still burn energy needlessly that could be put into the ecosystem?  What is the point of making blocks predictable like dpos when dpos is still better?  Just curious.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: Troglodactyl on November 30, 2014, 11:38:23 pm
Doesnt mining still burn energy needlessly that could be put into the ecosystem?  What is the point of making blocks predictable like dpos when dpos is still better?  Just curious.
Yes.  The point is that there are lots of people who stubbornly oppose any alternative to POW, and that's a market worth serving.  I'd prefer selling them a better product too, but you just have to give them the best they're willing to take.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: arhag on November 30, 2014, 11:50:53 pm
Doesnt mining still burn energy needlessly that could be put into the ecosystem?  What is the point of making blocks predictable like dpos when dpos is still better?  Just curious.
Yes.  The point is that there are lots of people who stubbornly oppose any alternative to POW, and that's a market worth serving.  I'd prefer selling them a better product too, but you just have to give them the best they're willing to take.

Which is why sparkles shouldn't be improving (and thus introducing new risky unknowns) anything with the Proof-of-Waste algorithm so that he can advertise it as the same as Bitcoin. That is the only advantage this consensus algorithm has over DPOS (that it appeals to the irrational majority in the cryptocurrency community).
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: Troglodactyl on December 01, 2014, 12:21:57 am
Doesnt mining still burn energy needlessly that could be put into the ecosystem?  What is the point of making blocks predictable like dpos when dpos is still better?  Just curious.
Yes.  The point is that there are lots of people who stubbornly oppose any alternative to POW, and that's a market worth serving.  I'd prefer selling them a better product too, but you just have to give them the best they're willing to take.

Which is why sparkles shouldn't be improving (and thus introducing new risky unknowns) anything with the Proof-of-Waste algorithm so that he can advertise it as the same as Bitcoin. That is the only advantage this consensus algorithm has over DPOS (that it appeals to the irrational majority in the cryptocurrency community).

Sounds reasonable to me.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: roadscape on December 01, 2014, 01:20:29 am
Which is why sparkles shouldn't be improving (and thus introducing new risky unknowns) anything with the Proof-of-Waste algorithm so that he can advertise it as the same as Bitcoin. That is the only advantage this consensus algorithm has over DPOS (that it appeals to the irrational majority in the cryptocurrency community).

Interesting backwards-yet-logical point.

They'll get their PoW.. and have to eat it too :)

edit: For the record, I think Sparkle is a worthwhile experiment
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: Troglodactyl on December 01, 2014, 04:24:15 am
Which is why sparkles shouldn't be improving (and thus introducing new risky unknowns) anything with the Proof-of-Waste algorithm so that he can advertise it as the same as Bitcoin. That is the only advantage this consensus algorithm has over DPOS (that it appeals to the irrational majority in the cryptocurrency community).

Interesting backwards-yet-logical point.

They'll get their PoW.. and have to eat it too :)

edit: For the record, I think Sparkle is a worthwhile experiment

Agreed, I think it's worthwhile, but it seems like a frustrating thing to work on for someone with a drive to solve problems, which I think describes most developers.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: gamey on December 01, 2014, 04:52:33 am

Miners can also now collude easier.

This secondary queue concept opens up a whole new way of attacking by utilizing some out of band (inband?) network communication.  You would likely need some sort of dynamic confirmation size that is dependent on size the secondary queue. (# of blocks in the line) You're basically removing a lot of the security properties doing it that way, because miners will be able to see when their confederates have 7 blocks in a row etc.

Perhaps you would make delegates create these blocks while POW miners just find the hash?
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: sparkles on December 04, 2014, 02:12:57 am
I agree this is a bad idea.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: 70231f697a2b3c2b on December 04, 2014, 12:46:14 pm
If the miners are producing hashes independently of blocks, what are they producing hashes of?

Could signing blocks (and receiving the block reward) be payment for doing something not directly related to the blockchain (but still useful) with their processing power?
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: CLains on December 04, 2014, 02:47:44 pm
Just as an outsider I will say it sounds like a talented guy getting caught up in details. I am sure your skills could grab a few hundred juicy low hanging fruits in the time it takes you to think through and execute this.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: sumantso on December 07, 2014, 08:56:14 pm
Doesnt mining still burn energy needlessly that could be put into the ecosystem?  What is the point of making blocks predictable like dpos when dpos is still better?  Just curious.
Yes.  The point is that there are lots of people who stubbornly oppose any alternative to POW, and that's a market worth serving.  I'd prefer selling them a better product too, but you just have to give them the best they're willing to take.

Just give them BitBTC.
Title: Re: Making Proof of Work as Predictable as DPOS
Post by: Troglodactyl on December 07, 2014, 10:41:10 pm
Doesnt mining still burn energy needlessly that could be put into the ecosystem?  What is the point of making blocks predictable like dpos when dpos is still better?  Just curious.
Yes.  The point is that there are lots of people who stubbornly oppose any alternative to POW, and that's a market worth serving.  I'd prefer selling them a better product too, but you just have to give them the best they're willing to take.

Just give them BitBTC.

If they think every system without mining is doomed, that won't help them.