IOTA is one of the most exciting projects in the space with a unique underlying protocol called the "IOTA Tangle” or “DAG.” Tangle has been designed to overcome the inefficiencies of the traditional blockchain and presents a new way for a decentralized P2P system to reach consensus. IOTA allows instant micropayments without incurring a fee, ensuring the fulfillment of the smallest tasks in the unified network like sticking on a tag, turning off the tap in the bathroom, etc. This feature allows IOTA's integration into the Internet of Things by performing transactions between any machines with internet or points. IOTA addresses the main inherent issues of the Internet of Things, i.e., security and scalability.
The IOTA Foundation was formed in 2015 as a not-for-profit project by four veterans of blockchain technology - David Sønstebø and Dominik Schiener.
The IOTA team is segregated into working groups focused on promoting and enabling IOTA's use in Identity and MyDate; Social Causes; Supply Chain; Mobility; E-Health; Fintech; Smart Cities and Infrastructure; R&D; Interoperability; Energy; Industry 4.0; and Others.
IOTA’s tangle has no blocks and every transaction confirms two older transactions, i.e. for every transaction to get approved, it relies on one or more following transactions to happen (IOTA Tangle needs two parent transactions). This forms a never-ending tree-like structure. Unlike Bitcoin or Ethereum, the consensus and validation are done by the whole network of active participants by giving everyone an equal say in the network regarding the transaction making process.
The process has three steps:
On successful completion, the network accepts the transaction. Executing the MCMC algorithm provides information about the possibility of the transaction the system allows. IOTA offers traders the freedom to decide with which probability they want to start accepting payments. IOTA works with a single administrator node called the Coordinator, which confirms all transactions in a set of released milestones. The Coordinator assures security in the early stage of the network as it grows. It will eventually be removed when the network becomes sufficiently large. Also, interestingly, IOTA tokens are not mineable.
Tangle architecture several advantages over traditional blockchain technology - it is highly scalable, decentralized, modular in nature, and fee-less.
IOTA’s consensus mechanism used to be based on a centralized coordinator who made sure that no one is misbehaving in the ecosystem. The idea was to have honest nodes picking up transactions that are yet to be validated and attacking them to the Tangle. IOTA has since decentralized its co-ordinator with the Coordicide protocol. While this is very admirable, IOTA had to take one more step to ensure that the consensus process is as seamless as possible.
IOTA is also looking to integrate the following consensus mechanisms:
Fast Probabilistic Consensus (FPC)
The IOTA Foundation has established a collaboration with Volkswagen and Innogy to develop CarPass - an IOTA based technology that brings features such as secure audit trails, digital identities, and charging networks for cars.
With Microsoft, Deutsche Telekom, Fujitsu, and Samsung, the Foundation opened up a data marketplace using IOTA technology. The IOTA Foundation is also a founding member of the Trusted IOT Alliance, which includes four firms Bosch, ConsenSys, USbank, and Cisco. As per IOTA’s Twitter post, Porsche Digital Labs and IOTA will be working together on a project initiated by Startup Autobahn called Program 4.
In September, the CognIOTA processor platform (CPU) announced IOTA as its payment instrument. The platform allows users to rent their idle CPU's for others in the network to use in real-time.
IOTA's MAM (masked authenticated messages) is already being used in The Bosch XDK IoT developer kit and the RuuviTag, an open-source sensor beacon from Ruuvi Labs. Examples of these are portable weather stations, Eddystone proximity beacons, vehicle locators, and similar applications that securely report telemetry data, or receive instruction. On May 29, 2018, IOTA released Trinity Wallet, accessible from both desktop and mobile.
The tangle’s chief properties - mainly scalability, high throughput, and feeless transactions - lends itself organically to several verticals like supply chain, smart cities, industrial IoT, etc. To make all these a reality, IOTA must have smart contract functionalities. So, before we go further, let’s understand what a smart contract is.
Think of how a contract was and what it is. Its a legally binding agreement between two people, wherein one party provides a service, while the other party pays them for it. All this is overseen by a third-party, like a lawyer. The third-party ensures that no one violates the terms of the contract.
The problem here is obvious. How can you make sure that overseeing third-party is going to do their job well? Thankfully, smart contracts allow us to create a system where we can negate the need for a third-party. Nick Szabo first conceptualized the idea, and they are a list of deterministic instructions that are automated and self-executed. Smart contracts work on an “IF-THIS-THEN” philosophy.
Each line of code in the smart contract gets executed sequentially.
Layer-1 and Layer-2 are terms used to describe functions that are on-chain and off-chain, respectively.
Protocols like Ethereum use layer-1 smart contracts. The contract code is executed and validated by all the nodes in the network.
On the other hand, we have off-chain smart contracts that are executed on top of the underlying blockchain. A committee chosen by the Owner completes the contract. The committee is a subset of all the nodes in the network.
IOTA uses layer-2 smart contracts, which act as “immutable state machines.” What exactly does that mean? Well, let’s take a look:
As mentioned above, the main problem with layer-1 smart contracts, like in Ethereum, is its severe lack of scalability. Every single, smart contract interaction is like a typical blockchain transaction that needs to be approved by a majority of the nodes in the network. This creates a massive bottleneck in the entire process. As the network increases in size over time, it will delay the process even further.
Along with that, there is also a cost issue. Not only do you have to pay the transaction fees, but you will also need to pay “gas fees” to keep the contract running. Every single line of code costs a certain amount of miner computational power, called “gas.” As such, executing these contracts can become expensive, which can turn off the developers from entering the space.
This is the biggest reason why IOTA smart contracts are layer-2 protocols. Every single IOTA smart contract can run in a localized environment without forcing the whole network to solve a gazillion different transactions every single day. Another cool off-shoot of this property is that it will allow IOTA to integrate sharding in the future effortlessly.
Now, let’s look into the different components that make up an IOTA smart contract.
As with any protocol, every single smart contract has an owner. The owner can be a single entity or a group of individuals.
The owner is in charge of:
The owners need to decide how to customize their smart contracts, depending on their role and purpose. Eg. A smart contract that handles a game contract, which does microtransactions, needs only a few nodes in the committee.
Having read the previous section, a pretty valid question to ask here is – Why should the IOTA nodes be bothered with being a part of a committee for your contract? What do they have to gain? After all, IOTA transactions are supposed to be feeless, right? Well...not so much.
Turn out that you can integrate certain economic and social incentives in your contracts to benefit your committee. First, let’s look at some financial incentives.
Along with the economic aspect, committees have the opportunity to earn some social brownie points and build a good reputation.
The committee owns the smart contract address and contains the locked up IOTA tokens. These tokens are open to only a quorum of committee nodes that must cooperate to move these tokens. IOTA ensures that nodes have equal ownership over these tokens due to the Boneh–Lynn–Shacham (BLS) signature scheme. This ensures the quorum must produce a valid signature with their secret key to update the contract’s state and move the funds locked up in the contract.
The underlying code of smart contracts in IOTA is WebAssembly (WASM) language. These contracts are executed in the Virtual Machine (VM). Here are some things keep in mind when you are creating these contracts.
Post-Coordicide, IOTA will enjoy full smart contract implementation. It will implement the UTXO model (made famous by Bitcoin) for value transactions.
IOTA has one of the most compelling underlying technology in the space. It’s literally unlike any other project out there, and the tangle architecture should be studied in-depth. Learning how to create IOTA smart contracts will help you interact with it on a very deep level. They have made some exciting partnerships in recent times and have an excellent team. With the implementation of Coordicide, IOTA has managed to integrate more profound decentralization into its protocol. Be on the lookout for this project.
Meanwhile, why don’t you check out some of the courses we have on Ivan on Tech Academy? We have several high-value accredited courses on blockchain and cryptocurrency that have been created by our in-house trainers and industry experts. What's more, the extensive Ivan on Tech Academy blog breaks down everything from the advantages of DeFi, how to increase your developer salary, understanding crypto staking, or knowing how to choose the right blockchain school. If you want to learn how to code blockchain games or learn about the technology itself, then look no further!
Get to work in a fast growing industry. Start learning blockchain together with our 20,000+ students today.
Use coupon code BLOG20 for 20% off.