Is IOTA using Proof of Stake?

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

Is IOTA 2.0 a Proof of Stake consensus mechanism?

Many critics argue that IOTA’s upcoming consensus mechanism (Mana / Fast Probabilistic Consensus) is basically Proof of Stake (PoS).

It is not. While the effects are similar in securing the network, IOTA’s new consensus mechanism is actually superior to Proof of Stake (PoS) and has additional advantages:

  • No Leaders: PoS is used to determine a leader for one (or more) blocks. IOTA does not require a leader.
  • No actual staking: With IOTA, you don’t have to stake tokens. So there is no loss of opportunity cost. You can trade and use IOTA at will and at any time.
  • Everyone participates: Whereas with PoS, only those who make a stake in the form of coins / tokens vote, with IOTA, everyone who actually uses and ships IOTA participates in the consensus.
  • No further enrichment of the wealthy: With PoS, those who stake are rewarded. Those who stake are usually those who are already wealthier than other participants. So by staking rewards, the wealthy become wealthier. In IOTA, there are no rewards and therefore the wealthy do not get richer except by buying more IOTA tokens.
  • Voting only when there is conflict: With IOTA, there is no need to vote if there are no conflicts, while PoS votes on all transactions.
  • Updates: IOTA is modular. The individual modules can change or be replaced as additional benefits and effects are discovered / explored.

Aside from the additional benefits compared to PoS, the effects are similar to having an anti-sybil mechanism. Nodes will only vote if there are conflicting transactions and nodes will attach new transactions to what they think are honest transactions.

Original source

https://iota-einsteiger-guide.de/ist-iota-2-0-ein-pos.html

Censoring transactions

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

Can transactions be censored?

Of course, with IOTA it is not possible to censor individual transactions. Each user who issues a transaction validates up to eight other transactions. If a validator (fullnode) wants to censor a transaction, it also censors all transactions that directly or indirectly approve the transaction to be censored. Even if all the major Mana holders cooperated, they could not just ignore a particular transaction, but would have to ignore all the transactions of another user that builds on it.
The point, however, is not that it would be impossible to create rules that ignore certain transactions, but it is not really feasible if only parts of the network have these different rules. The nodes would form completely different tangles, and you would essentially censor all transactions from anyone who didn’t follow those rules. Nodes could not “secretly” decide to ignore certain transactions without someone noticing the behavior of these large Mana holders (this would essentially be a hard fork for the network).

Furthermore, nodes that are not synchronized will get an error message and will not be able to participate in the network. When a full node comes online after being offline, it has to listen to the network and download everything to see the status of the ledger. It will look at the consensus and take into account the status of the high Mana nodes. Restarting a node, is similar to starting a new node from scratch.

Original source

https://iota-einsteiger-guide.de/transaktionen-zensieren.html

Advantages over blockchain

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

What are the advantages of IOTA technology over the classic Bitcoin blockchain?

The IOTA technology and the classic blockchain have a completely different approach and are not comparable. BTC is a blockchain-based alternative electronic currency for human-to-human (H2H) transfers, whereas IOTA is primarily a transfer protocol for data and value between machines or things. Human-to-human (H2H) transfers are of course also possible. However, since people keep asking about it, I’ll summarize a few points here.

IOTA Parallel Architecture 1
Source: IOTA Foundation

Tangle properties

  • Transmission of data and values: IOTA is not an ordinary cryptocurrency, but a communication protocol including tokens and is usable for all applications. The protocol allows a fast, tamper-proof and decentralized transfer of values and data over many nodes. Thereby value and data transactions are handled fundamentally different. While value transactions must be validated by full nodes, data transactions are confirmed directly and are notarized. Now, some may ask, why do I need the IOTA distributed ledger technology for a pure data transaction? I could simply encrypt the data, sign it and send it via TCP/IP. Well, aside from the fact that “Man in the Middle” attacks would be possible, signed data only proves that the data came from you. It does not allow me to prove when you sent it, nor whether you sent the same data to everyone. You could send a certain piece of information to one person and another piece of information to another person. Signatures alone will not protect anyone from such things. “Notarization” can be used to prove that an electronic document existed in a certain form at a certain time and has not been changed since it was created. When a notarization is created, a unique hash (fingerprint) of a document is calculated and stored together with a timestamp in the IOTA ledger (Tangle) in an unalterable way. If at a later point in time it is to be verified that the document in question existed at the time claimed and / or has not been modified, the data is retrieved from the Tangle and compared with the available information.
  • Governance: IOTA is a non-profit foundation from Germany. This optimizes the acceptance and future development of the network. The lack of miners allows for new features and updates to the protocol to be implemented during the development phase without conflicts of interest. Once the protocol is fully decentralized with the removal of the coordinator, node operators will decide which rules to follow.
  • No energy guzzling mining, no blocks, no PoW difficulty adjustment, the Tangle is not a blockchain but a directed acyclic graph (DAG).
  • Modularity: A modular structure makes it possible to develop the components of the protocol independently of each other. The multi-layered approach enables further extension of the basic protocol in the future in a similar way to the Internet protocol itself. A protocol that cannot be updated is not a protocol.
  • Lean system: Designed for devices, such as sensors, that participate in a low-energy network.
  • Local snapshots allow nodes to store only a subset of the ledger’s history, allowing nodes with limited hardware resources to participate in the network.
  • Fairness: As long as the network is not congested, all transactions are treated equally. There is no way to pay a premium (e.g., through increased fees) to receive a higher priority in processing by the network. If the network reaches its processing capacity, the amount of Mana will determine who gets to send many transactions in a short period of time.
  • Feeless transactions: The lack of miners makes IOTA transactions completely feeless. Send 1 cent, receive 1 cent. This enables true micropayments for the machine-to-machine economy to usefully implement payment for micro-quantities or consumption-based payments.
  • Micro-payments, micro-insurance and micro-derivatives are possible due to the lack of fees.
  • Less documentation: companies do not have to document feeless transactions for the tax office or store them for years.
  • The communication protocol created is open source. So everyone is allowed to contribute their ideas or collaborate on the code if necessary (many IF members originally come from the community). A large number of companies meet in the Tangle EE Working Group and work together with the IF on solutions for commercial use.
  • Finality within seconds: The reconciliation process allows the network to make and finalize decisions on transactions very quickly without having to wait for multiple additional approval processes to increase security. In addition, the network can achieve “true finality” (deterministic rather than probabilistic), as an attacker with unlimited hashing power could not “reverse” the ledger state.
  • Reliable timestamp: The issuer (node / user) of the transaction sets a timestamp at the time of issuance. Agreeing on the credibility of timestamps allows us to establish a fully ordered tangle – a big step towards Smart Contracts.
  • Scalability: increased network activity reduces transaction settlement times. There are no protocol-related bottlenecks. Scalability is limited only by hardware and the laws of physics. Eliminating the coordinator as a single entity that processes and verifies all transactions lays the foundation for a dynamic sharding process that enables “true” unlimited scalability.
  • Partition tolerant: A production-ready tangle is partition tolerant, which means that a part of the tangle can be disconnected from the main tangle for a period of time and continue to run without an Internet connection. These parts can be reconnected to the main Tangle when the Internet connection is restored.
  • Permissionless: Any company or private person can use the infrastructure without permission, license or any cost to run their own applications. This is a very big advantage over private blockchains.
  • Machine economy, machines or things of any kind can hire themselves and pay for services completely autonomously without any human intervention with the ready interoperability protocol.
  • Digital twins to improve a process, product or service. A digital twin is a virtual model of the manufactured product based on trusted data to analyze and simulate real-world conditions, respond to changes, improve operations and add value.
  • Digitization of logistics and supply chains or product identity including traceability will become standard in the coming years.
  • Data and / or physical goods can be traded on different marketplaces using IOTA technology without having to trust a third party.

IOTA Products

IOTA Access

Access is about enabling services and security at scale. If there is a device that can provide a service, then Access can be integrated into that device to automate that service through embedded access control policies. In this way, device users and owners can grant or request access to their device or data stream in a remote, permissionless, contactless, and auditable manner. Without decentralizing access control in an efficient peer-to-peer manner, we will continue to have our data, our devices, and our daily lives controlled by centralized institutions.

IOTA Digital Identity

Decentralized digital identities are essential in our future digital economy. This includes machine, human and organizational identities. It is an enabling technology for DLT as it enables the establishment of trust through identification in an online environment. This is critical for both the Internet and DLT, as identifying who you interact with online can prevent many instances of fraud, disinformation, and mistrust.

IOTA Digital Assets

IOTA Digital Assets (Colored Coins) for tokenization of assets, Fungible or not, Token or Smart-Contract based. Digital Assets are purpose-built tokens that can represent real-world assets, based on IOTA, on the Tangle in a tamper-proof way. For example, the token could be used to redeem something or settle ownership. The IOTA digital asset framework creates the foundation for tokenized, scalable and secure digital assets that exist on the IOTA Tangle. All tokenized assets under the IOTA Digital Assets framework benefit from the same level of security, scalability, and (no) fees as native IOTA tokens. This makes digital assets on IOTA one of the most robust and scalable in the industry, and it will lead to explosive growth in the economic value secured and traded on the IOTA network.

IOTA Streams

This is a data transfer protocol that allows sensors and other devices to encrypt entire data streams and anchor them to the IOTA Tangle. IOTA’s consensus protocol adds integrity to these message streams. Data can thus be exchanged specifically and globally with selected partners. Payment at an e-charging station could proceed using IOTA streams. To do this, a private IOTA Streams channel is opened between the vehicle and the e-charging point to establish a data stream, now payment is made per data point in microtransactions, and payment stops as soon as nothing is received. These data points can be transported and stored in a tamper-proof, multi-vendor, fast way. Keyword: digital twin, supply chain.

IOTA Oracles

These were designed to build a secure trusted bridge between the digital and physical worlds in a decentralized, permissionless manner. Oracles bring off-chain data to decentralized applications and Smart Contracts on the IOTA network.

IOTA Smart Contracts

IOTA Smart Contracts are a flexible and straightforward implementation of smart contract capabilities in a distributed, DAG-based UTXO ledger. For this purpose, committees are established to verify Smart Contracts and ensure their consistency and immutability in the distributed IOTA ledger. Due to their feeless and flexible design, IOTA Smart Contracts are ideal for enterprise applications and real-world use cases of companies around the world – a big step forward for the industry and the IF for the development of a rich ecosystem, with a variety of extensions and modules.

IOTA Stronghold

This is a secure software implementation (multi-purpose libraries) with the sole purpose of insulating digital secrets such as passwords, personal data and private keys from exposure to hackers and accidental leaks. It uses versioned, file-based snapshots with double encryption that can be easily backed up and securely shared between devices. The high-level developer-friendly libraries integrate the IOTA protocol and serve as a reference implementation for anyone looking for inspiration or best-in-class tools. No cryptocurrency is included in the low-level libraries, and they can be used entirely without the high-level libraries. In other words, anyone from any industry can use them.

Original source

https://iota-einsteiger-guide.de/welche-vorteile-hat-die-iota-technologie-gegenueber-der-klassischen-bitcoin-blockchain.html

TCP

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

Why not simply encrypt data, sign it and send it via TCP?

There are people in the crypto space and on YouTube who do not understand what IOTA is developing and building. One of their pointless arguments is:

I can already encrypt, sign and send data transactions via TCP, I don’t need IOTA DLT for that.

For the explanation I have to go a bit further. IOTA enables a fast, tamper-proof and decentralized transfer of values and data over many nodes. Thereby value and data transactions are basically handled differently. While value transactions have to be validated by fullnodes, data transactions are confirmed directly and are notarized. Now, some may ask, why do I need the IOTA distributed ledger technology for a pure data transaction. I can simply encrypt the data, sign it and send it via TCP.

Well, aside from the fact that “Man in the Middle” attacks would be possible, signed data only proves that the data came from you. It does not allow me to prove when you sent it, nor whether you sent the same data to everyone. You could send a certain piece of information to one person and another piece of information to another person. Signatures alone will not protect anyone from such things.

“Notarization” can be used to prove that an electronic document existed in a certain form at a certain time and has not been changed since it was created. When a notarization is created, a unique hash (fingerprint) of a document is calculated and stored together with a timestamp in the IOTA ledger (Tangle) in an unalterable way. If at a later time it is to be verified that the document in question existed at the claimed time and / or has not been altered, the data is retrieved from the Tangle and compared with the available information.

If the IOTA Tangle is used as a transport medium, then these types of attacks are not possible and there are many use cases where it is critical that all parties involved can be sure that everyone is working on or with the same information (e.g., supply chains, oracles, synchronized remote control systems, …). It is therefore primarily about use cases that cannot simply be transferred via TCP. Otherwise one might as well use BitTorrent for this. Sender and receiver need a transparent form of transmission between multiple parties or organizational units.

The bottom line is that it is not about nobody manipulating the data during transmission, but about the receiver not manipulating this data. Example: A sensor (with IDoT chip) has gathered some values and sends this data via the IOTA tangle, which stores the hash of this data. If this data is to be sold later, this hash can be presented as proof and prove to the buyer by means of the Tangle that the data from the sensor has not been changed afterwards. The IOTA technology (Tangle) thus acts like a kind of fingerprint. With it all sent data can be verified.

Note: In order to prevent misuse scenarios and in an efficient way to enable machine economy, nodes and devices will receive a unique identifier (ID) in the future, see also Identity of Things (IDoT).

Conclusion: In the future, fast and tamper-proof protocols such as IOTA will be needed for trustworthy transactions.

Original source

https://iota-einsteiger-guide.de/daten-per-tcp-versenden.html

Inflation bug

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

Without a stored transaction history up to the Genesis transaction, a hypothetical inflation bug would not be noticeable.

Of course it is noticeable. IOTA is a distributed ledger technology and thus creates a single source of truth that all participants can trust. All full-nodes on the network are synchronized and there is consensus. Each token on an address is uniquely identifiable and each output names the exact token to be moved. To do this, of course, the system must be bug-free, secure, and distributed enough so that one can “afford” to track only the relevant data (the current ledger state) and no longer need to keep the transaction history.

IOTA is a data and value transfer protocol, not a decentralized database

Nodes do not store every transaction that has ever occurred. Just like the Internet, the IOTA protocol does not store data or in other words, the Tangle is not a data storage. However, the IOTA protocol itself does not delete anything. To do so IOTA nodes can/must be configured to delete old data that is no longer needed, just as it can be done in Bitcoin (see Pruning Mode of Bitcoin Core 0.11, introduced in 2014). However, despite a deleted transaction history, it is still possible to prove that a certain message was confirmed in the tangle in the past. With the so-called “Proof of Inclusion” (Merkle Proofs), IOTA is able to prove that a transaction was directly or indirectly referenced by another transaction without having to provide the entire chain of actual transactions.

However, deleting data does not make the protocol any less secure

The reason Bitcoin, Ethereum, IOTA, and pretty much every major cryptocurrency out there uses a pruning feature in their node software is because it doesn’t affect security and the nodes don’t fall back on that old data as part of their consensus mechanism.

An IOTA node currently produces more data than a Bitcoin node, so there will most likely be more people who have this pruning mode enabled and fewer people who keep a full history of everything that has ever happened. All IOTA nodes will store the most recent transaction history of at least a few weeks or even months, which is perfectly sufficient for hypothetical bugs, because what’s the point of finding a bug years later – no one would agree to reset the Bitcoin network to a state of, say, 2017 if a bug was discovered in that time period.

What is needed is essentially a “decentralization of node implementations.”

Ideally, one achieves resilience to bugs by having multiple teams of developers implement different Node software. Then, if a node has a bug, only the nodes with the same software will fall out of sync.

This is one of the reasons why IOTA runs on “Bee” and “Hornet” nodes implemented by completely different teams in completely different programming languages. It is very unlikely that two teams will make the exact same mistake, which makes the network resilient to bugs.

Value and data transactions are handled in different ways

Value transactions

The Tangle (DAG) is the underlying technology of the IOTA communication protocol. It is the “communication medium” between the nodes. Hidden in this tangle (IOTA 2.0) on a second level is the so-called UTXO DAG (ledger), which keeps a record of the history. This payment history is kept over a much longer period of time (years) than the actual tangle.

With IOTA, no history is needed for all transactions to check if tokens have been added out of nowhere (hypothetical inflation bug). The limited balance is completely circulated and known to all synchronized nodes and before nodes can send IOTA tokens they always need to verify that the number of IOTA tokens is correct. In doing so any change to the ledger is validated by all synchronized nodes (consistency check of the ledger), therefore it is very easy to verify the total amount of limited IOTA tokens in existence. All nodes keep a list and check if the number remains consistent with each transaction. It is impossible to change the amount of IOTA tokens without changing the software (hardcoded) on all nodes, which would be a mandatory destructive update. Of course, such an update will not work without the support of the entire community and could even lead to a split in the network if there is disagreement (requires an additional coordinator to be trusted in IOTA 1.x).

“If more than 50% of the node operators decide to manually reset their nodes after a bug, then theoretically this is possible. The extent to which this actually works in practice depends on how serious the problem is. When Bitcoin created 184 billion Bitcoins out of thin air due to a bug, all miners decided to reset the network together. But that is done via “social consensus” in the real world and is not part of the protocol.” – Hans Moog, IF

Nodes that are out of sync will just get an error message and will not be able to participate in the network. When a full node comes online after being offline, the node has to listen to the network and download everything to see the status of the ledger. The node will look at the consensus and also take into account the status of the high Mana nodes. Re-commissioning a node is similar to starting a new node from scratch.

With the completion of the Chrysalis update, the new ledger state has already been implemented in preparation for IOTA 2.0 (an extended version of the UTXO model). This new ledger state is based on the principle of parallel reality. This decouples consensus from balance tracking, which allows for high flexibility and massively reduces message complexity by only voting on conflicts. Furthermore, it becomes easier to track balances. Each address will not only contain its total balance, but also several sub-balances, which are tagged to indicate which transaction created the balances. Each token on an address is therefore uniquely identifiable and each issue would name the exact token to be moved.

Data Transactions

As described earlier, the history of data-only (0-value) transactions can be lost over time. New transactions are only propagated (not validated), confirmed, and directly notarized by the network. With the help of “notarization” it is possible to prove that an electronic document existed in a certain form at a certain time and has not been modified since its creation. When a notarization is created, a unique hash (fingerprint) of a document is calculated and stored together with a timestamp in the IOTA ledger (tangle) in an unalterable way. If at a later time it is to be verified that the document in question existed at the claimed time and / or has not been altered. The data is retrieved from the Tangle and compared with the available information. Again, the transaction can be verified with “Proof of Inclusion”.

If someone wants to store the history of transactions in a decentralized manner, they can build a second-layer solution for this themselves, run a (selective) perma-node, or pay third parties for storage. For the IOTA base layer, the focus is on performance, throughput and security and not on building a global database.

Original source

https://iota-einsteiger-guide.de/transaktionshistorie.html

No connection

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

I can’t get Trinity Wallet to connect to my Ledger Nano. What can I do?

With different operating systems and different configurations, it may well come to malfunctions. Don’t worry: Your tokens are safe.

Please try this first:

  1. Ledger Live should not run in the background. Please close it.
  2. Connect Ledger Nano (original USB cable)
  3. Log in to the Ledger Nano
  4. Launch IOTA app in Ledger Nano
  5. Start Trinity (very important, this step should not happen before)
  6. Log in to Trinity account

If afterwards a restart or a node change etc. did not bring success, please follow these steps:

  1. Ledger Live should not run, so please exit and then restart Trinity. If this also does not bring the desired success, please go to the next step.
  2. A clean reinstallation is necessary, therefore uninstall Trinity.
  3. Delete C:\Users\xxxxAppData\Roaming\Trinity. (xxxx the user)
  4. Delete C:\Users\xxxxAppData\Local\Programs\trinity-desktop. (xxxx is the user)
  5. Reinstall Trinity. Latest version: https://trinity.iota.org/
  6. Launch Ledger IOTA App.

Reboot without Ledger Live, create account (Ledger) with existing seed (write down index), done.

Original source

https://iota-einsteiger-guide.de/trinity.html

Transfer Error

Header FAQ

This article is a translation of the German IOTA Beginner’s Guide by Schmucklos.

I get the error message „Transfer Error“ when sending via Ledger Nano S / X. What can I do?

This is an error message I got myself in Aug ’19. I was suddenly unable to send tokens using my Ledger Nano X.

Ledger Transfer Error

After some research, I found out that this problem occurs when tokens have been deposited several times and new receiving addresses have been created for each time, so the total stock of tokens is now distributed to several addresses. The error only occurs when larger amounts of tokens are to be sent and Trinity has to use tokens from more than 2 addresses to be able to send the desired amount.

The problem is probably due to the fact that Ledger can currently only manage 4 transactions per bundle. As soon as a large number of tokens is sent, where it is necessary that these are sent from several addresses, this has the consequence that the bundle is very quickly full.

The solution is already available in the IOTA GitHub (bundle is getting bigger), but Ledger still has to check and implement this. Until this issue is fixed, I helped myself by sending all tokens to a single address.

To do this, please proceed as follows:

  1. Under account setting: show all addresses.
  2. The address with the highest balance is our destination address. There we send all tokens of the other addresses.
  3. Now we will empty all other addresses and send the complete balance to our destination address. For this purpose a fixed order is important. Always select the address with the lowest token stock and empty it completely (except for the last IOTA).
  4. The complete address list must be processed as described. After each successful transaction, the next address with the lowest token stock must always be emptied.

That was it, now everything should work again.

Original source

https://iota-einsteiger-guide.de/ledger-nano-s-x.html

FAQ

Header FAQ

FAQ

Answers to the most frequently asked questions (FAQ) about IOTA and its ecosystem.

What are the advantages of IOTA technology over the classic Bitcoin blockchain?

Answer

Why not simply encrypt data, sign it and send it via TCP?

Answer

Can transactions be censored?

Answer

Is IOTA 2.0 a Proof of Stake consensus mechanism?

Answer

Without a stored transaction history up to the Genesis transaction, a hypothetical inflation bug would not be noticeable.

Answer

I get the error message “Transfer Error” when sending via Ledger Nano S / X. What can I do?

Answer

I can’t get Trinity Wallet to connect to my Ledger Nano. What can I do?

Answer