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

0 Members and 1 Guest are viewing this topic.

vegasbitcoin

  • Guest
How does one require the miner to hold for 6 months?
The found block takes that long too mature?

So miners that do wish to sell -- won't just sell that wallet?

Offline Stan

  • Hero Member
  • *****
  • Posts: 2908
  • You need to think BIGGER, Pinky...
    • View Profile
    • Cryptonomex
  • BitShares: Stan
I think this is a great idea - I read up on ProtoShares right after it went live and i just liked the whole concept of CPU mining and DAC's, but i quickly realized i was too late to the game by just a few days. I looked forward to being an early adopter, but in this case early adopters were the ones who began mining the first 24 hours.

And as other have said, it's not the botnets that will support ProtoShares in the long run, it's a dedicated user base.

It may be too late to be a big ProtoShares lottery winner but it's not too late to be a wily ProtoShares investor.
Many opportunities for ProtoShareholders are inbound like planes at a busy airport, no matter how you wind up acquiring them.

 :)

You're missing the point - I want to mine and be a part of something. I'm not looking for a random investment, I want to build something up as a part of a community. If you have to reside to buying shares to be a part of something that's only a few weeks old then something is wrong.

 If I would have bought bitcoins two weeks ago and sold them today I would have had a massive profit, but I'm not into speculation. I want something more.

Fair enough.  We didn't expect it to be such an explosive start and had designed it to take 2 years.  I guess there is such a thing as too much publicity with all our conference announcements, website posts, articles and newsletters in the months leading up to this first event!  But as you can see from this forum, there is a lot of work being done to improve things with a variety of ways to participate:
  • Traditional mining of each new DAC as a member of third-party pools with long term vesting interest in the DAC.
  • Better calibration of initial difficulty and much more dynamic difficulty adjustment.
  • Solo mining in the background of your PC incentivized with a "dial your own odds" lottery ranging from steady paycheck to life-changing long-shots.
  • Investing in ProtoShares for genesis block stakes in all our future DACs.
  • Some future DACs may experiment with other ways (e.g. crowd sourcing of pre-mined shares, signed mining permits, etc.).
  • Plus there will be bounties for everything from graphics arts to software components, employment opportunities and even coming Requests for Proposals (RFPs) to do contracted work.
  • And just look at all the entrepreneurs that don't wait for us to get involved.  They are starting all kinds of businesses using this forum as a launch point.
We will continue to sponsor research and release DACs that experiment with better and better ways to serve their stakeholders.
Anything said on these forums does not constitute an intent to create a legal obligation or contract of any kind.   These are merely my opinions which I reserve the right to change at any time.

Offline bytemaster

BitShares will have a mining component to them no matter what.    My plan is to making mining a little more exciting for some people which will encourage solo-mining without having any impact at all on regular pool miners who like regular predictable payouts.

With lottery mining 'dial your own odds' lottery system, any 'business man' would stick to the default mining behavior.   However, consumers looking to purchase 'hope' while supporting a 'good cause' can set their mining mode to "I'm feeling Lucky" and if they are "Lucky" the could end up with a multi-million dollar win.    If they never win it is no skin of their back.

So I deal with pool miners by forcing new miners to hold for many months.  This makes them long-term vesting employees with financial incentive to promote the coin they just mined over many months.   

Most of the BitShares will be issued as 'stock splits' rather than as inflation paid to miners anyway.   

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 liberman

  • Full Member
  • ***
  • Posts: 85
    • View Profile
Ey! This gave me a better idea!  :)

Why don't you use signed mining?
I mean: to be a miner, you must be aproved by Invictus and recive a key to be able to mine, and any client which tries to mine without being signed cannot find a block. You can also impose limits on the amount one miner can mine.
Then, after the 6 months period, you just release a new version which removes the signing requirement.
You can even sell a license to mine, but please make it cheap.

I don't exactly know how this could be implemented, but I'm sure you can think ways.

I feel like requiring a centrally issued signature to mine goes against the purpose of a decentralized currency. You should keep it open to the public, and keep entry barriers low for people that want to solo-mine. The difficult part is to make entry barriers high for people who want to cloud-mine

It is only temporal for 6 months, just to enable precisely more decentralization, so more "normal" people can obtain his/her share without being busted by other users that steal CPU power from others (botnets).
There could be an unconditional free license to allow mining some blocks, some paid licenses to mine big amount of blocks, and after the 6 months no license is required anymore.

Offline phoenix

  • Sr. Member
  • ****
  • Posts: 275
    • View Profile
Ey! This gave me a better idea!  :)

Why don't you use signed mining?
I mean: to be a miner, you must be aproved by Invictus and recive a key to be able to mine, and any client which tries to mine without being signed cannot find a block. You can also impose limits on the amount one miner can mine.
Then, after the 6 months period, you just release a new version which removes the signing requirement.
You can even sell a license to mine, but please make it cheap.

I don't exactly know how this could be implemented, but I'm sure you can think ways.

I feel like requiring a centrally issued signature to mine goes against the purpose of a decentralized currency. You should keep it open to the public, and keep entry barriers low for people that want to solo-mine. The difficult part is to make entry barriers high for people who want to cloud-mine
Protoshares: Pg5EhSZEXHFjdFUzpxJbm91UtA54iUuDvt
Bitmessage: BM-NBrGi2V3BZ8REnJM7FPxUjjkQp7V5D28

Offline ThisNinja

  • Newbie
  • *
  • Posts: 19
    • View Profile
I think this is a great idea - I read up on ProtoShares right after it went live and i just liked the whole concept of CPU mining and DAC's, but i quickly realized i was too late to the game by just a few days. I looked forward to being an early adopter, but in this case early adopters were the ones who began mining the first 24 hours.

And as other have said, it's not the botnets that will support ProtoShares in the long run, it's a dedicated user base.

It may be too late to be a big ProtoShares lottery winner but it's not too late to be a wily ProtoShares investor.
Many opportunities for ProtoShareholders are inbound like planes at a busy airport, no matter how you wind up acquiring them.

 :)

You're missing the point - I want to mine and be a part of something. I'm not looking for a random investment, I want to build something up as a part of a community. If you have to reside to buying shares to be a part of something that's only a few weeks old then something is wrong.

 If I would have bought bitcoins two weeks ago and sold them today I would have had a massive profit, but I'm not into speculation. I want something more.
« Last Edit: November 21, 2013, 05:01:32 pm by ThisNinja »
PTS: PdQyuTvUmaLrotvjunydGbThQpPvb7Npjg

Offline liberman

  • Full Member
  • ***
  • Posts: 85
    • View Profile
Ey! This gave me a better idea!  :)

Why don't you use signed mining?
I mean: to be a miner, you must be aproved by Invictus and recive a key to be able to mine, and any client which tries to mine without being signed cannot find a block. You can also impose limits on the amount one miner can mine.
Then, after the 6 months period, you just release a new version which removes the signing requirement.
You can even sell a license to mine, but please make it cheap.

I don't exactly know how this could be implemented, but I'm sure you can think ways.

Offline MisO69

  • Jr. Member
  • **
  • Posts: 48
    • View Profile
Okay I know this is a taboo but...

Keep bitshares wallet closed source or release it a few months in. That way no one can create their own pools and miners then point vps and botnets at it right away. Give regular users a chance to get some in the first few months. I'm willing to trust you guys with that. Change the mPoW algo so that the old miners cannot be used. Make it more memory intensive so that you'll need 8gb ram for 4 threads or something along those lines.

Offline liberman

  • Full Member
  • ***
  • Posts: 85
    • View Profile
Ok, so a better choice:

Why don't you just put the entire bitshares to crowdfunding (except the part already asiggned to protoshares) and disable mining completely (the only rewards are in the fees/dividends)?
I would be glad to put $2000 of my own money into the project this way, but I wouldn't if I have to compete with botnets and cloud minning.

Everyday that passes convinces me that mining is not fare, you just can't compete with malicious hackers that use botnets, specially for CPU mining. These people are going to make themselves rich at the cost of your project and your supporters.
And I don't believe they can't wait 6 months to cash their robbery. They can perfectly.

Offline Pocket Sand

  • Full Member
  • ***
  • Posts: 118
    • View Profile
Quote
Quote
While some people may not like the effects of cloud mining, at least it was equal opportunity for anyone who can follow the instructions laid out in the forums.  Unfortunately there is another class of attack, the botnet.  Botnet operators steal computing power and electricity from other people so they can mine and as a result they can bring thousands of computers to mine for the network.   Botnet operators are generally looking to make a profit and therefore have little incentive to see a currency destroyed, but they still manage to make it more difficult for honest individuals to 'fairly' mine shares.  There are opportunity costs associated with running a botnet and so botnet operators generally dump the mined shares immediately. 
Still there could be botnets interested even if the reward is going to happen 6 months later.

For avoiding this, I have an idea that you can consider:
Most botnets are Windows infected machines. So release your miners only for Linux, and make sure that porting to Windows is difficult. Of course, the clients are available for Windows too, but with no mining capability. For those using Windows machines, they could install easily an Ubuntu virtual machine in their Virtual Box.
This alone should stop botnets for some time, and would reduce the number of them in the long term, but also will encourage that supporters of your project are technically knowing what they are doing, so at the end this would stop both botnets and noobs who come only for the money.

First off, I don't believe discriminating against miners who are less technologically-apt is a healthy choice to spread the idea of Bitshares. Second, your idea  would work to the extreme benefit of cloud miners as they use cheap linux boxes for mass mining. You can't protect against all the forms of mass mining but at best you can mitigate it, and that's what the idea of vesting period is attempting to do.

Lastly,

Quote
and noobs who come only for the money.

We are investors in this currency, most people are here to see a return on their investment.

Offline liberman

  • Full Member
  • ***
  • Posts: 85
    • View Profile

While some people may not like the effects of cloud mining, at least it was equal opportunity for anyone who can follow the instructions laid out in the forums.  Unfortunately there is another class of attack, the botnet.  Botnet operators steal computing power and electricity from other people so they can mine and as a result they can bring thousands of computers to mine for the network.   Botnet operators are generally looking to make a profit and therefore have little incentive to see a currency destroyed, but they still manage to make it more difficult for honest individuals to 'fairly' mine shares.  There are opportunity costs associated with running a botnet and so botnet operators generally dump the mined shares immediately. 

Still there could be botnets interested even if the reward is going to happen 6 months later.

For avoiding this, I have an idea that you can consider:
Most botnets are Windows infected machines. So release your miners only for Linux, and make sure that porting to Windows is difficult. Of course, the clients are available for Windows too, but with no mining capability. For those using Windows machines, they could install easily an Ubuntu virtual machine in their Virtual Box.
This alone should stop botnets for some time, and would reduce the number of them in the long term, but also will encourage that supporters of your project are technically knowing what they are doing, so at the end this would stop both botnets and noobs who come only for the money.


Offline arkanaprotego

  • Newbie
  • *
  • Posts: 11
    • View Profile
I think the vesting period is a brilliant idea to keep only interested investors.

However I cannot see why you would like to ruin hopes of profit for everybody by using a lottery system. Building on people's irrationality rather than rationality is a terrible choice in my opinion. This will unnecessarily decrease the attractiveness of Bitshares for rational people who are not already convinced, and I don't think many people like to think of themselves as irrational. As you have written yourself in the OP, miners who use only commodity hardware already have an edge over mass miners since they do not have an investment to recover, so I don't know why you go to such lengths.

I agree that Bitshares distribution should not reward the richest, but I think the problem can only correct itself. If there is profit to be made by cloud mining, then people will invest more into VPS, eventually lowering the profits until no one can get a ROI on hiring a VPS (provided the difficulty adjusts fast enough). But then there will still be profit to be made by single PC miners, who do not need any ROI, and they will be able to push VPS users out of the game, as the number of flesh and bones investors grows and the power shifts from mass miners to single PC miners.

If you want to restrict mining to home computers, consider involving a GPU in the proof of work. I had an idea like this: keep sealing the blocks with a CPU-only PoW, but also require some GPU-only work in the body of the block. If you are willing to surrender a little bit of decentralization, you could even make the GPU work something scientifically useful, like in Curecoin: you could make the reward of the block proportional to the points earned in a distributed computing project like Folding@Home (with a cap and an adaptive exchange rate). Such scientific programs also run on CPU but much slower, so this penalizes cloud instances. ASIC are out of the question for such evolving applications. This leaves botnets: I don't think it would be very easy for a botnet operator to make a GPU scream without drawing some attention, but this is only supposition. The issue is that the point tally depends on a central authority. This could be alleviated by including other research programs. This also poses the question of how points are checked: each node of the network will need to check the points to validate the reward and the block, which will cause massive traffic on the websites of the scientific projects, and will look like a DDoS.

About decentralization, I think a giant, built-in P2Pool system could be the way to go. I am not too sure how it scales though. Pool difficulty must be high enough to avoid network spam, which means it would still be kind of a lottery system, but with lower variance. As far as I am concerned, if I am sure to get a reward at least once every 1-3 months, it could be acceptable.

Offline bytemaster

I have identified a very simple and elegant algorithm for encouraging solo-mining without drastic changes to the block-chain.

Given a traditional blockchain, finding a block hash at difficulty D pays reward R and this will produce the expected currency supply at a predictable rate provided D is adjusted according to available hash power.

For high values of D the probability of a user finding a block is perceived as 0 and the reward when found is still R so solo miners stop mining.   

Given a high value of D, 2*D has no effect on the user's perception of probability as being 0 despite a clear 2x increase in the expected time to finding a block.   2*Never = Never.

So what happens if you allow the user to select their target difficulty provided it is higher than D?

If the user opts to mine a 2*D then to get a statistically equal reward rate the payout should be 2*R.  Now for most users 2*R is still not worth solo-mining when the perception is that the probability of finding the block is 0. 

However, if the user opts to mine at 10000*D and the payout is now 9000*R then all of a sudden the perception of the user is that the reward has gone up by a factor of 9000 while the probability of finding it remains effectively 0.    It is entirely irrational, but it is the same rationale that motivates people to play the lottery despite all reason.  Many people simply believe they are 'lucky' or that God will honor their prayers and grant them a lucky hash.   

Lets assign a variable to the luck factor, L

So you allow solo-miners to pick their luck factor L... if they opt for the miracle odds where L = 20,000,000 they could get a block reward equal to the entire market cap (0.9*R*L) of the coin when they win, but if they loose they get a micropayment equal to R/L.

So long as the minimal value for L above 1000 then solo miners can play the lottery.   Imagine how many people would solo-mine bitcoin on a CPU if you told them that if they 'win' they could receive 25,000 BTC = $15 million dollars?   Rational people with money wouldn't bother, but poor people in search of hope would leave the computer running without thinking about electricity costs (considered 0) just for the *chance* at a 15 million dollar payout.   Give them the ability for a $50 million payout by increasing L to 3000 and many people will jump on that as well.   

Does this extra hash power actually impact the security of the network?  It would increase the number of 'full nodes' and serious loto-players would probably buy ASICs just to increase their chances even if the ASIC would never pay for itself mining on a traditional pool.   The result of such a system would be to decentralize ASICs and in aggregate those playing the lottery at a loss will reduce the margins of those attempting to centralize hash power through economy of scale.    This changes the economics of mining from rich centralized players to poor decentralized gamblers in search of hope. 

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

With a 6 month vesting period I think you will substantially reduce the size of your potential investor base.   Many people can go make the same or more money elsewhere in much less time.   

With a 6 month vesting I might be interested in owning 100 shares.   If that vesting occurs in 30 days I would be interested in owning alot more shares, maybe 100x.   If the vesting is instant (like PTS), then I want as many as I can get my hands on.

People get excited when they think they can make money quickly.    Making money 6 months from now is not nearly as exciting.

If you do decide to do a long or variable vesting period I'd strongly suggest testing it first.

Your statement says you would like to 'own'... but the reality is you would OWN it even with the vesting.... the difference is you would not be able to SPEND IT and if you are SPENDING it you wouldn't actually own 100x now would you?   You would like to MINE 100x and wouldn't everyone like a free lunch :)

I think that mining will still happen by those with a long-term perspective and they will secure the network.  BTS will be scarce and only available to those who have PTS in the first 6 months.   This means that you should mine PTS now and have your instant vesting.
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 craggietx

  • Jr. Member
  • **
  • Posts: 32
    • View Profile
    • Final Drive Parts
With a 6 month vesting period I think you will substantially reduce the size of your potential investor base.   Many people can go make the same or more money elsewhere in much less time.   

With a 6 month vesting I might be interested in owning 100 shares.   If that vesting occurs in 30 days I would be interested in owning alot more shares, maybe 100x.   If the vesting is instant (like PTS), then I want as many as I can get my hands on.

People get excited when they think they can make money quickly.    Making money 6 months from now is not nearly as exciting.

If you do decide to do a long or variable vesting period I'd strongly suggest testing it first.