Rafael Rohden
IOTA | |
---|---|
Prevailing IOTA logo | |
ISO 4217 | |
Code | IOT[lower-alpha 1] |
Denominations | |
Superunit | |
103 | KiloIota (Ki) |
106 | MegaIota (Mi) |
109 | GigaIota (Gi) |
1012 | TeraIota (Ti) |
1015 | PetaIota (Pi) |
Symbol | IOT, MIOTA[1] |
Demographics | |
Date of introduction | 11 June 2016 |
Source | Initial Coin Offering |
User(s) | Worldwide |
Valuation | |
Supply growth | Total fixed supply of 2 779 530 283 277 761 units with no built-in inflation. |
|
IOTA is an open-source distributed ledger. Its protocol is a directed acyclic graph (DAG) called the "Tangle".[2]
IOTA began open beta testing on 11 July 2016.
The system is peer-to-peer, with transactions taking place directly between users and without an intermediary. In order to send a transaction, a user must validate two other transactions on the network. A sent transaction must accumulate a sufficient level of verification (i.e. must be validated a sufficient number of times by other users) in order to be accepted as "confirmed" by its recipient. The system works without a central repository or single administrator, and addresses the scalability and transaction cost concerns inherent in other distributed ledger technologies.
IOTA can be thought of as a "settlement layer", in that transactions can exchange value and/or data. Other functions (e.g. smart contracts) may be built on top of this settlement layer, but the core IOTA protocol has been kept lean to maximize efficiency.
Origins[edit]
IOTA was invented by David Sønstebø, Sergey Ivancheglo, Dominik Schiener, and Dr. Serguei Popov. The origins of IOTA stretch back to 2014 when this group founded a stealth hardware startup to develop a brand new type of ternary microprocessor for the internet of things (IoT) and distributed computing. It was through this experience that the team identified a need for a secure value and data settlement layer to enable the IoT and allow for the emergence of a machine-to-machine economy.
In 2013, Sergey Ivancheglo pioneered the first implementation of full proof-of-stake consensus on a blockchain, called Nxt. Since none of the token supply was allocated to developers/founders, the community decided to support the project’s vision by donating a significant amount of resources in order to establish the non-profit "IOTA Foundation" registered in Germany. The community subsequently funded large corporate collaborations, community projects, and developer acquisition initiatives.[3]
IOTA began open beta testing on 11 July 2016. Trading took place over-the-counter between users for 11 months leading up to the first exchange listing at Bitfinex on 12 June 2017.
Design[edit]
Tangle[edit]
Instead of using a blockchain, IOTA uses a directed acyclic graph (DAG) as its protocol. IOTA’s DAG protocol is colloquially referred to as the "Tangle", and is a generalization of the block chain protocol (a blockchain is a special case of a DAG).
There are no “blocks”, and there is no linear “chain” within the Tangle. This architecture removes the necessity of predetermined block times, allowing transaction finality to become more swift as the number of transactions on the network increase. However there are many factors that influence confirmation time as well, such as Tangle topology and node location within the network.
The Tangle is a public ledger within which IOTA transactions are stored. It is decentralized such that no central entity is in control of the network, which is maintained by a network of nodes, organized according to mesh networking topology.
The Tangle acts as a distributed database - currently, each node in the network stores the entire Tangle history.
In order to send an IOTA transaction, the sender must confirm two other transactions on the Tangle.
The Tangle’s unique verification parallelization is afforded by being an asynchronous system. This is in contrast to blockchain’s strictly sequential, synchronous ledger.
The "payment" for using the IOTA network is validation of two other transactions (rather than paying a mining fee). Therefore validators (known as "miners" in Bitcoin, or "stakers" in proof-of-stake protocols) and users (any entity that sends a transaction) are no longer decoupled entities. To put it more simply, every user becomes a miner / staker in the network.
The Tangle is programmed in trinary as opposed to binary code.
Scalability[edit]
Since each transaction requires the sender to verify two other transactions on the Tangle, the more transactions that are sent, the more transactions can be confirmed. This means that IOTA throughput capacity scales proportionally to the number of transactions on its network. In comparison, traditional blockchains have predetermined block times and block sizes, which limit throughput.
The precursor to IOTA, a specialized CPU for IoT and Distributed Computing, is being developed as hardware support to allow even small edge devices to conduct on the order of thousands of transactions per second on every device. With this hardware support, network throughput scalability will theoretically only be limited by the laws of physics (propagation of radio waves/photons). Also, this hardware component does not add any extra cost to the manufacturer, and will be open source.
Transaction Fees[edit]
IOTA’s novel architecture no longer requires the validator and user to be decoupled entities. By virtue of using the network, a user also serves as a validator by conducting the "proof of work" to confirm two other transactions on the Tangle. IOTA proof of work is directly comparable to Hashcash. The purpose of proof of work in IOTA is to prevent spam and Sybil attacks.
Difficulty of IOTA proof of work is low enough to be performed by most modern devices, including laptops and phones, and may be performed by the sender’s device, the recipient’s device, or outsourced to a third party device that is specialized to more efficiently perform the proof of work. The requirement of Proof-of-Work makes it suitable for smaller micro-controllers unlike Proof-of-Work used in cryptocurrencies with miners/validators.
By vertically aligning transactions and verifications, not only does IOTA eliminate the risk of validation centralization, but it also removes the need to incentivize validators with token creation or transaction fees.
Supply[edit]
The total supply of IOTA is 2,779,530,283,277,761 units. This value is optimized for ternary computation and can be expressed in SI units as 2.779 x 1015.
The total supply is based on the 33 digit ternary number 111,111,111,111,111,111,111,111,111,111,111, which equals the decimal value 3³³.
3³³ is the total range of values for IOTA, both negative and positive. Because this is an odd number, the highest absolute value for IOTA is:
(3³³-1)/2 = 2,779,530,283,277,761.
This is the maximum positive value an address can hold, and consequently the total IOTA supply.
The total supply of IOTA is similar in number to the smallest fraction of Bitcoin, the satoshi: there are about 2.8 x 1015 IOTA, while there will eventually be a total of 2.1 x 1015 satoshi. Unlike Bitcoin, IOTA does not use decimals or fractions of a token and only processes integer values. An advantage of treating IOTA units as whole numbers is to avoid decimal rounding issues, which can lead to floating-point errors in improperly designed software. Despite using indivisible tokens, the large total supply of IOTA and its lack of processing fees make it particularly suited for microtransactions.
Every IOTA token in existence was generated in the genesis transaction. This is due to the fact that an emission mechanism that doesn't lower security of the Tangle is unknown, and no proofs of such a safe mechanism have yet been established.
Units[edit]
The smallest unit in IOTA is called an "IOTA". Due to the high number of IOTA tokens, units are typically expressed together in larger groups for notation practicality.
Unit | Number of IOTAs |
---|---|
Iota (i) | 100 = 1 |
KiloIota (Ki) | 103 = 1,000 |
MegaIota (Mi) | 106 = 1,000,000 |
GigaIota (Gi) | 109 = 1,000,000,000 |
TeraIota (Ti) | 1012 = 1,000,000,000,000 |
PetaIota (Pi) | 1015 = 1,000,000,000,000,000 |
This is equivalent to using 1 MegaDollar to represent one million US dollars.
Validation[edit]
Validation of a transaction is the process by which other devices choose the transaction via a tip selection algorithm, and perform the necessary proof-of-work in order to cast their vote of confirmation/approval. As many other transactions repeat this process on top of each other, validation of the transaction in question slowly builds up enough verifications to eventually reach a minimum acceptable verification threshold, as determined by the recipient of the transaction. When this minimum threshold is reached, the transaction is "confirmed".
IOTA is similar in nature to other blockchain based protocols, whereby the recipient of a transaction can modify their confirmation threshold based on their risk tolerance for a double spend.
Wallets[edit]
A wallet stores the information necessary to send and receive IOTA. This information can be thought of as the digital credentials that allow access to spend your IOTA. The IOTA itself is held within addresses that only exist on the network. In other words, addresses are not confined to a wallet, rather, they exist on the Tangle. This means that as long as you save your seed, you will have access to the credentials that allow you to send or receive IOTA to/from the addresses associated with that seed.
Full Node
Full nodes propagate transactions into and throughout the network. Each full node must conduct manual peering with 7-9 other full nodes (neighbors) in order to function optimally. This means that each node must mutually add each other to their list of neighbors. To ensure a full node stays synced with the network and acts as a good neighbor to the other nodes it’s paired with, it should maintain 24/7 uptime. Neighbors who are constantly out of sync with the network or who are not propagating an adequate amount of transactions should be replaced with higher quality neighbors.
At the present time, every full node stores the entire history of the Tangle, however auto-snapshotting in the future will allow for full nodes to truncate the Tangle as they see fit to manage their storage requirements.
Light Wallet
"Lightweight" clients are more user friendly and easier to set up than full nodes. Light wallets connect to a single "host" (full node), through which the light wallet propagates its transactions. These are designed for use on low-power, low-bandwidth devices.
The tradeoff for light wallet ease-of-use, however, is that the user must trust the host to a certain degree. The host cannot steal IOTA or access a light wallet’s seed (this information is kept locally on the user’s device), but it can theoretically report faulty values back to the light wallet, undergo unexpected downtime, or be otherwise un-synced with the network.
No matter the wallet, users are responsible for keeping their seeds in a secure place. As long as the user has access to their seed, they can download the IOTA light wallet on any device in the world, connect to any host, and immediately have access to their balance. .
Other Wallets
Online wallets might be easier to use than light wallets and full nodes, but require complete trust in the online wallet provider since the credentials to access funds are stored with the online wallet provider rather than on the user's hardware. A malicious provider or a breach in server security may result in IOTA being stolen.
Seeds[edit]
An IOTA seed (random seed) is the key through which users can access the IOTA network, by generating addresses and transactions derived through this seed. Seeds can be any length, but any more than 81 characters fails to add extra security. It is highly recommended that all seeds be 81 characters in length, as a shorter length reduces security.
These 81 characters should be randomly generated by the user, and consist of the letters A-Z and the number 9, which provides 27 possibilities.
In IOTA's ternary system, 81=34 is the 4 digit ternary number 1,111 and 27=33 is the 3 digit ternary number 111.
The number of possible IOTA seeds, when using the maximum length of 81 characters, is 2781 ≈ 8.72 x 10115.
Cryptography[edit]
IOTA uses Winternitz hash-based cryptography signatures instead of elliptic curve cryptography (ECC). Not only are hash-based signatures much faster than ECC,[4] they also greatly simplify the signing and verification process and reduce overall complexity of the Tangle protocol.
Grover's algorithm dictates that a quantum computer would be very efficient at conducting brute force attacks. The process of finding a cryptographic nonce in order to generate a Bitcoin block is particularly vulnerable to such brute-force attacks. As of today, an average of around 268 nonces must be checked to find a suitable hash, and this trends up over time.[5] A quantum computer would only need Θ(√N) operations to solve a problem of the above sort that needs Θ(N) operations on a classical computer. Therefore, a quantum computer would be on the order of 10s of billion times more efficient at Bitcoin mining than a classical computer. This illustrates the susceptibility of Bitcoin (and other blockchain protocols) to quantum computing.
However, in IOTA, the number of nonces that must be checked in order to find a transaction hash is only around 38. The gain of efficiency provided by a quantum computer in the setting of IOTA would therefore be 34 = 81, which is relatively insignificant compared to the Bitcoin susceptibility example above. Ultimately, IOTA is designed such that the time to find a nonce is not much larger than the time needed for other tasks necessary to issue a transaction anyway. IOTA security and functionality is therefore not threatened in the setting of quantum computing.
Reference Implementation[edit]
The IOTA Reference Implementation (IRI) is the core protocol on which the IOTA network is built. It is designed to remain simple. The IOTA eXtension Implementation (IXI) is a second application layer that allows for applications and more complicated IOTA interoperability to be created.
Privacy[edit]
IOTA is pseudonymous, meaning that balances are tied to addresses rather than real-world identities. Owners of IOTA addresses are not explicitly identified, but all transactions on the Tangle are public.
"Mixing" or "tumbling" of IOTA can aggregate multiple users' funds and output them to fresh addresses to increase privacy.
Masked Authenticated Messaging[edit]
In addition to value transfers via IOTA tokens, the IOTA protocol is also capable of transferring data securely via masked authenticated messaging (MAM). Using MAM, only authorized recipients can read and reconstruct the entire data stream. It works like a radio, in that only those with the right frequency can listen in - in MAM, only those with the right channel IDs get access to the data.
Academic Collaborations[edit]
- University of California, Berkeley
- University College London's Centre for blockchain Technologies
Corporate Collaborations[edit]
Founding partner:
- Decentralized Identity Foundation (Microsoft, Accenture, BigchainDB, etc.)[6]
- Trusted IoT Alliance (Cisco, Foxconn, Bosch, etc.)[7]
- DLT Research & Innovation Network (Alpha Venturi, Oslo Medtech, Oslo Cancer Cluster, NTNU Center for Cyber and Information Security (CCIS), The Norwegian Centre for E-health Research)
References[edit]
- ↑ "Coin Market Cap - IOTA (MIOTA)". 2017.
- ↑ Popov, Serguei (2016). "The Tangle Whitepaper" (PDF).
- ↑ O’Higgins, Conor (2017). "IoT Operator IOTA Launch New $2 Million Ecosystem Fund".
- ↑ Rohde, Sebastian; Eisenbarth, Thomas; Dahmen, Erik; Buchmann, Johannes; Paar, Christof. "Efficient Hash-Based Signatures on Embedded Devices" (PDF). Archived from the original (PDF) on 2010-12-06. Unknown parameter
|url-status=
ignored (help) - ↑ "Difficulty". Bitcoin Wiki.
- ↑ Wong, Joon Ian. "Microsoft thinks blockchain tech could solve one of the internet's toughest problems: digital identities".
- ↑ Allison, Ian. "IOTA's Tangle meets Internet of Things requirements better than any blockchain".
IOTA (Cryptocurrency)[edit]
This article "Rafael Rohden" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Rafael Rohden. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.