FANDOM


FAQ Edit

What is the Distributed Proof of Work (DPoW) System? Edit

The DPoW system is the The Nano Center solution to helping the Nano community-supported services, such as faucets, tipping bots, and wallets. It allows any user to support the nano network by computing the required work for transactions.

How can I see statistics on the DPoW network? Edit

The DPoW Network has a dashboard that is located here. You can see how many clients are connected, a list of services utilizing the network, and detailed statistics on PoW generation.

How can I use it? Edit

The work is distributed by a centralized server, and you should use one of the available clients (links at the bottom):

Python client - more performance and configurable, harder to setup, intended for continuous use

Web-based client​ - easy to setup, intended for intermittent use

Why is this needed? Edit

Every Nano transaction requires a small PoW to be calculated. It can take around 15 seconds on a modern computer (less than 3 if using a graphics card). This is not a problem for users running a node and only sending occasional transactions. However, for services that manage hundreds of accounts, which may want to transact at the same time, their server might not be able to keep up with the demand. This problem is usually handled by having a work server. The issue is that can be expensive, and is sometimes doing nothing, when transactions are not happening. For non-profit community services, this has become a problem.

How does DPoW solve the problem? Edit

With DPoW any user can help run the aforementioned services, simply by leaving their computer on and calculating the occasional PoW. Much easier and often more helpful than running your own node.

But I thought running your node helps the Nano network? Edit

Not necessarily, especially if you have a slow node. A representative, however, helps decentralize the network, making it more secure. DPoW was created because many users wanted to help the network in some other way.

Why would someone want to offer his computer for DPoW? Edit

It runs on the same principle of running a node - we believe users will want to help the Nano network and services simply because they want them to exist. Moreover, there are plans of doing small payouts to users in the future, proportionally to the amount of work done.

Is this why I need to give my address as a work peer? Edit

Exactly.

Do services pay for all of this? Edit

We are currently implementing a subscription model where services pre-purchases a bundle of credits, such that each work requested costs them one credit. These funds will be then distributed to the workers regularly. This is still in testing and in the future we plan to explore a free community model. The cost to use the dPoW system is significantly cheaper then a service running its own work server.

We have already paid, collectively, more than 30 Nano to our clients, for tens of thousands of work requests.

Who distributes the work requests? Edit

A server run by James Coxon, a member of The Nano Center.

Can't this be used to spam the network? Edit

If anyone could request work for free, in theory it could be work that will be used to spam the network, which would go against the purpose of this system. However, all services have their own API Key and they will be banned if this happens.

I'm a service and I would like to use this Edit

Great! Please contact @jayycox#5013​ in http://discord.nanocenter.org/ or by e-mail: james@joltwallet.com. In the future, a form will be available.

How do I know you're not using my PC maliciously? Edit

You can use the open-source client and verify the source code (or ask someone you trust in the community). We will never do such a thing.

I've heard that Nano nodes precache the work for the next transaction, is this true? Edit

Yes. It is perfect for sending occasional transactions since they will be sent immediately without waiting for work. The DPoW system does the same for its services. After a work is requested, the corresponding source account is kept in a database, and we check for changes in its ledger. Once they send a transaction, we request work to a work peer in the background and keep it in cache. Once the service requests work for that same account, it will already be available! Neat, right?

What if the server goes down or there are no work peers available? Edit

We recommend that services keep a fallback method to get their PoW.

Where can I find the source code? Edit

Ok, count me in! Edit

Welcome, and thank you for helping to support community projects.