After a snapshot has been taken, there are no more transactions, only the account balances. Which tips are referenced as parent by the first (new) transactions? Is it possible to use one transaction as a parent after a snapshot while the other parent comes from a subtangle without snapshots?
-
First question is answered here: iota.stackexchange.com/a/1402/134 - Second question: Nodes that run the post-snapshot IRI will not choose such transactions for tip selection, as pre-snapshot transactions are considered invalid, therefore such transactions reference invalid/missing transactions and therefore are never solid. And probably the Coordinator will do the same (unsure as the Coo is not open source). So you can post such transactions, but don't expect them to get confirmed ever.– mihi ♦Commented Jul 18, 2018 at 18:52
-
And now somebody make a nice answer from this so that @Zauz can award his bounty :)– mihi ♦Commented Jul 18, 2018 at 18:53
-
I made an answer just now... but I'm still unsure about some stuff. So what happens too few nodes participate in the snapshot? Is it possible that the pre-snapshot Tangle actually remains the main Tangle, and the post-snapshot transactions become invalid? (probably off-topic but oh well)– BayequentistCommented Jul 18, 2018 at 23:14
-
1It does not matter how many nodes participate in the snapshot, as long as the Coordinator does. Old nodes will still accept post-snapshot transactions (as they start from a milestone signed by the coordinator).– mihi ♦Commented Jul 19, 2018 at 19:53
1 Answer
Which tips are referenced as parent by the first (new) transactions?
An answer for this question can be found here: Clarify inner workings of the snapshot
The genesis transaction (with hash: 999⋯9) is directly approved by the Coordinator. The first transaction after the genesis simply approves the genesis transaction twice. In other words, it has the same Trunk and Branch which is the genesis transaction. Tip selection algorithm is a random walk, so it is probable that the Trunk and Branch are the same. On a healthy Tangle the probability of this happening is very low, and vice versa.
Is it possible to use one transaction as a parent after a snapshot while the other parent comes from a subtangle without snapshots?
From the Tangle whitepaper (page 2):
If a node finds that a transaction is in conflict with the tangle history, the node will not approve the conflicting transaction in either a direct or indirect manner... If a node issues a new transaction that approves conflicting transactions, then it risks that other nodes will not approve its new transaction, which will fall into oblivion.
All pre-snapshot transactions are simply not a part of the Tangle history anymore. Therefore, it is possible for a node to issue a transaction which approves a pre-snapshot transaction, but such a transaction would not be approved by other nodes.
-
I understand how the snapshot creation process works. Also, the linked post for the new transactions only says "It's done like the very first milestone." But, still open: HOW is it done. How do the first transactions after that looks like? What are they referencing? In my understanding they have to point to 2 previous transaction - so.. what, if there's only the milestone? Commented Jul 19, 2018 at 9:07
-
1The genesis transaction (with hash:
999⋯9
) is directly approved by the Coordinator. The first transaction after the genesis simply approves the genesis transaction twice. In other words, it has the same Trunk and Branch which is the genesis transaction. Tip selection algorithm is a random walk, so it is probable that the Trunk and Branch are the same. On a healthy Tangle the probability of this happening is very low, and vice versa. Commented Jul 19, 2018 at 11:02 -
Does this answer your question? And do you want me to edit my answer? Commented Jul 19, 2018 at 11:13
-
1Yes, that is the answer I searched for ;) Would appreciate, if you could add that to your reply. Commented Jul 19, 2018 at 12:43
-