IOTA tutorial 5: Snapshot and Attach to tangle

Поделиться
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 5 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.
    A snapshot is a method to reduce the size of the Tangle database by removing all transactions from the Tangle, leaving only a record of addresses with corresponding balances.
    Addresses with zero balance are also removed from this record.
    A snapshot is simply a list of every address with corresponding non zero balance.
    This list can be found in the IOTA Reference Implementation (IRI).
    github.com/iotaledger/iri/blo...
    These addresses with balances acts like a genesis address.
    Once the snapshot is successfully performed it is possible you may need to claim your tokens.
    Claiming means, that you need to transfer your tokens from the old Tangle database (before the snapshot) into the new Tangle database (after the snapshot).
    If you forget to claim your tokens you will never be able to get access to your tokens again.
    The claiming process is only needed when there are major design changes in the IOTA protocol and please note that IOTA is still in the development phase.
    So claiming your tokens after a snapshot may still occur.
    The IOTA Foundation announces when snapshots are made.
    It is your duty to be kept informed.
    See the following links for IOTA announcements:
    forum.helloiota.com/Technolog...
    iotatangle.slack.com/messages...
    An IOTA wallet is a deterministic wallet, meaning when a new address is generated it is calculated from the combination of the seed and address index, where the address index can be any positive integer.
    The wallet starts from address index 0, and asks the node it is connected to, for a list of transactions that incorporate that address.
    If there are no transactions found referencing that address the wallet concludes that it has not used the address yet.
    The wallet will not increase the address index and shows the total balance of all the addresses found.
    If there are transactions found referencing that address, the wallet will increase the address index which in turn creates a new address.
    The wallet again searches the Tangle for transactions referencing that new address.
    The wallet will skip any address index where it sees that the corresponding address has already been attached to the Tangle.
    When you attach an address to the Tangle it creates:
    - a zero-value transaction referencing that address,
    - choosing and validating two transactions from the Tangle,
    - and then does the Proof-of-Work.
    In the wallet an attached address is shown in the history tab, as a transfer of 0 funds.
    It is not necessary to attach an address, IOTAs can be successfully sent to a non-attached address.
    HOWEVER IT IS RECOMMENDED THAT YOU ALWAYS ATTACH AN ADDRESS BEFORE USING IT.
    By attaching an address to the Tangle you inform the wallet that it should not reuse that address.
    Reusing an address, especially for outgoing transactions, can have huge security implications.
    In IOTA, the security of a transaction decreases when you send tokens more than once from the same address.
    This is because IOTA uses the Winternitz one-time signatures which degrade security exponentially after each address reuse for outgoing transactions.
    Once you have sent a transaction with a specific address as input, you should never use it again because a part of the private key of that specific address is revealed.
    The more outgoing transactions you make from the same address, the easier it will be for attackers to steal that address's balance by brute force the private key.
    Attackers uses a Tangle explorer to see if addresses are reused and try to steal funds from these reused addresses.
    You can reuse an address for receiving as long as you have not used it for any outgoing transaction.
    An additional security issue is after a snapshot, when the wallet forgets all of its history, people reuses addresses again.
    To avoid this, create a new wallet and transfer all your funds from the old wallet to the first address on this new wallet before the snapshot.
    This step ensures that all addresses in this new wallet (except the first) have never been used before.
    My Simple IOTA Wallet:
    www.mobilefish.com/services/c...
    Check out all my other IOTA tutorial videos:
    goo.gl/aNHf1y
    Subscribe to my RUclips channel:
    goo.gl/61NFzK
    The presentation used in this video tutorial can be found at:
    www.mobilefish.com/developer/...
    #mobilefish #howto #iota
  • НаукаНаука

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

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

    Like always clearly explained. Thanks a lot! Your videos help understand IOTA functionality with distracting content.

  • @subikshrestha121
    @subikshrestha121 3 года назад +2

    Man your videos are really great.. Please also do some for new version of IOTA

  • @connorcink3972
    @connorcink3972 3 года назад

    Love the video thank you so much for making it

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

    excellent

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

    Thanks for the video and the whole video series. After looking at the forum questions regarding pending transactions, I guess IOTA is not for me yet.

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

      Mike, I am very glad that you have spent the time to investigate the technology yourself. I wish that more people would do the same.

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

    hi ;) now I can not send my IOTAs anywhere. I have few "pendings" in history and there is an error showing:
    "ERROR: PRIVATE KEY REUSE DETECTED!
    You are attempting to sign a transaction with input that have an already been used. IOTA uses Winternitz one-time signature (W-OTS) scheme, due to it's one-time nature, the security of funds in an address decreases rapidly if you re-sign new transactions using the same key. Please wait for previous transaction to confirm, e.g. by reattaching, before sending another transaction."
    what can I do??
    THANK YOU

  • @Noah-ll1lo
    @Noah-ll1lo 6 лет назад +1

    Very useful! One question to "never use an address after sending from it". Does the newest wallet version automatically attach an address to tangle after sending or do I manually have to "send->attach->send->attach"? Maybe when the UCL releases it whould be interesting to go into detail what they improved. I heard there is multi-seed feature as an example. Furthermore, I whould be interested in the topics Iotas pow, one-time-signature. Just in case you are deliberating what topic to cover in the next video. Thank you so much! Great videos!

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

      Originally i did not want to make this video because of the UCL release. Because i know that this video might become obsolete and thus waisting my time.
      But to answer your question, i do not know which new functionality they will implement in the UCL wallet.
      Yes, when the UCL wallet is released i will make a video.
      Regarding PoW, how pub/priv keys are created, Winternitz one time signatures, these are very interesting subjects. When i understand how it works i will definitely make a video.

    • @Noah-ll1lo
      @Noah-ll1lo 6 лет назад +1

      Thanks for the quick reply. Your video ist not obsolet in my opinion no matter what the future will bring in terms of wallet functionality. It shows us the basics of the tangle and this is very beneficial for me!

  • @12345678bobster
    @12345678bobster 6 лет назад

    Thank you very much for this video, it cleared up quite a few things for me. However, I'm uncertain about "make a new seed and move your balance BEFORE the snapshot".
    My current wallet has around 50-100 transactions/addresses that I've used for testing purposes, actual transfers, as well as just doing "reattaches" with 0's to try and update my balance. What do you recommend me to do? Should I make a new seed right now and send my whole balance there? What if it gets stuck in pending for a few days (which has been happening a lot the last week) and the snapshot happens while it's still pending?
    Or will I be fine to wait until after snapshot and then send my whole balance to a new seed? What is the risk of doing this?
    Thank you for your help!

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

      Your IOTAs are NOT lost after a snapshot. But according to your situation you may have reattach 50-100 addresses to see your balance when a snapshot occurs.
      “Pending for a few days and snapshot happens”. I am not 100% sure but usually they inform ahead of time when an snapshot will occur.
      I do not think you will lose your IOTAs when this particular situation happens.
      When a snapshot is taken, it just takes a snapshot of the Tangle database at a specific moment in time. If txs are not processed (thus pending) at that snapshot moment than that tx is considered not executed. I think this is the case but i am not 100% sure.
      If you do not want to reattach 50-100 addresses AFTER a snapshot, you create a new wallet by creating a new seed. You transfer you balance to an address on this new wallet. Of course you do this BEFORE a snapshot. Otherwise what is the point.
      Risks:
      - The new wallet seed is not stored correctly.
      - You used the wrong address to transfer you balance.
      To minimize the risk transfer 1 iota to your new wallet.
      But if you are worried don’t do it!

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

    You said that before a snapshot it is a good idea to transfer funds to an other wallet. If I don't have sent any iotas out of my wallet only received and attached couple of addresses that means I don't have to do it correct?
    Second question is regarding to sending iotas. If I send iotas are my funds automatically transferred to an new address? Or how ca I make sure not to use the same address again? confused with this sending part.

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

    in the new trinity wallet are the any actions to be taken after the snapshot or everything is automated now?

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

      Last snapshot was 9 July 2019. Several weeks later I started my Trinity wallet and it upgraded itself. After entering seed with the Ledger Nano S I could see my balance without additional actions.

  •  6 лет назад

    regarding your iota_wallet tool, when I use iota.utils.toTrytes(string) and give 'a' as a input it converts to 'PC' but since the ascii value is 97 should it be not 'PD' ?

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

      Hmm, i was also baffled but after some investigation i have found the following:
      Convert decimal value 97 to trit and tryte representation:
      Decimal: 97 -> Trits: 1,-1,-1,1,1,0 -> Trytes: PD
      This is correct.
      However converting ascii value 'a' to trytes I expected:
      Decimal 97 (ASCII value a) converted to trits: 1,-1,-1,1,1,0 -> Trytes: PD
      But it seems that converting ascii values is done differently in iota.utils.toTrytes() API:
      See: github.com/iotaledger/iota.lib.js/blob/master/lib/utils/asciiToTrytes.js
      1. 'a' has a decimal value of 97.
      2. 97 can be represented as 16 + 3 * 27. To make it simpler:
      a. First value: 97 modulo 27 is 16. This is now our first value
      b. Second value: (97 - 19) / 27 is 3. This is our second value.
      3. Our two values are now 16 and 3. To get the tryte value now we simply insert it as indices into '9ABCDEFGHIJKLMNOPQRSTUVWXYZ'
      a. The first tryte value is '9ABCDEFGHIJKLMNOPQRSTUVWXYZ'[16] === "P"
      b. The second tryte value is '9ABCDEFGHIJKLMNOPQRSTUVWXYZ'[3] === "C"
      Our tryte pair is "PC"
      Note:
      You can also use this tool:
      laurencetennant.com/iota-tools/
      Conclusion:
      Decimal 97 -> Trytes: PD
      Ascii a -> Trytes: PC

    •  6 лет назад

      I wrote a small script in ruby for ternary conversation. This is how I also get 'PD'
      github.com/computalya/iota_book/blob/master/balanced-ternary.rb

    •  6 лет назад

      at first look, I assume UTF-8 will be a problem

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

    Great videos for me this new iota fan. Meanwhile, I notice at around 0:11:00 you have attached B4 address before seeing the balance (4). But based on what you explained on B0 and B1, the balance should be updated when B2 address is attached, and we don't need to attach B4. Or if I have missed something. Again, thanks a ton for this tutorial!

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

      You are right, you need to attach B4 to the tangle to see the complete balance.

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

      Thanks for quick reply. What I mean is I don't need to attach B4. As after I attach B2, the wallet should move forward to B3, and finds the balance of B3 (1). Then the wallet should update the total balance to 4. And I don't need to attach B4.
      Anyway, I will do some similar test as yours and see the logic. Thanks again.

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

      You got it!

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

      Finally I got a chance to verify what I am expecting. Yes, as far as I have attached B2, I can see iotas sent to B3, and don't need to attach B4.
      Your tool in mobilefish.com is really really good. It helps me a lot.
      Once again, thanks a ton.

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

    May I have the address of all your tutorial slides on mobile fish? I'm keeping it just for learning purpose only, so i can review them when im off line on flight. thanks a lot

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

      See:
      www.mobilefish.com/developer/iota/iota_quickguide_tutorial.html

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

    in april i moved all my iota from bitfinex to the iota wallet. In the meantime updated a version and could see my balance. Now i updated to 2.5.4 and i see 0 balance. There is only 1 transaction i did with this wallet. So i attach to tangle and generate new adress, but my balance wont show up. I repeated this over 30 times. I think nowdays when you generate a seed it has to be 81 characters long. Back in the days when i choose a seed it just have to be more than 60 characters. When i type in my seed there is a exclamation mark right to it but i can succesfull log in.
    Is my whole iota lost now?

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

      I highly recommend that you read this:
      forum.helloiota.com/588/Help-My-IOTA-balance-is-zero-steps-to-help-you-find-your-balance-v252
      and for additional help goto forum.helloiota.com/

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

    Can someone count how many credited iota addresses there are?
    That would be awesome to know.

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

    I watched your whole video but I still have a question. Is it fair to say that once a balance has been sent from an address, it should NEVER EVER be used again for all eternity, even after a snapshot? Wouldn't this mean that if say in 20 years everyone in the world was using IOTA for microtransactions (billions of people with billions of connected devices trading balances) we would eventually run out of new/safe addresses to use? Thanks!

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

      Yes, you are right! Never re-use an address for outgoing transactions.
      But running out of addresses? Hmm, lets see. Here is a simple calculation:
      IOTA has 27^81 = 8.7 x 10^115 addresses
      Lets say there will be 1.000.000 billion sensors in 200 years time. (Will IOTA still exist in 200 years??)
      Please find out the correct numbers yourself. These are just my wild estimates.
      For simplicity sake I ignore human population.
      Let assume each sensor makes a 'transaction' every 1 sec
      Number of addresses used = 60 (sec) x 60 (min) x 24 (hours) x 365 (days) x 200 (years) x 10^15 (sensors) = 6.3x10^24
      So do you still think we run out of addresses?

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

    How to make a Full Node Wallet for Iota?

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

    Question: when you had 3 iotas and sent 2 out, the wallet still have 1 iota left. But now that wallet was compromised. So, in this case is it necessary to create another seed and send the remaining iotas to new wallets generated from the new seed?
    Nice videos! Keep up with the excellent work!

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

      What do you mean with compromised?

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

      In the video description is written: "In IOTA, the security of a transaction decreases when you send tokens more than once from the same address." It is because after you send a transaction, there are hints about your seed in it, isn't it? Or I misunderstood it?

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

      Ahh, yes you are right part of the private key is revealed. I have tutorial #6 explaining this in more detail.

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

    Will you create a video on how to develope in teatnet ? How to get coin for testing ?

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

      Yes I will make a video but I do not know when!
      But to see a working example (work in progress and will be updated soon):
      www.mobilefish.com/services/cryptocurrency/iota_wallet.html (ONLY FOR EDUCATIONAL/TESTING PURPOSE)
      To get test coins (for Testnet):
      hackseeds.tangle.works/
      IOTA Testnet:
      testnet140.tangle.works:443
      Tangle Explorer Testnet:
      testnet.thetangle.org/search

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

      Great, thank you so much

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

    So how often do snapshotting the tangle occur?

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

      Snapshot dates:
      08 aug 2017 (first snapshot after IOTA went public on exchanges)
      22 sep 2017
      28 jan 2018
      There are no fix dates set for snapshots.

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

    HELP please. I had 19Gi at my wallet (I have made 3 or four receivings). I have never made any attaching to the tangle and today Ive noticed "0 balance". I clicked "receive/attach to the tangle" 30times and nothing happened. Have I lost my Giotas?? THANK YOU VERY MUCH FOR RESPONSE

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

      Checkout:
      forum.helloiota.com/588/Help-My-IOTA-balance-is-zero-steps-to-help-you-find-your-balance-v252
      But here a few quick solutions
      1) Have you installed the latest wallet version
      2) Are you 1000% sure you entered your seed correctly (have you checked the checksum code)

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

      Mobilefish.com Thank you. The seed was not correct uffff :) how can I tip you?? So now I will read all about IOTA wallet. Im not sure, there is something about not useing the same address again. I have to find out how to use the wallet safety.

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

      I am glad your problem is solved. Hmmm you have just given me an idea for a next video topic: Seed Checksum

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

      hi ;) now I can not send my IOTAs anywhere. I have few "pendings" in history and there is an error showing:
      "ERROR: PRIVATE KEY REUSE DETECTED!
      You are attempting to sign a transaction with input that have an already been used. IOTA uses Winternitz one-time signature (W-OTS) scheme, due to it's one-time nature, the security of funds in an address decreases rapidly if you re-sign new transactions using the same key. Please wait for previous transaction to confirm, e.g. by reattaching, before sending another transaction."
      what can I do??
      THANK YOU

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

    today i installed the iota desktop wallet and sent iota from bitfinex to the wallet its been 5 hours my transaction is still in pending

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

      forum.helloiota.com/Search?keywords=transaction%20pending

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

    What if I changed hosts between transactions?

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

      I do not understand the question.

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

      Mobilefish.com He means the host when you have a light node.

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

      You have a wallet with endpoint: node.tangle.works:443
      1) You login with seed A
      2) You make a transaction
      3) You attach an address to the Tangle
      4) Wallet balance = 10
      You logout the wallet and change the endpoint: service.iotasupport:14265
      a) You login with the same seed A as in step 1
      b) You will see the same transactions a in step 2
      c) The same address is attached to the Tangle as in step 3
      4) Wallet balance is still 10 as in step 4

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

    How do you NOT use the same address?

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

      By restoring your wallet in the same situation as before the snapshot. See tutorial 5.1.

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

    Why isn't the coordinator unsecure? It uses for every milestone the same address over and over again :)

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

      This address is not used for receiving payments. It creates zero value transactions.

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

    Does not have to be so complicated?

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

    First of all thank you for these great videos. I still think IOTA should save the snapshots in a regular blockchain. Which means having the transactions (where speed is needed) on the tangle, but when it comes to a snapshot combining this with a regular blockchain which makes the history immutable and transparent for lifetime periods. As I understood there is one distributed ledger technology trying to do this (combining tangle + blockchain) but unfortunately not on the IOTA tangle. www.burst-coin.org/wp-content/uploads/2017/07/The-Burst-Dymaxion-1.00.pdf What’s your opinion?

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

      In the future there will be nodes called permanodes which will store the transaction history.
      Nodes can always decide not to do snapshots. Doing snapshots are optional and is not required. Note: I have not read the pdf, I do not have the time, sorry..

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

      Thank you! I am a bit skeptical about the permanodes, because there is no (decentralized) incentive to run them.

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

      I have read that permanodes might be asking payments for requests.

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

      Interesting! I am very curious how this works. Again: Many tanks for the very professional and well explained tutorial!

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

    2+2=4-1=3 kwiq maffs

  • @OmegaPointZen
    @OmegaPointZen 6 лет назад +2

    So you have to keep watch for this snapshot - Or you can loose every thing? If that's correct, it sounds like a terrible idea. I'll stick with Bitcoin.

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

      With all cryptocurrencies, even Bitcoin, you need to keep an eye what is happening with your crypto.
      If any crypto has a security issue, technical improvement etc, an upgrade needs to be implemented.
      Bitcoin uses soft forks or hard forks.
      IOTA CAN use the snapshot for this purpose.
      That does not mean this will happen on a regularly basis.
      But you can not rule it out because IOTA, as with many cryptocurrencies, are still in a development phase.

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

      The software is kind of in Beta and is relatively new plus the network is currently immature and needs to grow I think - Things should improve in time...

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

      Mobilefish...so you could tell us (please) exactly when is a next snapshot going to be? And what step by step we have to do? To gain confidence!!!

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

      The purpose of this channel to explain how certain things works.
      I am NOT giving financial advice about IOTA or any other crypto. I am only interested in the technology. I am trying to understand how IOTA works and how you can use this technology in real practical use cases.
      The MAIN purpose of snapshot is to reduce the size of the Tangle Database.
      However the last snapshot included a fix because of a change in its protocol. This is a RARE situation. But i give you no guarantee it will not happen again.
      As fas as i know there is no snapshot schedule.
      There only has been a few snapshots:
      Oct 2016
      Jun 2017
      Aug 2017
      Sep 2017 (incl fix as mentioned above)
      This is what a normal snapshot validation should look like:
      forum.iota.org/t/snapshot-validation-8-august-2017/3333
      This is the snapshot validation sep 2017
      forum.iota.org/t/snapshot-public-validation-22-09-2017/4256
      Normally you do not have to anything after a snapshot.
      But again and i keep hammering about it, IOTA as with many other crypto are still in DEVELOPMENT.
      Which means bugs can be found, protocol can be changed, new functionality can be implemented etc.
      Which means you need to keep updating you wallet, you need to keep an eye on snapshots, etc...
      I highly recommend that you at least visit the IOTA announcement page once a while to be kept informed with development.
      forum.helloiota.com/Technology/General-Discussion/Announcements/IOTA-Announcements

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

      I am a 100% responsible for my decisions in this matter (IOTA/Cryptos). I am interested in hearing from you about what you share with us. I appreciate so much your words and your time writing for us. My goal is to gain confidence in what I am doing by studying, hearing from other people, sharing and most of all beeing part of a community which supports each other. Thank You for creating this channel.