I was watching the very nice and clear video about transactions and bundles of MobileFish.

As you can see the branch of all tx except for the last one (also called the tail) points to tip0.

The question I have is the following: is there a specific (programming) reason for this construction? Why doesn't the branch of the tail point to tip 0? Is it for a good reason or was it just a arbitrary choice?

Bundle illustration

2 Answers 2


Although the construction seems a bit odd, now I understand this specific setup was just temporary. In a new release (current v1.4.2.1) the new bundle structure will adhere to the "each tx confirms 2 others"-philosophy. So if a bundle consists of N tx it will confirm 2*N other tx. (N-1) of these point to internal tx (to chain the tx together) and (N+1) point to external ones.

CfB confirmed this in another question.


There is no definition of this parts in the whitepaper. So we need to take a look at the design.

In IRI, when user performs "attachToTangle", it will send all transaction tryte in "reverse" way, that is, [tail, index 3, index 2, index 1, index 0] into the API. The tail transaction will set trunk to trunk, branch to branch, then the rest of the transaction, their trunk will set to previous transaction, branch will set to trunk transaction (the parameter from API).

So this is just their choice in IRI, since most of the tip0 is milestone, they choose to point more transaction to tip0 IMO.

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.