This is to confirm my understanding: In many talks and posts, it is said that the wallet or client of a node validated or verifies two other transactions.

I wonder, whether this is the best terminology to describe what actually happens.

As far as my current understanding is, the wallet or client does not actually do any real verification. For example, it does not search the tangle to identify double spends.

Instead, this is done by the node during tip selection. My understanding is, that once a client asks a node to provide two tips, the node randomly selects tips and then the node uses its current in memory image of the tangle, to identify any conflicts.

Should there be none, the two tips are handed over to the wallet. The wallet does „nothing more“ than including the hashes of these two tips as branch and tail and calculating the PoW.

Is all of the above correct?

(I’d wish we’d have sequence diagrams for each of these scenarios.)

1 Answer 1


You are correct.

The wallet will ask the node for 2 transactions to approve, and the node will validate that they both are consistent with each other as well as with the latest known milestone (In fact, the tip selection is designed so that at least one of the tips directly or indirectly approves the latest known milestone, so all the node has to do is check the two transactions - and possibly all their approved transactions which are not yet confirmed by the milestone - for consistency).

  • 1
    We then might all want to start using more precise terminology everywhere!
    – ralf
    Jan 23, 2018 at 21:56

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.