P2Pool mining pool review: security, setup, pros and cons

Nadezhda Zakharova 03/15/2018

1 comment

This pool is decentralized. Allows miners to mine with a high level of security on a platform with wide functionality.

The P2Pool network consists of interconnected nodes, each of which is a separate operator managing a software application.

All nodes together are connected into a p2p network, which in its essence is very similar to the Bitcoin network. There is no hierarchy or nodes that have more or less weight. Information about the state of the network is transmitted between individual nodes.

New blocks are mined in different nodes, so the P2Pool network is considered decentralized. And this is one of the advantages of this pool, since this approach not only increases the level of security, but also ensures the involvement of a larger number of users.

However, unlike Bitcoin, nodes do not have access to all information about the network.

They store only 8640 shares (which were received in the last three days).

This is done in order to prevent possible attacks from pool users.

Participation in the project

Miners can join any of the already available P2Pool or set up their own and then join the network.

To do this, you need to run a special p2pool application on the network host.

Setting up and connecting a node is free. The software is also provided free of charge. Moreover, it comes with open source, so anyone can contribute their own interesting ideas.

Taking into account all the advantages of the system, P2Pool provides miners with some of the best conditions in comparison with other pools, as well as those who prefer to work independently.

By the way, here you can choose between independent cryptocurrency mining and participation in the pool. In the first case, the node operator is responsible for his own work and configures the program and equipment at his own discretion.

It should be noted that users who mine on already established nodes (that is, join others rather than setting up their own) lose significant benefits of network decentralization and are vulnerable to all the disadvantages of traditional pools.

Of course, this does not mean that a group of miners cannot work together on the same node. But here the question lies in the area of ​​security of the entire network and trust. Everyone makes their own decision.

go

Improving the “performance” of the node

In a peer-to-peer network, which formally is any cryptocurrency, there are no main or any regulators as such. Therefore, the one who shouts about his “rightness” “earlier” and “louder” will be “right”. Yes, yes, we are talking about those cases when two nodes find the same block at the same time - whoever managed to notify everyone about this earlier and faster wins. The loser is left with nothing (or, to be completely correct, with an orphan). It's like a battle for time, where every millisecond counts. Therefore, we will teach our node to report its own successes quickly and to the maximum number of other nodes, thereby increasing the weight of our node in the network.

"Speed"

1). One of the criteria that affects the speed of assembly and further transmission of a block over the network is its size. The standard maximum block size that a node can generate is 250,000 bytes. To speed up the above processes, we will reduce its size by half. In theory, this, of course, can reduce our profit by not including more transactions in a block (and therefore commissions for them), but my personal opinion is that the gain from increasing the speed will be greater. This is done by adding the following line to the client configuration file of all our three coins (the one *.conf
) blockmaxsize=125000 2). Another important parameter that affects speed is the distribution of processes between cores. This will be discussed below in the part about setting up daemons.

"Volume"

1). Let's increase the maximum number of possible connections for our client, thereby allowing it to report found blocks to a larger number of other nodes. To do this, we again supplement the configuration files of our clients with the line: maxconnections=500 2). Removing firewall restrictions (often iptables
).
I’ll say right away that on the Debian OS under OpenVZ this feature is not available for one simple reason - there are no restrictions in principle, at least according to the statements of my hoster and some people on the forums. Therefore, this part will be somewhat abstract, without clear instructions on “what and how” to do. We need to set the following rules for the firewall: # Allow 8 connections per class /24 subnet -A INPUT -p tcp —syn —dport PORT -m connlimit —connlimit-above 8 —connlimit-mask 24 -j REJECT —reject-with tcp- reset # Allow two connections from one IP -A INPUT -p tcp —syn —dport PORT -m connlimit —connlimit-above 2 -j REJECT —reject-with tcp-reset # Allow a TCP connection if the previous rules are successfully completed -A INPUT -m state —state NEW -m tcp -p tcp —dport PORT -j ACCEPT These rules should be set for all ports through which our node will work - both for the ports used by cryptocurrency clients and the p2pool script. You can see who is listening on what port using the command netstat -tunap These rules should be automatically loaded and unloaded when the system starts/shuts down. This is done in two ways - incorrectly (through manual loading of the rules, for which “another system administrator who comes to your place will curse you for a very long time”(c)) and correct (through the iptables-persistent
). A normal how-to can be found here. Add: To be able to raise these limits, the connlimit module must be included in the kernel. If this module is not enabled, there are no restrictions, and therefore no problem. by poiuty

How the system works

The P2Pool gives each attached miner an easy task. Upon completion of each stage, the user receives his share.

The latter are distributed among all nodes of the network and are collected in the so-called chain of shares (or sharechain). The functioning of the Bitcoin network is roughly the same.

As soon as a pool opens a new block, all participants receive a reward according to how much share they own in the pool. Payments are distributed automatically without the participation of third parties.

go

Phone app

Thanks to the F2Pool mobile application, managing equipment and checking income has become much more convenient. Supports monitoring of computing power, payment reminder, notification of mining stops, management of miners in groups, and other options. You can download it from the official Google Play store.

Shares and payments

The term "share" reflects the entire system in terms of production and payments.

The P2Pool allows all miners who join to pool their hashrate and work together to create new blocks.

Each node receives its share depending on what percentage of the contribution it made to the mining.

As soon as a new block is discovered, each miner receives their share of the total value of the block reward.

The P2Pool pool implements the PPLNS reward system.

Payments are sent directly to the miner's wallet without first being deposited into some kind of general fund or storage.

Thanks to this, transparency in work is achieved. Moreover, this approach allows you to protect the pool from theft of funds and corruption, which is typical of centralized cloud pools. This is due to the fact that the distribution of funds in the latter is provided to one person or group of people. In a system like P2Pool, no one is responsible for this.

go

Pool reviews

Many miners highly value the work of the P2Pool pool. This is due to the reliability of the pool and the guarantee of payments. In this case, the amount of the reward is often greater than it should be according to the number of solved blocks. This is due to subsidies from sponsorship resources:

  • Bitcoin Foundation;
  • Litecoin Project.

Negative reviews about P2Pool are often associated with long waits for withdrawals. Judging by the number of reviews, this happens quite often, but the funds still reach the end.

Source: profitgid.ru

Security P2Pool

Unlike other pools where there is no division into shares, P2Pool is more secure. Here, progress in the creation of blocks, as well as ownership of shares, is distributed throughout the network. That is, it is almost impossible to find a vulnerability in such a system.

Moreover, each individual node is reliable and this leads to a high level of protection for the entire network.

Accordingly, this approach using decentralized nodes is a significant advantage.

In the event that attackers are still able to somehow damage one of the nodes, they will not steal mining data or destroy it.

The node operator will be able to reinstall it. At the same time, all information regarding this node is stored in the public network of shares.

After reinstallation, the operator will be able to rejoin the network and receive his share, as well as all the necessary information from the share network in a matter of minutes.

The P2Pool pool provides a high level of protection against well-known DDoS attacks. This decentralized method is considered resistant to DDoS attacks. The fact is that in such a system it is enough for at least one node to withstand the attack. In this case, he will be able to restore the rest of the system.

This is another big advantage of a decentralized system. The fact is that hacking a centralized network will stop all further work.

As for information, in most cases it is either destroyed or lost forever. This is one of the reasons why the Bitcoin network is also decentralized.

In the case of centralized networks, situations are also possible when part of the pool can receive more than 50% of the hashrate. In this case, there is a danger of manipulation by such a “cartel”. In the case of decentralized networks, this is simply impossible.

In practice, this means that even if 100% of miners used P2Pool, it would be impossible to gain an advantage in the Bitcoin network thanks to P2P.

go

Merged mining: introduction

Let's start creating the basis for merged mining.
In short, this allows you to mine several currencies in parallel, using the same data when trying to create blocks for two or more currencies - we mine and get one main currency, and others as a bonus. Of course, you can independently mine merged currencies as the main ones, but from a financial point of view this is futile. Not all currencies can be mined in this way - there is a main currency and there is a merged currency that can be mined together with the main one. This relationship is not symmetrical. Of course, a merged currency never leaves the shadow of its older brother, so the feasibility of their future is questionable. In this example, the main currency is Vertcoin, the merged currencies to it are Monocle (site and forum) and Parallaxcoin (forum). A few words about them:

  • Monocles is a coin from the developers of Vertcoin. Conceived as a testing ground for testing innovations before introducing them into production.
  • Parallaxes is a shit fork that can simultaneously mine with several other coins, including other shit forks. Recently, it has been worn out a little more than completely, and is of purely academic value.

Also, an example of joint mining is a pair of bitcoin and namecoin (the latter can be mined in parallel with BTC).
Litecoin also has its own merged currencies. I will not describe the above assembly and configuration steps for each of the coins again, but I will simply give the procedure:

  1. Download the sources from GitHub - monocles/parallaxes.
  2. We collect binaries.
  3. We move them to the “correct” location - /usr/bin/
    in this case.
  4. We create service directories and configuration files for both coins - .monocle & monocle.conf
    and
    parallaxcoin & parallaxcoin.conf
    , respectively, all in the same
    /home/vtc
    .
    Below is an example of the contents of these files. We set the access rights of the configuration files and once again update the owner of the contents of the /home/vtc/
    for the sake of new files and directories.
  5. We log in as our user and launch wallets to synchronize with the network.

monocle.conf
server=1 gen=0 rpcport=6888 rpcallowip=127.0.0.1 rpcuser=monocle rpcpassword=monRPCpass mintxfee=0.01 minrelaytxfee=0.01 * a commission of 0.01 coins is mandatory for monocles and the minimum possible.
Without it, the transaction simply will not be perceived by the rest of the network. parallaxcoin.conf
server=1 gen=0 rpcallowip=127.0.0.1 rpcport=7817 rpcuser=parallaxcoin rpcpassword=plxRPCpass mintxfee=0.0005 minrelaytxfee=0.0005 Another shit fork should be launched soon - Umbrella, and to be precise - as many as four: forks Bitcoin and Litecon will start today, and Vert and Dark will launch on August 1. If this does happen, then in addition to the current set of coins on the node, it will be possible to add merged mining of “umbrellas”.

P2Pool setup procedure

We offer step-by-step instructions for setting up:

Step 1. Download and install Bitcoin-QT or bitcoind. Initial synchronization may take more than one day. Accordingly, it is better to install applications in advance. In bitcoin.conf you need to enter the following text: server=1

rpcuser=bitcoinrpc

rpcpassword=0UFEREdMDttuXIcIpFUOZX39EAnqXueYrGsuGSR9REk3Ylvs8qMylD29o09pFrovXIxD7UegCskBPhwRB0EYgV7fBPYxbzPIMBqx

Then you need to restart the application.

Step 2. Launch P2Pool. You need to download the distribution and run the file p2pool.exe or p2pool.py (Linux, OS X). After this, P2Pool starts downloading the sharechain

Step 3. Launch miners. You must specify miners for the address https://HOST:9332/, where HOST is the IP address of the computer on which P2Pool is installed. As a username, you can use the address of the Bitcoin wallet to which the payment will be made.

Step 4. Statistics . If the username does not use a Bitcoin wallet address, payments will be made to the Bitcoin-Qt or bitcoind wallet. You can check statistics and graphs in the P2Pool web interface. To do this, you can enter the following address: https://Userhostpool:9332/.

After completing the setup, users usually subscribe to notifications, which may include important news about the status of work and pool updates.

Coins available for mining

F2pool offers a wide selection of cryptocurrencies. For each of them, a detailed FAQ is published on the website, which describes the necessary equipment and procedure.

Currently available for mining:

  • GRIN;
  • BTC (Bitcoin);
  • LTC (Litecoin);
  • DASH;
  • ETH, ETC (Ethereum, Ethereum Classic);
  • DGB (DigiByte);
  • XVG (Vergecoin);
  • XMR (Monero);
  • (Sia Coin);
  • ZEC (Zcash);
  • Decred (DCR);
  • Firo;
  • RVN;
  • Beam;
  • BCD;
  • RVC;
  • Sero;
  • HC;
  • CHI;
  • PGN;
  • HYC;
  • STC;
  • KDA;
  • MONA;
  • HNS;
  • CKB;
  • CFX;
  • PMEER;
  • BTM.

The entire list of available coins can be found on the F2pool main page.

It is worth considering that each cryptocurrency has different admission criteria, depending on the power of your equipment. Thus, mining Grin, Beam, Ethereum Classic will require a farm with video cards. Big Ether is mined by both integrated circuit devices and GPU rigs. Bitcoin and Dash are more efficiently mined using specialized ASICs that offer improved energy efficiency and overall performance. At the same time, Dash can be mined using the PPS scheme on F2pool with an interest-free payment.

Registration on F2pool

To get a worker, you need to register on the official website. To get started, the “Sing Up” tab opens.

Here you need to enter your own email address, come up with a password for your account and type the captcha characters on the keyboard. After reading the rules of the system, check the box to confirm your agreement with them and indicate your personal phone number. You should receive an SMS with an activation code. If everything went well, then mining is available to the user.

Mining Grin

The main principle of the developers declares the possibility of freely making transactions and forming savings, without the threat of external interference. For Grin, borders or cultural foundations do not matter - it is a universal means of mutual settlements, accessible to everyone.

Grin mining on F2pool is easy to set up. After completing the registration procedure and receiving an electronic wallet, go to the main page of the site. It contains a list of coins available for mining in the pool. Grin in the list of coins and click on it - a list will open with the settings for the bat file and the specified address and port of the pool. Copy, save and launch the miner.

On the topic... Chiliz (CHZ) cryptocurrency review: wallets, exchanges and prospects

Bat file parameters

bminer -uri cuckaroo29://username.workername: [email protected] :13654

Rating
( 1 rating, average 4 out of 5 )
Did you like the article? Share with friends:
For any suggestions regarding the site: [email protected]
Для любых предложений по сайту: [email protected]