Author

Topic: Eligius: 0% Fee BTC, 105% PPS NMC, No registration, CPPSRB - page 208. (Read 1061449 times)

hero member
Activity: 616
Merit: 500
I got Satoshi's avatar!
Looks like this thread has turned into a lot of non-Eligius specific speculation... wonder if a mod could split some of this off.
Isn't this a self-moderated thread?

 Grin
legendary
Activity: 1223
Merit: 1006
Decided NMC would be better spent on more unicorn blood...
[/troll]

Meh, use chicken blood, much cheaper and works, too ^^

But a guy on IRC was selling it super cheap... 10000 NMC per liter.
legendary
Activity: 1484
Merit: 1007
spreadcoin.info
So, NMC payouts would be next?

SCNR  Grin

Decided NMC would be better spent on more unicorn blood...

[/troll]

thanks for your efforts wizkid, now I can relax and watch the first part of season 4 game of thrones...
not quite "unicorn blood" but bloody nonetheless. :-)

Looking forward to NMC
full member
Activity: 172
Merit: 100
Decided NMC would be better spent on more unicorn blood...
[/troll]

Meh, use chicken blood, much cheaper and works, too ^^
legendary
Activity: 1223
Merit: 1006
So, NMC payouts would be next?

SCNR  Grin

Decided NMC would be better spent on more unicorn blood...

[/troll]
full member
Activity: 172
Merit: 100
So, NMC payouts would be next?

SCNR  Grin
legendary
Activity: 1223
Merit: 1006
Failsafe is mostly over.  I'm going to make some more tweaks now that everything is caught up and verified which may cause a few minutes of failsafe here and there... but overall should be good to go.

I'll do my best to get a manual catch up done soon, also.
legendary
Activity: 1484
Merit: 1007
spreadcoin.info
full member
Activity: 157
Merit: 100
And to be back on the eligius topic... Seems the pool has finally caught up, we are out of failsafe! Cheesy
sr. member
Activity: 434
Merit: 250
Looks like this thread has turned into a lot of non-Eligius specific speculation... wonder if a mod could split some of this off.

My apologies for contributing to that. I hate it when it happens on other threads.
full member
Activity: 157
Merit: 100
Looks like this thread has turned into a lot of non-Eligius specific speculation... wonder if a mod could split some of this off.

Oh sorry. I'll try to stay on topic.
full member
Activity: 157
Merit: 100
Also, the current rules is essentially "undefined behavior"; it says to miners to mine on the first they recieved. However, miners may very well choose to accept the most accurate block, and it would not fork the chain, so they are totally free to choose what they want.

I never realized that. Thank you. I guess I assumed it was the block with the highest value (transactions) or some other tiebreak. So a miner may collect 2-3 blocks found at the same time, but will keep working on the one they heard about first. As soon as someone finds a 2nd block, the one they were working on becomes the "real" block since they have a longer chain and the other blocks are now orphaned.

If two miners working on different blocks also find 2nd blocks at the same time, they keep mining separate chains until someone first finds a 3rd block for one of those two chains?

Thanks for the education. Smiley

No, the current rule is really "You mine on the first topmost valid block you recieved", which means three things can happen:
a) You find another block, you broadcast it to the network; it becomes the longest chain.
b) Somebody else finds another block after the block you were working on, it becomes the longest chain and you start mining on that block.
c) Somebody else finds another block on top of another block as equally valid as the one you were working on, you discard your block and accept that chain as the new longest, and mine on top of it.

And yes, in the unlikely case another block was found simultaneously on both chains, both of them would continue to coexist.

But it must be noted that "simulteneaously" is relative here. Two blocks cannot be found at the exact same time. However, accounting network latency, it takes about 1 min for all the nodes to be aware of a new block, in that timeframe, if another block is found, some part of the network may hear about that other block first.

Finally, it must be be noted that work spent on those "alternate" chain is completely lost. Once a block is orphaned, nobody can claim it's reward. And since a potentially large fraction of the network spent time mining on blocks that were, ultimately, discarded, the apparent hashrate of the longest chain is diminished, which means, slower confirmations, and difficulty decrease.
legendary
Activity: 1223
Merit: 1006
Looks like this thread has turned into a lot of non-Eligius specific speculation... wonder if a mod could split some of this off.
sr. member
Activity: 434
Merit: 250
Also, the current rules is essentially "undefined behavior"; it says to miners to mine on the first they recieved. However, miners may very well choose to accept the most accurate block, and it would not fork the chain, so they are totally free to choose what they want.

I never realized that. Thank you. I guess I assumed it was the block with the highest value (transactions) or some other tiebreak. So a miner may collect 2-3 blocks found at the same time, but will keep working on the one they heard about first. As soon as someone finds a 2nd block, the one they were working on becomes the "real" block since they have a longer chain and the other blocks are now orphaned.

If two miners working on different blocks also find 2nd blocks at the same time, they keep mining separate chains until someone first finds a 3rd block for one of those two chains?

Thanks for the education. Smiley
full member
Activity: 196
Merit: 100
I get your point. Still, it would be relying on data external to the blockchain; and I believe it would be difficult to convince the devs of that.

We could always make our own NTP network.

At this point there's already a rudimentary clock synchronization protocol which is being used.  It just isn't a very good one.

Also, there is a whole problem of it being "unveriefiable"; that is, in case of a blockchain reorg, nodes would have to accept new "old" blocks, and there is no way to prove that their timestamp is true. However, that is a minor problem, because what we want is a fix for otherwise equally valid topmost block.

Also, the current rules is essentially "undefined behavior"; it says to miners to mine on the first they recieved. However, miners may very well choose to accept the most accurate block, and it would not fork the chain, so they are totally free to choose what they want.

Yes to both. Any part of the network could implement this, and would remain compatible with the rest. Once 50% of the network implemented it it'd be in the best interest of the rest to do so as well, but the only harm in not implementing it is that you'd be more likely to be on "the wrong side of the fork" in the case where two blocks are released near-simultaneously (which should be infrequent when the network is not under attack).  If two or three of the top pools got together, this could easily be reached.
full member
Activity: 157
Merit: 100
hero member
Activity: 711
Merit: 532
I'll work on namecoin more after I fix the code and while I wait for processing on some of this data...

Thanks, good to hear! I know there's a lot on your plate, and NMC is a small concern by comparison, but after a month it does start to add up for some of us.

Tip sent! Because, you know... bribery.
txid:c784a374deec98f637acf7c7413ba80398befe359dc89e1c1dd5f7c2bc299afc


full member
Activity: 196
Merit: 100
(This could probably be fixed with a soft fork.  If two blocks arrive at nearly the same time, take the one with the more accurate timestamp.  But that's not the current rule.)
It would be more complicated than that: How do you objectively what is the "right" time to compare blocks timestamps to? You would need to define a reference; which would introduce a single point of failure, and a single trusted entity, both of which are against the goals of bitcoin.

As far as how you objectively define the right time in a way which is not controlled by a single entity: https://en.wikipedia.org/wiki/Coordinated_Universal_Time and https://en.wikipedia.org/wiki/International_Atomic_Time

The current implementation rejects blocks that are more than a few minutes off according to the miners, and that appear to be "before" the latest block, because even without a central autority "built-in" the protocal, you can be pretty sure that all "good faithed" miners will agree on the current time within a few minutes. Such checks prevents an attack by which a miner would "fake" the timestamp to make the block appear having been far in the future on in the past to trick the difficulty retargetting algorythm to do stupid things, but it is not accurate enough to know if a block is "better" than another.

That's a start, but NTP accuracy is much better than "a few minutes".  Hell, a clock synced via NTP once per day is almost certainly going to be a whole lot more accurate than "a few minutes".  We can't close the gap completely.  But being able to delay a block by only a few seconds makes an attack a lot less likely to be successful than if you can delay a block by a few minutes.

"Good faithed" miners should be able to agree on the current time within a few seconds.  There's no good excuse for a miner's clock being off by dozens of seconds.
full member
Activity: 157
Merit: 100
(This could probably be fixed with a soft fork.  If two blocks arrive at nearly the same time, take the one with the more accurate timestamp.  But that's not the current rule.)
It would be more complicated than that: How do you objectively what is the "right" time to compare blocks timestamps to? You would need to define a reference; which would introduce a single point of failure, and a single trusted entity, both of which are against the goals of bitcoin.

The current implementation rejects blocks that are more than a few minutes off according to the miners, and that appear to be "before" the latest block, because even without a central autority "built-in" the protocal, you can be pretty sure that all "good faithed" miners will agree on the current time within a few minutes. Such checks prevents an attack by which a miner would "fake" the timestamp to make the block appear having been far in the future on in the past to trick the difficulty retargetting algorythm to do stupid things, but it is not accurate enough to know if a block is "better" than another.
legendary
Activity: 1223
Merit: 1006
No network wide hashrate stat could ever be as accurate as a pool-wide hashrate.

You can't sum all pool hashrates to get the total because of solo miners, private pools, lucky cpu miners, etc.
Jump to: