As the world of crypto is in turmoil, IOTA teaches that the success of blockchain technology depends not on the market cap of tokens but on the merits of its underlying infrastructure. Hence, ST released version 3.0 of its X-CUBE-IOTA1, a software package offering the latest iota.c middleware and support for Azure RTOS, specifically for embedded applications. Additionally, we included a new project for the B-U585I-IOT02A Discovery Kit that uses the STSAFE secure element and the L2Sec protocol. The application takes temperature and humidity values from the board’s sensors and sends them to the IOTA network. The program thus simulates a product relying on this ledger for machine-to-machine communication and more.
X-CUBE-IOTA1 3.0: The reasons behind the software package
The current crypto context
As crypto markets are severely crashing due to alleged frauds, failures, and lack of oversights, IOTA hasn’t been spared and has been criticized by speculators. Yet, the technology remains highly popular among institutions and companies. For instance, a few months ago, the European Commission announced that IOTA was one of only three companies selected for its European Blockchain Services Infrastructure (EBSI) project. The initiative aims to bring blockchain technology to public services. As a result, experts are now studying the viability of using IOTA to manage intellectual property rights and digital passports for products, among many other things.
IOTA is also a topic of interest in academic circles. In 2019, Shabandri and Maheshwari used IOTA to address “some of the most important problems with existing blockchain infrastructure, such as being able to run on lightweight devices with constrained memory.1” In 2020, Silvano and Marcelino looked at IOTA in the context of IoT communication, while in 2022, Zhang, Zambian, Stacey, and Sampalli studied the Tangle in the context of a wireless sensor network2. This year alone, Google Scholar lists more than 700 entries when searching for IOTA Tangle with applications in healthcare3, Internet of Vehicles (IoV)4, robotics5, and more.
One field where IOTA seems to shine is security, as demonstrated by a paper by authors from the LINKS Foundation and ST6. The research explores using the IOTA Tangle to send sensor data securely. The report looks at level 2 protocols (Masked Authenticated Messaging or MAM, STREAMS) developed by the IOTA Foundation to secure data and the impact on performance when using L2Sec, a cryptographic protocol. The article even looks at using a secure element like the STSAFE-A110 and the impact of L2Sec on memory usage, power consumption, performance, and more.
What’s new
The latest X-CUBE-IOTA1 3.0 software package takes this research and applies it to the STM32 community by shipping L2Sec. Developers can try an application that uses the lightweight protocol and leverages the STSAFE secure element found on the B-U585I-IOT02A . Those wanting quickly work on it can import the project for their IDE, such as STM32CubeIDE, ST’s free development environment, and start configuring their IOTA client application. The program can get a message payload, send an encrypted indexation message, and use L2Sec to interact with the Tangle securely.
IOTA: How it started, how it’s going
The vision
In early 2020, The ST Blog introduced the first version of X-CUBE-IOTA1, which helps developers take advantage of IOTA. At the time, the first open-source distributed ledger technology was already very different from blockchain cryptocurrencies, such as Bitcoin. It relied on a directed acyclic graph (DAG) called the Tangle, promised feeless transactions, and a decentralized network. Embedded system engineers thus rapidly experimented with it because, unlike traditional blockchain solutions, its data structure is compatible with resource-constrained microcontrollers. Similarly, large companies invested in IOTA since its friendly business model served their future machine-to-machine communication needs by offering an extensive network for IoT products.
IoT and IOTA: All about scalability
Bitcoin and IOTA use a distributed ledger, meaning that computing nodes track, verify, and edit an electronic document that records the history of various interactions, such as currency transfers from one node to another. However, instead of a blockchain, IOTA uses a directed acyclic graph (DAG), a data structure that helped popularize projects like Git. IOTA named its graph “Tangle,” and before attaching a new transaction to it, a node must first confirm two other transactions.
Consequently, the more people use the network, the more confirmations occur, making the infrastructure highly scalable. Currently, IOTA 1.5 Chrysalis hovers in the thousands of transactions per second (TPS), and an IOTA 2.0 GoShimmer prototype has shown it could reach 18,000 TPS. However, the foundation is careful not to put out an official number as GoShimmer is still in the evaluation stage. Comparatively, Bitcoin Cash, one of the fastest blockchain cryptocurrencies, runs at 250 TPS, while Bitcoin is at seven transactions per second.
IOTA can also add to the Tangle without each node downloading the entire dataset. It’s not the case for the Bitcoin blockchain, which sits at nearly 450 GB at the time of this writing and is simply unsuitable for embedded systems. The Tangle has full nodes that store the entire ledger but it’s possible to create light nodes that hold a private key, create addresses and signatures, and send them to the full node, meaning that a small embedded system can also take advantage of the network.
Finally, because the confirmation process is an integral part of each transaction, there are no miners and, thus, no fees. The network is entirely decentralized, and it disincentives from slowing it down in the hope of increasing transaction fees. It also ensures the system’s inherent reliability, which explains the increasing popularity of the IOTA network among car makers or smart cities that already pledged to use the technology to facilitate data transfer.
The realization
IOTA 1.5 Chrysalis was highly symbolic because it laid the foundations for total decentralization. Previously, the IOTA foundation relied on the Coordinator, a central node that confirmed transactions. It ensured the network remained operational while developers worked on the protocol by protecting the Tangle from attacks. And it served its purpose, allowing the IOTA foundation to take swift actions to guard users against wrongdoings when necessary. However, the IOTA foundation always said that the Coordinator was temporary. Today, we know that it will disappear with IOTA 2.0 and that Chrysalis serves as a stepping stone to Coordicide.
The move from IOTA 1 to IOTA 1.5 was not trivial. Adopting Chrysalis required developers to refactor their applications and migrate tokens. It does, however, make the adoption of IOTA 2.0 a lot smoother. Indeed, developers get a lot of time to deal with this critical transition, and the move from Chrysalis to Coordicide won’t include substantial changes or necessitate another refactoring. All the work that goes into adopting Chrysalis will ensure that applications take full advantage of what IOTA 2.0 will offer. Additionally, the latest code brings significant improvements.
IOTA 2.0, and therefore the Coordicide, is still a few years away. Hence, at the moment, IOTA is still a centralized system. However, it’s one of the few options that can run on embedded systems, which doesn’t play the speculative game. While the crypto world is crashing due to bad actors and allegedly fraudulent behaviors, IOTA is one of the few blockchains chosen by the EU and is still a hot topic in academic circles. The reason is that the project itself doesn’t depend on market cap and token valuation. Transactions don’t have fees, and the project is not here to help speculators make money. The fact that it is driven by IoT innovators changes incentives.
IOTA remains ahead in several ways, such as its efficiency and scalability. In a recent post on Discord, Dominik Schiener, one of IOTA’s co-founders, admitted that the foundation made mistakes and is working to correct them. For instance, he recognized the importance of gaining mind shares despite playing a very different game than most cryptos. The foundation is also looking at a funding structure to enable more significant investments without being dependent on venture capitalists. IOTA remains one of the oldest and a reference for those looking at decentralization. Consequently, it is crucial for engineers to understand why the technology is still prevalent in IoT circles and what they can do to jump on the bandwagon.
IOTA 1.5 Chrysalis: Why does the new code inside X-CUBE-IOTA1 3.0 matter?
The new efficiency of IOTA
The efficiency of IOTA 1.5 Chrysalis comes partly from its payload. Indeed, each transaction now demands only 275 bytes compared to about 3,500 bytes previously. The drastic reduction comes partly from fewer redundancies and the absence of complex transaction bundles in favor of atomic transactions. Additionally, the new version switched from a trinary to a binary representation, further explaining the size reduction. The most immediate consequence of this optimization is that validating transactions no longer takes minutes but mere seconds. And to further improve the network’s speed, IOTA implemented a Uniform random tip selection algorithm. Put simply, prioritizing, selecting, and confirming unvalidated transactions became simpler and a lot more efficient.
The new face of IOTA
The IOTA Foundation also worked on improving the overall security of the network. For instance, Chrysalis introduced a white-flag mechanism that ignores conflicts that may arise from spamming the network. The system thus ensures a high level of performance while discouraging attackers. The IOTA core libraries were also written in Rust to offer greater security, and a C library improves performance on embedded systems. Additionally, IOTA will use an EdDSA (Edwards-curve Digital Signature Algorithm) address scheme. Version 1.5 thus abandons the old WOTS signature system in favor of something more standard, secure, and reliable. In a nutshell, Chrysalis made the whole network more efficient and robust.
X-CUBE-IOTA1 3.0: How can developers rapidly adopt IOTA 1.5 Chrysalis?
Centralizing resources
Many developers ask how they can more efficiently move to Chrysalis and its many benefits. IOTA is famous for its documentation, and each project will have distinctive challenges. Yet, embedded system engineers working on an STM32 MCU also get a solution that makes the IOTA 1.5 innovations accessible, which is precisely why ST released X-CUBE-IOTA1. The expansion package includes middleware libraries, IOTA Client APIs, and more. As a result, it is the fastest way for teams to create a proof-of-concept capable of sending test transactions to the Tangle with an STM32 microcontroller.
Expanding features
X-CUBE-IOTA1 also includes features that will help engineers reduce their time to market. For instance, the current version comprises Wi-Fi management middleware with an on-board MXCHIP module and provides a port of Azure RTOS for the B-U585I-IOT02A board. Additionally, ST will continue to work on its expansion package to help engineers more easily write cellular applications. We also provide cryptographic libraries, such as one from ARM-Mbed.