Author Topic: Decentralizing Mining - The future of BitShares Mining  (Read 57297 times)

0 Members and 1 Guest are viewing this topic.

Offline bytemaster

I agree, an integrated pool is fine and Invictus will spend significant time to make sure BitShares comes with a highly reliable pool at launch with an open protocol to allow other pools to compete.   

So a default miner that does mining in the background unless the user chooses to kick it up a to a higher setting and the default client that always does at least 50% solo mining to prevent against centralization.    Professionals can use stand alone miners that are 100% pool based, but of course would have to find a pool willing to finance their mining for 6 months.   

Overall this gives a mix of steady income, random bonus, easy to use, and automatic security. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
With BitShares people will already see a steady growth in their stash from dividends. 

That's great, but we want to get people started, and they'll start at 0.

I honestly couldn't care about a well-behaved process that uses 25% of my CPU when IDLE with a low priority setting and 99% of users wouldn't even know how to monitor their CPU usage and wouldn't look at it unless something else was slowing their computer down.  Having an option to 'turn it off' would allow those who it really bothers to turn it off.

That's fine - I'm saying get them keyed into a pool so they are seeing immediate rewards. Add in luckybit's idea of unpredictable and variable rewards, and it'll start to get compelling.
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
I don't know that a mining lottery will provide enough excitement. With a regular lottery, the excitement is anticipation before the draw, and then an intense 30 seconds while the numbers are drawn. Users will tire of a process that draws 25% of their computing power and provides no benefits.

I've had very few takers for my optimized solo miner which essentially provides the same lottery effect.

Users want to see a steady increase in their fortune, I suggest working with that rather than against it. What we need is an easy to use pool miner (Press a button in the GUI) and a selection of pools to choose from (open source pool software), and rapid payouts - users should see their balances ticking up after a few blocks . . 15 minutes or so. All of these things have been achieved already in other coins - I recommend looking at infinitecoin for a good example, although it could be even better. We get these things right, we'll see a rapid adoption by unsophisticated users without capital costs, and drive the dedicated miners out of business.

Frequent rewards of different sizes are necessary to get people to adopt a new behavior pattern. People prefer frequent rewards. The chance to win very large rewards is important too. Seriously study the Netcoin proposals because many of these ideas have been discussed in detail. We came up with some solutions on the Netcoin thread which are included on the portal http://www.netcoin.io/wiki/Netcoin:Community_Portal

It even includes an idea similar to DACs called the Netcoin Community-Oriented Decentralized Social Organization Supported by Blockchain which I proposed. It was supposed to be based on Colored Coin and it was before there was a Mastercoin or before I had heard about Bitshares.

The lottery system for Netcoin was set up so people who crowd funded it by buying the coins in advance would get a ticket. Then they would get the coins they paid for but it wouldn't be all at once but over a period of time and this delay was to make them into long term supporters who would work hard to make these coins as valuable as possible. Basically it was a similar goal to what protoshares is trying to do.

I will see if I can help contribute some new ideas to this problem or perhaps see if I can come up with my own DAC which takes full advantage of a bunch of new ideas. I think the main concepts useful for solving this problem are diversity and unpredictability. When you combine both to rewards and proof of work then you get closer to the solution.

Maybe a hybrid pool/solo miner with a slider allowing users to adjust between 10% to 90% solo/pool.
« Last Edit: November 20, 2013, 05:25:28 am by FreeTrade »
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
I don't know that a mining lottery will provide enough excitement. With a regular lottery, the excitement is anticipation before the draw, and then an intense 30 seconds while the numbers are drawn. Users will tire of a process that draws 25% of their computing power and provides no benefits.

I've had very few takers for my optimized solo miner which essentially provides the same lottery effect.

Users want to see a steady increase in their fortune, I suggest working with that rather than against it. What we need is an easy to use pool miner (Press a button in the GUI) and a selection of pools to choose from (open source pool software), and rapid payouts - users should see their balances ticking up after a few blocks . . 15 minutes or so. All of these things have been achieved already in other coins - I recommend looking at infinitecoin for a good example, although it could be even better. We get these things right, we'll see a rapid adoption by unsophisticated users without capital costs, and drive the dedicated miners out of business.

Frequent rewards of different sizes are necessary to get people to adopt a new behavior pattern. People prefer frequent rewards. The chance to win very large rewards is important too. Seriously study the Netcoin proposals because many of these ideas have been discussed in detail. We came up with some solutions on the Netcoin thread which are included on the portal http://www.netcoin.io/wiki/Netcoin:Community_Portal

It even includes an idea similar to DACs called the Netcoin Community-Oriented Decentralized Social Organization Supported by Blockchain which I proposed. It was supposed to be based on Colored Coin and it was before there was a Mastercoin or before I had heard about Bitshares.

The lottery system for Netcoin was set up so people who crowd funded it by buying the coins in advance would get a ticket. Then they would get the coins they paid for but it wouldn't be all at once but over a period of time and this delay was to make them into long term supporters who would work hard to make these coins as valuable as possible. Basically it was a similar goal to what protoshares is trying to do.

I will see if I can help contribute some new ideas to this problem or perhaps see if I can come up with my own DAC which takes full advantage of a bunch of new ideas. I think the main concepts useful for solving this problem are diversity and unpredictability. When you combine both to rewards and proof of work then you get closer to the solution.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline bytemaster

With BitShares people will already see a steady growth in their stash from dividends. 

I honestly couldn't care about a well-behaved process that uses 25% of my CPU when IDLE with a low priority setting and 99% of users wouldn't even know how to monitor their CPU usage and wouldn't look at it unless something else was slowing their computer down.  Having an option to 'turn it off' would allow those who it really bothers to turn it off.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
I don't know that a mining lottery will provide enough excitement. With a regular lottery, the excitement is anticipation before the draw, and then an intense 30 seconds while the numbers are drawn. Users will tire of a process that draws 25% of their computing power and provides no benefits.

I've had very few takers for my optimized solo miner which essentially provides the same lottery effect.

Users want to see a steady increase in their fortune, I suggest working with that rather than against it. What we need is an easy to use pool miner (Press a button in the GUI) and a selection of pools to choose from (open source pool software), and rapid payouts - users should see their balances ticking up after a few blocks . . 15 minutes or so. All of these things have been achieved already in other coins - I recommend looking at infinitecoin for a good example, although it could be even better. We get these things right, we'll see a rapid adoption by unsophisticated users without capital costs, and drive the dedicated miners out of business.







“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
Although this creates an unfair advantage, we must understand that the core protocol is one cpu one vote. There is very little we can do to get around that. Although the benefit is that it promotes rapid adoption of a coin, which is good far all. Here is the simple solution:

Make the coin confirmation time 35-37 days. Hosting providers are billed on a monthly cycle. So if someone launches 1,000 cloud servers, and the end of the month they have no idea what the trade rate is and will have to foot the bill. This is an extreme disadvantage for cloud miners, as they don't know if they will break even or come out in the red. Gives for a more even coin launch and is the easiest to implement.

A disadvantage to one competitor provides an advantage to another. Now you've given an advantage to botnets. This is why I say the algorithm should change on the fly so that people running a botnet will not know how long the algorithm they use will work and botnets cannot easily change or adapt. Cloud servers can change and adapt really easily and would have the advantage over botnets however the cloud operators would not know what model CPU is favored. I'm saying there should be a basket of hashing algorithms which favor different CPUs and settings and this should change continuously and randomly.

And it should also do the same for GPUs. Sometimes it will favor certain GPU types and not others, sometimes it will be SHA256 or it will be Scrypt or perhaps some exotic new algorithm. If we make the hashing algorithm something which can b modular and randomly chosen from a list then you can confuse miners by not allowing them to optimize their settings because they wont know what will come next.  It should be an anti-optimization strategy through random algorithm selection.

Although this creates an unfair advantage, we must understand that the core protocol is one cpu one vote. There is very little we can do to get around that. Although the benefit is that it promotes rapid adoption of a coin, which is good far all. Here is the simple solution:

Make the coin confirmation time 35-37 days. Hosting providers are billed on a monthly cycle. So if someone launches 1,000 cloud servers, and the end of the month they have no idea what the trade rate is and will have to foot the bill. This is an extreme disadvantage for cloud miners, as they don't know if they will break even or come out in the red. Gives for a more even coin launch and is the easiest to implement.

Your simple solution is effectively what this whole thread is about... random vesting period between 1 day and 1 year averaging 6 months makes it only profitable to mine if you are willing to take a long-term perspective on the coin and thus eliminates those who are trying to profit on short-term price changes or crowd out little guys.  Large mining operations would have to commit capital to the operation proportional to their mining effort for 6 months.

I think random vesting period is a good idea, similar to what we had for Netcoin. Add to it a random algorithm selection and you have something which would work. I understand protoshares is proof of momentum and should stay that. But I think newer DACs should experiment with different algorithms and my suggestion is a random hashing algorithm series with an unknown order combined with random vesting periods.  This way neither the cloud miners or the botnet can benefit.

A botnet isn't going to know what hardware the next hashing algorithm will be optimized for and most importantly they wont know how long that hashing algorithm will be in operation before the next switch. So basically I'm saying just as difficulty changes, the entire hashing algorithm should change too and that in the beginning it should be predictable what algorithm is coming next, but later on it should become random so no one will know and this means someone could end up mining on their cellphones because it's optimized for ARM processors for that day or week.

I'm not sure how to pull it off but you want all the unoptimized miners to still mine too.

http://www.netcoin.io/wiki/Netcoin_Proof-of-Work_Hashing_Function
« Last Edit: November 20, 2013, 04:51:41 am by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline bytemaster

Although this creates an unfair advantage, we must understand that the core protocol is one cpu one vote. There is very little we can do to get around that. Although the benefit is that it promotes rapid adoption of a coin, which is good far all. Here is the simple solution:

Make the coin confirmation time 35-37 days. Hosting providers are billed on a monthly cycle. So if someone launches 1,000 cloud servers, and the end of the month they have no idea what the trade rate is and will have to foot the bill. This is an extreme disadvantage for cloud miners, as they don't know if they will break even or come out in the red. Gives for a more even coin launch and is the easiest to implement.

Your simple solution is effectively what this whole thread is about... random vesting period between 1 day and 1 year averaging 6 months makes it only profitable to mine if you are willing to take a long-term perspective on the coin and thus eliminates those who are trying to profit on short-term price changes or crowd out little guys.  Large mining operations would have to commit capital to the operation proportional to their mining effort for 6 months.   
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline super3

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Although this creates an unfair advantage, we must understand that the core protocol is one cpu one vote. There is very little we can do to get around that. Although the benefit is that it promotes rapid adoption of a coin, which is good far all. Here is the simple solution:

Make the coin confirmation time 35-37 days. Hosting providers are billed on a monthly cycle. So if someone launches 1,000 cloud servers, and the end of the month they have no idea what the trade rate is and will have to foot the bill. This is an extreme disadvantage for cloud miners, as they don't know if they will break even or come out in the red. Gives for a more even coin launch and is the easiest to implement.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
In the Netcoin thread I came up with a lottery system for crowd funding where people could pre-order their coins with the potential to win more.  But this would limit it to people who have the most money and couldn't be considered as fair.

Dacoinminster utilized a crowd funding model which rewarded early adopters willing to trust him. This was flawed too because it promotes trust in a trustless system and that has a long term potential to result in abuse if too many people use that method there will be scams.

I think with mining the solution we discussed for Netcoin would be to have a Proof of Work which randomly changes at a certain time each day. Meaning at one time of the day it's optimized for the CPU, at another time of day it's optimized for the GPU, at another it's optimized for ram, and at another time of day it's adding something done only by human beings (like some sorta puzzle has to be solved every 15 minutes).

I think it has to be very profitable though. The reason is if it's not profitable enough then people will not be able to upgrade and the hash rate wont go up fast enough to prevent a 51% attack. I think botnets wont be profitable if the algorithm randomly changes. It would essentially set things up so different groups of people have their turn for heavy profits each day so that no group can dominate completely.

GPU miners would get their turn when the algorithm switches to scrypt and they wont know when that will happen. Other times it will be SHA256. And another time something CPU based. As long as the miners are kept surprised and cannot plan in advance then it's a random lottery of optimization. The goal should be to get them all mining and waiting for the change to happen and have none of them know who it will favor. This puts everyone on a somewhat even playing field.

This could probably be decentralized randomness too. But it shouldn't start out random. It should start out predictable and become increasingly unpredictable over time. When people don't know what to expect then they have to pay more attention to it. The trigger for a particular different hashing algorithm to be used could come from an external source event to make it truly random.
« Last Edit: November 20, 2013, 04:30:42 am by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline bytemaster

What about 51% attacks? With the 6 month rule the overall hashing power will go down quite a lot compared to now. This makes it a lot easier for a single individual to pull off a successful attack.

It actually makes it harder because they could not finance the attack with the block rewards.   For example, suppose someone wanted to do a 51% attack today.  They could spend 100K / day on Amazon, but wouldn't be able to maintain the attack unless they had access to 100K * 180 days worth of capital.
You assume that the attacker wants to earn money directly via PTS/BitShares. What if botnets from a different altcoin team up to attack your coin in hope that it will make their altcoin look better? There are some people on this planet that control gigantic amounts of resources nearly for free. Check Feathercoin for example, it was attacked multiple times successfully even though at the time it was very popular and there were many legitimate people mining it.

I am not saying that this is very likely to happen, but it is definitively a possibility that has to be considered.

I think that your conjecture that this vesting system would result in less hash power in the network is mistaken.  It just means that the only hash power will be hash-power interested in long-term success.   The expected future value of a crypto-currency will still encourage miners and if there is confidence that the mining is more decentralized and 'automatic' with millions of 'solo miners' then I suspect the equation changes.   

The key is to make sure there are millions of solo miners which in aggregate represent significantly more hash power than opportunistic miners with no interest in the currency except to mine and dump.   It is a hybrid proof-of-stake mining system in a new form.

Even if the attacker has alternative revenue streams, cutting off the most direct revenue stream still helps change the profitability of such an attack. 


For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

These rules would be enforced by all clients as part of the blockchain.  It would require a hard-fork of ProtoShares to introduce here.   

The passive miners will merely make sure that X% of the hash power is entirely decentralized and as the number of users grows X% will become quite large and greatly reduce the profit potential for the specialized miners because the X% will mine even at a loss (because it is automatic lottery).

So if 10% of hash power is mining below cost, it reduces the average margin for those attempting to mine for-profit.   With a couple million users all mining automatically and at below cost mining will become entirely decentralized.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline digitalindustry

  • Jr. Member
  • **
  • Posts: 41
    • View Profile
What about 51% attacks? With the 6 month rule the overall hashing power will go down quite a lot compared to now. This makes it a lot easier for a single individual to pull off a successful attack.

It actually makes it harder because they could not finance the attack with the block rewards.   For example, suppose someone wanted to do a 51% attack today.  They could spend 100K / day on Amazon, but wouldn't be able to maintain the attack unless they had access to 100K * 180 days worth of capital.
You assume that the attacker wants to earn money directly via PTS/BitShares. What if botnets from a different altcoin team up to attack your coin in hope that it will make their altcoin look better? There are some people on this planet that control gigantic amounts of resources nearly for free. Check Feathercoin for example, it was attacked multiple times successfully even though at the time it was very popular and there were many legitimate people mining it.

I am not saying that this is very likely to happen, but it is definitively a possibility that has to be considered.

Use checkpoints ? 

No one cares about them that whole fake " centralization" narrative was pushed by the people that hate them because they protect the blockchain .

Number one confidence killers are issues in  relation to issuance .

Id rather mine a checkpointed cryptocurrency than not .

Offline digitalindustry

  • Jr. Member
  • **
  • Posts: 41
    • View Profile

Ok im clear on that now , but if the mining client is just a modified version of a miner set to follow these rules, thats fine , I understand the attempt to distribute  , and its novel.

But lets say ok a base of users take this up,  now we have a% of distributed mining power .

I will calculate that this be a " passive" free matket % on top of the then dedicated miners .

Which will recompile and release , with the adjusted time settings .

This passive mining power could help against attack but .
« Last Edit: November 20, 2013, 04:13:24 am by digitalindustry »

Offline jh00

  • Jr. Member
  • **
  • Posts: 36
    • View Profile
What about 51% attacks? With the 6 month rule the overall hashing power will go down quite a lot compared to now. This makes it a lot easier for a single individual to pull off a successful attack.

It actually makes it harder because they could not finance the attack with the block rewards.   For example, suppose someone wanted to do a 51% attack today.  They could spend 100K / day on Amazon, but wouldn't be able to maintain the attack unless they had access to 100K * 180 days worth of capital.
You assume that the attacker wants to earn money directly via PTS/BitShares. What if botnets from a different altcoin team up to attack your coin in hope that it will make their altcoin look better? There are some people on this planet that control gigantic amounts of resources nearly for free. Check Feathercoin for example, it was attacked multiple times successfully even though at the time it was very popular and there were many legitimate people mining it.

I am not saying that this is very likely to happen, but it is definitively a possibility that has to be considered.