4

I don't have access to the old transactions anymore, so I have to trust thetangle.org (or permanodes in the future) that data from before the last snapshot is valid.

How can I verify old transactions showed by thetangle.org without having the full Tangle?

1

There are two ways I can think of to verify a (the orange) transaction.

toi

1. With the Coordinator

If you don't know how IOTA transactions are confirmed by the coordinator, check out
How exactly are transactions verified and confirmed in IOTA
first.

Preconditions:

  • You get all information about the old Tangle through thetangle.org (or any other provider) and you are not sure whether you can trust them.
  • You trust the Coordinator
  • You want to know something about the orange transaction (e.g. what was it's address).

To get and verify this information, you do the following:

  1. request the orange transaction from the provider
  2. request a milestone that confirms your transaction (e.g. by recursively requesting children until you find one)
  3. check if the signature of the milestone is valid
  4. Depending on how you did step 2, confirm that there is path from the milestone to the orange transaction.

coo

Now you know, that the Coordinator approves of the orange transaction and since you trust the Coordinator, you know that the transaction is valid.

2. Without the Coordinator

If the answer to
What are the parents of the first transactions after a snapshot?
is different than what I expect it to be, then this method might not work.

Preconditions:

  • You get all information about the old Tangle through thetangle.org (or any other provider) and you are not sure whether you can trust them.
  • You store all information about the new Tangle in your own full node and know for sure that it is correct.
  • You want to know something about the orange transaction (e.g. what was it's address).

To get and verify this information, you do the following:

  1. request the orange transaction from the provider
  2. find a link to the new Tangle (e.g. by recursively requesting a random child until you reach it)

Now you know, that one of the transactions in the Tangle you store approves of the orange transaction...

new

Path too long

Finding this link between the new Tangle and a very, very old transaction can take a lot of time. But you only have to do it once, if you want to verify multiple very old transactions because all the transactions along the way (blue circled transactions) are also verified and you can store some of them to act as "checkpoints" for future requests.

checkpoint

All the source files of the images can be found here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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