Bitcoin Forum
December 08, 2016, 08:35:22 PM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 [79] 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ... 744 »
  Print  
Author Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool  (Read 2032919 times)
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
March 24, 2012, 04:28:53 AM
 #1561

Need clarification on how p2pool builds a block header.

Does this sound right?
1) p2ool uses RPC call "getmemorypool" to get block components from bitcoind
2) p2pool generates coinbase transaction from current sharechain
3) p2pool generates merkle tree (combining tx from bitcoind w/ coinbase from sharechain).
4) p2pool issues block headers to miners via getwork call (prior block, timestamp, merkle tree root, difficulty)

Right?  Wrong?  Clarifications?
1481229322
Hero Member
*
Offline Offline

Posts: 1481229322

View Profile Personal Message (Offline)

Ignore
1481229322
Reply with quote  #2

1481229322
Report to moderator
1481229322
Hero Member
*
Offline Offline

Posts: 1481229322

View Profile Personal Message (Offline)

Ignore
1481229322
Reply with quote  #2

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

Posts: 1481229322

View Profile Personal Message (Offline)

Ignore
1481229322
Reply with quote  #2

1481229322
Report to moderator
1481229322
Hero Member
*
Offline Offline

Posts: 1481229322

View Profile Personal Message (Offline)

Ignore
1481229322
Reply with quote  #2

1481229322
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
March 24, 2012, 03:21:39 PM
 #1562

Need clarification on how p2pool builds a block header.

Does this sound right?
1) p2ool uses RPC call "getmemorypool" to get block components from bitcoind
2) p2pool generates coinbase transaction from current sharechain
3) p2pool generates merkle tree (combining tx from bitcoind w/ coinbase from sharechain).
4) p2pool issues block headers to miners via getwork call (prior block, timestamp, merkle tree root, difficulty)

Right?  Wrong?  Clarifications?

Nobody?  

OK how about 1 BTC bounty
a) verify and/or correct the above execution flow above.
b) provide filename and line # of code (p2pool github) where p2pool pulls works from bitcoind.
c) provide fielname and line # of code (p2pool github) where p2pool modifies work from bitcoind to include coinbase reward split.

forrestv
Hero Member
*****
Offline Offline

Activity: 510


View Profile
March 24, 2012, 03:34:39 PM
 #1563

Need clarification on how p2pool builds a block header.

Does this sound right?
1) p2ool uses RPC call "getmemorypool" to get block components from bitcoind
2) p2pool generates coinbase transaction from current sharechain
3) p2pool generates merkle tree (combining tx from bitcoind w/ coinbase from sharechain).
4) p2pool issues block headers to miners via getwork call (prior block, timestamp, merkle tree root, difficulty)

Right?  Wrong?  Clarifications?

Nobody?  

OK how about 1 BTC bounty
a) verify and/or correct the above execution flow above.
b) provide filename and line # of code (p2pool github) where p2pool pulls works from bitcoind.
c) provide fielname and line # of code (p2pool github) where p2pool modifies work from bitcoind to include coinbase reward split.



That's correct. P2Pool calls "getmemorypool" from p2pool.main.getwork (main.py line 30) and the generation transaction for a share is computed in p2pool.data.Share.generate_transaction (data.py lines 130-145 and 164). I have to say.. I don't think this should be that hard to find.

EDIT: Some more details: The current work from bitcoind is held in the current_work and current_work2 variables in main.py. When mining for a share, generate_transaction is called from WorkerBridge.get_work (line 535-554) in main.py. When a share is being validated, generate_transaction is called from Share.check in data.py (line 238).

P2Pool actually combines everything into a work unit on lines 581-588 in main.py.

EDIT EDIT: I think the reason you didn't get an answer is that most people were sleeping in between your two posts.. I was.

1J1zegkNSbwX4smvTdoHSanUfwvXFeuV23
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
March 24, 2012, 04:30:41 PM
 #1564

One last question(s)?

How does p2pool get updated work? 
The Bitcoind RPC doesn't support asyncronous calls does it (i.e bitcoind just sends work on a block change)?
Does it just continually poll bitcoind and check for changes?  Every x seconds?

1 BTC sent (I figured a bounty would get more detailed answers then just "yeah" or "I think so" Smiley )
c9cd269fe070ac3df98c23c965637910916e5e5223da6e8370afa04c6fde2b81
forrestv
Hero Member
*****
Offline Offline

Activity: 510


View Profile
March 24, 2012, 04:33:37 PM
 #1565

No, it connects to bitcoind over the P2P port and listens for "inv" block messages. So, yes, it's asynchronous.

1J1zegkNSbwX4smvTdoHSanUfwvXFeuV23
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
March 24, 2012, 04:51:49 PM
 #1566

No, it connects to bitcoind over the P2P port and listens for "inv" block messages. So, yes, it's asynchronous.

Ahh smart.  

So if I am understanding right it is (to update my high level flow):
0) p2pool detects "inv" message on bitcoin port.
1) p2ool uses "getmemorypool" bitcoind RPC call to get block components.
2) p2pool generates coinbase transaction (reward split) from current sharechain
3) p2pool generates merkle tree (combining tx from bitcoind w/ coinbase from sharechain).
4) p2pool issues block headers to miners as they request work via getwork call.

One last "last question".
inv messages can contains things objects other than blocks (like tx broadcast from other nodes).  
Does p2pool only make getmemorypool request based on inv messages about blocks?
Is so that means the "work" (i.e. set of tx) is fixed until the next block right? (No picking up intra-block tx as they are broadcast).

And yeah I could have look it all up in the code but I got a lot on my plate right now so thank you for explaining it all (and providing cites).
Ente
Legendary
*
Offline Offline

Activity: 1834



View Profile
March 24, 2012, 05:20:16 PM
 #1567

I am restarting my p2pool every few hours to test and config.
Have some questions about the sharechain:

First, it took me around two days to verify all 17000 shares. It seems to have some influence, merged mining in a second instance seemed to not work while verifying?

I had around 17000 shares in the sharechain, all verified finally. I started a new instance, which loaded 25000 shares. When it was up, I stopped the first instance. Tjis is what I caught in the second instance after maybe two minutes:

Quote
2012-03-24 18:13:12.926276 P2Pool: 18121 shares in chain (17488 verified/18125 total) Peers: 10 (0 incoming)
[..]
2012-03-24 18:13:15.121819 New work for worker! Difficulty: 1.000000 Share difficulty: 1000.000177 Total block value: 50.029500 BTC including 19 transactions
2012-03-24 18:13:16.006935 P2Pool: 17851 shares in chain (17488 verified/17855 total) Peers: 10 (0 incoming)

So now I have three possible numbers for the size of the sharechain: 17000, 18000, 25000. Strange?

Well, I just post this out of curiosity, as it doesnt seem to influence (once the sharechain is verified at least).

Ente
forrestv
Hero Member
*****
Offline Offline

Activity: 510


View Profile
March 24, 2012, 06:06:37 PM
 #1568

DeathAndTaxes: Yes, it only listens for block invs, but also polls getmemorypool occasionally, so it does update the txs.

Ente: The share count varying is normal. Peers only exchange blocks of 1000 shares, when you start P2Pool, it loads more shares than it needs, and last, other peers that are downloading the sharechain may rebroadcast old shares that your node remembers for a while.

1J1zegkNSbwX4smvTdoHSanUfwvXFeuV23
Ente
Legendary
*
Offline Offline

Activity: 1834



View Profile
March 24, 2012, 06:10:02 PM
 #1569

DeathAndTaxes: Yes, it only listens for block invs, but also polls getmemorypool occasionally, so it does update the txs.

Ente: The share count varying is normal. Peers only exchange blocks of 1000 shares, when you start P2Pool, it loads more shares than it needs, and last, other peers that are downloading the sharechain may rebroadcast old shares that your node remembers for a while.

Interesting. Confusing, slightly, but still interesting. :-)

Thank you again for clarifying!

Ente
echris1
Full Member
***
Offline Offline

Activity: 124


View Profile
March 24, 2012, 08:06:35 PM
 #1570

Did another big subsidy go out recently?  I have a mined payment that doesn't match up to any block.
Krak
Hero Member
*****
Offline Offline

Activity: 591



View Profile WWW
March 24, 2012, 08:57:16 PM
 #1571

Did another big subsidy go out recently?  I have a mined payment that doesn't match up to any block.
I don't see it on p2pool.info so I dunno.

BTC: 1KrakenLFEFg33A4f6xpwgv3UUoxrLPuGn
sharky112065
Sr. Member
****
Offline Offline

Activity: 383



View Profile
March 24, 2012, 09:23:25 PM
 #1572

Did another big subsidy go out recently?  I have a mined payment that doesn't match up to any block.

It was a block payout. for some reason it is not showing up on p2pool.info.

Donations welcome: 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
twmz
Hero Member
*****
Offline Offline

Activity: 737



View Profile
March 24, 2012, 09:55:55 PM
 #1573

While I was napping, my internal network failed.  That essentially killed pretty much everything including the boxes that keep p2pool.info fed with up-to-date data.  so the last block didn't appear until I rebooted the machine and there is a small gap in stats.  It's running normally again, now.

Sorry.


Was I helpful?  1TwmzX1wBxNF2qtAJRhdKmi2WyLZ5VHRs
WoT, GPG

Bitrated user: ewal.
kano
Legendary
*
Offline Offline

Activity: 1932


Linux since 1997 RedHat 4


View Profile
March 24, 2012, 10:00:48 PM
 #1574

One last question(s)?

How does p2pool get updated work? 
The Bitcoind RPC doesn't support asyncronous calls does it (i.e bitcoind just sends work on a block change)?
Does it just continually poll bitcoind and check for changes?  Every x seconds?

1 BTC sent (I figured a bounty would get more detailed answers then just "yeah" or "I think so" Smiley )
c9cd269fe070ac3df98c23c965637910916e5e5223da6e8370afa04c6fde2b81

It's called lack of technical documentation ...

Pool: https://kano.is BTC: 1KanoiBupPiZfkwqB7rfLXAzPnoTshAVmb
CKPool and CGMiner developer, IRC FreeNode #ckpool and #cgminer kanoi
Help keep Bitcoin secure by mining on pools with Stratum, the best protocol to mine Bitcoins with ASIC hardware
echris1
Full Member
***
Offline Offline

Activity: 124


View Profile
March 24, 2012, 10:33:54 PM
 #1575

While I was napping, my internal network failed.  That essentially killed pretty much everything including the boxes that keep p2pool.info fed with up-to-date data.  so the last block didn't appear until I rebooted the machine and there is a small gap in stats.  It's running normally again, now.

Sorry.



No worries, website is awesome and I don't think I've ever seen it miss something before, which is why I thought it was odd =)

Keep up the good work, i'll be sending a donation later today.
lueo
Member
**
Offline Offline

Activity: 61


Bitcoin believer


View Profile WWW
March 25, 2012, 12:21:22 AM
 #1576

Why my payout drop down so dramatically?


Donation: 1M1mB5BQX5QthTojfHxXxJQJr8ro5xLcKR
Real-time LR <-> MTGOX exchange! http://goo.gl/gJqZS
Internet Marketing Q&A in Chinese: http://qa.webcash168.com/
echris1
Full Member
***
Offline Offline

Activity: 124


View Profile
March 25, 2012, 12:28:23 AM
 #1577

What do the other graphs look like?  Or instead of the graph, the output P2Pool is showing you.  Not enough information here to go on.
bitpop
Legendary
*
Offline Offline

Activity: 1932


https://keybase.io/bitpop


View Profile WWW
March 25, 2012, 02:52:54 AM
 #1578

P2Pool 0.10.3 for Windows starts up good then stops responding my windows 2k8 r2

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
NothinG
Hero Member
*****
Offline Offline

Activity: 560



View Profile
March 25, 2012, 04:11:48 AM
 #1579

P2Pool 0.10.3 for Windows starts up good then stops responding my windows 2k8 r2
Do you get any errors?
Roughly, how long before it stops responding?
Do you get the "{processname.exe} isn't responding"?

bitpop
Legendary
*
Offline Offline

Activity: 1932


https://keybase.io/bitpop


View Profile WWW
March 25, 2012, 04:26:07 AM
 #1580

No the process looked ok, but it just stopped listening over rpc. After several restarts and deleting the data directory, it seems fine now. I'll let you know of any updates.

Reputation  |  PGP  |  DigitalOcean  |  OpenVPN 2GB Free  |  TorGuard  |  Ethereum Classic
Bitcoin: 3DSh6AnmvBpDJFUz2mnLirMLmTMcFs9nDm
Bitmessage: BM-2cXN9j8NFT2n1FxDVQ6HQq4D4MZuuaBFyb
Pages: « 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 [79] 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ... 744 »
  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!