4

Consensus in IOTA is no longer decoupled from the transaction making process: it’s an intrinsic part of it, and it’s what enables IOTA to scale without any transaction fees. But how is consensus achieved in offline transactions?

Since IOTA is partition tolerant, it is possible to have txs without referring immediately to the main tangle. This feature is crucial when it comes to fog or mist computing, I think. In this case I mean the partitioning which is key in being adaptive to the requirements of an asynchronous IoT environment. Where there is no „always-on connectivity“, as such you need to be able to make transactions and secure data even in an offline environment. IOTA makes it somehow possible for a cluster of devices to branch off and make transactions in an offline environment which later refer to the main tangle.

Astro_Paul
  • 902
  • 7
  • 18
  • 1
    Can you specify what you mean with "offline transactions"? – Zauz Dec 01 '17 at 09:57
  • I don't think this is clear yet.. – Helmar Dec 01 '17 at 11:51
  • I endeavored to be more precice and edited it again because I think an answer to that question is very relevant to users of this page. – Astro_Paul Dec 01 '17 at 11:55
  • 1
    I think this question is coming from this announcement : https://blog.iota.org/a-primer-on-iota-with-presentation-e0a6eb2cc621 where Dominik Schiener talks about cluster of devices able to do transactions offline. He don't say the word "flash channel", but as far as I understand and in the light of recent news: it was a "teasing" of the flash channels. – ben75 Dec 01 '17 at 12:01

2 Answers2

2

When a part of the network (e.g. a satellite swarm of 4 devices, each are IOTA full nodes, floating into space planning to return in 4 years) decouples from the rest of the network a Subtangle is created.

These 4 nodes then attach transactions (pay each other) to this Subtangle because they are no longer connected to the main Tangle (because they are too far away from earth).

When the devices first get near enough to connect to the main Tangle again, they unite their Subtangle with the main Tangle again and everything is back to normal.

Potential Problems

Scenario:

  • Satellite 1's balance is 10i
  • Satellite 1 tells his friend Oscar on earth its seed
  • Satellites start their journey
    • S1 pays S2 5i (and receives some data in return)
    • S1 pays S3 5i (and receives some data in return)
  • Oscar pays Alice 10i (and receives some goods/data in return)
  • Satellites return to earth

At this point the satellites want to merge the Tangles. But double spends occured. When merging, the Tangle with more hashing power survives, the other one gets orphaned. So S2 and S3 would've lost the IOTAs which they believed they had.

Consensus

Consensus is achieved like usual in the individual Tangles.

Zauz
  • 4,454
  • 15
  • 42
1

Offline transactions (AKA flash channels) requires an online tx to start and an online tx at the end. In the meantime, all transactions between participants can be offline. (be aware that 'offline' here means 'not connected to a full node')

The idea is that to initiate a flash channel (i.e. a bunch of offline transactions): participants must deposit an equal amount of IOTA in a multi-signature address (the address is owned by all participants).

Once all offline transactions are done : the resulting transaction (i.e. the "sum" of all offline transactions) must be attached to the tangle and validated as usual.

To transfer from the multi-signature address : all participants must sign the offline transaction, so the consensus is "all participants must agree all offline transactions".

More details here : https://blog.iota.org/instant-feeless-flash-channels-88572d9a4385

ben75
  • 5,344
  • 11
  • 32
  • 3
    I think the questioner meant another kind of offline transactions – Zauz Dec 01 '17 at 10:54
  • @Zauz I don't know any other kind of offline transaction on IOTA... but a clarification from the OP may be required. – ben75 Dec 01 '17 at 11:23
  • 1
    Don't worry, I will cover the other kind of Offline Transactions. Please don't delete your answer, it's still useful – Zauz Dec 01 '17 at 11:34
  • Yeah, Zauz is right. I meant the partitioning which is key in being adaptive to the requirements of an asynchronous IoT environment. Where there is no „always-on connectivity“, as such you need to be able to make transactions and secure data even in an offline environment. IOTA makes it somehow possible for a cluster of devices to branch off and make transactions in an offline environment which later refer to the main tangle. – Astro_Paul Dec 01 '17 at 11:47