Sie sind auf Seite 1von 35

INTRODUCTION

INTEGER REPRESENTATION

The sign is represented by 0 when an integer binary number is positive and the magnitude by
a positive binary number whereas the sign is represented by 1 when the number is negative
but the rest of the number may be represented by any of the following three ways:- [1]

A. Signed Magnitude Method


In this method number is divided into two parts: Sign bit and magnitude.

If number is positive then sign bit will be 0 and if number is negative then sign bit will be
1. Magnitude is represented with the binary form of the number to be represented.[17]

Range of numbers: For k bits register, MSB will be sign bit and (k-1) bits will be
magnitude. Positive largest number that can be stored is (2k-1-1) and negative lowest
number that can be stored is –(2k-1-1).

B. 1’s Complement Method:


Positive numbers are represented in the same way as they are represented in the signed
magnitude format. If number is negative then it is represented using 1’s complement.
First represent the number with positive sign and then take 1’s complement of that
number.[17]

Range of numbers: For k bits register, positive largest number that can be stored is (2k-1-
1) and negative lowest number that can be stored is –(2k-1-1).

C. 2’s Complement Method


Positive numbers are represented in the same way as they are represented in the sign
magnitude method. If number is negative then it is represented using 2’s complement.
First represent the number with postitive sign and then take 2’s complement of that
number[17].

Range of numbers: For k bits register positive largest number that can be stored is (2k-1-
1) and negative lowest number that can be stored is –(2k-1).
The representation of floating point number has two parts. The first part denotes a signed,
fixed point number called Mantissa. The second part designates the position of the decimal
point which is called the Exponent. The fixed point mantissa can be an integer or fraction.
Floating point is always represented to define a number in the following format:

M*re

The mantissa m and the exponent e are only described physically in the register (including
their sign). The floating point binary number is described in the same manner but it uses base
2 for the exponent.

A normalized floating point number is when the most significant digit of the mantissa is one.
The maximum possible precision for floating point number is provided by the normalized
numbers. A zero can never be normalized because it does not have a non-zero digit. It is
basically described in the floating point format by all 0’s in the mantissa and the exponent.

Sign Bit Exponent Mantissa

Biased Form

0 sign bit describes the number is positive and sign bit 1 describes the number is negative.
Exponent is always stored in biased form. Mantissa part stores the fractional part. For storing
the exponent in biased form. Bias number is evaluated.

Note that, here we always store exponent in positive. Biased number is also called excess
number. Since exponent is stored in biased form so bias number is added to the actual
exponent of the given number.

In the floating point representation, normalisation concept is used to represent the data in a
uniform structure i.e

±valid digit.fraction* 𝑩±𝒆


In the computer system, data is represented in the form of binary so base is 2. Therefore valid
digit become implicit i.e 1

General form of a normalisation is

±1.bbbb…..* 2±e ; b= 0/1

Mantissa alignment process is used to adjust the decimal point. In this process right
alignment increment the exponent and left alignment decrement the exponent.

Data : +11011.101101* 2+4 ( align to right upto 4 times)

+1.1011101101* 2+4+4

+1.1011101101* 2+8
PROJECT DESIGN & METHODOLOGY

When the data is in the normal format then it is stored into a memory using the IEEE formats.
According to IEEE standard 754, two kinds of format presents :

Single Precision (32 – bit format)


In single precision of floating point, 1 bit is reserved for sign , 8 bits are reserved for biased
exponent and 23 bits are reserved for the mantissa.[2]

Double Precision (64 – bit format)


In double precision of floating point, 1 bit is reserved for sign , 11 bits are reserved for biased
exponent and 52 bits are reserved for the mantissa.[2]

Floating Point Storage


Floating point data is stored in the memory with 3 fields of information:-

A. Sign field - used to represent the sign of data.

B. BE field – used to represent the exponent.


In the format, 2’s complement exponent is not possible to represent because MSB bit
is already reserved with the montisaa sign so, alternative concept required i.e based on
exponent.

BE= actual ( AE) + Biased Exponent

Bias is a maximum possible positive exponent , depends on the format i.e

Bias= +( 2n-1 -1 )

Where n= number of bits in BE field

This concept is used to preserve the sign of a exponent i.e


when

(BE> Bias) then AE is positive

(BE<Bias) then AE is negative.

NOTE: To retrieve the data from the memory we need to substract the bias from the
biased exponent to get the actual exponent.

i.e AE=BE-bias

C. Mantissa field: Used to represent the fraction.


in the memory, mantissa is always stored in a normalised mantissa format i.e
1.bbbb……
B=0/1

NOTE: To retrieve the data from the memory, adjustment is required to get the
implicit digit as a valid fraction ie align the mantissa to right upto one-time called as
denormalisation.

Denormalisation : from the memory


Data :±.bbb- - - - *2±e
Denormalisation 0.1bbb- - - * 2±e

Normal m= 1.M

Denormal m=0.1M

Special values are defined to handle the overflow and underflow conditions named as
{0, ∞, -∞}.
Exponent Overflow: Occur when the exponent is exceeding the maximum possible
+veexponent(≈∞)
Exponent Underflow: Occur when the exponent is exceeding the maximum possible –
veexponent(≈-∞)
So Rounding techniques are used to report the result:
 Round to ‘0’ (for underflow)
 Round to ‘+∞’ (for +ve overflow)
 Round to ‘-∞’ (for –ve overflow)
 Round to ‘Nearest’ (fraction)
Two exponents are reserved for special values i.e
 All 0’s in BE (minimum)
 All 1’s in BE (maximum)

Data Format Comparison

The range of the three number formats discussed in this article. Integer is the most precise
format and can have any desired range, but requires significant increase in memory. Fixed
point representation must normalize the range, but provide a cost- effective trade between the
number of bits required and precision.

Floating point, on the other hand, allows for a large dynamic range, at the price of precision.

Most DSPs that implement floating point increase the number of bits in the data word to

help compensate for the loss of precision. It is clear now why integers have the highest
precision, followed by fixed point and then the floating point.

The blockchain is an incorruptible digital ledger of economic transactions that can be


programmed to record not just financial transactions but virtually everything of value.

The traditional way of sharing documents with collaboration is to send a Microsoft Word
document to another recipient, and ask them to make revisions to it. The problem with that
scenario is that you need to wait until receiving a return copy before you can see or make
other changes because you are locked out of editing it until the other person is done with
it. That’s how databases work today. Two owners can’t be messing with the same
record at once.That’s how banks maintain money balances and transfers; they briefly lock
access (or decrease the balance) while they make a transfer, then update the other side, then
re-open access (or update again).With Google Docs (or Google Sheets), both parties have
access to the same document at the same time, and the single version of that document is
always visible to both of them. It is like a shared ledger, but it is a shared document. The
distributed part comes into play when sharing involves a number of people.

Imagine the number of legal documents that should be used that way. Instead of passing them
to each other, losing track of versions, and not being in sync with the other version, why can’t
all business documents become shared instead of transferred back and forth? So many types
of legal contracts would be ideal for that kind of workflow.You don’t need a blockchain to
share documents, but the shared documents analogy is a powerful one.

Is Blockchain Technology the New Internet?


The blockchain is an undeniably ingenious invention – the brainchild of a person or group
of people known by the pseudonym, Satoshi Nakamoto. But since then, it has evolved
into something greater, and the main question every single person is asking is: What is
Blockchain?
By allowing digital information to be distributed but not copied, blockchain technology
created the backbone of a new type of internet. Originally devised for the digital
currency, Bitcoin, (Buy Bitcoin) the tech community has now found other potential uses
for the technology.
In this guide, we are going to explain to you what the blockchain technology is, and what
its properties are that make it so unique. So, we hope you enjoy this, What Is Blockchain
Guide. And if you already know what blockchain is and want to become a blockchain
developer please check out our in-depth blockchain tutorial and create your very first
blockchain.

A blockchain is, in the simplest of terms, a time-stamped series of immutable record of


data that is managed by cluster of computers not owned by any single entity. Each of
these blocks of data (i.e. block) are secured and bound to each other using cryptographic
principles (i.e. chain)

From a cruising altitude, a blockchain might not look that different from things
you’re familiar with, say Wikipedia.
With a blockchain, many people can write entries into a record of information,
and a community of users can control how the record of information is
amended and updated. Likewise, Wikipedia entries are not the product of a
single publisher. No one person controls the information.
Descending to ground level, however, the differences that make blockchain
technology unique become more clear. While both run on distributed networks
(the internet), Wikipedia is built into the World Wide Web (WWW) using a
client-server network model.
A user (client) with permissions associated with its account is able to change
Wikipedia entries stored on a centralized server.

Whenever a user accesses the Wikipedia page, they will get the updated
version of the ‘master copy’ of the Wikipedia entry. Control of the database
remains with Wikipedia administrators allowing for access and permissions to
be maintained by a central authority.
Wikipedia’s digital backbone is similar to the highly protected and centralized databases that
governments or banks or insurance companies keep today. Control of centralized databases
rests with their owners, including the management of updates, access and protecting against
cyber-threats.
The distributed database created by blockchain technology has a fundamentally different digital
backbone. This is also the most distinct and important feature of blockchain technology.
Wikipedia’s ‘master copy’ is edited on a server and all users see the new version. In the case of
a blockchain, every node in the network is coming to the same conclusion, each updating the
record independently, with the most popular record becoming the de-facto official record in lieu of
there being a master copy.

Transactions are broadcast, and every node is creating their own updated version of
events.
It is this difference that makes blockchain technology so useful – It represents an innovation in
information registration and distribution that eliminates the need for a trusted party to facilitate
digital relationships.
Yet, blockchain technology, for all its merits, is not a new technology.

Rather, it is a combination of proven technologies applied in a new way. It was the particular
orchestration of three technologies (the Internet, private key cryptography and a protocol
governing incentivization) that made bitcoin creator Satoshi Nakamoto’s idea so useful.

The result is a system for digital interactions that does not need a trusted third party. The work of
securing digital relationships is implicit — supplied by the elegant, simple, yet robust network
architecture of blockchain technology itself.
Defining digital trust
Trust is a risk judgement between different parties, and in the digital world, determining trust
often boils down to proving identity (authentication) and proving permissions (authorization).

Put more simply, we want to know, ‘Are you who you say you are?’ and ‘Should you be able to
do what you are trying to do?’

In the case of blockchain technology, private key cryptography provides a powerful ownership
tool that fulfills authentication requirements. Possession of a private key is ownership. It also
spares a person from having to share more personal information than they would need to for an
exchange, leaving them exposed to hackers.

Authentication is not enough. Authorization – having enough money, broadcasting the correct
transaction type, etc – needs a distributed, peer-to-peer network as a starting point. A distributed
network reduces the risk of centralized corruption or failure.

This distributed network must also be committed to the transaction network’s recordkeeping and
security. Authorizing transactions is a result of the entire network applying the rules upon which it
was designed (the blockchain’s protocol).

Authentication and authorization supplied in this way allow for interactions in the digital world
without relying on (expensive) trust. Today, entrepreneurs in industries around the world have
woken up to the implications of this development – unimagined, new and powerful digital
relationshionships are possible. Blockchain technology is often described as the backbone for a
transaction layer for the Internet, the foundation of the Internet of Value.
In fact, the idea that cryptographic keys and shared ledgers can incentivize users to secure and
formalize digital relationships has imaginations running wild. Everyone from governments to IT
firms to banks is seeking to build this transaction layer.
Authentication and authorization, vital to digital transactions, are established as a result of the
configuration of blockchain technology.
The idea can be applied to any need for a trustworthy system of record.

If we were to compare the two:


“As revolutionary as it sounds, Blockchain truly is a mechanism to bring everyone to the
highest degree of accountability. No more missed transactions, human or machine errors,
or even an exchange that was not done with the consent of the parties involved. Above
anything else, the most critical area where Blockchain helps is to guarantee the validity
of a transaction by recording it not only on a main register but a connected distributed
system of registers, all of which are connected through a secure validation mechanism.” –
Ian Khan, TEDx Speaker | Author | Technology Futurist
How does blockchain work?

As each transaction occurs – and the parties agree to its details – it’s encoded into a block of digital data and
uniquely signed or identified.

Each block is connected to the one before and after it — creating an irreversible, immutable chain.

Blocks are chained together, preventing any block from being altered or a block being inserted between two
existing blocks.

How can blockchain impact an entire industry?

Blockchain enables businesses to rethink the way they work.


In the diamond industry, for example, each party can access:
 High-resolution photos
 Immutable payment records
 Certificates of authenticity and more.

The problem we solve


Anyone with a bank account is familiar with the concept of a ledger, containing records of

their debits and credits. Collectively, we have all entrusted financial institutions for

generations to safeguard these highly sensitive records and their accuracy. With no ability to

verify the data that we receive on the Internet today, and with cybercrime on the rise, this
delegated and unverifiable trust has become a major obstacle for an inclusive and

permissionless economy.

With the advent of distributed ledger technologies, we are now able to distribute and

synchronize ledgers of data and money in secure, distributed, decentralized and

permissionless environments. By removing the need for trusted third-parties as the

gatekeepers and arbiters of truth, enormous efficiency gains, innovation opportunities and

new value propositions emerge.

Blockchain technology promised a compelling vision: decentralized networks allowing open

innovation and peer-to-peer transactions without intermediaries or fees. Ultimately, they were

never built to execute it in full, due to inherent technical flaws in their design. As blockchain

adoption has increased over the last decade, early adopters have been hit with sluggish

transaction times and skyrocketing fees. As financial rewards for validating blockchain

transactions became increasingly competitive, their networks have also become increasingly

centralised around a few powerful actors. But the need for decentralized and permissionless

systems remains, and has only increased in recent years.

By solving the inefficiencies of the Blockchain, IOTA, based on the revolutionary distributed

ledger technology, the Tangle, is the missing link for the Internet of Everything and Web 3.0.

Powering a secure, scalable and feeless transaction settlement layer, IOTA will empower

machines and humans to participate in flourishing new permissionless economies - the most

important one being the Machine Economy which we are building.

Meet ‘the Tangle’


IOTA’s distributed ledger, by contrast, does not consist of transactions grouped into blocks

and stored in sequential chains, but as a stream of individual transactions entangled together.
In order to participate in this network, a participant simply needs to perform a small

amount of computational work that verifies two previous transactions. Rather than

creating a hierarchy of roles and responsibilities in the network, every actor has the

same incentives and rewards. In order to make a transaction in the Tangle, two

previous transactions must be validated with the reward for doing so being the

validation of your own transaction by some subsequent transaction. With this 'pay-it-

forward' system of validations, there is no need to offer financial rewards.

Transacting with IOTA is and will always be completely fee-free.

Moreover, without the need for monetary rewards, IOTA is not limited to

transactional value settlements. It is possible to securely store information within

Tangle transactions, or even spread larger amounts of information across multiple

bundled or linked transactions.

This structure also enables high scalability of transactions. The more activity in ‘the

Tangle’, the faster transactions can be confirmed.


If there are no fees with IOTA, how does the IOTA Foundation make money?

IOTA is simply an open-source protocol which enables trustless and decentralized transaction

settlement and secure data transfer, and will serve as the foundational protocol for the future machine

economy and IoT industry. You can think of it like the open-source Hyper-Text Transfer Protocol

(HTTP) which enables distributed, collaborative, and hypermedia information systems and serves as

the foundational protocol for the World Wide Web. No organization owns these open-source protocols

because they cannot be owned. A protocol is simply a shared language - a commonly agreed upon

set of rules to share information, and in the case of IOTA, also value. They are public knowledge and

there is no profit-model behind them.

The IOTA Foundation was mandated to further develop the open-source IOTA protocol, bring the

protocol to production-readiness and enable a pathway for its full-scale adoption. The initial funding

for the non-profit IOTA Foundation came from the IOTA community in the form of IOTA token

donations. It is worth noting that these initial IOTA token donations still constitute a significant portion

of the Foundation's assets. Because the IOTA total token supply will forever remain fixed, basic

economics would dictate that if the demand for IOTA tokens increases as the protocol is adopted into

the machine economy and IoT industries, the value of these tokens will rise. However, this is clearly

not a sustainable source of funding. Additional and more sustainable funding streams will be procured

from public grants and contributions from corporations and individuals.

What can I do with IOTA? What are some potential use-cases?

IOTA currently does two things really well: transactional settlement (especially feeless and fast

micropayments) and data integrity. With these two features a plethora of potential use cases are

possible for the very first time. Real-time streaming payment services for data and energy, immutable

data history tracking for supply chains, computational resource sharing (for bandwidth, CPU, and

storage) and more, IOTA enables entire new business models which were previously impossible with

the legacy financial system and other Distributed Ledger Technologies built on Blockchain. More

open-source platforms (such as Oracles, Smart Contracts, Q, etc.) are on our roadmap and will be

added in the near future.


The main focus of IOTA is to enable the emerging IoT, but beyond this IOTA plans to be the

transaction settlement and data integrity layer for the Internet of Everything. This includes smart cities,

smart grids, infrastructure, supply chain, financial services, peer-to-peer payments, insurance, and

much much more. On the IOTA Blog and the Verticals tab you can read about more concrete

examples on the different use-cases the IOTA technology can enable.

What is the difference between a Light Node and Full Node?

The IOTA GUI makes it possible to choose between a Full Node and Light Node. The Full Node

automatically runs an IRI instance in the background, which in turn means that you need neighbors in

order to participate in the Peer-to-Peer network to synchronize with the Tangle. If you run the Full

Node, you have no "trust requirements", as you are completely and independently participating in the

network.

The Light Node makes it possible to connect to a remote Full Node (whether it is your own Full Node,

or someone else's publicly provided), in order to get the latest state of the network, most importantly

fetching two transactions for validation which are required for issuing a transaction. When running a

Light Node, it should be noted that your seed never leaves your wallet, you are still required to

perform the Proof-of-Work, and all the sensitive work (such as signing) is done client-side. It also

should be noted that the public Full Node providers are often overwhelmed with Light Node requests,

so in order to reap the full benefits of the IOTA feeless and fast transaction settlement and data

integrity technology, it is recommended to run a Full Node and not have to rely on the public Full

Node providers (think of it like hitchhiking vs. having your own car).
What is needed to issue a transaction?

Making a transaction can be simplified into a 4-step process:

1. Signing of inputs and/or constructing a message: In IOTA there are two types of
transactions: transactions where you transfer IOTA tokens (and thus a digital signature is
required to prove ownership of the IOTA tokens), and 'zero-value' transactions which simply
broadcast a message or data (and thus a digital signature is not necessarily needed). For
transactions including transfers of IOTA tokens, it is necessary to form what is called a
transaction bundle (see advanced questions for further details).
2. Tip selection and validation: In the Tangle a tip is a transaction which has not been
validated previously by any other transactions. Tip selection is a process whereby two tips are
selected at random using a specific algorithm (specifically a Markov Chain Monte Carlo
Random Walk tip selection algorithm, see advanced questions for further details). Once two
tips have been selected they must be validated to check that their two respective histories
(the sub-tangle cone referenced by these two respective transactions) are consistent -
meaning there are no double spends or other forms of cheating.
3. Proof-of-Work: Once the tips are selected and validated for consistency, a tiny amount of
Proof-of-Work is required where some computational resources must be spent to find the
answer to a simple cryptographic puzzle.
4. Broadcast: After all these 3 steps are completed, the transaction(s) can be broadcasted to
neighboring nodes in the peer-to-peer network who will pass the information along to their
neighbors and so on using a standard P2P gossip protocol.

Once these four steps are completed, and assuming the transaction is valid, some other transactions

in the network will with high probability randomly choose it for validation, either directly or indirectly.

Once a significant proportion of newly issued transactions (i.e. tips) are indirectly referencing it, the

transaction can safely be considered confirmed.


Is my seed sent to the server with the libraries or wallet?

When interacting with any of the libraries or wallets which are supported by the IOTA Foundation, you

can be sure that your seed will never leave your side. All the essentials, such as signature generation,

validation and so forth are done client-side, meaning that it's done locally. As such, your seed is never

sent to your remote node and you don't have to worry about any security issues by only using the

Light Wallet.

My transaction has been pending for a long time, what is the problem?

New transactions choose two tips to validate randomly, so sometimes transactions, through no fault of

their own, are simply unlucky and not selected for validation. This is a natural, expected and indeed

important behavior of the Tangle. Because the algorithm for choosing tips favors fresh (newly issued)

tips, if your transaction was not confirmed in the first few minutes, it is very likely it will never be

confirmed without doing one or more of these three actions: Rebroadcast, Reattach, and Promote.

At the time of writing, IOTA has a reference implementation written in Java which is available here,

together with all installation instructions: https://github.com/iotaledger/iri. C++ and Rust are currently

under development. You are able to create your own Private Tangles by using the following

software: Compass

System requirements

 4+ GB of RAM
 8+ GB of Storage
 Java 1.8.0_151 or higher.
 For Windows, download and install the latest Visual C++ redistributable from here

Normally with asymmetrical cryptography there is a unique public address which may be

disseminated widely, and a unique and secret private key which is known only to the owner. Given the

private key, the public address can be generated trivially and deterministcally by what is known as a

hash function (i.e. secure hashing function, sha256), but given the public address, there is no feasible

way to determine what the private key is (e.g. there is no inverse function of sha256).

Trivial and deterministic:


sha256(Private Key) = Public Address
Does not exist:
inverseSha256(Public Address) = Private Key

A hashing function has a message digest (or output) which is always the same size, 256 bits in the

case of sha256. Because there is no discernable correlation between the input into the hashing

function, and the message digest, (e.g. it appears completely random, despite the fact that it is

completely deterministic), this means that in order to guess a private key given a public address, it

would take on average 2^256 guesses, or close to as many guesses as there are hydrogen atoms in

the observable universe. To put this number in perspective, this video by 3Blue1Brown does a great

job.

In IOTA, because a variation of the Lamport One-Time signature scheme is employed, it works a little

differently. Instead a unique and secret seed, combined with an index (any positive integer including

zero), determines a unique and secret private key, which in turn determines a unique public address

which may be disseminated widely. This gives a sequence of private keys and public addresses all

associated with the same secret seed. This series of private keys and public addresses comprises an

IOTA wallet. The hashing function used in IOTA is called Curl.

 Index 0: Curl(secret seed + 0) = Private Key 0 → Curl(Private Key 0) = Public Address 0


 Index 1: Curl(secret seed + 1) = Private Key 1 → Curl(Private Key 1) = Public Address 1
 Index 2: Curl(secret seed + 2) = Private Key 2 → Curl(Private Key 2) = Public Address 2
 Index 3: Curl(secret seed + 3) = Private Key 3 → Curl(Private Key 3) = Public Address 3
 .... and so on.

To send IOTA tokens associated with a public address in the Tangle, the private key is used to

digitally sign the message proving ownership of the tokens on that address, but in doing so part of the

private key (50% on average) is revealed. Thus, once a private key associated with a public address

is used to digitally sign a message, this public address should never be used again for any purpose.

When sending IOTA from an address, any remainder balance is automatically moved to a next public

address by incrementing the index and sending the remainder IOTA tokens to the next public address

in the wallet.
Trit and Tryte

You are probably familiar with Bytes and Bits.

Since IOTA is not based on binary but trinary/ternary computing, we need different names.

bits, bytes

A bit is a digit in a base 2 number system: either 0 or 1


A byte consists of 8 bits

trits

A trit is a digit in a base 3 number system: either 0, 1 or 2

balanced ternary

IOTA does not use normal ternary but balanced ternary computing. It has some special
propertiesand uses -,0 and + as digits
trytes

A tryte consists of 3 trits. It can be in one of 27 states. In IOTA these states are often named
with the (26) uppercase letters ABCDEFGHIJKLMNOPQRSTUVWXYZ and the (+1)
number 9.

An IOTA network consists of nodes and clients. A node is a device that has read/write
access to a ledger of transactions. A client is a device that has a seed. A seed gives a
client access to addresses. Addresses have a balance, which defines the amount of IOTA
tokens in them. To withdraw IOTA tokens from their addresses, clients must send
bundles of transactions to a node so that the nodes can validate the transactions and
update their ledgers.

Clients
Like an account number and sort code, an address in IOTA is a unique string of 81 characters
(trytes) that are unique to each seed.

Sometimes addresses have 90 characters. The extra 9 characters are called the checksum,
which helps you make sure your address is correct.

Clients on the network send each other data or IOTA tokens to each other's addresses
in bundles, which contain transactions.

Transactions are objects that are structured according to the rules (protocol) of the nodes
in the IOTA network. Each transaction is an operation that instructs a node to withdraw
IOTA tokens, deposit IOTA tokens, or simply store the transaction.

The IOTA client libraries contain all the tools you need, including those to create addresses
and bundles. Any code that uses a seed is executed on the client side. Your seed never leaves
your device.

Nodes
Nodes are like a cross between a post office and a bank. They keep a ledger of every
transaction that they receive and the non-zero balances of all addresses in the network.

Nodes have an API, which allows clients to read from the ledger and send bundles.
Nodes validate transactions according to a set of rules, one of which states that withdrawals
must contain a valid signature. When a transaction is considered valid, the node adds it to its
ledger and updates the balances of the affected addresses.

Trust
You might be wondering how you can trust a node. After all, connecting to a node is the only
way to read from and write to the Tangle. What if a node were to change the response to an
API endpoint such as

getBalances

? How would you know what your real balance is?

Well, IOTA is a distributed ledger technology. The word distributed is the key. When a
node receives a transaction, validates it, and appends it to its ledger, it doesn't stop there. The
IOTA protocol states that all nodes must forward transactions onto other nodes, called their
neighbors. This way, all nodes receive, validate, and store a consistent, distributed ledger of
transactions, removing the need to trust any individual. As a result, you can send requests to
multiple nodes and check the consistency of the returned data.

Immutability
What stops a node from being able to change a transaction?

The first step to transaction immutability is to hash its contents into 81 trytes. This hash is
unique to the transaction. If one character of the transaction's contents were to be changed,
the hash would be invalid.

The next step is to connect the transaction (called a child) to two others (called its parents) by
referencing their transaction hashes in the

branchTransaction

and

trunkTransaction

fields. Now, the fate of the child transaction is bound to its parent. If the contents of either
parents change, their transaction hashes will be invalid, making the child invalid.

This connected structure in the ledger is what's called the Tangle, a tangled family of
transaction hashes where any new orphaned child (with no parents), called a tip transaction,
must reference two parents. As a result, the more children a transaction has, the more
transaction hashes that are connected to it, and the more immutable it is considered.

Scalability
Scalability is the capability of a network to handle a growing amount of work. In IOTA,
where billions of Internet-of-things devices are expected to transact on the network,
scalability is essential.
You've already seen that transactions reference each other to strengthen their immutability in
the Tangle. But, what's also important about the the Tangle is how parents are chosen.

Before a client can send a transaction to a node, that transaction must reference two parents.
Transactions, up to the last one in a bundle, will always reference each other in their

trunkTransaction

fields. So, what about the

branchTransaction

field and the

trunkTransaction

and

branchTransaction

fields of the last transaction in the bundle?

The parents in these fields are chosen by a node during tip selection. A process where a node
starts from an old transaction and traverses its children, grandchildren, and so on, until it
finds one without any parents (the selected tip).

While traversing transactions, the node must validate their entire bundle. As a result, by
having the node validate the history of the tip transactions and by referencing their
transaction hashes, a child approves its parents' bundles and their entire history.

Because every bundle approves two new bundles, the more bundles in the network, the faster
new ones are approved.

What is a distributed ledger?

A distributed ledger is a database that's stored in all nodes in a network.


DLT can have two types of ledger:

 Permissionless ledger: A ledger that's distributed among nodes that can be run by

anyone without permission. The purpose of a permissionless ledger is to allow anyone

to contribute data to the ledger and for everyone in possession of the ledger to have

identical copies. Nodes maintain the integrity of the ledger by reaching a consensus
about its state. A permissionless ledger can be used as an immutible global record of

transfers.

 Permissioned ledger: A ledger that's distributed only among nodes that are

preselected by a central authority such as a bank or a government.

What problems does DLT solve?

Problem

When data is stored in proprietary databases, it's difficult to share that data with others
without it becoming changed and lost in other databases.

Solution

DLT creates a single source of truth that all participants can trust.
When data is added to a distributed ledger, anyone with an internet connection can access it
by connecting to any node in the network.

IOTA is a distributed ledger technology (DLT) that allows computers in an IOTA


network to transfer immutable data and value (IOTA tokens) among each other.
IOTA aims to improve efficiency, increase production, and ensure data integrity in a
machine-to-machine economy.

How does IOTA work?


Clients send data and IOTA tokens to each other through IRI nodes.

To send and receive IOTA tokens, clients send packages of transactions called bundles to IRI
nodes. The transactions in a bundle instruct the IRI node to transfer IOTA tokens from one
address to another. These addresses are generated by using a client's unique secret password
called a seed.

When the bundle is confirmed in the Tangle, the IOTA tokens are transferred.

What are the benefits of IOTA?

IOTA is an open-source technology that can streamline, secure, and automate any process
that sends data or transfers value among different devices.

Trust
Each IRI node in an IOTA network validates and stores transactions in its ledger, then sends
its contents to other IRI nodes that do the same. As a result, all valid transactions are agreed
on by all nodes, removing the need to trust a single one in the network.

Immutability

All transactions in the ledger are immutable and transparent.

Security

IOTA uses quantum-resistant cryptography to secure the network and prevent attackers from
stealing IOTA tokens.
IOTA networks are peer-to-peer networks. No central authority controls the ledger of
transactions, instead all IRI nodes hold a copy and run the software that contains the IOTA
protcol to automate the agreement on its contents.

Cost saving

IOTA is free to use. You don't need to pay a subscription, or sign a contract. Even
transactions are free to send.

Scalability

For each transaction that's appended to the ledger, two previous transactions are validated.
This process makes IOTA incredibly scalable because the more new transactions that
propagate through the network, the faster other transactions are validated.

For what industries is IOTA useful?

Many industries such as the following could benefit from using IOTA:

 Mobility

 Global trade and supply chains

 Industrial IoT (Internet of things)

 Healthcare

 Energy

 The Tangle is the data structure that's formed by the connections among
transactions in the distributed ledger on all IRI nodes.
 One of the validation critera of a transaction is that each one must directly reference
two previous transactions.
 This referencing model forms a type of directed acyclic graph (DAG), in which each
transaction represents a vertex.


 In this diagram, transaction 5 is directly referenced by transaction 6. Because
transaction 5 directly references transaction 3, transaction 3 is indirectly referenced
by transaction 6.
 Tip transactions are chosen by IRI nodes during a process called tip selection.
 Transactions are considered confirmed when they're referenced by a Coordinator-
issued milestone transaction

To support the consistent update of information — and to enable a whole host of ledger
functions (transacting, querying, etc) — a blockchain network uses smart contracts to
provide controlled access to the ledger.
LITERATURE REVIEW
seed

A seed is a secret password that's used to create unique addresses and signatures.
Addresses are the accounts from which transactions are sent and received.
Signatures prove ownership of an address and allow IOTA tokens to be spent from addresses.
A seed can be used to create an almost unlimited amount of addresses: Enough that you don't
need to worry about ever running out!

What is a transaction?
A transaction is a single operation that can stand alone or be packaged with other
transactions. Stand-alone transactions are those that contain no value, for example to
send only data. Muliple transactions can be complex operations, for example
withdrawing IOTA tokens from one address and depositing them into another.
Transactions are sent to IRI nodes in bundles.
Transactions can be one of the following types:

 Input transaction: Withdraws IOTA tokens from an address and contains the

signature that proves ownership of them. If the signature is too large, it's fragmented

over zero-value output transactions in the bundle.

 Output transaction: Deposits IOTA tokens to a recipient's address or contains no

value (a zero-value transaction).

All transactions are feeless.

What is a bundle?

A bundle is a group of one or more transactions, which instruct an IRI node to transfer
data or IOTA tokens to addresses.

Example of a bundle that transfers IOTA tokens

You want to send 100Mi to recipient A.


Your balance is distributed among three addresses:

 Address 0: 20Mi

 Address 1: 30Mi

 Address 2: 55Mi

What is an IRI node?


An IRI node is a computer that's responsible for validating transactions and storing an
immutable record of them in a ledger.
When a client sends a bundle to an IRI node, it makes sure that the transactions are valid (for
example, that the sender owns the IOTA tokens). If the transactions are valid, they're
appended to the IRI node's ledger. After validating a transaction, the IRI node sends it to its
neighbor IRI nodes so that the whole network can validate and store the same transaction.
A confirmed transaction is one that has been validated by all IRI nodes and approved by a
milestone. You can't change past transactions because they form the immutable data structure
called the Tangle.
To use any IOTA network, you can interact with an IRI node through the client libraries or
the IRI API (application programming interface). Many IOTA applications, such as Trinity,
use one of the client libraries behind the scenes.

Send your first data transaction (Trinity)

Trinity is a mobile and desktop application with a user interface that allows you to
transfer data and IOTA tokens in an IOTA network. A zero-value transaction can be
sent using a random seed that doesn't contain IOTA tokens. These transactions are
useful for sending and storing immutable messages on the Tangle.
Trinity allows you to do the following:

 Create a password-protected account to store and access your seeds

 Read your balance and transaction history

 Send and receive transactions on the IOTA Mainnet network


1. Download and install Trinity
2. Open Trinity
3. To create a seed in Trinity, click Yes, I need a seed. If you already have a seed, or if
you created a seed outside of Trinity, click No, I have one.
4. Enter an account name for your seed
5. Select an option to record your seed and enter a login password
6. After you've logged in, go to Account > Account management > View addresses to
see a list of your seed's addresses.
Note: To generate a new address, click Receive on the homepage.

7. Copy one of your addresses, click Send, and paste the address into the RECIPIENT
ADDRESS field
8. Enter 'Hello world!' in the MESSAGE field

9. Make sure that the AMOUNT field is 0 and click Send


Your transaction will appear in your transaction history. Click the transaction to display its
details.

Das könnte Ihnen auch gefallen