IOTA tutorial 20: Masked Authenticated Messaging Payload

Поделиться
HTML-код
  • Опубликовано: 24 июл 2024
  • If you like this video and want to support me, go this page for my donation crypto addresses:
    / mobilefish
    This is part 20 of the IOTA tutorial.
    In this video series different topics will be explained which will help you to understand IOTA.
    It is recommended to watch each video sequentially as I may refer to certain IOTA topics explained earlier.
    The main objective of this video is to provide you with some basic knowledge about the Masked Authenticated Messaging Payload.
    The masked payload is created in file:
    github.com/iotaledger/MAM/blo...
    See the create function.
    The nonce is created in file:
    github.com/iotaledger/iota.rs...
    See the search function.
    Nonce is a number based on the side key, root, index, message length, next root and message.
    Lets call these values "masked bundle values".
    Nonce can be interpreted as a value created by scrambling these "masked bundle values" in a specific way using the security level.
    The subseed and key are created in file:
    github.com/iotaledger/iota.rs...
    See the subseed and key function.
    The signature is created in file:
    github.com/iotaledger/iota.rs...
    See the signature function.
    When consuming a MAM stream, the signature is first validated by verifying if the signature belongs to one of the tree's leaves.
    If the signature verification fails, the entire message is deemed invalid.
    If the signature verification is valid, the message is unmasked.
    The masked payload is parsed in file:
    github.com/iotaledger/MAM/blo...
    See the parse function.
    The security level is extracted in file:
    github.com/iotaledger/iota.rs...
    See the checksum_security function.
    The signature and address are extracted in file:
    github.com/iotaledger/iota.rs...
    See the digest_bundle_signature function.
    The parse function requires a root value when the function is called.
    This root value must match the calculated root.
    If this is the case, the next root and message are unmasked.
    Check out all my other IOTA tutorial videos:
    • IOTA tutorials
    Subscribe to my RUclips channel:
    / @mobilefish
    The presentation used in this video tutorial can be found at:
    www.mobilefish.com/developer/...
    #mobilefish #howto #iota
  • НаукаНаука

Комментарии • 14

  • @anonforareason7534
    @anonforareason7534 6 лет назад

    Great video!
    Challenge for next episode - MAM practical example.

  • @kowei2045
    @kowei2045 5 лет назад

    Hi, Thank you for the amazing series of IOTA tutorial. I have one question. In the previous tutorial, we need to calculate the normalized bundle hash to prevent from releasing the key digest. But why in the MAM scheme (in the slide) I can see the number of hash for some fragment being zero? That's because the information has been masked so it doesn't matter ??

    • @Mobilefish
      @Mobilefish  5 лет назад

      I do not understand your question.
      Can you tell me which slide number you are referring?
      www.mobilefish.com/download/iota/masked_payload_part20.pdf

  • @nguyentuankhai862
    @nguyentuankhai862 6 лет назад

    Great video!
    Question: as I understand, 'count', 'next_count', and 'start' are not published to the tangle (or are they?), so what are these parameters good for?

    • @Mobilefish
      @Mobilefish  6 лет назад +1

      See: www.mobilefish.com/download/iota/mam_part19.pdf
      Explained in page 21 (See also: IOTA Tutorial 21)

    • @nguyentuankhai862
      @nguyentuankhai862 6 лет назад

      Yeah I know the meanings of these parameters; they are part of a MAM object. That's clear to me; maybe the broadcaster needs them, but the thing I'm wondering about is whether they are needed by the receiver, because I don't see them being published to the tangle. So if I'm the receiver, do I need the 'count', 'next_count', and 'start' parameters?

    • @Mobilefish
      @Mobilefish  6 лет назад +1

      These parameters are only used by the publisher to create the MAM stream.
      The receiver only need the root and side_key (when channel mode=restricted).
      1) With the root the receiver can calculate the address.
      2) From this address the transaction bundle is retrieved.
      3) The signatureMessageFragment fields in the transaction bundle together is the masked payload.
      4) The masked payload contains the message (eg sensor data) and the next root.
      5) With the next root repeat step 1.

  • @christ7233
    @christ7233 6 лет назад

    thanks

  • @Drcalatayud
    @Drcalatayud 5 лет назад

    Hi love the content, Question: How many sensor data can i store per payload ?

    • @Mobilefish
      @Mobilefish  5 лет назад +1

      Theoretical you can store any information size, but it makes NO sense to do that!
      The bigger the payload, the payload is broken up in smaller pieces.
      More pieces means more time is needed for the PoW.

  • @jurerosso5347
    @jurerosso5347 6 лет назад

    How should the receiver knows the index?

    • @Mobilefish
      @Mobilefish  6 лет назад

      The receiver does not need to know the index.
      The masked payload contains the index.
      See sheet 4: www.mobilefish.com/download/iota/masked_payload_part20.pdf

    • @jurerosso5347
      @jurerosso5347 6 лет назад

      thank you!! i didn't notice it