Author

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

sr. member
Activity: 322
Merit: 250
Quote
You could implement a 3 of 5 majority (5 of 7, whatever of whatever), where trusted stakeholders (windpath, CK/Kano, etc) run the major nodes which form a distributed cluster of the main information store.  You could also have one entity hold the "hot" wallet containing that rounds' BTC, and payout the distributions.

And that is centralization and imho unwanted.
Then build the code so that every node keeps that information store, instead of just 3 or however many, and then it's not centralized.  99% of the nodes could then drop off and as long as one is running you're still good.

The biggest hurdle is the "caretaker" of the wallet holding the BTC during the current "round", or don't have the concept of a round, and continue to use immediate PPLNS payouts to worker addresses.  Then you're also not centralized there either.
hero member
Activity: 537
Merit: 524
Quote
You could implement a 3 of 5 majority (5 of 7, whatever of whatever), where trusted stakeholders (windpath, CK/Kano, etc) run the major nodes which form a distributed cluster of the main information store.  You could also have one entity hold the "hot" wallet containing that rounds' BTC, and payout the distributions.

And that is centralization and imho unwanted.
sr. member
Activity: 322
Merit: 250
So, here's an oddball suggestion to re-think P2Pool.

Does the mining itself really have to be distributed?  What if we all "solo-mined", but then pooled together the solved block income and then just distributed the income amongst all miners recorded as having done work?

It would be a centralized, de-centralized pool.  Follow me on this...

First, why re-invent the wheel and try to rewrite the P2Pool code?  We know the inherent issues with it and it seems that most agree it is a daunting, if insurmountable, task given the time required to do so and the lack of the most important thing - money - to provide the incentive.

It would seem to me to be a much better use of resources to find things that could be leveraged together that already exist, and just contract those to write the needed subsequent "glue" bits to make it all work.

I've been mining on Nastypool, with the NastyPoP payout method, and this is what gave me the idea.

Why not use the CKpool/CKDB solo method, and have everyone currently running a P2Pool node setup their own CKPool solo nodes.  Miners connect to them and it would be pretty much normal solo mining, without the issues of ever increasing share difficulty.  Latency would be no longer an issue, because you're not racing each other and the other nodes to get your shares in the chain faster, you could mine wherever and have more of your work count, instead of being DOA.

Then, at the top level, here's the code that would need to be implemented - the ability to catalog and share the information about each miner on each node, the amount of work they're doing, and finally the blocks that are solved.

From that info, you could run periodic payouts for all miners (maybe weekly, every 3 or 5 days, whatever) based upon all the pooled BTC from all the blocks and transactions solved during that period.

You could implement a 3 of 5 majority (5 of 7, whatever of whatever), where trusted stakeholders (windpath, CK/Kano, etc) run the major nodes which form a distributed cluster of the main information store.  You could also have one entity hold the "hot" wallet containing that rounds' BTC, and payout the distributions. 

The resources for pool nodes and onwers would be less, since you'd probably need to only replicate database transactions now, instead of full sharechains, etc.
The CKpool code is written in C/C++ and is performant and scalable, something which P2Pool will never be.

If the theory of luck and variance holds true, where over time an amount of hashrate will still solve the same amount of blocks, it shouldn't matter whether you're solo mining with 200GH/s, or 200TH/s, over time you'll still get the same payout.  Even if your miner never solved a block on your own solo node, you'd still get equal payouts from the nodes who did solve them.

If you leave the 0.9% (or even round it up to 1.0%) fee in there like CK/Kano have for their pool, it allows money to flow back to the developers who are spending their time writing and maintaining this.  If you do round it up to 1.0%, maybe that 0.1% could be re-distributed to those running a pool node, as a thank you for the services.  As much as I like 0 fee, it really doesn't draw people in anymore - I see pools with 4% fees running with miners on them, because they offer a gamble at something.

I don't know, just tossing the idea out there.  Might be completely stupid and unfeasible, but honestly at this point I think P2Pool's days are numbered without finding a solution, and it'll probably have to be pretty radical for it to work.

legendary
Activity: 1258
Merit: 1027
I know a bunch of us have nodes in the northeast US...

Anyone planning on attending the MIT Bitcoin Expo this coming weekend?

I'll be there and would love to meet some of you folks face to face (perhaps over a cocktail or 3) Smiley

http://mitbitcoinexpo.org/

Tix are $175 for non students, impressive lineup of speakers...
legendary
Activity: 1258
Merit: 1027
Wait, did I miss somewhere fact, that Forrestv abandoned project?

No, I don't believe he has.

This is an attempt to create an incentive for someone to come up with a solution to the scalability issues.

Perhaps if the pot got big enough Forrest would focus back on P2Pool, and I for one would be ecstatic if he figured it out and claimed the bounty.

I don't fault him at all for not being active, he is young and has other interests, P2Pool has represented an enormous contribution and I am grateful for all his work.

Since virtually no one I'm aware of pays the donation this could be an opportunity to create an incentive that gets work moving again.

We still need to define the criteria for success very clearly before we can start thinking about setting up a pot though...
ah, really?
https://bitcointalksearch.org/topic/m.3537926
forrestv said he will take onto those problems... nothing more to say.

Yes, unfortunately he took the 2k from the Litecoin devs in November 2013 and has not yet come up with a solution...
legendary
Activity: 1792
Merit: 1008
/dev/null
Wait, did I miss somewhere fact, that Forrestv abandoned project?

No, I don't believe he has.

This is an attempt to create an incentive for someone to come up with a solution to the scalability issues.

Perhaps if the pot got big enough Forrest would focus back on P2Pool, and I for one would be ecstatic if he figured it out and claimed the bounty.

I don't fault him at all for not being active, he is young and has other interests, P2Pool has represented an enormous contribution and I am grateful for all his work.

Since virtually no one I'm aware of pays the donation this could be an opportunity to create an incentive that gets work moving again.

We still need to define the criteria for success very clearly before we can start thinking about setting up a pot though...
ah, really?
https://bitcointalksearch.org/topic/m.3537926
forrestv said he will take onto those problems... nothing more to say.
legendary
Activity: 1512
Merit: 1012
the problem of P2Pool is that you must have a dedicate PC to run bitcoin core server mode and P2Pool client (or server).
with the only ethernet autonomous miner bitcoin, the miners don't want a complex point-of-connexion to mine.

that's why new pool from manufactured miner device are a success.

P2Pool is good for an emergency system in my sense.
I trust and believe in P2Pool ... but i'm not the one that have 700TH/s in power  Grin

legendary
Activity: 1258
Merit: 1027
Wait, did I miss somewhere fact, that Forrestv abandoned project?

No, I don't believe he has.

This is an attempt to create an incentive for someone to come up with a solution to the scalability issues.

Perhaps if the pot got big enough Forrest would focus back on P2Pool, and I for one would be ecstatic if he figured it out and claimed the bounty.

I don't fault him at all for not being active, he is young and has other interests, P2Pool has represented an enormous contribution and I am grateful for all his work.

Since virtually no one I'm aware of pays the donation this could be an opportunity to create an incentive that gets work moving again.

We still need to define the criteria for success very clearly before we can start thinking about setting up a pot though...


legendary
Activity: 1361
Merit: 1003
Don`t panic! Organize!

Here is what I get from python command line, obviously not a pub key hash:

Code:
^??7?Jn?Kdѳ?D2?ه??2Vxk??)2?#÷M???Z?U)5&VfK?

Here is the script:

Code:
DONATION_SCRIPT = '4104ffd03de44a6e11b9917f3a29f9443283d9871c9d743ef30d5eddcd37094b64d1b3d8090496b53256786bf5c82932ec23c3b74d9f05a6f95a8b5529352656664bac'.decode('hex')

I believe the (intentional) complexities of this script are what causes blockchain.info to flag p2pool generation TXs as potential double spends...


Simple:
Code:
rav3n@bitrav3n:~$ bitcoin-cli decodescript '4104ffd03de44a6e11b9917f3a29f9443283d9871c9d743ef30d5eddcd37094b64d1b3d8090496b53256786bf5c82932ec23c3b74d9f05a6f95a8b5529352656664bac'
{
    "asm" : "04ffd03de44a6e11b9917f3a29f9443283d9871c9d743ef30d5eddcd37094b64d1b3d8090496b53256786bf5c82932ec23c3b74d9f05a6f95a8b5529352656664b OP_CHECKSIG",
    "reqSigs" : 1,
    "type" : "pubkey",
    "addresses" : [
        "1Kz5QaUPDtKrj5SqW5tFkn7WZh8LmQaQi4"
    ],
    "p2sh" : "3HW5FVVo3TpKD1rPpsHX2VeJNmfE4Lqe91"
}
legendary
Activity: 1361
Merit: 1003
Don`t panic! Organize!
Wait, did I miss somewhere fact, that Forrestv abandoned project?
hero member
Activity: 686
Merit: 500
WANTED: Active dev to fix & re-write p2pool in C
As I suggested earlier, I think a minimum of 3 multi-signatories who should be trusted legendary members - and would like to suggest Ognasty as one of them, as he is also a p2pool user.

I'm no coder I'm afraid, so can't help out with the donation adjustment - maybe ck/kano can decipher it? We will also need someone to look after the git page of course, as well as the new p2pool thread. I'm not sure how JB would feel about this? He has the gift of words & how to lay them down..... Grin This whole deal will require a massive amount of PR both here & on other outlets/forums in order to educate & persuade all node users to switch over to the honeypot'd code, so care should be taken to make sure everything is in place & ready.

There is much to do - but at least we are doing something. I like it.  Smiley
legendary
Activity: 1258
Merit: 1027
Just translating p2pool as it exists into C, C++, C#, Objective C, Swift, Java, Perl, Lisp, whatever, is not going to suddenly bring the mining masses here.  I know a number of us have listed out the problems previously, and a number of us have had discussions on potential solutions to those problems; however, nobody has been able to successfully crack the nut.  Maybe the problem is that we're all trying to solve p2pool's problems while keeping ourselves in the context of the existing structure.  Let's try another approach.  Forget p2pool even exists.

We as a community want a new pool to be created.  Here is a list of high-level bullet points we would want to have in our new pool:

  • Decentralized
  • Easy to use
  • Performant
  • Scalable
  • Inclusive

Please feel free to add to these points and/or provide more details/solutions.

This is exactly what I'm suggesting JB - a complete re-write. But in order to achieve this I think we should do the donation bounty option from within the current p2pool structure, as it's (I think) an excellent way of raising awareness in the community as well as raising funds, while the amount of work involved in making the changes are minimal & simple.
To accomplish that, we'll need somebody to fork the p2pool code and change the donation function to point to a community agreed upon address.  Then we'll need everyone to download and use that new fork, in addition to every node starting up with donations set - assuming we keep it the same and make the donation optional.

So...

1) Who wants to fork the code and write?
2) Who do we make the keepers of the honey pot?

vote for raven to rewrite the donation addy
keeper windpath

For something like this, where the coins could be sitting around a long time I'd propose maybe a 3 of 5 multisig, I'd be willing to be 1 of the 5...

Still have to define the criteria for success.

Also, I'm unable to decode Forrest's donation script, I'm sure there is someone who could, anyone want to give it a try?

Here is what I get from python command line, obviously not a pub key hash:

Code:
^??7?Jn?Kdѳ?D2?ه??2Vxk??)2?#÷M???Z?U)5&VfK?

Here is the script:

Code:
DONATION_SCRIPT = '4104ffd03de44a6e11b9917f3a29f9443283d9871c9d743ef30d5eddcd37094b64d1b3d8090496b53256786bf5c82932ec23c3b74d9f05a6f95a8b5529352656664bac'.decode('hex')

I believe the (intentional) complexities of this script are what causes blockchain.info to flag p2pool generation TXs as potential double spends...

legendary
Activity: 1500
Merit: 1002
Mine Mine Mine
Just translating p2pool as it exists into C, C++, C#, Objective C, Swift, Java, Perl, Lisp, whatever, is not going to suddenly bring the mining masses here.  I know a number of us have listed out the problems previously, and a number of us have had discussions on potential solutions to those problems; however, nobody has been able to successfully crack the nut.  Maybe the problem is that we're all trying to solve p2pool's problems while keeping ourselves in the context of the existing structure.  Let's try another approach.  Forget p2pool even exists.

We as a community want a new pool to be created.  Here is a list of high-level bullet points we would want to have in our new pool:

  • Decentralized
  • Easy to use
  • Performant
  • Scalable
  • Inclusive

Please feel free to add to these points and/or provide more details/solutions.

This is exactly what I'm suggesting JB - a complete re-write. But in order to achieve this I think we should do the donation bounty option from within the current p2pool structure, as it's (I think) an excellent way of raising awareness in the community as well as raising funds, while the amount of work involved in making the changes are minimal & simple.
To accomplish that, we'll need somebody to fork the p2pool code and change the donation function to point to a community agreed upon address.  Then we'll need everyone to download and use that new fork, in addition to every node starting up with donations set - assuming we keep it the same and make the donation optional.

So...

1) Who wants to fork the code and write?
2) Who do we make the keepers of the honey pot?

vote for raven to rewrite the donation addy
keeper windpath
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
Just translating p2pool as it exists into C, C++, C#, Objective C, Swift, Java, Perl, Lisp, whatever, is not going to suddenly bring the mining masses here.  I know a number of us have listed out the problems previously, and a number of us have had discussions on potential solutions to those problems; however, nobody has been able to successfully crack the nut.  Maybe the problem is that we're all trying to solve p2pool's problems while keeping ourselves in the context of the existing structure.  Let's try another approach.  Forget p2pool even exists.

We as a community want a new pool to be created.  Here is a list of high-level bullet points we would want to have in our new pool:

  • Decentralized
  • Easy to use
  • Performant
  • Scalable
  • Inclusive

Please feel free to add to these points and/or provide more details/solutions.

This is exactly what I'm suggesting JB - a complete re-write. But in order to achieve this I think we should do the donation bounty option from within the current p2pool structure, as it's (I think) an excellent way of raising awareness in the community as well as raising funds, while the amount of work involved in making the changes are minimal & simple.
To accomplish that, we'll need somebody to fork the p2pool code and change the donation function to point to a community agreed upon address.  Then we'll need everyone to download and use that new fork, in addition to every node starting up with donations set - assuming we keep it the same and make the donation optional.

So...

1) Who wants to fork the code and write?
2) Who do we make the keepers of the honey pot?
full member
Activity: 312
Merit: 100
Bcnex - The Ultimate Blockchain Trading Platform
Count me in.  I am a network guy not a programmer.  I will be glad to assist with test servers and access to my private data center of needed.

And yes I will be glad to donate anything I can.

 Grin
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Just translating p2pool as it exists into C, C++, C#, Objective C, Swift, Java, Perl, Lisp, whatever, is not going to suddenly bring the mining masses here.  I know a number of us have listed out the problems previously, and a number of us have had discussions on potential solutions to those problems; however, nobody has been able to successfully crack the nut.  Maybe the problem is that we're all trying to solve p2pool's problems while keeping ourselves in the context of the existing structure.  Let's try another approach.  Forget p2pool even exists.

We as a community want a new pool to be created.  Here is a list of high-level bullet points we would want to have in our new pool:

  • Decentralized
  • Easy to use
  • Performant
  • Scalable
  • Inclusive

Please feel free to add to these points and/or provide more details/solutions.

This is exactly what I'm suggesting JB - a complete re-write. But in order to achieve this I think we should do the donation bounty option from within the current p2pool structure, as it's (I think) an excellent way of raising awareness in the community as well as raising funds, while the amount of work involved in making the changes are minimal & simple.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
Just translating p2pool as it exists into C, C++, C#, Objective C, Swift, Java, Perl, Lisp, whatever, is not going to suddenly bring the mining masses here.  I know a number of us have listed out the problems previously, and a number of us have had discussions on potential solutions to those problems; however, nobody has been able to successfully crack the nut.  Maybe the problem is that we're all trying to solve p2pool's problems while keeping ourselves in the context of the existing structure.  Let's try another approach.  Forget p2pool even exists.

We as a community want a new pool to be created.  Here is a list of high-level bullet points we would want to have in our new pool:

  • Decentralized
  • Easy to use
  • Performant
  • Scalable
  • Inclusive

Please feel free to add to these points and/or provide more details/solutions.
legendary
Activity: 1500
Merit: 1002
Mine Mine Mine
i don't mean to be rude to certain individuals, but please be polite with your words with a sharp tongue especially with your cockyness & don't go around town criticizing other pools such as this pool & others. Be a little more humble & don't be too cocky or prolly feeling a threat with other pools development or moving forward ?
You misunderstand. The only reason I speak out is because I'd be happy to be the one to do the rewrite if there was a valid solution to the design flaws and a bounty was raised to fund the rewrite.

not you mate. you're a nice guy & help whenever you can if you could recalled that i pm'ed you before & you replied nicely & more importantly humble. maybe it's just me being sensitive or getting the wrong msg via someone's postings.
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
i don't mean to be rude to certain individuals, but please be polite with your words with a sharp tongue especially with your cockyness & don't go around town criticizing other pools such as this pool & others. Be a little more humble & don't be too cocky or prolly feeling a threat with other pools development or moving forward ?
The only reason I speak out is because I'd be happy to be the one to do the rewrite if there was a valid solution to the design flaws and a bounty was raised to fund the rewrite.

I think most of us realised that ck  Wink

Your thoughts & input are always appreciated of course, what you & kano have done & continue to do for the Bitcoin community is legendary, as is your knowledge of C & p2pool. As you know, I've been mildly pestering you for months to take it on, nobody comes close to your understanding of what's required & involved - I can think of nobody more capable than you. If you were to decide to do the re-write, I'm sure that every p2pool user/node would not hesitate in donating to a honeypot using the suggestion mentioned above, the whole community would be 100% behind you for sure, and you never know - maybe while doing the re-write you'll have one of your flashes of genius that will fix the other issues.......?

If every node advertised the fact that they were donating to a honeypot for ckolivas & kano to work on the p2pool code, I'm sure there will be a princely sum awaiting the both of you, not to mention every p2pool users eternal gratitude as well as the Bitcoin community as a whole for helping to decentralise the entire network  Wink


GBT is a piece of shit....


Agreed.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
...
This statement is not helping much : "Help keep Bitcoin secure by mining on pools with Stratum, the best protocol to mine Bitcoins with ASIC hardware"

I think it should be : "Help Bitcoin Secure by Decentralized Mining, the best way to mine Bitcoins with any hardware"
GBT is a piece of shit designed by morons who don't give a fuck about mining.

Stratum was designed (faults and all Tongue) by people who ran mining pools and had many thousands of miners pointing at their pools.

Go figure which one everyone uses and works best for client mining ... even on p2pool ...
Jump to: