Pages:
Author

Topic: [ANN][YAC] YACoin ongoing development - page 98. (Read 379983 times)

sr. member
Activity: 406
Merit: 250
The cryptocoin watcher
January 04, 2014, 04:10:22 PM
PoS is allowed with wallets that have just 2YAC balance

Maybe PoS minimum stake should depend on PoS difficulty, so small amounts are never staked if there's no need to.
sr. member
Activity: 280
Merit: 250
January 04, 2014, 01:18:10 PM
Can somebody explain me why there's so many orphaned PoW-blocks in plain English please?
Why this wasn't happened before (in first 6 month)?
Why it happening now!?

Thank you in advance!!

PS: I've read all the posts above  Tongue
I belive most of those PoW were unintentionally orphraned, but it could also be abused.

Sometimes your client wasn't able to get a freshly generated PoS into the blockchain. If you have other adresses that can PoS you are the only one that sees your longer chain and begins to PoS on top of your not acepted PoS block.

If you then resend your block(s) you orphran all other PoS-blocks if your chain has higher trust.
The more txt you have in your wallet it lags more and more and it becomes more likely that you block doesn't get transmitted on the first try and some people resend then manually.
sr. member
Activity: 288
Merit: 260
January 04, 2014, 12:40:17 PM
Can somebody explain me why there's so many orphaned PoW-blocks in plain English please?
Why this wasn't happened before (in first 6 month)?
Why it happening now!?

Thank you in advance!!

PS: I've read all the posts above  Tongue
sr. member
Activity: 280
Merit: 250
January 04, 2014, 12:29:46 PM
Anyway, I've got the code changes ready. You're all invited to review them. https://github.com/saironiq/yacoin-cc/commit/acf917a2c42cb947b08a9a7878ceafd6045ea24c
Good example of simpler != better statement. It will help you for one threat, but opens another hole. Actually, such fix is less secure than calculate block trust using an original algorithm. It can be forked without a significant part of stake or hashpower by running a parallel chain at lower PoS & PoW difficulties. Because it makes no difference between coindays consumed or hashpower wasted. One CPU is able to beat the entire network.
Oh, haven't seen that.

I agree that these changes wouldn't keepit safer for long. Problem with fixing PoS on it's own (Sairon's,NVC's and f.e. PPCs)has usually major negative sideeffects. NVC's solution gives huge inflation and I think this would hurt YAC significantly more that it hurts NVC so be shouldn't go there.


On the other hand am I not able to find any loopholes in my Decentralized Centralized Checkpointing-idea and it's simple.
It doesn't change anyting for 99% of the people owning YAC and only a few rich guys get higher rewards for their effords.

Decentralized Centralized Checkpointing idea:
Was in this thread a few posts bevor, klick the link to read it. Would still require no 2 PoS blocks touching.
sr. member
Activity: 280
Merit: 250
January 04, 2014, 12:02:19 PM
No need to add another signing as PoS works in a similar way, anyway. PoS was supposed to be a distributed check-pointing and look where it got us. Wink

...

Anyway, I've got the code changes ready. You're all invited to review them. https://github.com/saironiq/yacoin-cc/commit/acf917a2c42cb947b08a9a7878ceafd6045ea24c

I hope that not the reason why you think this way about my idea with decentralized centralized Checkpointing, but I think you don't dislike it just because of that. Anyways:


I know how PoS was "supposed" to work, but basically it's crap now without some mayor changes (even with your new rules additionally). PoS is allowed with wallets that have just 2YAC balance so just having such small PoS block doesn't add any security. On the other hand miners could do the following profitable:

Generate a bunch of small adresses and wait for them to be ready to POS. Once a pool found a PoS they keep it secret and mine a PoW on top of it. Most of the time they will fail to mine a block but they have more time to mine than the rest of the network since they can ophran 1 block. This gives them an advantage over mining without such and would result in loosing a lot of hashpower.

It also destroys the puropse of PoS adding any form of additional security. Where is the security benefit from having PoS-blocks with such little weight. PoS are sacre and unless they become meaningless for security (small PoS witout PoS-rewards). Mining pools wouldn't even have to own these small adresses, they could rent them or buy unpublished blocks. If they pay more than 5% per year even I'd consider splitting up but giving them a unpublished PoS-block is cost free.
A collaterall would prevent any fraud from the owners and would only be paid if miners actually lost some work.

This adjustment would also reduce the security benefits from having PoS at all so we could rather automatically increase every wallet with 5% per year and stop all that madness.
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
January 04, 2014, 09:23:26 AM
Anyway, I've got the code changes ready. You're all invited to review them. https://github.com/saironiq/yacoin-cc/commit/acf917a2c42cb947b08a9a7878ceafd6045ea24c
Good example of simple != better statement. It will help you for one threat, but opens another hole. Actually, such fix is less secure than calculate block trust using an original algorithm. It can be forked without a significant part of stake or hashpower by running a parallel chain at lower PoS & PoW difficulties. Because it makes no difference between coindays consumed or hashpower wasted. One CPU is able to beat the entire network.
The same is true for Bitcoin. That's what the hardcoded checkpoints are for.
That's not true, it seems that you don't understand Bitcoin quite well.

1. Bitcoin is able to make a difference between diff1 or diff2 blocks, one diff2 block can't be beaten with one diff1 block.
2. Hardened checkpoints only purpose is to be a trigger for signature checking optimization and protection against compromised ISPs. And you can disable hardened checkpoints verification in bitcoin.
Fair enough. This will need to be changed, thanks.
legendary
Activity: 3108
Merit: 1359
January 04, 2014, 09:20:39 AM
59% yearly interest for early adopters, sure. Screw the later-coming big investors when the PoS difficulty gets higher and interest lowers significantly. Good way to discourage promotion of the coin and thus adoption.
1) You have to maximize an active weight. It doesn't matter how you do so, but you have to do it for any price (even for constant trolling from ignorant kids), because that's necessary to survive.
You can freely choose another thresholds or function, but the reward shouldn't be fixed. Actually, you have a choice between red and blue pills right now... Logic vs. Emotions/Sanity vs. Morality/Practice vs. Worthless ideology. Worthless because the fixed RoI means no self-regulation, thats why it opens a security hole. Absense of self-regulation is just another type of centralization.

Anyway, I've got the code changes ready. You're all invited to review them. https://github.com/saironiq/yacoin-cc/commit/acf917a2c42cb947b08a9a7878ceafd6045ea24c
Good example of simple != better statement. It will help you for one threat, but opens another hole. Actually, such fix is less secure than calculate block trust using an original algorithm. It can be forked without a significant part of stake or hashpower by running a parallel chain at lower PoS & PoW difficulties. Because it makes no difference between coindays consumed or hashpower wasted. One CPU is able to beat the entire network.
The same is true for Bitcoin. That's what the hardcoded checkpoints are for.
That's not true, it seems that you don't understand Bitcoin quite well.

1. Bitcoin is able to make a difference between diff1 or diff2 blocks, one diff2 block can't be beaten with one diff1 block.
2. Hardened checkpoints only purpose is to be a trigger for signature checking optimization and protection against compromised ISPs. And you can disable hardened checkpoints verification in bitcoin.

sr. member
Activity: 406
Merit: 250
The cryptocoin watcher
January 04, 2014, 09:16:56 AM
2) Enforcing a hybrid chain (with alternating PoW/PoS blocks) is IMO a bad idea as the protocol is set to 1-minute PoW and 10-minute PoS target.

Other changes aside, would it be more desirable to have 1 minute PoW and 1 minute PoS so the chain gets more 'hybridized'?
sr. member
Activity: 274
Merit: 250
January 04, 2014, 09:15:48 AM
On a separate note, I have two small issues with the recent beta qt wallet running on a Windows XP, Core2Duo PC. The first is the GUI doesn't show up as quickly as when I first use it on the same PC. The first 2-3 times I ran it, the GUI appeared within a minute or so. Now, it's over 5 minutes. The good news is even though the GUI isn't loaded, at least the qt wallet icon quickly shows up in the notification bar (or whatever that part is called). Besides, looking at the block count that remains to be downloaded when the GUI first shows up after a few minutes, I think it's downloading and processing blocks before GUI is loaded.

Another issue is I have an orphan POS block back in September and this wallet keeps showing it as the most recent transaction entry on the "overview" page. The default sorting also have it floating at the top of the "transactions" page.
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
January 04, 2014, 09:00:54 AM
2) Enforcing a hybrid chain (with alternating PoW/PoS blocks) is IMO a bad idea as the protocol is set to 1-minute PoW and 10-minute PoS target. With my rules hybrid chain is the optimal way when trying to do 51% attack (as you can reduce the "51%" PoW hashing power needed by at most 50% if you have 100% active weight). Still, it would not be expensive enough to attempt, anyway - that's my justification of lowering PoS trust to the level of PoW (I'd lower it even more if only it didn't cause another sort of problems, which it would). It's all about finding the right balance, anyway.
It's not a "good" or "bad" way. It's how the things should be. Preferred, but not enforced chain. For example, you can use own function of blocks share here, to maximize trust score for 10:1 chain and minimize it for another candidates.

Maybe, but your solution actually forces the whole network into running their own modified client in order to maximize profits - which, honestly, sucks hard. The non-programmer folk have a huge disadvantage here.

EDIT: Assuming that you actually publicly release such modified client, it essentially becomes enforced (who would intentionally lower their profits?). Also, it definitely does not solve the orphaning issue we're facing now. As I stated before, PoS is useless without there actually being something in stake...

Variable ROI isn't sufficient to prevent a malicious entity wanting to break the network entirely, anyway.
It's only a part of solution. It makes malicious activity to be a less danger for a network by increasing the share of coins participating in the network protection.

59% yearly interest for early adopters, sure. Screw the later-coming big investors when the PoS difficulty gets higher and interest lowers significantly. Good way to discourage promotion of the coin and thus adoption.

Even Bitcoin isn't that harsh - and it was designed with huge early-adopter rewards to encourage fast adoption.

Don't get me wrong, I'm not calling Novacoin an outright scam. Just don't agree with the economic model behind it.

Anyway, I've got the code changes ready. You're all invited to review them. https://github.com/saironiq/yacoin-cc/commit/acf917a2c42cb947b08a9a7878ceafd6045ea24c
Good example of simple != better statement. It will help you for one threat, but opens another hole. Actually, such fix is less secure than calculate block trust using an original algorithm. It can be forked without a significant part of stake or hashpower by running a parallel chain at lower PoS & PoW difficulties. Because it makes no difference between coindays consumed or hashpower wasted. One CPU is able to beat the entire network.
The same is true for Bitcoin. That's what the hardcoded checkpoints are for.
legendary
Activity: 3108
Merit: 1359
January 04, 2014, 08:39:22 AM
2) Enforcing a hybrid chain (with alternating PoW/PoS blocks) is IMO a bad idea as the protocol is set to 1-minute PoW and 10-minute PoS target. With my rules hybrid chain is the optimal way when trying to do 51% attack (as you can reduce the "51%" PoW hashing power needed by at most 50% if you have 100% active weight). Still, it would not be expensive enough to attempt, anyway - that's my justification of lowering PoS trust to the level of PoW (I'd lower it even more if only it didn't cause another sort of problems, which it would). It's all about finding the right balance, anyway.
It's not a "good" or "bad" way. It's how the things should be. Preferred, but not enforced chain. For example, you can use own function of blocks share here, to maximize trust score for 10:1 chain and minimize it for another candidates.

Variable ROI isn't sufficient to prevent a malicious entity wanting to break the network entirely, anyway.
It's only a part of solution. It makes malicious activity to be a less danger for a network by increasing the share of coins participating in the network protection.

Anyway, I've got the code changes ready. You're all invited to review them. https://github.com/saironiq/yacoin-cc/commit/acf917a2c42cb947b08a9a7878ceafd6045ea24c
Good example of simpler != better statement. It will help you for one threat, but opens another hole. Actually, such fix is less secure than calculate block trust using an original algorithm. It can be forked without a significant part of stake or hashpower by running a parallel chain at lower PoS & PoW difficulties. Because it makes no difference between coindays consumed or hashpower wasted. One CPU is able to beat the entire network.
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
January 04, 2014, 08:30:04 AM
Thank you for the work, I know there's a bounty for this, but a little extra was donated Smiley 
Thanks, much appreciated! Smiley

Just noticed the donation progressbar on yacexplorer ain't updating (guess that's because YAC is disabled on cryptsy, gah).
hero member
Activity: 693
Merit: 500
January 04, 2014, 08:16:25 AM
Thank you for the work, I know there's a bounty for this, but a little extra was donated Smiley 
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
January 04, 2014, 08:01:32 AM
Those changes look so simple ... They definitely are the least intrusive change to make.

When I was reviewing novacoin's code for their changes, they had a group of constants for each hard fork and it was done based on date instead of block height.  I'm not sure why they would choose that as I would think that's something a bit easier to get around to avoid using new rules, but they continue to use it.  I guess the thought is that most miners are honest and majority wins, right?

Yeah, if you use date/time instead of block height, the only way for dishonest nodes to wreak havoc is in the "time +- network-adjusted offset" period (a few hours at most) and it gets resolved pretty quickly after that. The block height method is less accurate, but more secure in this regard, that's why I've chosen it.
hero member
Activity: 693
Merit: 500
January 04, 2014, 07:57:46 AM
Those changes look so simple ... They definitely are the least intrusive change to make.  Thank you for leading the change.

When I was reviewing novacoin's code for their changes, they had a group of constants for each hard fork and it was done based on date instead of block height.  I'm not sure why they would choose that as I would think that's something a bit easier to get around to avoid using new rules, but they continue to use it.  I guess the thought is that most miners are honest and majority wins, right?
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
January 04, 2014, 07:15:03 AM
sr. member
Activity: 280
Merit: 250
January 04, 2014, 03:15:58 AM
Another issue is that YAC needs protection from 51% PoW attacks and with PoS trust=PoW trust we would loose such.

Bitcoin has a unique hash-algorithm so that the bitcoincommunity with their hardware can compute far more efficient than the rest of the world. This makes it extreme hard to attack it with standard computers. Cryptos like LTC are mined with a lot of GPU's which are also not that common.

A CPU on YAC has around the same hash/s as a GPU so a botnet could easily rape us without 51%protection from PoS.
This makes me belive that PoS trust=PoW trust isn't possible without some sort of checkpoints. Somehow I think we need some sort of CentralCheckpointing...

What do you guys think about the following:
A PoS blocks trust is limited to a singe PoWs unless it get's confirmed by CentralAuthority CA in the next block. Such CA only needs to send a txt to the owner of the previous block. This would limit the power of CA to reverse just a few blocks and could only be done once. Everyone that was online would notice such by having 2 different forks which both have a confirmed PoS block in it. Miners are usually always on.

In order to get rid of the Central thing we could allow everyone to send such txts for a fee. Only the authority with the biggest balance get`s accepted and will get a small % reward later on. A minimun for becoming a CA should prevent someone to fake beeing a legit member of our community and a thief would rather steal the whole adress.

If (or better since) this isn't enough damage for someone that abuses his power we could also go where it hurts. I don't see any problem if all miners would agree to never ever accept a txt from an adress that was used to scam the whole community by this. Since freezing funds would also be nessasary to have more than just one guy getting all the rewards this wouldn't go much further. Opening a box we should never even touch... Baaaaad.

EDIT:
Reward could be randomly given to one of the 10 biggest CA-candidates that participated based on howmuch coins they have. Since sending a txt from a wallet has to send the spare change to a new adress we shouldn't go by biggest balance, we should go by biggest output.

A cooldownperiod of [n(no of candidates)+5] PoS-blocks would allow all candidates to participate and reduce the damage a single wallet can do.

EDIT: Requires also no 2 PoS blocks touching.

sr. member
Activity: 274
Merit: 250
January 04, 2014, 01:25:47 AM
After reading a bit of the links etc., I'm thinking is there a clear description of the how POS works in YACoin? I read Sunny King's whitepaper a while ago and didn't find it clear at all and I don't know if YACoin works the same as PPCoin either.

Also, wasn't YACoin forked from Novacoin and should include fixes implemented "long time ago" in Novacoin?

Thanks for helping me understand more.  Smiley
hero member
Activity: 693
Merit: 500
January 03, 2014, 11:12:37 AM
#2 - +1.

I think this is what St. Bitt has been saying (sorry St. Bitt, I have difficulty following you), but the reading I did that really made sense was here : https://bitcointalksearch.org/topic/m.1276206 (great thread read actually!)

Would that not nullify any perceived advantage of PoS though and then you might as well go back to PoW?  PoS in this case would really only be serving the purpose of transaction processing between PoW which would again contain all the security responsibility no?

Yes, that is the point. Proof-of-stake allows stakeholders to send a signal that one fork is correct. However, conditional on you having the necessary stake, each signal is costless and you can simultaneously signal for multiple forks (i.e. you can take both sides of the bet without any additional cost). Each signal will earn a reward if the fork turns out to win. Therefore you might as well signal for as many forks as possible.

I've been agitating for costly signals to avoid this problem. If each signal is costly, then you would only send it out for chains that are likely to succeed. The cost would be paid in work.

For some reason, only my proof-of-stake proposal incorporates costly signaling. I don't understand why.  I'm trying to provoke an argument about whether costless signaling is a major problem.
I think it is. Therefore, I think PPC coin should be modified to make signaling costly.

legendary
Activity: 3108
Merit: 1359
January 03, 2014, 11:01:46 AM
Would you mind elaborating a bit?
1) You have to maximize an active weight. It doesn't matter how you do so, but you have to do it for any price (even for constant trolling from ignorant kids), because that's necessary to survive.

2) You have to make attack energy expensive, in order to prevent free attack attempts. Otherwise user will be able to use OpenVZ and 10000+ wallet copies to make 10000+ attempts without any problem.

NovaCoin maximizes active weight using a variable RoI and limited block reward. It also implements a variable trust idea, the consequtive PoS or PoW blocks has lower trust in comparison with a hybrid chain. Attacker have to generate a hybrid chain to make success.
Pages:
Jump to: