What is IOTA? Frequently Asked Questions Basics

in #iota7 years ago

What is IOTA?

IOTA is a revolutionary new transactional settlement and data transfer layer for the Internet of Things. It’s based on a new distributed ledger, the Tangle, which overcomes the inefficiencies of current Blockchain designs and introduces a new way of reaching consensus in a decentralized peer-to-peer system. For the first time ever, through IOTA people can transfer money without any fees. This means that even infinitesimally small nanopayments can be made through IOTA.

IOTA is the missing puzzle piece for the Machine Economy to fully emerge and reach its desired potential. We envision IOTA to be the public, permissionless backbone for the Internet of Things that enables true interoperability between all devices.

How is IOTA different from Blockchain?

When it comes to comparing IOTA (or more specifically, the Tangle) with Blockchain, there are many differences as they are two completely distinct architectures built on the same principles. For those interested in a comprehensive comparison of Tangle vs. Blockchain, you can expect a detailed blog post from us soon. For this FAQ, I want to emphasize on two of the main differences of Tangle and Blockchain.

1. Data Structure

Instead of being structured as a sequential chain where blocks are added in regular intervals, the Tangle is based on a DAG (Directed Acyclic Graph). Through this, IOTA is able to achieve high transaction throughput (by parallelizing validation) and no transaction fees on transactions. As the Tangle grows and more participants make transactions, the overall system becomes more secure and faster, with confirmation times / transaction finality going down.

2. Consensus

The way consensus is achieved in a Blockchain is through a very rigorous mechanism, that requires multiple parties to "race" against each other in an attempt to add the next Block to the Blockchain and get the block reward / transaction fees. Because of this, consensus is decoupled from transaction generation and is largely performed by a smaller subset of the network, oftentimes with a high entry barrier (as is the case in Bitcoin) which leads to further centralization.

In IOTA, every participant in the network making a transaction also actively participates in the consensus. More concretely, you are referencing two transactions directly (branch and trunk transactions) and other transactions in the sub-tangle indirectly. Through this, validation is parallelized and the network stay completely decentralized, with no miners to delegate trust to or having to pay a transaction fee.

What makes IOTA quantum-secure?

IOTA uses hash-based signatures (https://www.imperialviolet.org/2013/07/18/hashsig.html) instead of elliptic curve cryptography (ECC). Not only is hash-based signatures a lot faster than ECC, but it also greatly simplifies the overall protocol (signing and verification). What actually makes IOTA quantum-secure is the fact that we use Winternitz signatures. IOTA's ternary hash function is called Curl.

How can there be no transaction fees?

This is achieved through IOTA's unique approach to consensus. In IOTA there are no miners / validators to pay a transaction fee to, in order to have ones transaction validated and included in the next blog. Instead, consensus is completely decentralized with each network participant that makes a transaction, directly and indirectly confirming past transactions. Because of the effort required in this consensus (which is the tip selection and the computational requirements for a transaction), you have to pay no transaction fees.

What can I do with IOTA?

IOTA currently does two things really well: transactional settlement (especially micropayments) and data integrity. Through these two features you can derive most use cases that make sense and are most of the time, only possible with IOTA. More features (such as Oracles, Smart Contracts, etc.) are on our roadmap and will be added in the near future.

The main focus of IOTA is the Internet of Things, with machines paying each other for resources, services or access. This includes smart cities, smart grids, infrastructure, supply chain etc. where IOTA makes certain use cases possible. On this blog you will continue to find more concrete examples of what you can do with IOTA. Look out for a tutorial in your preferred programming language, or even write one yourself.

What are the main use cases of IOTA?

IOTA's main features (in its current form) are feeless micropayments and secure data transfer and data anchoring. With these two features, combined with IOTA's scalability and partition tolerance we can derive a plethora of use cases which are mostly only possible with IOTA.

The primary focus area is obviously the Internet of Things, especially in areas such as Smart Cities, Infrastructure and Smart Grid, Supply Chain, Transportation and Mobility. Apart from that, IOTA can also function as the backbone for any peer to peer transactional settlement needs, such as web payments or even remittances.

What is needed to make a transaction?

Making a transaction is basically a 3-step process:

1. Constructing the bundle and signing of Inputs

In IOTA there are two types of transactions: one where you transfer value (and thus, have to sign inputs), and ones where you simply send a transaction to an address with no value transfer (e.g. a message). Constructing a bundle is fairly simple and is taken care of by all the libraries that we have released so far. When it comes to signing the transaction inputs, that is also taken care of by the libraries and it's all done client side. This means that you never have to worry that your private key or your seed gets sent to somewhere else.

2. Tip selection

The tip selection is a process whereby your local tangle is traversed to figure out two randomly chosen transactions which will be validated by your transaction. These two transactions will be added to your bundle construct and are called branchTransaction and trunkTransaction.

3. Proof of Work

Once the bundle is constructed, signed and the tips are added to the bundle, you have to do a little amount of Proof of Work for each transaction in the bundle. As such, every transaction in a bundle requires a nonce in order to be accepted by the network. Main purpose of this Proof of Work is sybil-resistance and spam-resistance.

After all these 3 steps are completed, you can broadcast the transactions to your neighbors and wait for it to be accepted by the network.

You mentioned Proof of Work. Can I mine IOTA’s?

You should not compare IOTA Proof of Work, with the Proof of Work mechanism that is commonly used by Blockchains (e.g. Bitcoin). IOTA's Proof of Work is directly comparable to Hashcash, as it serves a similar purpose to prevent spam, and in our case, also to prevent sybil-attacks. Because of the way consensus is achieved, there is no way to earn IOTA's through the computational effort required for making a transaction. As such, there is no "mining". One can argue that you're being directly rewarded by having no fees on your transaction.

What is the total supply? Is it inflationary?

The total supply of IOTA is (3 ** 33 - 1) / 2. Which equals to exactly 2779530283277761 tokens.

All IOTA's which will ever exist were created with the genesis transaction. This means that the total supply of IOTA's will always stay the same and you cannot "mine" IOTA's.

What are the different units?

IOTA uses SI (International System of Units) to represent units and values. The following image should further clarify the units and their respective sizes:

For a more in depth Q&A please poke the link below

https://learn.iota.org/faqs

Sort:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://learn.iota.org/faqs

Nice job robot. I like you.

Bitcoin = 1.0, Ethereum = 2.0, IOTA = 3.0