6

So I had went through the steps in this "IOTA Full Node Copy-Paste Installation Guide" and got the full node installed and running.

I had earlier read in this "Making a Transaction" article here at iota.readme.io about what it said about Proof of Work:

Proof of Work: In order to have your transaction accepted by the network, you need to do some Proof of Work - similar to Hashcash, not Bitcoin (spam and sybil-resistance). This usually takes a few minutes on a modern pc.

So I had assumed that having PoW enabled on full nodes is what keeps the transactions flowing and the network "doing stuff".

Then earlier today I read this other question "How do I enable my fullnode to do POW?" and noticed that, based on the answer to the question, PoW never got enabled on my full node.

I am saying this because after completing the installation, the REMOTE_LIMIT_API property (in the /home/iota/node/iota.ini file) looked like this:

REMOTE_LIMIT_API = "removeNeighbors, addNeighbors, interruptAttachingToTangle, attachToTangle, getNeighbors, setApiRateLimit"

Based on those instructions in the answer to the other question, to enable PoW I would have to remove the attachToTangle and interruptAttachingToTangle values from the REMOTE_LIMIT_API property.

So here are some questions I would like to ask:

  1. Why would enabling PoW not be included in full node installation instructions?
  2. Does a full node with PoW disabled still contribute to the network, and if so, in what way?

2 Answers 2

4

At first there are two different ways of running a fullnode.

  • You can run it on your Desktop computer next to your wallet.
  • You can run it on a Server and connect your wallet via API (which is the most common)

So I am talking about the second way:

In this case, there are 2 different ways of doing the POW, not just one.

  • on your fullnode via API (delegated POW)
  • on your system which runs the wallet (local POW)

As you stated correctly here there is the way of delegating the POW to a fullnode, which then does the POW for you. See your statement here:

So I had assumed that having PoW enabled on full nodes is what keeps the transactions flowing and the network "doing stuff"

However this is ,at least right now, only possible via API,Cli-wallet or a patched version of the GUI-Wallet. So if you are not able to use any of these correctly, this might result in address reuse and loss of funds. In conclusion I recommend you to refrain from using any of these without proper research and experience in using the Iota technology. So if you feel the need to enable the POW to your Wallet. You can actually find it on iota Stackexchange.

The other way you didn't see or at least mention is local POW. Local POW means that POW is done by your computer and the Hashing result is provided by your Gui-Wallet to the Fullnode. So actually you are doing the POW all the time. The only thing which differs is the CPU where this is done.

There it doesn't make any difference for the security of the network of for contribution where it is been done. It is only important and sufficient to be done.

If you run your wallet and your iri on the same machine, there is no difference in switching the POW performing instance.

1
  • thanks for your answer, Tobi MZ. However you write that "As you stated correctly there is the way of delegating the POW to a fullnode..." where was I stating this? I am not aware of that this delegation is possible or even how it can be done. Other than that, what is a "local POW"?
    – Dee
    Commented Feb 28, 2018 at 4:31
3

The intention behind PoW is to provide spam resistance - prevent a bad actor from flooding the network with useless transactions that cause work for the other nodes.

So, when you are running a full node that you are using for your own transactions (or your own devices) you trust, you can enable PoW so that the node will do it for you instead of the device attached.

When you open your node to the public, they should do their own PoW to prove their transactions to be "worth being broadcast". The light wallet will do PoW locally so it won't care whether the nodes support PoW.

A node is useful to the network regardless whether it does PoW or not - it will still perform tip selection for wallet users, let them retrieve their balance, and help in propagating transactions to the other nodes, even when PoW is disabled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.