Hello Everyone,
I’ve been working on a public mining pool designed to help a community collaborate on solving the Bitcoin Challenge. The goal is to make the pool as transparent as possible while taking steps to secure the private key from misuse if a miner finds the solution. Please keep in mind that due to this the client and server software ill have to remain closed source as there is no way to get around the clients having to work with the physical private key hex values.
I’ve built a working client/server package that distributes work to clients in a randomized manner from the current puzzle range. The server dynamically adjusts the assigned work so that each client completes its range in approximately 60 seconds, sends back the result, and receives its next random block of work. This ensures consistent and efficient participation across the pool.
While the system is functional, I’d love to hear the community’s thoughts and suggestions on improving the security and functionality of the pool. This includes ways to enhance transparency, protect the private key, and build trust in the process.
At the moment, I have not put together a web interface as I have been focusing on the core client and server software. However, the client software provides updates on the miner's stats, the estimated BTC payout if the solution were found now, and the total search range that the pool has completed.
The client is a modified version of the KeyHunt software, as it was in a format that allowed for relatively easy modification to include the pool functions.
The server code is written in Python, with persistent storage for the work ranges that have been completed, as well as client work and related data.
If the pool does find the solution, the transaction will be generated to distribute the funds among the miners based on their share percentage and submitted via slipstream.mara.com. This is designed to reduce the risk of the transaction being broadcast to the full Bitcoin network mempool, as this could potentially result in the transaction being hijacked.
I am looking for anyone who would be interested in providing feedback or willing to point any GPUs at the server to help continue working through bugs.
Looking forward to your feedback!
Client Output:
GPU : GPU #0 NVIDIA GeForce RTX 3080 (68x128 cores) Grid(544x128)
[00:00:58] [GPU: 2101.64 Mk/s] [C: 102.44 %] [T: 122,926,661,632 (37 bit)] [Puzzle: 67] [Shares: 465.00 ] [EST Payment: 0.053736 BTC] [Searched: 0.000713 %]
Start Time : Thu Dec 26 10:53:31 2024
Global range : 0000000000000000000000000000000000000000000000000000001BF08EAFFF (37 bit)
GPU : GPU #0 NVIDIA GeForce RTX 3080 (68x128 cores) Grid(544x128)
[00:00:58] [GPU: 2113.36 Mk/s] [C: 102.68 %] [T: 123,211,874,304 (37 bit)] [Puzzle: 67] [Shares: 477.00 ] [EST Payment: 0.055123 BTC] [Searched: 0.000713 %]
Start Time : Thu Dec 26 10:54:31 2024
Global range : 0000000000000000000000000000000000000000000000000000001BF08EAFFF (37 bit)
Server Output:
2024-12-26 11:21:44,470 - INFO - Client 37CDsFQ4wN5xjAnuSe5CxvPbk7H2vhH2kv:3080-2 completed work range 791b4951faef50cb3-791b4953b9f83bcb2 in 60.97 seconds - 1968.08 Mk/s
2024-12-26 11:21:44,535 - INFO - Client 37CDsFQ4wN5xjAnuSe5CxvPbk7H2vhH2kv:3080-2 assigned work range 5f2f790baa55217bf-5f2f790d695e0c7be
2024-12-26 11:21:50,378 - INFO - Puzzle ID 67: 0.00071820 % of the range has been searched.
2024-12-26 11:22:18,809 - INFO - Updated balance for puzzle_id 67: 6.70010696 BTC
2024-12-26 11:22:45,455 - INFO - Client 37CDsFQ4wN5xjAnuSe5CxvPbk7H2vhH2kv:3080-2 completed work range 5f2f790baa55217bf-5f2f790d695e0c7be in 60.91 seconds - 1970.09 Mk/s
2024-12-26 11:22:45,529 - INFO - Client 37CDsFQ4wN5xjAnuSe5CxvPbk7H2vhH2kv:3080-2 assigned work range 578f6ad3304fbeab4-578f6ad4ef58a9ab3
2024-12-26 11:22:50,403 - INFO - Puzzle ID 67: 0.00071837 % of the range has been searched.
2024-12-26 11:23:19,363 - INFO - Updated balance for puzzle_id 67: 6.70010696 BTC
2024-12-26 11:23:46,582 - INFO - Client 37CDsFQ4wN5xjAnuSe5CxvPbk7H2vhH2kv:3080-2 completed work range 578f6ad3304fbeab4-578f6ad4ef58a9ab3 in 61.05 seconds - 1965.74 Mk/s
2024-12-26 11:23:46,660 - INFO - Client 37CDsFQ4wN5xjAnuSe5CxvPbk7H2vhH2kv:3080-2 assigned work range 4563b3389517d413c-4563b33a5420bf13b
2024-12-26 11:23:50,429 - INFO - Puzzle ID 67: 0.00071853 % of the range has been searched.