Introducing Koinos Club

in #koinos3 years ago

image

How it works

The smart contract for mining koinos includes an important feature that allows miners to set up to 5 beneficiaries with custom percentages. For instance, this feature is used to give tips to the Koinos development team: 5% as tip and 95% to the miner. But we can do more with it! we could join the hashing power of 5 different miners working for a specific target and put all of them in a single transaction. The percentages are defined depending on the hash rate of each miner. So, instead of working alone and creating 5 different proofs, which represents 5 transaction fees, we could create a single big proof that is paying only 1 transaction fee to the ethereum network. This is exactly what the Koinos Club does :)

See this example: Suppose 5 miners with hash rates of 2 MH/s, 5 MH/s, 6 MH/s, 10 MH/s, and 12 MH/s. Each one set the difficulty in 1 proof per day. Now, suppose that at the end of the day they get 2 Koinos, 5 Koinos, 6 Koinos, 10 Koinos, and 12 Koinos respectively (it is important to mention that the amount of koinos you receive is proportional to the hash rate). The ethereum network will receive 5 transactions in a day.

What happens if we concentrate all the hash rate? They add up 35 MH/s, and following the example, this hash rate will generate 35 Koinos per day, the same amount when adding the rewards of each miner. However, in this case there is only 1 transaction per day, then the transaction fees can be divided between the 5 miners. At the end, they will be receiving the same amount of Koinos they received when mining alone but paying less transaction fees.

Groups of 5 miners

Unlike conventional mining pools, where all miners are focused in a single target, on Koinos Club all miners are divided in groups of 5, and each group is working on a specific target.

Likewise, each group is composed of miners that defined the same proof interval. So miners will receive, on average, payments in the interval of time they expect.

The method of selection is by sorting the miners by hash rate. Then each group contains miners with similar hash rate.

Miners get Koin directly in their addresses

Although it is implicit in the explanation above it is worth to put it explicit. Thanks to the design of the smart contract and the way how the pool works there is no need to hold koins in the pool nor use a withdraw button. All mined koins go directly to the ethereum addresses of the miners (without increasing the transaction fees).

Tip to Koinos Development Team

We believe in this project and the potential behind. For this reason, the Koinos Club miner also allows miners to set a tip of 5% for the Koinos Development Team. This option is enabled by default. In that case, the group is composed of 4 miners that agree to give the tip plus the tip address.

Pool Fee

The Koinos Club does not ask for a percentage of the mined Koin. It is 100% distributed between the miners. Instead of that, the pool ask for a fee based on the ethereum fees.

Suppose that a transaction costs 0.02 ETH in the ethereum network. Then the pool fee is 0.02 ETH, meaning that the costs of 0.04 ETH are divided between the 5 miners. Then each miner will be paying 0.008 ETH for this transaction, that is, each one is saving 60% in fees compared with mining alone.

All these fees are processed after a transaction is mined in the ethereum network.

No pool fees if mining alone

Suppose that after creating the groups of 5 miners there is 1 left group with only 1 miner on it. In this case, the pool fee is zero and this miner will be paying only the ethereum fee.

Compatible with mining farms

Several machines can join the mining pool using the same address for the rewards, the mining pool will care about assigning the correct task to each one in order to not collide works and to not waste resources.

In this sense, the mining farms can benefit from the pool too. They can concentrate the hashing power of all machines in a single target in order to have a single transaction per period instead of one transaction per machine.

How to mine

Using the cli miner

  1. Go to https://github.com/joticajulian/koinos-miner and clone the repository.
git clone https://github.com/joticajulian/koinos-miner.git
  1. Install the miner (node v12 or greater required)
cd koinos-miner
npm install
  1. Run the miner
npm start -- --addr 0xsetyouraddresshere

Miner configuration

Set proof period. Use "-- proof-period XX" to set the proof period in seconds (86400 by default, 1 day). Example: npm start -- -- addr 0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae --proof-period 43200.

Use the proof period set by other miners in order to be included in a group and mine together. Check it at https://koinos.club.

Configure Tip. Use "--tip 0" to disable tips for the Koinos Development Team (it is 5 by default). Example: npm start -- -- addr 0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae --proof-period 43200 --tip 0.

Set the pool endpoint. Use "--pool-endpoint XX" to set the endpoint of the pool (it is https://api.koinos.club by default).

No pool. Set "--no-pool" to not connect with the pool and use the original koinos miner.

Using the gui miner

This option is not available at the moment.

Docker

You can run the miner using docker:

docker run koinclub/miner:latest

FAQ

Should I enter my private key in the miner?

No. You just need to provide the address where you want to receive the mined koins. The mining pool will take care of submitting the proofs to the blockchain.

How can I mine using the mining pool?

Send a minimum amount of 0.02 ETH to 0x5c3365898a31a8b0bf90d84ef93245e56570eef9 to add it to your balance in the pool (check your balance at https://koinos.club). Then start the miner.

How the mining pool can reduce the transaction fees?

All miners are divided in groups of 5, and each group is working on a specific target. When a proof is found only 1 transaction is submitted and it includes the 5 miners are benefiaries. Then the transaction fees, plus a fee for the pool, are shared between. Each miner can reduce up to 60% in transaction fees with this model.

How I know if I'm in a group of 5 miners?

Check the logs of your miner and look for a list of miners. For instance, in this example there are 3 miners in a group:

...
[C] Buffer: 3 0xbbd1f77c6759a177...
[C] Miners: 0xbbd1f77c6759a17752105e9af7d10f38ebbb3ab9 percent 4391
            0x8c09525132adbb9bacdd62eb26970b400eb8f493 percent 3472
            0x6487c30a3a148acc85fc31250cd53e55ed92c802 percent 2137
[C] Ethereum Block Hash: 0xe64ea68f85f992efad6806652d0ebb39a198bcfdfce1d7d2d96faccc5f4edb58
[C] Ethereum Block Number: 11270144
[C] Difficulty Target: 0x0000000036cfebde5da992b610b10f4fbff79767579aa30b8d23855b77febbb6
[C] Partial Difficulty Target: 0x000001355d281789015ca71bc5fe2ca3ee68c1f443494418d9ce0bb0db19cdbf
[C] PoW Height: 1
[C] Thread Iterations: 115693
[C] Hash Limit: 55532886
[C] Start Nonce: 0xe64ea68f85f992efad6806652d0ebb39a198bcfdfce20006487ce900010b23b5
...

Can I use several miners with the same address?

Yes. You can set several miners. The mining pool will take care of assigning different tasks to each one in order to optimize the resources. All the hashing power is added to a group of miners in order to receive 1 single payment when submitting proofs.

I have this error: Insufficient funds to operate in the pool

You need a minimum of 0.02 ether to operate in the pool. Send eth to 0x5c3365898a31a8b0bf90d84ef93245e56570eef9, wait for 4 or 5 confirmations. If you are still receiving this error go to https://koinos.club and send the transaction id to add it to your balance.

Team behind

Koinos club is developed and mainteined by @jga and @pstaiano

Sort:  

that's really cool! thanks :)

Awesome! Thanks for doing this!

Maybe it's time to get back to mining.

That's really cool, will join if the option is ever available in the GUI or any interface.

Many HIVE community members are now mining koins

I'm not so much into mining, but I did add a bit of liquidity to your Uniswap pool. Thought that could be helpful too? :)

Uniswap pool is a different topic. But yes, this also helps to the community.

Congratulations @jga! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You distributed more than 30000 upvotes. Your next target is to reach 31000 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @hivebuzz:

Feedback from the December 1st Hive Power Up Day