Bitcoin Forum
December 10, 2016, 01:06:36 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 »
  Print  
Author Topic: p2pool - Decentralized, Absolutely DoS-Proof, Pool Hopping-Proof Pool [archival]  (Read 31755 times)
BusmasterDMA
Member
**
Offline Offline

Activity: 118



View Profile
January 19, 2012, 04:21:33 PM
 #461

Thanks to the devs of P2Pool for making a fine product and to Broken and Eleuthria for answering my questions.

Bears.  Beets.  Battlestar Galactica.  Bitcoin.
1481375196
Hero Member
*
Offline Offline

Posts: 1481375196

View Profile Personal Message (Offline)

Ignore
1481375196
Reply with quote  #2

1481375196
Report to moderator
1481375196
Hero Member
*
Offline Offline

Posts: 1481375196

View Profile Personal Message (Offline)

Ignore
1481375196
Reply with quote  #2

1481375196
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481375196
Hero Member
*
Offline Offline

Posts: 1481375196

View Profile Personal Message (Offline)

Ignore
1481375196
Reply with quote  #2

1481375196
Report to moderator
gnar1ta$
Donator
Hero Member
*
Offline Offline

Activity: 756


View Profile
January 19, 2012, 04:24:10 PM
 #462

Correct, each share with p2pool is equivalent to 190 shares at a regular pool currently.  Over the long run, you should see a similar payout, but it will involve higher variance.  You may see extremely high payouts if you get lucky on a share in a short p2pool round, or you may get no payout because you couldn't produce a diff-190 share during the round.

Ha nice sales pitch from the guy running a no variance pool.  Tongue +1 on the marketing.

Losing hundreds of Bitcoins with the best scammers in the business - BFL, Avalon, KNC, HashFast.
slush
Legendary
*
Offline Offline

Activity: 1358



View Profile WWW
January 19, 2012, 04:40:11 PM
 #463

well there is no such thing as partially solved.  hashes which meet difficulty target for p2pool but don't solve the block are a share.

Oh, really? I didn't know that! Wink :-P By partially solved block I meant a share or generally a proof of work, of course. I wanted to avoid "share" because it is used for diff1 work used in standard pools, but it doesn't matter now.

Quote
As far as a malicious user producing an invalid block well that is possible but it is no worse than block witholding that a  malicious can do in a normal pool

Thank you for the answer, this is exactly what I asked and also what I was affraid of. Actually there's big difference between block withholding and producing invalid blocks. For performing block witholding your malicious activity is needed to BREAK the pool. But when the bitcoin rules will change (like p2sh in the blockchain), your activity is needed to NOT BREAK the pool.

Maybe I'm missing something, but rolling P2Pool to p2sh will be really painfull unless I'm missing something. I'm asking because I'm working on getwork API replacement and I hit similar issue like I'm discussing here, so I'm asking how other people solved the issue.

[qupte]
Blocks wouldn't be rejected.  If the bitcoind is out of date it will see p2sh transactions as invalid and not include them.  The block produced would still be valid much like mining a completely empty (except coinbase) block is valid now.
[/quote]

Well, this isn't so easy. When there will be first p2sh transaction included in main blockchain, outdated client will make a branch because first block with p2sh won't be valid in outdated bitcoind...

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
January 19, 2012, 04:51:22 PM
 #464

Well, this isn't so easy. When there will be first p2sh transaction included in main blockchain, outdated client will make a branch because first block with p2sh won't be valid in outdated bitcoind...

True.  I misunderstood if that was your meaning.   

The issue of being on a fork is more a client/bitcoind issue.

As long as 51% of p2pool is updated then the users who are on the fork will have shares rejected by p2pool as they are not working on the proper block (and referencing the proper prior block).  User would see share count stay at 0 and that should provide a reason to upgrade.

In this respect the user is no different than a solo miner or pool which doesn't upgrade.

Much like p2sh support would require upgrades by 51% of mining pools (by hashpower) it would require upgrades by 51% of miners in p2pool (by hashpower).

Quote
Maybe I'm missing something, but rolling P2Pool to p2sh will be really painfull unless I'm missing something. I'm asking because I'm working on getwork API replacement and I hit similar issue like I'm discussing here, so I'm asking how other people solved the issue.

Share the issues you are having.  p2sh will require changes but I don't think it creates any unique problems to p2pool.  As long as p2pool daemon is p2sh compatible AND 51% of hashpower is running p2sh aware version the p2pool should continue to function properly.



slush
Legendary
*
Offline Offline

Activity: 1358



View Profile WWW
January 19, 2012, 05:04:53 PM
 #465

As long as 51% of p2pool is updated then the users who are on the fork will have shares rejected by p2pool as they are not working on the proper block (and referencing the proper prior block).  User would see share count stay at 0 and that should provide a reason to upgrade.

Well, this is what I wanted to know. So shares won't be calculated for miners with "wrong" bitcoind version.

Quote
In this respect the user is no different than a solo miner or pool which doesn't upgrade.

There is only the possibility that >50% of bitcoind's network will support p2sh, but <=50% of P2Pool users won't support p2sh. Then even user who updated his bitcoind will mine to the black hole, because his shares will be rejected by p2pool, although they would be valid on bitcoin network itself.

I'm not saying it's bad, I'm just sumarizing how I understand it.

Quote
Share the issues you are having.

I'm working on the mining protocol for the pools, where miners (workers) will have the power to choose transactions what they want to include into the block. I started to think about this seriously after I saw the criticism in op_eval and p2sh discussion that pool operators are holding too much power.

Actually I'm on the track of protocol which will allow full democracy of the bitcoin miners like in p2pool, but still with possible zero variance (even pps with difficulty 1 payout scheme), which is something what is missing on p2pool. It should be also DDoS resilient as there won't be any real benefit in attacking the server which will just collect shares and stats...

Thanks to this, I'm solving some potential issues with outdated miners. Of course witholding attacks (and other attacks) are still possible on the pools, but I just want to be sure that honest miners just using outdated software cannot break the pool itself. I think that I already found the solution, but I need to think about it a little more. But I hope that I'll publish my proposal soon...

broken
Jr. Member
*
Offline Offline

Activity: 56


View Profile
January 19, 2012, 05:05:32 PM
 #466

What I did:
I wrote a private webpage that gets information from bitcoind, p2pool and miners (cgminer) via json rpc and some bash scripts.
Also I get an email to my android phone whenever p2pool finds a block Smiley

How do I get something like this?  I have remote rigs in an area prone to power outages and usually rely on pool miner idle alerts for status, which I don't have with p2pool.

Im using a cron job that polls the cgminer json rpc interface. Same with bitcoind.
For p2pool I parse the console output with a python expect script.
P2pool now has a json rpc interface too, but I hadn't time to use that yet.
The date is collected and written to a database on a webserver.

In case of an power outage i only notice that the last timestamp for the data on the webserver is old.

I also use OpenVPN & ssh to access my miners remotley


@ BusmasterDMA

with current pool difficulty 190 and your hashrate of 22MH/s it takes about 12 hours to solve one share.

Thank you.  So with a GPU hashing at 400MH/s should I expect to see a share per ~0.6hr?  I assume one share in this pool is not equivalent to a share in another pool such as Eligius, correct?  I should still expect a similar payout over time though, even though the rate of shares is not the same?

Correct, each share with p2pool is equivalent to 190 shares at a regular pool currently.  Over the long run, you should see a similar payout, but it will involve higher variance.  You may see extremely high payouts if you get lucky on a share in a short p2pool round, or you may get no payout because you couldn't produce a diff-190 share during the round.

Thats not completely correct. P2pool payout is always based on the shares submitted in the last 24h. After a "round" ends the shares are not reset. If you only submit 1 share in 24h and there are 3 blocks solved in those 24h, you get 3 payouts. This decreases variance and makes p2pool hop proof.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
January 19, 2012, 05:21:39 PM
 #467

Well, this is what I wanted to know. So shares won't be calculated for miners with "wrong" bitcoind version.

Well I haven't tested it but I believe this would be handled the same as a miner being on an orphaned chain or fork.
When a miner submits a share he also submits the data in the block header.  Other miners will see the incorrect prior block hash and reject it as an invalid share.  They won't know "why" it won't be a special p2sh detection it will simply be miner is using a wrong previous block so share is invalid.

The one exception would be if <51% of miners (by hashing power) have upgraded.  Then the consensus in the share chain would be the p2sh blocks are invalid and those miners would get no credit and invalids.


Quote
There is only the possibility that >50% of bitcoind's network will support p2sh, but <=50% of P2Pool users won't support p2sh. Then even user who updated his bitcoind will mine to the black hole, because his shares will be rejected by p2pool, although they would be valid on bitcoin network itself.

Correct.  It will be essential to ensure that at least 51% of miners upgrade.  If they don't then likely p2pool will quickly disentigrate (no different than a "normal pool" who's admin doesn't upgrade).

For example ars pool has been running on auto-pilot w/ admin mostly AWOL.  If that is still the case when p2sh is implemented then that pool will implode.



I'm not saying it's bad, I'm just sumarizing how I understand it.

Quote
I'm working on the mining protocol for the pools, where miners (workers) will have the power to choose transactions what they want to include into the block. I started to think about this seriously after I saw the criticism in op_eval and p2sh discussion that pool operators are holding too much power.

Actually I'm on the track of protocol which will allow full democracy of the bitcoin miners like in p2pool, but still with possible zero variance (even pps with difficulty 1 payout scheme), which is something what is missing on p2pool. It should be also DDoS resilient as there won't be any real benefit in attacking the server which will just collect shares and stats...

Awesome.  It is something we need.  p2pool is a great resource but for small miners it will be an imperfect fit.  As p2pool gets larger the difficulty of shares gets higher.  At say 500 GH/s difficulty will be ~1200.  A 400MH/s miner will have an average share time of 3 hours +.  The 95% confidence around that is 1 to 12 hours.  That will be a tough sell. There are potential solutions but I think "traditional pools" aren't going away. 

Quote
Thanks to this, I'm solving some potential issues with outdated miners. Of course witholding attacks (and other attacks) are still possible on the pools, but I just want to be sure that honest miners just using outdated software cannot break the pool itself. I think that I already found the solution, but I need to think about it a little more. But I hope that I'll publish my proposal soon...

Well with central control wouldn't it be possible to just include in the API a minimum supported version for the bitcoind & p2pool daemon equivalent?  Miner's report their bitcoind version and server rejects work from miners below minimum supported version. That won't prevent malicious user but it will prevent users accidentally running incompatible code.




Gabi
Legendary
*
Offline Offline

Activity: 1050


View Profile
January 19, 2012, 05:31:50 PM
 #468

I suppose GUIMiner is not fine for p2pool. You need the updated poclbm (for the 1 second thing) but...you can't update the miner of guiminer, so...
slush
Legendary
*
Offline Offline

Activity: 1358



View Profile WWW
January 19, 2012, 05:35:35 PM
 #469

Well with central control wouldn't it be possible to just include in the API a minimum supported version for the bitcoind & p2pool daemon equivalent?  Miner's report their bitcoind version and server rejects work from miners below minimum supported version. That won't prevent malicious user but it will prevent users accidentally running incompatible code.

I was thinking about it too, but I discarded it thanks to my experience with "user agent" in current getwork API. It's almost impossible to filter any useful information because some miners are filling it with garbage. For example, people patching their miners don't change miner identification, so I often see that miner advertising itself as "poclbm/somenumber" behaves differently than real poclbm in this version.

But I think I found cleaner solution using prevhash. prevhash from local bitcoind is giving exactly the information which pool needs to check if client is using correct blockchain, even if he's using some weird home-baked miner with manually entered miner/bitcoind version. It's pretty long story, but I hope it will be clear from the proposed protocol (FYI built on the Stratum infrastructure).

Mike Hearn
Legendary
*
Offline Offline

Activity: 1526


View Profile
January 19, 2012, 05:46:35 PM
 #470

In theory you can have multiple instances of p2pool that split and merge to keep difficulty low.

However, if a way can be found of adapting existing pools to not centralize the vote, and big pools implement it, that is a superb solution as well.
coretechs
Donator
Sr. Member
*
Offline Offline

Activity: 362



View Profile
January 19, 2012, 08:32:38 PM
 #471

I've been playing around with p2pool and I think it's a fantastic and absolutely necessary idea.  As bitcoin grows we really need to take precautions to preventing a 51% attack.  Any criminal/government/hacker with the resources could easily DDOS a subset of the major pools and compromise or take-over the largest remaining pool.  I sincerely hope p2p pooled mining becomes the majority of hashing power in the network this year.

Joined with all my miners.

http://bitcoindoc.com - The Rise and Rise of Bitcoin | http://nxtportal.org - Nxt blockchain explorer
jojo69
Hero Member
*****
Offline Offline

Activity: 728



View Profile
January 21, 2012, 02:14:42 AM
 #472

big names knocking around in here, I feel stupid asking, but I agree with the above poster that this is absolutely where we need to go...

Is there a "P2Pool for dummies" howto, preferably with a big red "start mining with P2Pool now" button?

This is not some pseudoeconomic post-modern Libertarian cult, it's an un-led, crowd-sourced mega startup organized around mutual self-interest where problems, whether of the theoretical or purely practical variety, are treated as temporary and, ultimately, solvable.
Censorship of e-gold was easy. Censorship of Bitcoin will be… entertaining.
jojo69
Hero Member
*****
Offline Offline

Activity: 728



View Profile
January 21, 2012, 02:36:23 AM
 #473


The first post in the thread outlines how to get started. Give it a shot and ask if you run into trouble.

I am sorry, I had read the first post before I asked...might as well be in FORTRAN

I am 100% down with the politics/economics, I am good with hardware, I would rather chew glass than break on the software config...I will be here when y'all can port it out to an idiot.

You're talking to a guy still using GUIMiner

This is not some pseudoeconomic post-modern Libertarian cult, it's an un-led, crowd-sourced mega startup organized around mutual self-interest where problems, whether of the theoretical or purely practical variety, are treated as temporary and, ultimately, solvable.
Censorship of e-gold was easy. Censorship of Bitcoin will be… entertaining.
gnar1ta$
Donator
Hero Member
*
Offline Offline

Activity: 756


View Profile
January 21, 2012, 02:56:41 AM
 #474

Is there a "P2Pool for dummies" howto, preferably with a big red "start mining with P2Pool now" button?

Why don't we just start with what OS are you using and how many miners?

Losing hundreds of Bitcoins with the best scammers in the business - BFL, Avalon, KNC, HashFast.
LightRider
Legendary
*
Offline Offline

Activity: 1488


I advocate the Zeitgeist Movement & Venus Project.


View Profile WWW
January 21, 2012, 03:15:19 AM
 #475

Latest Win32 binary continues to crash bitcoin-qt, even 0.5.2.

Bitcoin combines money, the wrongest thing in the world, with software, the easiest thing in the world to get wrong.
Visit www.thevenusproject.com and www.theZeitgeistMovement.com.
gnar1ta$
Donator
Hero Member
*
Offline Offline

Activity: 756


View Profile
January 21, 2012, 03:28:40 AM
 #476

Latest Win32 binary continues to crash bitcoin-qt, even 0.5.2.

qt is the GUI version right? I think that is addressed here https://bitcointalk.org/index.php?topic=18313.msg696459#msg696459 You just need to use bitcoind instead of bitcoin-qt.

Losing hundreds of Bitcoins with the best scammers in the business - BFL, Avalon, KNC, HashFast.
LightRider
Legendary
*
Offline Offline

Activity: 1488


I advocate the Zeitgeist Movement & Venus Project.


View Profile WWW
January 21, 2012, 04:04:12 AM
 #477

Latest Win32 binary continues to crash bitcoin-qt, even 0.5.2.

qt is the GUI version right? I think that is addressed here https://bitcointalk.org/index.php?topic=18313.msg696459#msg696459 You just need to use bitcoind instead of bitcoin-qt.

Yes, I'm aware. I just wanted to test the latest versions out.

Bitcoin combines money, the wrongest thing in the world, with software, the easiest thing in the world to get wrong.
Visit www.thevenusproject.com and www.theZeitgeistMovement.com.
jojo69
Hero Member
*****
Offline Offline

Activity: 728



View Profile
January 21, 2012, 06:11:49 AM
 #478

Is there a "P2Pool for dummies" howto, preferably with a big red "start mining with P2Pool now" button?

Why don't we just start with what OS are you using and how many miners?

I appreciate your patience, perhaps we should split a thread off however, serious coders are dealing with serious stuff here, I gather from skimming some of it.  It is not my intention to get in the way.

This is not some pseudoeconomic post-modern Libertarian cult, it's an un-led, crowd-sourced mega startup organized around mutual self-interest where problems, whether of the theoretical or purely practical variety, are treated as temporary and, ultimately, solvable.
Censorship of e-gold was easy. Censorship of Bitcoin will be… entertaining.
Brunic
Hero Member
*****
Offline Offline

Activity: 633



View Profile
January 21, 2012, 08:39:17 AM
 #479

Is there a "P2Pool for dummies" howto, preferably with a big red "start mining with P2Pool now" button?

Why don't we just start with what OS are you using and how many miners?

I appreciate your patience, perhaps we should split a thread off however, serious coders are dealing with serious stuff here, I gather from skimming some of it.  It is not my intention to get in the way.

No, I mean, it seems complicated, but I was surprised how simple it is. Once you know how to do it, it is really straightforward.

But like he said, we need which OS do you use (Windows or Linux), and how many mining rigs do you have (1 or many)?
SkRRJyTC
Legendary
*
Offline Offline

Activity: 966


View Profile
January 21, 2012, 02:48:57 PM
 #480


The first post in the thread outlines how to get started. Give it a shot and ask if you run into trouble.

I am sorry, I had read the first post before I asked...might as well be in FORTRAN

I am 100% down with the politics/economics, I am good with hardware, I would rather chew glass than break on the software config...I will be here when y'all can port it out to an idiot.

You're talking to a guy still using GUIMiner

Well, it's obviously not as simple as GUIMiner.

I wish I could convince you that it only takes a bit of work to get it up and running, but I know it can be difficult for someone who isn't comfortable with it.

If there was a more detailed step by step instruction manual that basically outlined every single step required, would you consider mining for P2Pool?

One where I could literally copy paste the needed commands and click direct download links... sounds great! Id switch.  Although I think it would be better if this could somehow be integrated with GUIMiner... I would guess that alot of the bigger pools miners use GUIMiner because its easy (same reason they use the bigger pools, its easy)
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!