IOTA allows feeless and secure messaging by attaching zero-value transactions to the tangle. While data on the tangle is immutable and therefore tamper-proof, additional techniques are needed to fulfil other security requirements such as confidentiality and authentication.

Another problem is the linking of multiple messages carrying related data. A convenient way to point to multiple messages is needed instead of referencing each zero-value transaction explicitly.

Random Access Authenticated Messaging is an attempt to solve these issues by organizing messages in so called channels and using well-known IOTA-based cryptography.

Why another messaging protocol?

This is a legit question because there already is a capable messaging protocol for IOTA. Masked Authenticated Messaging also provides secure messaging and linked data channels and enables many use cases.

However, it has its limitations. For example, this can be demonstrated with the use of MAM for an audit trail use case. A simple solution would be to attach a QR code to a product at the start of production containing the seed of a MAM channel. At every step of production, the manufacturer adds a message to the channel pointing to a message in its own MAM channel. This way the authorship of the message is secured because only the manufacturer can add messages to its channel.

Everybody who scans the QR code of the finished product can audit whether it has passed all the expected steps of production with the correct manufactures.

But there is a problem. To verify that two MAM messages are belonging to the same author, a reader needs to fetch all messages from the start, because one message points to the next one. And given that a manufacturer produces for example 10000 or more products a day, all these messages need to be fetched when verifying product number 10000. Fetching so many messages takes incredibly long, since a customer normally only wants to audit one specific product and therefore doesn’t have the previous messages cached already.

Thus, a messaging protocol with indexed messages is needed. These must be accessible directly and out of order in O(1), while it’s possible to verify that they belong to the wanted channel, only by fetching this specific message.

How RAAM works

The following section gives a detailed explanation of the building blocks and cryptography RAAM uses to realize the described requirement of accessing indexed messages fast and in arbitrary order.

Read the Full Article

This post was originally published on——2. The IOTA-News Community curates, examines, and summarizes news from external services while producing its own original material. Copyrights from external sources will be credited as they pertain to their corresponding owners. The purpose is to make use of 3rd party content or pictures as either allusion or promotional endorsement of mentioned sites. If you have a claim of copyright infringement with respect to material, please mail to support[at] is a community run website and is NOT affiliated with the IOTA Foundation in any way.