Bitcoin Forum
June 27, 2022, 12:07:17 PM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 23, 2022, 01:43:20 PM
Thanks for this. I have some follow-up questions:

1. What would the single largest incentive be for a miner to check out a new pool? Is it safe to assume that it's just uptime?
2. Can you speak more on the resources required to support more miners within the context of your system? Is it a function of hash throughput, the number of miners connected for example? How does one scale up if so, is it a matter of throwing more cores/disks/memory at the problem? possible to shed some light on how these resources relate to scaling the pool? Not looking for super meticulous detail, would really appreciate just a ballpark idea.

1. So there's a few reasons:

- For the blockchain, it's much more stable/safe/secure to spread hashrate around, rather than having a single pool responsible for mining the majority of all blocks. While this large pool would have a monetary incentive to act ethically, they can also act maliciously and hijack the chain (51% attacks). Not only this, if something happens to that pool and it needs to shut down, it's possible that the chain could become stuck or transactions get delayed because the difficulty's been adjusted to a higher value than the rest of the network can handle.

- For the miner, it usually comes back to where they can maximize their income. Mining on larger pools comes with more steady payments, as the pool finds blocks more often, but with that comes more competition and miners each get a smaller share of each block found. On the other hand, mining on smaller pools comes with much more infrequent payments, but with much less competition and thus a larger share of each block found. But as mentioned, blocks on smaller pools are found much less often, so it's difficult to determine where the best profits are made. Larger pools will give you a steady income, but smaller pools will make you more in the short-term if they get lucky finding blocks quickly. Beyond this, also, most mining pools usually take a cut themselves from each block found. Smaller pools almost always take less (if any), though, which may be the tipping point for some miners regarding profits. Regarding uptime, though, a lot of miners prefer larger pools because, as mentioned, every second that a pool is down, miners are losing money. Larger pools are better at guaranteeing uptime.

2. So in the previous message I mentioned three things:

- Multiple stratum servers in different regions - This is useful because it lowers the latency/distance between your miners and the stratum servers. When your miners find a block candidate, they need to submit it to the server, and this takes longer if they are mining from a longer distance. As such, it gives more time for a different pool/miner to submit a block, which would mean that your miner's block candidate would become an orphan. Beyond this, it would take some of the load off of your main stratum server.

- Multiple/fallback daemons - This is useful because it lets multiple daemons handle requests and everything that your pool needs regarding the blockchain. If your daemon goes down, your pool goes down. Multiple/fallback daemons would let you manage this and allow the pool to continue running until you're able to restart the daemon + debug the issue.

- Get better/dedicated servers - As you mentioned, this is useful because throwing more "cores/disks/memory" at the problem always does make things better + improve uptime, allowing more miners concurrently on your system. You can balance this + deploying more stratum servers to create a more robust network.
2  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 22, 2022, 02:10:26 PM
Out of curiosity, why do you think this particular feature is unnecessary? I'm not a back-end coder by any means, but AFAIK, it'd be more profitable for the miners if that feature existed [unless I missed something].

Yeah you're not wrong that it'd be a useful addition, but with the rewrite I tried to focus on more of the fundamental features of the mining pool rather than anything auxiliary. Coin-switching would have to come with connections to exchanges/profit trackers and I didn't want to tie functionality to anything third-party at this point.
3  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 22, 2022, 01:10:44 PM
This looks like a very interesting open source project, and everything is offered for free if I understand this correctly.
I am not sure what mining pools are you supporting, because website page with that  is empty and gives no information.
I would prefer to see support for many smaller pools, that would help further decentralization of bitcoin mining pools.

Segwit/Bech32 compliance
Are there any plans to add support for Taproot addresses?
I know they are relative new but more and more wallets are supporting them every day.


Thanks! And yep, right now the software will be completely free and open-source. Just the platform will have a subscription model to "link" pools once beta testing concludes. Regarding the mining pools, I am still in the process of building out the page, but you can view a few pools in the meantime if you scroll down on the main site: . The idea for the platform is exactly what you're suggesting also--the goal is absolutely to support and help smaller pools develop. Regarding Taproot addresses, I don't have plans for it currently, but it will most likely be added at some point.
4  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 22, 2022, 01:34:42 AM
This is indeed a thing to consider before some company or individual take your software as part of their business. One problem I don't know if they might encounter is security once there are still bugs on the software. So far, your software being open source and easy to use is a huge contribution to the mining community. Also, the reason why some asks for what would be your 'mode of earning' in this contribution is that your software can make tons of money for someone who have enough hardware and money to make an infrastructure of servers. Hence why not at least highlight the fact that donation would help you a lot make this a firm software - it isn't necessary indeed but would adds up some return to your hardwork for 2 years.

If you ever aren't alone, I know you and your team will reach far in mining community with this contribution. Keep up the good work. There's a lot of things in mining that has to be innovate.

Thanks, really appreciate it! Yep, I definitely agree with your comment on security, especially for enterprise users. I don't necessarily expect a large operation to trust and use Foundation currently though, especially given how new/unproven it is at scale. I'm more targeting smaller miners and individuals looking to get involved with the community, but there'll always be room for growth as the project becomes more established.
5  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 21, 2022, 06:24:55 PM
.. with an emphasis on scalability, simplicity, and reliability ..

This is so interesting. I'm curious to learn more about what is involved so please be patient with me. Would you mind briefly sharing some of the challenges that go into maintaining a pool? For example, what is the nature of the costs and what other variables are involved (users, bandwidth, servers, coin type??) in maintaining a pool that scales?

If you could point to a resource or two where I could do some reading that would be great too.

So just building a pool and getting people to mine on it is pretty simple, the easiest way is to just rent a server and install Foundation or some other pool source on it. Your costs initially will mainly just be those server fees, and you can charge a fee as a developer cut for every block that you find. Depending on your server and number of miners on the pool, this may/may not make you that much, if any money.

Regarding challenges, while I think Foundation is pretty easy to setup + manage, it still takes some knowledge to debug any issues. The main point of being a reliable mining pool owner is being able to ensure uptime, as every second that your pool is down, your miners are losing money. If you can't guarantee that, it's very likely that your miners will choose to go elsewhere.

Once you get enough miners to where you decide to put more work into the mining pool though, there's a few routes you can go:
  1. Multiple stratum servers in different regions
  2. Multiple/fallback daemons
  3. Get better/dedicated servers

The point of each of these is not only to allow your mining pool to be able to handle more miners, but also to improve reach and lower latency. But either way, you'll have to draw those conclusions from your miners and make decisions accordingly.
6  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 21, 2022, 06:10:31 PM
I see. I'd just like to say that there are several services (depending on your time/skill) that usually offered on open source market such as,
1. Priority/premium customer support.
2. Back end/server setup.

As sources of income? Yeah it could be something that I could setup, but any time spent on those options would be time taken away from developing the platform or source. In the meantime I'm more than happy to just answer any questions on the Discord and pay out of pocket, I don't expect to make any money off of the project at this stage.
7  Bitcoin / Project Development / Re: Blinkhash - Open-source, easy to use, mining pool software on: March 20, 2022, 07:31:27 PM
It's great to see more open source software, especially since there are very few open source mining pool software. But when i checked GitHub page, your only source of fund is only donation, is it true?

So right now, I'm paying out of my pocket to support the project. It's not really an issue, I make good money at my day job and am more than happy to give back to the mining community in any way that I can. I also built the entire platform using serverless architecture that scales based on the # of users, so it's pretty cheap to manage at this point in the project with a smaller user-base.

Once I've finished beta testing and built out the payment processor for the platform, however, I plan to implement a monthly subscription fee for users to link their pools. I'm still working out the details, trying to figure out decent price points for each of the four service tiers, but it won't be that expensive. I'm also maybe considering launching a PoW utility token that leverages + demonstrates each of the features that Foundation has to offer (multi-algo + merged-mining), and offers benefits and functionality tied to the platform itself.
8  Bitcoin / Project Development / Blinkhash - Open-source, easy to use, mining pool software on: March 20, 2022, 01:00:05 AM
Introduction:

It's no secret that mining pools, and the mining process as a whole, have been becoming more and more centralized in recent years. In many coins, a single pool is most often responsible for the majority of the hashrate on the network. 51% attacks notwithstanding, it’s much safer and better for a community to have multiple options when mining. It’s my theory that viable, easy-to-use, open-source software would not only help to solve this issue, but it would provide another way for many less-technical individuals to supplement their income passively while contributing to a project. Anyone should be able to setup and host a mining pool with minimal difficulties.

Foundation:

For the past two years, I’ve been rebuilding NOMP from the ground up, with an emphasis on scalability, simplicity, and reliability. In some ways, the new source, Foundation, is a complete rewrite, but I kept the bones of the project, while gutting pretty much all of the extra/unnecessary features (coin-switching, UI, CLI, etc). The result addresses many of the issues brought up by users over the years and implements a number of features left out of the original solution, while simultaneously boasting cleaner source code and an expansive testing suite. Some of the main improvements notwithstanding the rewrite itself, bug fixes and those mentioned above include the following:

  • Segwit/Bech32 compliance
  • Updated stratum methods according to documentation
  • AsicBoost support
  • Reorganized configurations that are more intuitive/cleaner
  • Reorganized database schema that is more intuitive/cleaner
  • Solo-mining functionality for users
  • Merged-mining functionality for users
  • PPLNT made the default payout scheme (removed PROP)
  • Reorganized/reworked API to improve statistics management
  • API caching to cut down on database workload
  • Updated Node version from v0.10.x to v15.x+
  • Full SSL/TLS support
  • CI/coverage/linting pipelines
 
With all these changes and improvements upon the initial source, Foundation is no doubt one of the most sophisticated open-source mining pool solutions currently available, and one of the few that is still being actively developed. It will always be open-source. You can access it here: https://github.com/blinkhash/foundation-server/

Blinkhash:

On top of this, while building Foundation, I had the idea for a platform that acted as a central “hub” for mining pools. Perhaps the most difficult part of running a mining pool, for the pool owner, is marketing. Until now, all options for mining pools have come with their own UI. The pool owner is responsible not only for setting up the infrastructure but also hosting the attached website and directing traffic to it. Foundation + Blinkhash removes all of that from the equation.

Instead, once Foundation is setup and reachable on a server, all that’s necessary is for a pool owner to create an account on the Blinkhash platform: https://blinkhash.com/. In the “Pools” page of their dashboard will be a button that reads “Link a Mining Pool”. The user just needs to fill out this multi-step form with their pool’s information and the platform will handle the rest. After a few minutes, the pool will be “linked”, active, and reachable to anyone. Some examples of linked pools include the following:


Note that at this point, though, development on both Foundation and Blinkhash is still ongoing. While both are completely usable, there are a few pages on the platform that still need to be built out (/mining specifically). Feel free to join the Discord (https://discord.gg/rNjez6VgNF) to follow development and keep track of everything happening in the Blinkhash ecosystem!

TLDR:


I rebuilt NOMP from the ground up with an emphasis on scalability, simplicity, and reliability. I’m also in the process of building out a platform that allows users to “link” their pools to leverage a streamlined UI + analytics module (https://blinkhash.com/mining/11a9b195-8b8b-4f3f-bd5c-f55905933f5c) for free until the payment processor + beta testing is done.
9  Bitcoin / Project Development / Re: [Feedback Appreciated!] Blinkhash - Making mining pool ownership accessible on: July 30, 2021, 04:01:34 PM
Finished up the documentation and made a simple landing page for it. Here's the current site, decided to make it from scratch because I couldn't find a template I liked, which is why it took longer: https://blinkhash.com/docs. Working on an idea for the landing page now, the repository for the documentation is here if you're interested: https://github.com/blinkhash/blinkhash-documentation/
10  Other / Beginners & Help / Re: [Tutorial] Install a mining pool [NOMP] on Ubuntu Server 18.04 on: July 18, 2021, 07:21:04 PM
Thanks for posting this tutorial! NOMP has definitely never really been that user-friendly as a source. Not to plug, but for the past year I've actually been working on solving this exact issue through a complete rewrite of the core code itself. Came across your thread by accident, but for anyone trying to build their own mining pool, feel free to check out https://github.com/blinkhash/blinkhash-server and its documentation (https://docs.blinkhash.com/)
11  Bitcoin / Project Development / Re: [Feedback Appreciated!] Blinkhash - Making mining pool ownership accessible on: July 07, 2021, 08:04:24 PM
Decided while working on the documentation to build out dev/qa/prod pipelines and launched Jenkins to handle deployments. At this point, everything is running smoothly on Fargate clusters. The current state of the documentation can be found here: https://blinkhash.com/docs/. Shouldn't be too much longer at this point now that the infrastructure is in place.
12  Bitcoin / Project Development / Re: [Feedback Appreciated!] Blinkhash - Making mining pool ownership accessible on: June 21, 2021, 01:06:14 PM
Took a few days to start building out the site for the project's documentation. I couldn't find a template on Github that I liked exactly so decided instead to just build from scratch. Was heavily inspired by Tensorflow's documentation. Here's the current progress (light mode, dark mode, responsive): https://imgur.com/a/3CJJ740.
13  Bitcoin / Project Development / Re: [Project] Blinkhash - The next generation of open-source mining pool software on: June 17, 2021, 08:52:07 PM
Just finished the initial build of the software. Everything seems to work perfectly and I built out the testing suite to catch as many bugs as I could. Feel free to download and do your own testing/build your own mining pools, the repositories are listed below. Let me know in the Discord (https://discord.gg/8xtHZFKJQY) about any bugs that you may experience:

Server: https://github.com/blinkhash/blinkhash-server
Stratum: https://github.com/blinkhash/blinkhash-stratum
Hashing: https://github.com/blinkhash/blinkhash-multi-hashing
UTXO: https://github.com/blinkhash/blinkhash-utxo-lib

Over the next few days/weeks, I'll be writing out expansive documentation for the pool itself and then later throwing together a client in React.JS. Equihash support will come as soon as I'm done with those items.
14  Bitcoin / Project Development / Re: [Project] Blinkhash - Updating open-source mining pool software on: April 30, 2021, 02:10:22 PM
The biggest issue with NOMP has been the lack of segwit support. I am on mobile at the moment so I can't even look at the code, but I do not see it mentioned.
Also, although I don't have an issue with Redis it seems that more and more people want (and I have no idea why) a SQL database backend.

Either way, good job, glad to see someone is doing something like this.

-Dave

Thanks for the feedback! Also oops, I did forget to mention it, will add to the post above. The pool is segwit compliant, I leveraged https://github.com/BitGo/BitGoJS/tree/master/modules/utxo-lib to provide support for segwit/bech32 addresses. I still have to test a few things, but I was able to mine a few blocks on the Litecoin testnet a few months ago.

I'll see about including SQL support as an option, shouldn't be difficult to implement.
15  Bitcoin / Project Development / [Feedback Appreciated!] Blinkhash - Making mining pool ownership accessible on: April 28, 2021, 06:43:32 PM
(4/28/2021):

About a year ago, I was looking into creating my own mining pool in order to test a tool that I was working on, but after some research, realized that there are actually very few good open-source options out there, with YIIMP and CKPool really being the only viable options. Both still aren't great, with the former having issues with being especially difficult to read/understand (at least for me, I dislike PHP), and the latter being limited solely to Bitcoin. I also stumbled upon NOMP, zone117x's open-source JS solution, but it hadn't been maintained in years and has since fallen into disrepair. Even so, this was the one that interested me the most, as I feel much more comfortable with JS.

On top of this, it's no secret that it's not easy for the layman to create, host, and manage their own mining pool. As such, mining pools and the mining process as a whole has been becoming more and more centralized, especially for smaller altcoins, where a single pool is most often responsible for the majority of the hashrate on the network. Viable, easy-to-use open-source mining pool software with extensive documentation would help to solve this, as it would specifically help to simply the process of setting up a pool to the point where anyone could manage it. This was my goal in starting this project.

So for the past six months or so, I've been working on a complete rewrite/update of NOMP. I decided on start to specifically make this source a lot more barebones--to focus on just the pool functionality. This means no UI, no coinswitching, no MPOS, etc. I would really appreciate some feedback--either on the code itself or the idea as a whole, as well as any features that people would want supported. I'm not going to add back any of the features removed, however. A summary of the changes (https://github.com/blinkhash) thus far is below:

Stratum
  • Cleaned up/rewrote everything
  • Commented everything to improve readability
  • Comprehensive testing suite
  • Update node version from v0.10.x to v12.x+
  • Segwit/Bech32 compliance
  • Added/fixed stratum methods according to docs (https://braiins.com/stratum-v1/docs)
  • Asicboost support (needs testing)
  • Implemented CI/coverage/linting pipelines
  • Miscellaneous bugfixes/etc.

Server
  • Cleaned up/rewrote everything
  • Commented everything to improve readability
  • Comprehensive testing suite
  • Update node version from v0.10.x to v12.x+
  • Reorganized configuration files to be more intuitive/cleaner
  • Reorganized database scheme to be more intuitive/cleaner
  • Added solo-mining functionality for users
  • Made PPLNT the default payout scheme (removed PROP)
  • Added 'partnering' scheme for usage w/ API to promote advertising
  • Reorganized/reworked API entirely
  • Implemented CI/coverage/linting pipelines
  • Miscellaneous bugfixes/etc.

Note: Neither blinkhash-server nor blinkhash-stratum will work as a drag+drop solution for any other open-source project.



(6/17/2021):

Server: https://github.com/blinkhash/blinkhash-server
Stratum: https://github.com/blinkhash/blinkhash-stratum
Hashing: https://github.com/blinkhash/blinkhash-multi-hashing
UTXO: https://github.com/blinkhash/blinkhash-utxo-lib

I just ended up finishing the initial build of the software and officially released it for testing. Here's the links to each of the individual repositories that are in use. Let me know your thoughts! Here's the link to the discord to stay updated on development or ask me any specific questions: https://discord.gg/8xtHZFKJQY. For my next steps, I'm currently working on building out documentation and tutorials on how to implement and work with Blinkhash, as well as a separate repository of coin configurations for users to consult. Following that, I'll develop a dashboard/client for the server itself and include support for Equihash coins.



(7/30/2021):

Finished up the documentation and made a simple landing page for it. Here's the current site, decided to make it from scratch because I couldn't find a template I liked, which is why it took longer: https://blinkhash.com/docs. Working on an idea for the landing page now, which might take a bit longer. The repository for the documentation is here if you're interested: https://github.com/blinkhash/blinkhash-documentation/
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!