Author Topic: Giving fast voters more weight + separating block producers from employees  (Read 1496 times)

0 Members and 1 Guest are viewing this topic.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I am all in favor for yet another discussion about
Technical Delegates and Business "Delegates"

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
Don't know about the decaying votes, but

A problem would be that if enough people don't start voting faster, then a smaller amount of stake would influence the vote more which makes it easier to vote in malicious delegates.  This would be another reason to separate block producers form employees so block producers can be voted in more slowly while employees get say a 2 week window after which its harder to vote them in.  There's also no reason to make employees have to wait 2 weeks to get their fee back, the block producers could inflate by default and the funds could be held in an escrow account which the voters control.  If the employee is voted in they could get access to the fee funds straight away and then have the rest released gradually as a vesting balance.  Having the voting as well as waiting to recoup the fee makes for a very slow and inefficient recruitment process.

Not to mention that having people pay a big fee to come onboard is not sustainable because it limits the talent pool we can grow form greatly, it will turn many skilled people away.  This could be solved by having no fee and instead having a recruitment delegate who is paid to vet the submissions.  He would transparently discard spam submissions and very weak applications and puts them in a viewable trash bin.  The applicants that make it past his basic appraisal can be voted on to become DAC employees.  This way there is no application fee.  We don't want an application fee because it deters talent.  The DACs income source should be its products not its recruitment mechanism, the fee beings a very small short term gain for a much bigger long term loss.  Again the block producers must be separated for this to work otherwise this is making it easier to become a block producer which is making it easier to attack the network by removing the fee and getting put into the 'fast track' voting channel with boosted fast votes. 

Having block producers + employees tied together means by making it more efficient to get hired you also make network attacks more efficient.  It may be hard for voters to keep up with with an extra layer of decision making, but not all voters are required for employee hiring.  Just those who want to be active in the DACs recruitment process would vote for employees.  Also that extra layer of decision making is already happening, just in a more muddled up way.

It could also allow people who just want to do a small project to apply for a specific amount of bitUSD.  Their application could be attached to a payrate so the escrow account controlled by voters releases only the amount of funds they applied for if they are voted in, allowing freelancers to do small jobs without having to pay an application fee.

I know focus needs to be kept on bringing stability to the client and not adding new features, but the current process very inefficient to the point of unsustainability.  A decentralised hiring process is an entirely new area BitShares is pioneering.  BitShares is in danger of innovating in too many areas at once.  I'm dependant on Riverhead for my delegate to run, most of the employees are dependent on other delegates running their delegate for them.  We may not like it but imo to thrive long term the process needs to be streamlined and separated out.  Perhaps something like this this could be tested out on Devshares in coming months and have a hard fork scheduled 6 months down the line to have a big upgrade to the recruitment system?

A potential employee should be able to just set their desired pay rate, make their application and press 'Go!'.  There should be no (big) fee, and no requirement to secure the blockchain.  It's not a top priority right now but I do think this needs improving.  We've got an amazing product with bit of an ugly 'internal corporate' structure, and we always should attend to our weaknesses.  I've heard that the Chinese aren't becoming delegates because a lot of them want to do just 1 project.  That's a lot of talent going to waste.  Lets cut the waste by empowering people to work for BitShares much more easily.  I know all of these suggestions together add up to a huge undertaking but its too important an issue to brush under the rug imo.  I think we're fine for the next 6 months-ish by using mainly in-house BitShares talent, but for longer term growth it needs to evolve.

This is just from the top of my head, feel free to shoot me down.

+1 !!!

Here's another reason for separating delegates + employees:
Depending on your jurisdiction, running a delegate includes a certain risk to violate fincancial regulatory laws. Working as an employee usually does not.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline matt608

  • Hero Member
  • *****
  • Posts: 878
    • View Profile
Delegate creation could be time-stamped.  After x blocks vote power for a new delegate decreases, and more again after x more blocks.  This encourages voters to vote more quickly which results in greater hiring efficiency, which is a weakness at the moment.

This has the effect of giving active voters more voting power, which could be seen as centralisation, but the slow voters aren't having their power taken away, they still have it so long as they vote in a timely manner.  Why should someone who takes 2 months to cast a vote have the same influence as someone who bothers keep up to date and to do it within 2 weeks?  We are a decentralised organisation, we can't wait for the slumbering long tail to vote on every hiring decision. 

A problem would be that if enough people don't start voting faster, then a smaller amount of stake would influence the vote more which makes it easier to vote in malicious delegates.  This would be another reason to separate block producers form employees so block producers can be voted in more slowly while employees get say a 2 week window after which its harder to vote them in.  There's also no reason to make employees have to wait 2 weeks to get their fee back, the block producers could inflate by default and the funds could be held in an escrow account which the voters control.  If the employee is voted in they could get access to the fee funds straight away and then have the rest released gradually as a vesting balance.  Having the voting as well as waiting to recoup the fee makes for a very slow and inefficient recruitment process.

Not to mention that having people pay a big fee to come onboard is not sustainable because it limits the talent pool we can grow form greatly, it will turn many skilled people away.  This could be solved by having no fee and instead having a recruitment delegate who is paid to vet the submissions.  He would transparently discard spam submissions and very weak applications and puts them in a viewable trash bin.  The applicants that make it past his basic appraisal can be voted on to become DAC employees.  This way there is no application fee.  We don't want an application fee because it deters talent.  The DACs income source should be its products not its recruitment mechanism, the fee beings a very small short term gain for a much bigger long term loss.  Again the block producers must be separated for this to work otherwise this is making it easier to become a block producer which is making it easier to attack the network by removing the fee and getting put into the 'fast track' voting channel with boosted fast votes. 

Having block producers + employees tied together means by making it more efficient to get hired you also make network attacks more efficient.  It may be hard for voters to keep up with with an extra layer of decision making, but not all voters are required for employee hiring.  Just those who want to be active in the DACs recruitment process would vote for employees.  Also that extra layer of decision making is already happening, just in a more muddled up way.

It could also allow people who just want to do a small project to apply for a specific amount of bitUSD.  Their application could be attached to a payrate so the escrow account controlled by voters releases only the amount of funds they applied for if they are voted in, allowing freelancers to do small jobs without having to pay an application fee.

I know focus needs to be kept on bringing stability to the client and not adding new features, but the current process very inefficient to the point of unsustainability.  A decentralised hiring process is an entirely new area BitShares is pioneering.  BitShares is in danger of innovating in too many areas at once.  I'm dependant on Riverhead for my delegate to run, most of the employees are dependent on other delegates running their delegate for them.  We may not like it but imo to thrive long term the process needs to be streamlined and separated out.  Perhaps something like this this could be tested out on Devshares in coming months and have a hard fork scheduled 6 months down the line to have a big upgrade to the recruitment system?

A potential employee should be able to just set their desired pay rate, make their application and press 'Go!'.  There should be no (big) fee, and no requirement to secure the blockchain.  It's not a top priority right now but I do think this needs improving.  We've got an amazing product with bit of an ugly 'internal corporate' structure, and we always should attend to our weaknesses.  I've heard that the Chinese aren't becoming delegates because a lot of them want to do just 1 project.  That's a lot of talent going to waste.  Lets cut the waste by empowering people to work for BitShares much more easily.  I know all of these suggestions together add up to a huge undertaking but its too important an issue to brush under the rug imo.  I think we're fine for the next 6 months-ish by using mainly in-house BitShares talent, but for longer term growth it needs to evolve.

This is just from the top of my head, feel free to shoot me down.
« Last Edit: January 09, 2015, 02:19:59 pm by matt608 »