IOTA

DISTRIBUTED LEDGER TECHNOLOGIES (DLTS) ARE BUILT ON A NODE NETWORK WHICH MAINTAINS A DISTRIBUTED LEDGER, WHICH IS A CRYPTOGRAPHICALLY SECURED, DISTRIBUTED DATABASE TO RECORD TRANSACTIONS. NODES ISSUE TRANSACTIONS THROUGH A CONSENSUS PROTOCOL.

IOTA is a distributed ledger technology specifically designed for IoT.

The IOTA distributed ledger is called the tangle and is created by the transactions issued by the nodes in the IOTA network.

validate two unapproved transactions called tips create and sign the new transaction perform sufficient Proof-of-Work broadcast the new transaction to the IOTA network

The transaction is attached to the tangle together with two references pointing to the validated transactions.

This structure can be modeled as a directed acyclic graph, where the vertices represent single transactions and the edges represent references among pairs of transactions.

A genesis transaction is at the tangle root and includes all the available IOTA tokens, called iotas.

IOTA uses a rather unconventional implementation approach based on trinary representation: every element in IOTA is described using trits = -1, 0, 1 instead of bits, and trytes of 3 trits instead of bytes. A tryte is represented as an integer from -13 to 13, encoded using letters (A-Z) and number 9. The IOTA network includes full nodes and light nodes. A full node is connected to peers in the network and stores a copy of the tangle. A light node is a device with a seed to be used to create addresses and signatures. The light node creates and signs transactions and sends them to the full node so that the network can validate and store them. Withdrawing transactions must contain a valid signature. When a transaction is considered valid, the full node adds it to its ledger, updates the balances of the affected addresses and broadcasts the transaction to its neighbors.

An IOTA transaction is a 2673 tryte-long string that can withdraw/deposit iotas or send data. Transactions referring to the same transfer of iotas are packed together in a bundle.

Transactions belonging to the same bundle are attached to the tangle in a chain as shown in the figure . The first transaction in the bundle is the tail, while the last one is the head.

In IOTA, each node corresponds to one or more accounts. An account is identified with a seed which is an 81 tryte-long string that must be kept secure by the node. From a seed, several pairs of cryptographic keys can be generated depending on an index n and a security level l = 1, 2, 3. Each public key corresponds to an IOTA address which has its own balance in iotas. The sum of the balances of all the addresses of an account is the balance of the account.

Transaction withdrawing iotas are digitally signed. The signature scheme used in IOTA is based on the Winternitz One-Time Signature scheme (W-OTS). A higher security level corresponds to a longer signature and therefore 1, 2, or 3 transactions are needed to store the entire signature. On the contrary, transactions that do not withdraw iotas do not need a signature and the 2187 trytes of the signature can be allocated to send data.

IOTA signing process

k_i denotes the i-the key segment, generated by hashing the subseed i times. b_i denotes the i-th normalized bundle hash tryte

value. The key segment k_i is hashed 13-b_i times to obtain the corresponding signature segment.

How does IOTA work ? https://www.youtube.com/watch?v=B37UbzPlSzw — Siraj Raval

STM32 x IOTA

THE X-CUBE-IOTA1 EXPANSION SOFTWARE PACKAGE FOR STM32CUBE RUNS ON THE STM32 AND INCLUDES MIDDLEWARE TO ENABLE THE IOTA DISTRIBUTED LEDGER TECHNOLOGY (DLT) FUNCTIONS.

What is the concept of this sentence mean ? Let me show you how exciting it is !

My first time to develop STM32 was in 2009. Today, there are many different STM32 MCU. STMicroelectronics is a French-Italian multinational electronics and semiconductor manufacturer headquartered in Geneva, Switzerland. It is commonly called ST.

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. STM32 marketing share of China is 69% in 2017.

In Taiwan, there are many firmware developer used STM32. Based on ARM cortex, STM is well known in the industrial control, communications, Internet of Things, and automative industries. If there are many different STM32 MCU, How can I develop code just one time and reuse it in all kind of STM32 MCU ?

The answer is STM32Cube.

STM32Cube is a middleware for developer to use, so that you can support all kind of STM32 MCU.

And now STM32Cube support IOTA, so called X-CUBE-IOTA1, so that you can expect IOTA will support all STM32…

STM32 IOTA Software Architecture

STM32 Firmware Architecture

STM32Cube

Just think about that, STM32 marketing share of China is 69% in 2017. And there are so many STM32 developer in the world.

SAY HELLO TO THE WORLD ~ INNOVATION ~

Getting Started with development to IOTA for STM32

Futhermore, if you want to develop application for IOTA with STM32, you have the following choice. I like STM32 x Arduino :D

NUCLEO-F429ZI

STM32 Nucleo-144 development board with STM32F429ZI MCU, supports Arduino, ST Zio and morpho connectivity

https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f429zi.html NCCLEO-F746ZG

STM32 Nucleo-144 development board with STM32F746ZG MCU, supports Arduino, ST Zio and morpho connectivity

https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f746zg.html

If you want to know how to write Smart Contract for your hardware decentralized application, you can refer this solution Qubic :)

IOTA Smart Contract development on Qubic

Qubic is a protocol that specifies IOTA’s solution for oracle machines, smart contracts, outsourced computations, and more.

Architecture introduction

To understand the concept of Qubic architecture by following video.

Chinese (中文) : https://www.youtube.com/watch?v=UquzSNyESLE

English : https://www.youtube.com/watch?v=jDYBNKeESU8

Spanish: https://www.youtube.com/watch?v=Lu2NG7E6RVw

It will be nice to be enjoy the innovation of decentralized application !

Next episode ... I will introduce something about Haskell and how write the BitCoin Smart Contract (Simplicity)

By the way, Welcome to https://www.facebook.com/groups/dapp.101/ . We are from every technology domain and from different industry. We are innovator or developer, we focus on learning and wish to make useful decentralized application to the world. This is a technical community for decentralized application. Welcome world’s people to join through internet if your are not in Taiwan. And welcome to meet up if you have free time in Taiwan.

I got the new hat from the meetup of Blockstream x Cypherpunks Taiwan in July 2019. I am so lucky :D

Thanks for your reading :D