Post
Topic
Board Pools
Merits 142 from 6 users
[1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool
by
forrestv
on 17/06/2011, 11:14:22 UTC
⭐ Merited by ETFbitcoin (79) ,OgNasty (50) ,hugeblack (10) ,coolcoinz (1) ,davis196 (1) ,HeroC (1)
P2Pool release 17.0 - commit hash: 62fa7b020b82a92138d7652c26be2953b26fd4e5

HARDFORK - Upgrade URGENTLY required in the next few days.

Windows binary: http://u.forre.st/u/iqvaqprd/p2pool_win32_17.0.zip
Windows binary signature: http://u.forre.st/u/ysrjpsls/p2pool_win32_17.0.zip.sig
Source zipball: https://github.com/forrestv/p2pool/zipball/17.0
Source tarball: https://github.com/forrestv/p2pool/tarball/17.0

Changes:

* SegWit compatibility
* Increased new transactions size limit per share to allow producing larger blocks
* Requires Bitcoin >= 0.13.1

SegWit (segregated witness) **has already activated** and for P2Pool to continue working without producing invalid blocks, everyone needs to upgrade. At 50% of our hashrate upgrading, P2Pool instances will start displaying a warning saying that an upgrade is required. Reaching that point as quickly as possible is very important. And then, at 95%, users that have not upgraded will be excluded. If non-upgraded users aren't excluded soon enough, P2Pool users will be subject to paying other users for invalid work - effectively a withholding attack.

Due to SegWit already activating upgraded users of P2Pool must not mine SegWit transactions as they are incompatible with older P2Pool versions. After v17 shares activate a new release will be made which removes this restriction.

So, please upgrade to 17.0 now and also tell everyone else to.

P2Pool is a decentralized pool that works by creating a P2P network of miner nodes. These nodes work on a chain of shares similar to Bitcoin's blockchain. Each node works on a block that includes payouts to the previous shares' owners and the node itself. There is no central point of failure, making it DoS resistant.

Related:
P2Pool homepage: http://p2pool.in/
P2Pool stats page, made by twmz: http://p2pool.info/
P2Pool subsidies - Several people are donating to all people using P2Pool in order to promote its decentralized nature - https://bitcointalk.org/index.php?topic=57027.0
Litecoin P2Pool status - http://p2pool.litecointools.com/

Things that are not P2Pool (and just people running P2Pool): p2pool.org

Graphs: http://p2pool.info/ http://forre.st:9332/

P2Pool wiki page | GitHub project page
New: Mailing list for urgent news (updates, bugs): http://groups.google.com/group/p2pool-notifications

List of all blocks found: http://blockexplorer.com/address/1Kz5QaUPDtKrj5SqW5tFkn7WZh8LmQaQi4

Getting P2Pool

  • Run bitcoin with the RPC interface enabled - see the next section for instructions on how to do this
  • Download p2pool: (see links at top for binaries!)
    • git: git clone git://github.com/forrestv/p2pool.git
  • Run p2pool:
    • Windows py2exe: run_p2pool.exe
    • Source: python run_p2pool.py
  • Run a miner daemon (see https://en.bitcoin.it/wiki/P2Pool#Miners ) with long polling connecting to 127.0.0.1 on port 9332 with any username and password
    • With all miners, using a high FPS target (30?) or a low intensity (7?) helps a lot with reducing stales.

HOWTO: Bitcoin server mode
You must be running the Bitcoin client, and it must have its RPC interface enabled.

Open the Bitcoin data folder. See https://en.bitcoin.it/wiki/Data_directory

Make a new file named bitcoin.conf (not bitcoin.conf.txt! You might have to go into Control Panel > Appearance and Personalization > Folder Options > View and uncheck 'Hide extensions for known file types'). Paste this into it:

rpcpassword=
server=1


Dependencies for running FROM SOURCE:
  • Bitcoin 0.5.0 or higher
  • Python 2.5 or higher
  • python-argparse for Python 2.6 and lower
  • Twisted (Ubuntu package python-twisted)

Additional options of interest:
    -w PORT: Listen for workers on a port other than 9332.
    -a BITCOIN_ADDRESS: Mine to this address instead of requesting one from Bitcoin.

Last, forward port 9333 through your firewall to the host running p2pool! (Oh, and join #p2pool on freenode!)