The mistakes we do as a software engineer

Today in this article I don’t want to talk about the tech stuff. Rather I want to talk about some mistakes we do as software engineers or in life. This article is kind of thoughts which I feel. These…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




CHAT.ixi

Using Ict for Permissionless Chat on the IOTA Tangle

The Ict network provides an experimental Tangle testnet. So this chat is actually running over a Tangle similar to the IOTA mainnet. But well, who cares? In the end this is just another nerd thing, isn’t it?

It is important to understand the implications of choosing an immutable and permissionless data-integrity protocol, the Tangle, as infrastructure for a chat. In CHAT.ixi, there are neither rules nor moderators who enforce them. Obviously, this poses certain risks one has to understand before using it. Simultaneously, however, there are immense opportunities for those whose opinions are otherwise restricted or suppressed.

While large companies capitalize on the middleman role within our communication, we are forced to put more and more trust into third parties and become increasingly dependent on them. The Tangle on the other hand is free to use. There are no ads in CHAT.ixi. And no data is collected except for the messages you send on purpose.

With an underlying protocol that is largely distributed by design, you don’t have to rely on a central hub taking care of your data. Due to the Tangle’s inner workings, messages on the Tangle cannot be tampered with.

Iota Controlled agenT (Ict) is an experimental IOTA node for the Internet-of-Things (IoT). In contrast to our current rather static Internet, the IoT will be full of tiny devices directly connected to each other in a dynamic mesh network. Some of these devices will move around, or suddenly turn off or on. Such a constantly changing environment requires a data integrity protocol with enough redundancy to deliver messages and make data accessible, despite the unpredictable nature of the network.

Becoming a standard protocol for the Internet-of-Things has always been the vision of IOTA. However, most of what is colloquially referred to as IoT currently, exists comfortably in a Cloud infrastructure within regular Internet architecture. In the last few years, we have started to see the emergence of the “true” IoT at the edge of the network (also referred to as the Fog), where technological resources are not abundant. IOTA is not merely accommodating this new frontier, but aims to actively shape it with security and immutability as basic criteria. Instead of waiting for the edge network to grow and then retrofit it, the IOTA Foundation is aiming to build its own IoT microcosm, with Ict as a fundamental building block.

The Internet-of-Things is a prominent driver of the fourth industrial revolution. Just as its precursor, the digital revolution, there will be radical changes transcending all aspects of our daily life. For instance, we are shifting our perception of ownership. With emerging trends like car or bike sharing, we are moving towards a world full of services. And this is where Ict plays its role, providing a platform for services.

The Ict core client itself will remain lean, providing basic functions such as a gossip protocol and data integrity. The really interesting part however, is IXI.

IXI, short for Iota eXtension Interface, is an interface for applications utilizing the Tangle. The interface is kept rather slim and modular by design, in order to decouple those apps, called IXI modules, as much as possible from the underlying Ict communication protocol. These IXI modules do not need to know how transactions are technically exchanged between the Ict nodes. All they want to see are the actual transactions happening.

By abstracting away from the communication layer, IXI gives developers easy access to the Tangle and provides them with a tolerant protocol, so that they can implement apps based on their ideas rather than adjusting their ideas to match the complex network properties of IoT. Most importantly, they do not have to reinvent the wheel by each developing their own communication solutions, resulting in a multitude of different and incompatible protocols. The lack of compatibility standards currently is one of the major issues of the Internet-of-Things. And Ict provides a solution.

The module’s Java backend provides a REST interface to display messages in the web GUI, which is implemented in JavaScript.

The signature scheme uses RSA - an asymmetric cryptographic algorithm that can be used for encryption as well as digital signatures. Each participant owns a key pair consisting of a private and a public key. The private key is used to sign messages while the public key allows other users to verify those signatures and authenticate the origin of a message.

While the username can be chosen freely, the hash of the public key (called the user id) is unique and allows users to identify each-other. You can add a user’s id to your contact list to mark their messages with a white border allowing you to spot impersonation attempts more easily. Additionally, each user’s profile picture is an identicon derived from the user id.

There are more than a eighty seven quintrigintillion (8.7x10¹¹⁵) different channels to chat. This is because each channel is internally realized by a specific IOTA address to which the chat module listens and sends messages. You can even see who is online because the web GUI will regularily submit a heartbeat transaction, notifying other users that you are there to chat. Finally, to set our priorities straight, we also added support for emojis. 😉

Most succinctly, IRI is the current working and well-tested full node software. Ict is an experimental concept in its infancy. Since there are real funds at stake, there is a long way to go before Ict could possibly replace IRI. For the near future Ict may provide a testbed for many proofs-of-concept, which would be more complex to implement into the large IRI code base. Furthermore Ict does not rely on a coordinator, which brings it closer to the end vision of IOTA, and makes it a great tool for testing other consensus mechanisms.

In the three weeks since commencing development on the current Ict code base, the basic gossip protocol and IXI have been implemented. Also, a first spam protection mechanism and pruning of old transactions have recently been enabled with the most recent version. CHAT.ixi, as a first proof-of-concept, is up and running, and proves that things are working as expected. We are working towards bringing Ict into a stable and reliable form by mid 2019.

For now, we wish you a fantastic start to the New Year.

Add a comment

Related posts:

Recapping Milestones

Kreds was launched in February 2018 with the goal of building an ecosystem for our digital currency. We believe that everyone would agree that 2018 has been a tough year for cryptocurrencies as a…

Introduction to Arduino

As we heard about embedded systems which are combination of the hardware, software and real time operating system. “Arduino” is a embedded system which is used in many projects and company for…

Tournament Online yang Mulai Terasa Membosankan

Agustus belum ada The International dan saya mulai bosan melihat tournament Dota 2 secara online. Kenapa sih LAN event lebih seru dari online?