Pages:
Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 90. (Read 2591919 times)

newbie
Activity: 58
Merit: 0
Then I'd have to say there was a lingering bug of some sort because somewhere in the 20 minutes it must have gotten the work info from bitcoind since bitcoind is saying it's generating GBT with the CreateNewBlock message. Check if you have the p2pool logs prior to that block find for some kind of unhappiness there.
Indeed.  There is something wrong here, but I don't have much feedback other than empty block and logs that show processing work.  Then the logs look normal except for
Code:
2016-04-14 23:21:13.403123 > Block submittal result: False (u'duplicate') Expected: True

It may be some sort of bug.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/

You are sure it's your miner that found the block (I'm not familiar with if that message says you found the block or someone else did)?
There's something screwy going on because your bitcoind is offering transaction based work just before you found the block of 910k Perhaps for whatever reason your p2pool client kept building empty block work indefinitely after the previous block through some bug. Is your p2pool code modified in any way?

Yup. Positive it was it. I have logs from miner as well.  The p2pool node is not modified other than the front-end. The miner is an S7, and I have found valid blocks with tx in the block before.  I was running bitcoin core 0.12 at the time.
Then I'd have to say there was a lingering bug of some sort because somewhere in the 20 minutes it must have gotten the work info from bitcoind since bitcoind is saying it's generating GBT with the CreateNewBlock message. Check if you have the p2pool logs prior to that block find for some kind of unhappiness there.
newbie
Activity: 58
Merit: 0

You are sure it's your miner that found the block (I'm not familiar with if that message says you found the block or someone else did)?
There's something screwy going on because your bitcoind is offering transaction based work just before you found the block of 910k Perhaps for whatever reason your p2pool client kept building empty block work indefinitely after the previous block through some bug. Is your p2pool code modified in any way?

Yup. Positive it was it. I have logs from miner as well.  The p2pool node is not modified other than the front-end. The miner is an S7, and I have found valid blocks with tx in the block before.  I was running bitcoin core 0.12 at the time.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
What's in your bitcoin.conf ?

Code:
minrelaytxfee=0.0001500
blockmaxsize=919899
blockprioritysize=44308
limitfreerelay=6

I have found valid, tx containing blocks in the past..



Additionally, logs from bitcoind.  The time shows in UTC here, would that matter?

Code:
2016-04-15 03:20:49 CreateNewBlock(): total size 919823 txs: 1748 fees: 35821561 sigops 3928
2016-04-15 03:21:04 CreateNewBlock(): total size 919890 txs: 1742 fees: 36105460 sigops 3945
2016-04-15 03:21:13 UpdateTip: new best=000000000000000003828fbc61ad281aa2e298ed4a299abf36209a4725d51930  height=407355  log2_work=84.488361  tx=122495866  date=2016-04-15 03:20:49 progress=1.000000  cache=287.3MiB(138792tx)
You are sure it's your miner that found the block (I'm not familiar with if that message says you found the block or someone else did)?
There's something screwy going on because your bitcoind is offering transaction based work just before you found the block of 910k Perhaps for whatever reason your p2pool client kept building empty block work indefinitely after the previous block through some bug. Is your p2pool code modified in any way?
newbie
Activity: 58
Merit: 0
What's in your bitcoin.conf ?

Code:
minrelaytxfee=0.0001500
blockmaxsize=919899
blockprioritysize=44308
limitfreerelay=6

I have found valid, tx containing blocks in the past..



Additionally, logs from bitcoind.  The time shows in UTC here, would that matter?

Code:
2016-04-15 03:20:49 CreateNewBlock(): total size 919823 txs: 1748 fees: 35821561 sigops 3928
2016-04-15 03:21:04 CreateNewBlock(): total size 919890 txs: 1742 fees: 36105460 sigops 3945
2016-04-15 03:21:13 UpdateTip: new best=000000000000000003828fbc61ad281aa2e298ed4a299abf36209a4725d51930  height=407355  log2_work=84.488361  tx=122495866  date=2016-04-15 03:20:49 progress=1.000000  cache=287.3MiB(138792tx)
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
No. So, Why was that block empty?  I checked the node that block was mined on and it should have been completely full.  What gives???

Code:
2016-04-14 23:21:00.883567 New work for worker! Difficulty: 5346.855749 Share difficulty: 9605175.641964 Total block value: 25.358216 BTC including 1748 transactions
2016-04-14 23:21:12.763410 GOT BLOCK FROM MINER! Passing to bitcoind! https://blockchain.info/block/000000000000000003828fbc61ad281aa2e298ed4a299abf36209a4725d51930
2016-04-14 23:21:12.782751 GOT SHARE! 1DwXFhwiBGdsiqBxCYopMNkqZmZZUegnd8 25d51930 prev f4281eee age 11.90s
2016-04-14 23:21:13.353501 Skipping from block 52e336f67c1b0d339d5e7423595c60f169cd17bd24e5306 to block 3828fbc61ad281aa2e298ed4a299abf36209a4725d51930!
2016-04-14 23:21:13.403123 > Block submittal result: False (u'duplicate') Expected: True

What do I have misconfigured? ._.
What's in your bitcoin.conf ?
newbie
Activity: 58
Merit: 0
...anyway...



When P2Pool learns that there's a new block, it mines empty blocks until bitcoind gives it a block template.

The alternative to doing this would be to mine orphaned blocks rather than empty ones. :/

Check the times of the blocks:
Code:
2016-04-15 02:57:19.832312 UpdateTip: new best=0000000000000000052e336f67c1b0d339d5e7423595c60f169cd17bd24e5306  height=407354  log2_work=84.48832
  tx=122495865  date=2016-04-15 02:57:07 progress=1.000000  cache=4.7MiB(5564tx)
2016-04-15 03:21:13.214595 UpdateTip: new best=000000000000000003828fbc61ad281aa2e298ed4a299abf36209a4725d51930  height=407355  log2_work=84.48836
1  tx=122495866  date=2016-04-15 03:20:49 progress=1.000000  cache=51.3MiB(16114tx)
Doesn't look like it was immediately after a new block...

No. So, Why was that block empty?  I checked the node that block was mined on and it should have been completely full.  What gives???

Code:
2016-04-14 23:21:00.883567 New work for worker! Difficulty: 5346.855749 Share difficulty: 9605175.641964 Total block value: 25.358216 BTC including 1748 transactions
2016-04-14 23:21:12.763410 GOT BLOCK FROM MINER! Passing to bitcoind! https://blockchain.info/block/000000000000000003828fbc61ad281aa2e298ed4a299abf36209a4725d51930
2016-04-14 23:21:12.782751 GOT SHARE! 1DwXFhwiBGdsiqBxCYopMNkqZmZZUegnd8 25d51930 prev f4281eee age 11.90s
2016-04-14 23:21:13.353501 Skipping from block 52e336f67c1b0d339d5e7423595c60f169cd17bd24e5306 to block 3828fbc61ad281aa2e298ed4a299abf36209a4725d51930!
2016-04-14 23:21:13.403123 > Block submittal result: False (u'duplicate') Expected: True

What do I have misconfigured? ._.
hero member
Activity: 578
Merit: 501
Priceless...

Somehow, we got way off-topic.

Not really. The point is p2pool was written in python when mining was just about building a simple shelf where it suited the job perfectly with the minimum amount of effort. Unfortunately these days building a simple shelf doesn't cut it.

Point taken.
legendary
Activity: 1258
Merit: 1027
This never gets tired, even if it does misspell assembly https://i.imgur.com/GHxmrsR.jpg

This is classic! Smiley
legendary
Activity: 3430
Merit: 3080
This never gets tired, even if it does misspell assembly

Extra lols at Haskell, functional programming is terrifying to contemplate (to non-professionals like me anyway). Bear in mind that they probably did know how to spell "assembly", it was more likely their typing that let them down.

 @in2tactics: it's actually easier just to say "I got it wrong". Neither you or I are infallible, it's all about the way you recover from your mistakes; gracefully, or haughtily. I get things wrong too. But I stop digging, immediately.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Priceless...

Somehow, we got way off-topic.
Not really. The point is p2pool was written in python when mining was just about building a simple shelf where it suited the job perfectly with the minimum amount of effort. Unfortunately these days building a simple shelf doesn't cut it.
hero member
Activity: 578
Merit: 501
This never gets tired, even if it does misspell assembly


Priceless...

Somehow, we got way off-topic.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
This never gets tired, even if it does misspell assembly
hero member
Activity: 578
Merit: 501
So you're saying you agree with everything I say, yet you still maintain your position? Right Roll Eyes

I said, "I do generally agree with your statement" and that is definitely not the same thing as agreeing with everything you say.

Forget maintainability, how about the type/level of expertise that it takes to use the language competently to begin with? It takes genuine comprehension of broadly non-abstract concepts (like pointers), as well as that of abstract concepts like template functions or lambda logical operations. You could train perhaps 10 people to write good Java in the time it takes to train 1 person to write good C++.

How about the readability of the code? Fortran or Cobol are the only tools you can use for certain jobs, and they're difficult to read for a stranger to those languages.

What about development time? If you're writing software without fail-safe requirements, do you really need to spend the time/money on using a low-level language? You could end up spending 90% of that time/money looking for memory leaks.

So, come on now. You can't reconcile "some languages are better than others, absolutely" with "well, some are better suited to a given development context, others to a different context". That's what I call contradicting oneself.

I think you are missing the intent of my original inquiry about Bitcoin and C++. It was never intended to be an analysis of the languages used or not used, but an analysis of the individuals and their choice of a particular language over another. Additionally, I only implied ASM was better than other languages, absolutely. That statement was made in the specific context of "potential for most optimal code at run time" and I thought you would have understood that based on the sarcasm in your original reply.
legendary
Activity: 3430
Merit: 3080
So you're saying you agree with everything I say, yet you still maintain your position? Right Roll Eyes


Forget maintainability, how about the type/level of expertise that it takes to use the language competently to begin with? It takes genuine comprehension of broadly non-abstract concepts (like pointers), as well as that of abstract concepts like template functions or lambda logical operations. You could train perhaps 10 people to write good Java in the time it takes to train 1 person to write good C++.

How about the readability of the code? Fortran or Cobol are the only tools you can use for certain jobs, and they're difficult to read for a stranger to those languages.

What about development time? If you're writing software without fail-safe requirements, do you really need to spend the time/money on using a low-level language? You could end up spending 90% of that time/money looking for memory leaks.


So, come on now. You can't reconcile "some languages are better than others, absolutely" with "well, some are better suited to a given development context, others to a different context". That's what I call contradicting oneself.
hero member
Activity: 578
Merit: 501
That goes without saying.

No it doesn't, I was being sarcastic.

Your sarcasm was not lost on me; however, it does go without saying. It is well known that higher level programming languages have a tendency to add their own little nuances that when compiled to machine language can contribute to less optimal code. The effects can be negligible or they can be significant. It all depends on the programmer's mastery and understanding of the used language in order to minimize the potential effects.

There are no "better" and "worse" programming languages in the abstract, only good choices for specific cases.

I do generally agree with your statement and as kano pointed out "maintainability" is a major factor especially when dealing with larger and more complex programs. Do not confuse me with those individuals that ride the python hate train. I happen to like python personally and I use it frequently.
legendary
Activity: 3430
Merit: 3080
why on earth is Bitcoin written in C++? I thought C would have been the first and better choice.

Hard lol at "better" and "worse" programming languages. Presumably all code for all devices would be "better" if it was written in machine code? Cheesy

That goes without saying.

No it doesn't, I was being sarcastic.

There are no "better" and "worse" programming languages in the abstract, only good choices for specific cases. And so Kano's comment about python being a "crappy" language was not correct to begin with, he just doesn't use it for his serious work because he works on software that needs something lower-level. And that he has a massive superiority/inferiority complex (although this doesn't change the fact that I love him dearly Wink)
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
Kano, you're being a bit of a jerk here: Luck is luck, and you know the numbers: Your pool has a .9% fee, therefore someone mining there will make .9% less than mining on P2pool. (edit: mining p2pool without a fee. p2pool ops can charge fees)

You are welcome to say that your pool has had a lucky streak, but please do not make the error of misleading people that just because your (or any other) pool has had a good run of luck that this means one whit of anything in terms of future performance.

Luck is luck, and the luck fairy picks blocks at random. People fall for selective bias all the time (remember the good streaks, forget the bad ones) but reality exists.

I've no idea why you posted a completely unrelated comment about what I've posted.

There is no luck involved in code that produces empty blocks on purpose.
P2pool is coded to produce empty blocks on every block change.

Where exactly did I make any comment recently at all about p2pool luck?
You did, not me.
legendary
Activity: 2968
Merit: 1198
Kano, you're being a bit of a jerk here: Luck is luck, and you know the numbers: Your pool has a .9% fee, therefore someone mining there will make .9% less than mining on P2pool. (edit: mining p2pool without a fee. p2pool ops can charge fees)

That assumes they are equally efficient. Efficiencies can sneak in on both sides so it is hard to say really.

Agree that luck is luck. IMO the luck on p2pool is marginally acceptable even at the current hash rate for people who aren't impatient cry babies, but its getting close to the point where it isn't really viable unfortunately.
legendary
Activity: 3164
Merit: 2258
I fix broken miners. And make holes in teeth :-)
Kano, you're being a bit of a jerk here: Luck is luck, and you know the numbers: Your pool has a .9% fee, therefore someone mining there will make .9% less than mining on P2pool. (edit: mining p2pool without a fee. p2pool ops can charge fees)

You are welcome to say that your pool has had a lucky streak, but please do not make the error of misleading people that just because your (or any other) pool has had a good run of luck that this means one whit of anything in terms of future performance.

Luck is luck, and the luck fairy picks blocks at random. People fall for selective bias all the time (remember the good streaks, forget the bad ones) but reality exists.
Pages:
Jump to: