9

I would like to clarify the distinction between the pragmatics and incentive of running a full node vs a permanode. Could you comment if my statements correct,and if necessary correct mine to accurately depict the difference between a full node and a permanode?

Full node

A full node is a node that acts as a discovery node allowing transactions sent by light clients to be faster submitted to the rest of the tangle (and thus verified faster). For me, this is beneficial because I can be sure that my full node is running instead of using some other node that might or might not be down.

Furthermore, a full node can save the partial state of the tangle using the transactions that reached it, and does not store transactions after a snapshot.

Permanode

A permanode is a node that keeps all transaction data even after snapshots. This is beneficial for me if I ever need an exact transaction confirming some payment. Here, two questions arise:

  1. Why would anyone run a permanode without financial incentive?
  2. How do we know to trust permanodes? If there is a set of trusted nodes maintaining the state, how is this different from let's say Ripple?
2
  • 1
    Trust the ultimate problem of every cryptographic technology. The trust issue is not confined to permanodes it applies to the full nodes as well. Regarding your first question, why would anyone run a full node without financial incentive? Both your questions do not target any difference between the nodes. Which makes your question a bit unclear to be honest, since the questions in the description don't match either title nor introduction.
    – Helmar
    Commented Dec 18, 2017 at 14:00
  • Thank you for your response. More than asking questions, I was trying to make statements that are either right or wrong and state clear differences between nodes. Could you comment on those? (I will edit my question to be more precise) Furthermore, I have never asked why would anyone run a full node without financial incentive, I was asking the question about the permanode. Commented Dec 18, 2017 at 14:04

3 Answers 3

6

A full node contains the full data (that is, all transactions) generated after a snapshot.

The benefit is that nodes can have reduced hardware specs. The drawback is that information that resides in transactions is lost after every snapshot, if the transaction is behind (older than) the snapshot, and has no balance on it.

A permanode contains all transactions ever made. Since you can add a message to a transaction, a message of value, you may like it to be accessible at all times. In that case a permanode would offer you that accessibility. It could be your own node ("free"), or one hosted as a service. They'd also be interesting for research as well as to track the origins of the balances.

8
  • 1
    To paraphrase, full node contains all the transactions before a snapshot, not just the transactions that reached the node before a snapshot Commented Dec 19, 2017 at 9:10
  • The snapshot contains all addresses that have balances on them and their balances, everything else is erased, so the Tangle builds up newly from there on. You have no history, don't know how those balances ended up in that address. Permanodes have that history.
    – Daniel F
    Commented Dec 19, 2017 at 12:40
  • This is a snapshot raw.githubusercontent.com/iotaledger/iri/dev/src/main/resources/…
    – Daniel F
    Commented Dec 19, 2017 at 12:43
  • Very precise answer on permanodes, but could you comment more about the transactions that full nodes see, do they see the entire tangle or just a shard? Commented Dec 19, 2017 at 12:56
  • That was an answer on full nodes. Full nodes only contain the full tangle from the moment a snapshot was made to the present. Permanodes contain no snapshots, they have all tx ever made.
    – Daniel F
    Commented Dec 19, 2017 at 13:06
1

Regarding incentive for running permanodes, from this meetup, permanodes will be incentivised by pay per query. The issue of whether permanodes can be trusted can be resolved by drawing a parallel with DPoS - in DPoS decentralisation is partly sacrificed to achieve scalability, similarly full nodes represent federated history maintenance for the sake of more storage space. As long as anyone can become a full node, the system is decentralised enough, at least in my opinion.

0

or it is simply solved with the "Poof of Inclusion", as it is the case with the current update.

In my opinion, a full node or permanode is then largely obsolete

"The Proof of Inclusion shows that a secret, confirmed message is included in a finite set of messages and thus also serves as proof of a payment made, a hash, a transaction, etc."

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.