Closed grctest closed 5 years ago
The plus side of this is that newbs with very low balances stake more often and get positive feedback for their efforts. The number one complaint of minnows is that they never stake and wonder if they are doing something wrong or if it's a scam. The downside is that relatively large fish can sit out and get a full PoS reward without supporting the chain.
@caraka Indeed, with the current low 'balance' stake weight participation it's easier for 'newbies' with a low quantities of coins to stake, however, low balance staking participation could potentially put network consensus at risk if an individual acquires a large stake weight (either via DPOR (pool/cheater) or balance (exchange?) ).
To properly understand the risk behind low balance stake weight participation, we need to document the DPOR weight calculation: https://cryptocointalk.com/topic/49141-dpor-stake-weight-calculations/
What happens with the amount of Stake that are not generated because 80% of the coins are not online and staking? Does the network compensate for this? If it doesn't compensate for it, it would mean that the network generates less coins?
Its up to each individual to actually come online and stake to receive the .015% interest on their coin age. So no, the network will not compensate for this as the wallet will only pay interest on personal balances (not on a shared kitty).
Regarding newbies, the coin is capable of generating a special POR block with .01grc reward, but the feature has been waiting for our next mandatory.
Im not sold on the large stakeweight consensus risk problem yet; or at least, let me rephrase: We have bigger fish to fry for the time being. We need to prioritize things like having our 2nd dev finish all cross platform features, and bringing up the quant finance network, and adding our cosmetic features for newbies, and shoring up what we have before we can dream about "breaking changes" - things that end up getting us in a bunch of hot water.
@startailcoon In a POSv3 system, if you did not actively stake, those potential rewards would be earned by others currently staking (your offline stake would earn 0 interest).
@gridcoin I don't think we should be granting any special newbie blocks nor newbie stake weight boosts - the 'newbie boost' was needed back when research was only tracked from when you first staked a block, but shortly after implementing the newbie rules you made it so that rewards were tracked from beacon advertisement onwards - negating the purpose of newbie boosts.
Regarding the large stakeweight consensus risk - if between 60 to 100 mil GRC (out of 387mil+) are staking on average, in order to '51% attack' the network via POS one would only require 30-50mil GRC. Those with that quantity of coins are the foundation and exchanges (and possibly one or two whales). I have not taken DPOR stake weight into account because DPOR stake weight documentation is unclear/unavailable.
Throwback perspective regarding network consensus: When I began acquiring an estimated 30-40% POW hash weight in classic via an ASIC (lol @ that wasted 20BTC) you accelerated the change to POS to combat the threat. Switching to POSv3 in a future planned&tested hard fork would create an incentive for investors to continuously stake & secure the network from 51% (really 7.75% to 12.92% right now) attacks.
Yeah, there's certainly development priorities such as porting functionality from Windows to Linux, improving load times, improving the UI, upgrading to qt5, neural network, etc, but that shouldn't prevent us from discussing these matters. As we become a more active community we'll pick up developers along the way that may be able to relieve you of some of the development burden.
I'm not sure about the priority of the Quant finance network nor if it should be built into the client rather than running on top of the client via op_return transactions & viewable from a web application, however I have no idea what this quant network entails.
If 60-100Mil GRC on average are staking at any one time, then the following two users (with a combined balance of over 93Mil GRC) are capable of performing a 51% attack if they work together (perhaps on their own if stake weight is lower than usual):
PhilD : http://gridcoinstats.eu/cpid.php?a=view&id=9ce6f19e20f69790601c9bf9c0b03928 Test1235: http://gridcoinstats.eu/cpid.php?a=view&id=e6a4984e4c9bb7b53ac56e4b03f0cd4f
Who are these users & are they active in the community? How did they end up with such large sums of GRC?
It's possible that the user Test1235 has even more coins since the CPID hasn't been used since 2015-10-29. The page can only track addresses that staked with that CPID once. Any new addresses that just collects PoS reward will not show up in the list of that CPID. The user was never really active on BOINC, just briefly in the period of Oktober 2015, hence why we can track some of the addresses to the same user.
By checking out some of the addresses you can see that the user actually was active as late as 2016-10-29 with this address.
I think going over to PoSv3 is a good idea and will support it.
PS. I will see if I can make some kind of calculated value of how many coins are in staking rotation and how many are inactive. It will give us a better estimate of the network health. DS.
users concerned about this can participate until February 8 in this poll:
@startailcoon
PS. I will see if I can make some kind of calculated value of how many coins are in staking rotation and how many are inactive. It will give us a better estimate of the network health. DS.
That would be extremely cool, would potentially freak people out though if the staking participation was low & on display though, eh? haha!
Blackcoin has been running POSv3 for more than 6 months at this point without issue, which is a good sign.
Yes good for blackcoin, may not be good for other coins ;P
I just talked with the blackcoin dev @janko33bd more, and he said Blackcoin's v3 approach can't be used directly, since it's too BLK specific. All other coins which tried to use it had some problems.
So, more work is needed for implementation
@grctest
That would be extremely cool, would potentially freak people out though if the staking participation was low & on display though, eh? haha!
True, might not be for public use. But if we are on the brink of having someone able to do a 51% attack, wouldn't you want to know rather than hoping it wasn't so? :P
@janko33bd
Yes good for blackcoin, may not be good for other coins ;P
Based on what assumption wouldn't it be good for other coins?
@Erkan-Yilmaz I was afraid it wasn't that easy :D
P2p networks are hard to simulate, because of different conditions of network providers in different parts of world, different community creates a different network environment with it's own problems.
other coins that utilize PosV3:
ShadowCoin SDC: https://www.reddit.com/r/Shadowcash/comments/5nphsx/sdc_uses_pos_version_30_from_blackcoin_here_is_an/?st=iy3c481z&sh=f7b9fec9
Another factor that needs considered is POS:DPOR stake weight balance (huppdiwupp's posts are worth reading) : https://cryptocointalk.com/topic/49141-dpor-stake-weight-calculations/
"If you have a low magnitude the probability to stake would be greater if you just ran an investor wallet. If you have a high magnitude the probability to stake is greater than running an investor node. This was a little bit of a surprise to me. I thought that you would always have at least the probability to stake of an investor and the work you do for boinc crunching increases this probability. So that despite the imapct of "owed" the ratio between investor and cruncher would be constant, given a magnitude."
"Now, if you are owed nothing the probability to stake is the same as if you were an investor. If owed is positive your probability goes up, if owed is negative it goes down. The impact of the variable owed is dependent on your magnitude, so it boosts small magnitude nodes more than large magnitude nodes. The problem with this is that you could create a lot of gridcoin+boinc nodes with a small magnitude, close the wallets and then build up probability.
The way it currently works you can also build up probability by crunching with the wallet closed. But since small magnitudes and small balances are being penalized it is more expensive. This is at the cost of newbies not staking blocks or having a newbie boost.
This is basically the same problem as with PoSv1 vs PoSv2, whether to use coinage or coin. So maybe we should eliminate the owed-variable from the equation."
"The advantage of this would be that you cannot build up probability to stake. Regardless how long your wallet has been offline or what you are "owed" the probability stays the same.
But this would come down to the same discussion we had with the vote weight. What should the ratio between magnitude and balance be. If ideally all coins would stake all the time it would be no problem if the weight was equal (p=1). But if only 20% of the total coin supply stake at one time it could be too much.
I don't know if the total coin supply is easily accessible. If it is not it could be set as a constant but then the importance of Magnitude would slowly decay as more coins are created.
If there is a way to determin how many coins stake at a single time, we could use that metric instead of total coin supply. This would mean that you would have to have 51% coins staking plus 51% magnitude staking for an attack at any point in time.
Fixed rewards to ensure the stated interest per year as advertised & to ensure maximum balance stake weight participation.
I am currently in the process of using a script on a pi node to analyze how the network weight changes over a 24-48 hour period (to determine times when the network is relatively "weak"). I will be producing a graph when the test is finished if anyone is interested in this data.
So we put in a confusing poll for this before we did our own research? LOL.
Blame whoever created the poll
Yeah, its like creating a poll to see if we want to switch to POW from POS, and expecting someone to actually program it. Maybe check with the Programmers first next time, thanks.
Were not Blaming whose creating the poll, Im just making a point that putting a poll in is not accomplishing work or moving us forward.
So we put in a confusing poll for this before we did our own research? LOL.
There's been an entire thread on POS:DPOR stake weight balance on cryptocointalk for months, users simply won't do research on the topic unless faced with a poll which requires them to read a couple posts on github/cryptocointalk.
The poll is indeed quite confusing, you're right - I'll create a couple polls which are simpler (fixed rewards, POS:DPOR stake weight balance, etc).
Yeah, its like creating a poll to see if we want to switch to POW from POS, and expecting someone to actually program it. Maybe check with the Programmers first next time, thanks.
Were not Blaming whose creating the poll, Im just making a point that putting a poll in is not accomplishing work or moving us forward.
The poll is not worded along the lines of "Should Rob Halford drop literally everything he's doing IRL and immediately focus on implementing POSv3 without pay?", we've held development/technical polls in the past which were not followed up with dramatic demands/mandates for development (splash image for example).
The poll doesn't accomplish nothing, it gets new users involved in the development/research process, gets users used to voting within the client, and helps to estimate the priority the network perceives this issue has.
You were previously involved in this github issue: https://github.com/gridcoin/Gridcoin-Research/issues/106#issuecomment-246200155 The reason that this issue has resurfaced is that users are concerned that two unknown users collectively have enough to potentially 51% attack the network if the initial staking balance estimates are accurate: https://github.com/gridcoin/Gridcoin-Research/issues/106#issuecomment-273182118
In terms of research that is required:
Since my(huppdiwupp) posts on cryptocointalk came up I wanted to point out that I don't know if everything I wrote is right. I tried to understand the staking mechanism to the best of my knowledge but there haven't been any posts proving me right or wrong. I don't considering myself a blockchain expert so it would be great if someone with more knowlege and experience could take a look. Since there has not been much interest on cryptocointalk I didn't pursue the matter any further but if there is any interest I could share my idea on how we might get a dynamic stake weight. Dynamic in the sense that no matter how many coins are staking the probability to stake is almost 50:50 between magnitude and balance.
After looking at how pure POS coins estimate the amount of coins currently staking I believe there is no easy way to do the same with gridcoin. I think we would have to know the magnitude and the research owed for every wallet currently staking.
I now have my chart for the first 24 hours of network stake weight logging. In the interest of security, I do not want to openly post them for the world to see. If you would like to receive a copy of the spreadsheet, raw data, or simply the graph, send me a message on irc or the forums. Username is barton26 on both.
Edit: Tomorrow at this time I will have the 48 hour logs as well.
@gridcoin , while I did not create the poll because I cannot, I do this it's a good mechanism to gather community sentiment. Based on what I have read from here and the multiple pages linked, I do find this topic interesting and I do think a couple major holders can drastically influence the network (particularly in polls - which this does not solve) because of the lack of active participation because the supermajority of GRC holders.
Given this, if it helps at all, I am going to vote yes on this item but I'm also willing to donate $50 or $100 to the development of this. While it's not much, maybe if other people are willing to do so it could be a bigger incentive.
I hope this doesn't come across as offensive.
Here is the clean graph (no numbers) of 48 hours of network stake weight: http://imgur.com/a/Likya
Those wishing for the data or summarized data are welcome to contact me on irc.
We need to figure out how many coins on average are staking over a 24hr period to truly evaluate the risk of 51% attacks by whales. Several users are actively creating scripts to track this.
Here is the clean graph (no numbers) of 48 hours of network stake weight: http://imgur.com/a/Likya
This graph (alongside actual figures communicated in private) confirms that network POS stake weight is dangerously low & we need to figure out how to improve staking participation.
I've seen the numbers for one of 24 hour periods, it's also interesting to me that today the network weight is at the highest I've ever seen it (156M) - it's almost like some large holders suddenly came online. At one point - particularly in the two weeks following the mandatory upgrade - I had seen the network weight as low as 60M.
Hopefully people take these concerns seriously and at least use the poll as a way to say this is something that this is something worth continued focus.
156/385 = 40.52% of coins staking.
This does not take into account the stakeweight generated by DPOR, however as discussed in this cryptocointalk thread the mechanism is not 100% understood (potentially unbalanced?)
Task: Create DPOR whitepaper https://github.com/Erkan-Yilmaz/Gridcoin-tasks/issues/3
Perhaps low stake weight is caused by apathy towards staking, cold storage and users storing their coins on centralized exchanges?
Methods of encouraging staking participation:
Methods of improving staking:
Any other ideas, people?
other ways to improve staking participation:
There is also 4th way, you can move onto blackcoin network
POSv3 route of fixed POS rewards (that's only one small part) & no interest gained when offline.
coinage was removed in POS2.0
There is also 4th way, you can move onto blackcoin network
POSv3 route of fixed POS rewards (that's only one small part) & no interest gained when offline. coinage was removed in POS2.0
We (or anyone) could distribute a BOINC asset via project rain on any crypto platform which allows the creation of child assets. The issue is that this introduces centralization to the distribution of BOINC rewards.
The DPOR mechanism requires the clients to all download the whitelisted BOINC project statistics files on a daily basis (potentially a significant resource burden if we remove the team requirement in the future), summary BOINC data is stored on the blockchain daily and there is code to monitor the local BOINC client - most of these features would likely not be possible on the BLK network.
Were you proposing a merger or the issuance of GRC as a child token on the BLK network?
Gridcoin's currently 1 rank ahead of BLK on coinmarketcap, how about merging BLK into GRC? ;D haha
The issuance is possible ;) , you don't have to be child, you can be independent, this way you can keep your coinmarketcap.. and get rid of issues..
@gridcoin Can you clarify whether or not interest is built up whilst offline? Whilst POSv2.0 removed coinage, @jank033bd believes that it removed the offline interest buildup where as @skcin Believes the opposite https://github.com/Erkan-Yilmaz/Gridcoin-tasks/issues/23#issuecomment-275403340. Cheers.
To clarify some things. PoSv2 is a term used by blackcoin. There is a whitepaper for PoSv2: http://blackcoin.co/blackcoin-pos-protocol-v2-whitepaper.pdf
In section 4 they write about the changes made to the protocol: "Note that the system in Eq. 2 will not change the actual stake reward."
In gridcoin the reward is calculated in main.cpp in the function GetProofOfStakeReward. You can check there too.
In section 4 they write about the changes made to the protocol: "Note that the system in Eq. 2 will not change the actual stake reward."
Ah, gotcha. Well it's rather concerning that users such as this example user have an extremely high quantity of GRC interest (934k GRC) owed despite not participating in securing the network..
@grctest Please be aware that the stats for the user you are linking to are inaccurate. The CPID page shows interest based on PoR blocks and this user no longer produces them sine a long time. They are however collecting interesting with PoS blocks, and has quite recently to. This is a know bug on the page today and will be fixed in the next big update in a few weeks.
I suggest not taking PoS/PoR interest history by the letter at this time. Sorry for this.
The above graph shows that over the 7 day period between 100mil & 150mil GRC were consistently staking (with the occasional whale staking - note the almost 50mil jump at several points); that's between 26-39% (52% for whale spikes) of coins securing the network (majority of coins not staking on a regular basis).
@grctest Regarding that user with high interest. The new stats page takes PoS block in account, so the owed coins isn't that much. But rather 3months since last block tough.
what is the ascending line in the middle? the trend?
i think we need a month-long graph. even just for curiosity's sake... but a graph like this would be a good tool to have on a site somewhere. gridresearchcorp could use a refresh... cough
@Peppernrino Yes, it is a linear trendline representing the fact that network stake weight should always be increasing over time as more GRC are created.
well, i doubt it would keep rising... we need to keep a history of this somewhere! :)
@grctest What are the data that you base these numbers on? I imagine that the graphs represent amount of staked coins (the TX Value for the staking), but I can not figure out how you get these high numbers. I can only replicate this with about 60-80 mil GRC per day over January.
Ignore this comment. I used the wrong base data. I will do my calculations again some other day.
@startailcoon I gathered the numbers you see in the graph above. I also gathered the numbers through the 24 and 48 hour logging experiments. My method is transcribed from above:
I am currently in the process of using a script on a pi node to analyze how the network weight changes over a 24-48 hour period (to determine times when the network is relatively "weak"). I will be producing a graph when the test is finished if anyone is interested in this data.
Feel free to message me on IRC or on the forums for more specifics.
The poll for implementing PoS v3 ended with ~13% of the network voting for Yes. http://gridcoinstats.eu/voting.php?a=view&id=technicalpoll:_should_we_implement_posv3_to_combat_low_network_stake_weight?
EDIT: The voting mechanism within the Gridcoin client doesn't fully list each option (too long?).
IMO, I think huppdiwupp's 2nd proposal makes the most sense, and could help drive network stake weight participation up.
I'd appreciate additional community peer review of huppdiwupp's proposals and would love to read any alternative proposals anyone can come up with.
Regarding the POSv3 poll which passed it did not have a long enough poll duration and the participation (13.76%) was quite low. I am however concerned regarding the recent low stake weight measurements and don't believe we should be rewarding interest without participating in securing the network (I'm in favour of POSv3 over POSv2).
Cheers, CM.
User Test12345 (with approx 50.5mil GRC 😮 ) has become active recently:
2017-02-21 152 Tx (Total blocks that day: TBA ) (% blocks : TBA%) PoS 23,300.57 GRC 2017-02-20 338 Tx (Total blocks that day: 899) (% blocks : 37.6%) PoS 48,982.55 GRC 2017-02-19 228 Tx (Total blocks that day: 895) (% blocks : 25.47%) PoS 61,827.44 GRC 2017-02-18 220 Tx (Total blocks that day: 909) (% blocks : 24.44%) PoS 84,701.63 GRC 2017-02-17 261 Tx (Total blocks that day: 900) (% blocks : 29%) PoS 133,507.12 GRC 2017-02-16 366 Tx (Total blocks that day: 900) (% blocks : 40.67%) PoS 218,456.32 GRC
If we moved to a fixed block reward structure, the individual would have earned the following:
I think this is a good example on why we should implement a system that rewards active users and not accumulating interest over inactive time.
This user has been inactive for a long period of time and are now starting to collect interest, which was to be expected on its return. As the system is designed now, this is expected behaviour.
Just a little something to show you these numbers in visual sense compared to the rest of the year. Starts at 2017.01.01 and ends 2017.02.21.
Blue Line = Total PoR Rewarded for the day Yellow Line = Total PoS Rewarded for the day
I can create a poll if it would be helpful, but we already created two. In the casual poll, an investor (RHALFORD) that controls over 42M GRCs is not concerned about low network weight, ROFL. Poor RHALFORD - he just didn't want to do the programming work so he voted not concerned.
Just teasing, but it would be nice if Rob could explain why he's not concerned given the big payout that just went to test12345. He probably has a better sense of what's critical to development than someone like me. @gridcoin
[@frank0051]() wrote:
[ ... ]
Just teasing, but it would be nice if Rob could explain why he's not concerned given the big payout that just went to test12345. He probably has a better sense of what's critical to development than someone like me. @gridcoin
There's certainly been a perplexing shift in the community's attitude towards the real threat of 51% attacks; back in late 2014 I purchased a TITAN ASIC in order to secure the network (resulting in an estimated 40% POW weight (note recent 40.7% weight of test12345) if no other ASICS were pointed at GRC).
The community reacted (rather aggressively) by migrating from POW To POS within the 20 day window that existed before the ASIC was due to be delivered & took advantage of the situation to change the economic variables [1] [2] [3] [4] (speculation: to lock in established power ahead of the switch to POS?).
Now here we are with similar block creation centralization issues, except they're now semi-permanent (whales stake weight decreases as coin supply increases due to POS/DPOR) compared to POW centralization, yet the level of concern is entirely different; perhaps it's because the centralized power is in different hands this time around?
Edit: Though, back in POW days the significant increase in POW weight would have prevented many from earning their rewards within the 14day window.
Well, now that the thread has gone political I will add my 2 cents so you can get a feel of my perspective :
1) @frank0051, I did not vote that I am not concerned because I dont want to do the programming (dont make that assumption). First, I dont necessarily agree that changing from POSv2 to a higher spec is going to "solve any problem" - nor do I necessarily believe we have a problem based on the evidence here. 2) I dont control 42 million grc; I have less than 25 million - and I recently gave a million GRC away as a gift to someone. 3) We promised to pay 1.5% interest to all GRC holders in perpetuity. My main concern with changing the stake algorithm is breaking that promise. Once you start monkeying with that the original investors lose confidence. Imagine if we said lets only pay interest to those nodes online and after one year you lose it, or things like that. People invested in the coin with the original assumption and I feel those things should not be changed even when there are community votes that catch a current wave of popularity- we dont know if those votes represent the broad section in all cases. I intended the voting mechanism to be used for new issues to replace a board steering committee, but not to be abused to change the entire technical blockchain program that was initially released. 4) There is a high percentage of (individual) coins that are lost per year because people lose hard drives and lose interest in crypto. I think its 25%. That figure alone is what drove me to vote that I was not concerned. This means people bought the crypto with good money and forgot about it or lost it. The remaining 75% of dedicated users deserve the 1.5% accrual whether staking or delayed staking occurs imo. 5) Right off the bat, technically speaking, there are inaccuracies in this thread as I see people confusing stake-weight for POR blocks and interest blocks. First of all, the POR block stakeweight is different than our POS stake weight. POR stake weight only gives a researcher a higher PRIORITY to stake the next block, while our POS interest blocks really do have stakeweight. So part of the credence for upgrading is gone. Additionally the person who said that I staked 4* the daily payout cap is not understanding that cap- we do not have a cap on interest - we have a cap on daily research payouts- so the payout is correct. I didnt stake interest for 30 days, thats why I received a few large payments. 6) You underestimate the gravity of changing the algo- its more disruptive than it appears.
7) @grctest, regarding the coincidence that we switched from POW to POR right when you ordered a titan, believe me, there was not a soul out there planning to block your titan for nefarious reasons: The entire cryptocommunity was in a state of flux, we originally chose POW before Peercoin and POS was popular (it seems as though in error), and the green nature of gridcoin PLUS the original naive code (remember we used to pay 150grc without a neural network and with no complex magnitude calc) caused us to have a look at restarting the chain - and taking advantage of upgrading the chain to POS, and that decision really made sense. Its hard to compare the current status quo to that era. I view the current system as an engine that is now running, and we really have to prioritize cross-platform port (get the code out of .net to c++), scalability (lower memory consumption) , fix crashes on PI, ease-of-use for new users, I feel those things should be done now, and this particular issue is : Not proven to be a solution, political in nature, not necessarily good for us, and therefore should not be considered with much weight.
Rob
Lately we've been discussing stake weights and came to the conclusion in IRC that only approx 60-100mil GRC are staking at any one time out of the current total supply of 379,376,868 which works out to be 15.82 to 26.36 percent of total coin supply staking.
We could reach out to old users who may no longer be staking via the email marketing idea, but another idea that has been raised by the community is to potentially upgrade to the POSv3 system created by the Blackcoin developers.
The difference between POSv2 and POSv3 is that POSv3 attempts to increase staking participation by making POS rewards fixed instead of based on your staking balance (or coin age?), thus if you have a large balance you need to run it continuously in order to achieve your target yearly interest of 1.5%.
This would be a mandatory change if we attempted the change.
Related Blackcoin releases: https://github.com/rat4/blackcoin/compare/v1.2.0...master https://github.com/rat4/blackcoin/compare/v1.2.1...master