Is Blockchain the practical solution to the all the trust and integrity issues ? Or we need something else?
Here’s my take on Blockchains vs a TransactionDAG (IOTA)
#iota #blockchain #eos #practical #take
http://paxcel.net/blog/eos-vs-iota/
4. Fees
Bitcoin’s mean transaction fees have already risen above 1 dollar. This can be more
than the transaction amount itself.
Solutions include increasing block size limit, lightning network, central servers for
off-chain transactions, sidechains, and treechains
5.
6. Lots of computing
power required
Transaction speed declines as the network increases in size as more transactions
compete for the limited block spaces
It will take more and more computing power to mine the same amount of Bitcoin
9. Vulnerable to
Quantum Attack
Bitcoin and other Proof of Work based blockchains are susceptible to being broken
by a powerful quantum computer
On average one must check around 2^68 nonces to find a suitable hash that allows
to generate a block. A quantum computer would need Θ(√ N) operations to solve a
problem that needs Θ(N) operations on a classical computer. Therefore, a quantum
computer would be around √ 2^68 = 234 ≈ 17 billion times more efficient in Bitcoin
mining than a classical one
13. Blockchains are sequential chains where blocks are added in
regular intervals.
Tangle is a DAG (Directed Acyclic Graph) so its able achieve high
transaction throughput (by parallelizing validation) and no
transaction fees on transactions.
As it grows and more participants make transactions, the overall
system becomes more secure and faster, with confirmation times /
transaction finality going down.
It’s still a distributed database, it’s still a P2P Network and it still
relies on a consensus and validation mechanism.
17. Blockchain consensus is achieved by requiring multiple parties to
"race" against each other in an attempt to add the next Block to the
Blockchain and get the block reward / transaction fees.
Because of this, consensus is decoupled from transaction
generation and is largely performed by a smaller subset of the
network, oftentimes with a high entry barrier (as is the case in
Bitcoin) which leads to further centralization
In IOTA, every participant in the network making a transaction
also actively participates in the consensus.
18. You reference two transactions directly and other transactions in
the sub-tangle indirectly.
Through this, validation is parallelized and the network stay
completely decentralized, with no miners to delegate trust to or
having to pay a transaction fee.
So there are no “blocks” in the classical sense. Instead, a single
transaction references two past transactions. This referencing of
transactions is seen as an attestation: with your transaction you
attest directly that two transactions, and indirectly that a
subsection of the Tangle are valid and confirm to the protocols
rules.
22. Green blocks transactions on which consensus was achieved
red blocks transactions where we are still uncertain on their full acceptance
grey blocks tips (unconfirmed transactions)
23.
24. Basically, instead of a smaller subset of the network being
responsible for the overall consensus (miners / stakers), the entire
network of active participants (i.e. devices making transactions),
are directly involved in the approval of transactions. As such,
consensus in IOTA is no longer decoupled from the transaction
making process: it’s an intrinsic part of it, and it’s what enables
IOTA to scale without any transaction fees.
27. It's a 3 step process to make a transaction
Step 1: Signing - You sign the transaction inputs with your private
“keys” (not “key”)
Step 2: Tip Selection - MCMC (Markov chain Monte Carlo) is used
to randomly select two tips (i.e. unconfirmed transactions), which
will be referenced by your transaction (branchTransaction and
trunkTransaction)
Step 3: Proof of Work - In order to have your transaction accepted
by the network, you need to do some Proof of Work — similar to
Hashcash (spam and sybil-resistance)
28. Once you’ve done that, your
transaction will be broadcast to the
network. Someone else will come along,
choose your transaction in the tip
selection process and validate it. And
just like that, your transaction is
confirmed
29. It's quite easy to determine the confirmation level of your
transaction: it executes the MCMC algorithm N times, the
probability of your transaction being accepted is therefore M of N
(M being the number of times you land on a tip that has a direct
path to your transaction).
As a merchant, in IOTA you have complete freedom to decide with
what probability you will start accepting transactions. If you are
happy with 51% probability, you execute MCMC 100 times, and if
51 times or more there is a path, you accept the transaction and
exchange goods. For high value transaction you can increase this
threshold to 99 or even 100.
30. Full node vs Light node
A full node stores the whole
Tangle, it needs neighbours to
broadcast transactions to and
you need a static IP address or
any other static address so that
your neighbours can broadcast
transactions to you.
As a light node you do not
store the Tangle and you don't
need any neighbours.
You just need to select a host
(e.g.
https://node.tangle.works:443)
which is a full node itself. This
host provides your wallet with
all the necessary information to
make transaction.
31. How does IOTA prevent double
spending?In the tangle, transactions are atomic.
When a full node is asked to provide tips to a light node to create a
transaction, the full node will walk backwards along the edges of
the DAG to the genesis transaction and check if there are any
conflicting transactions along the way. If there is then that tip is
discarded. If there isn't then the tip is considered valid.
An attacker would have to outpace the input flow of new
transactions.
32. How does IOTA prevent double spending?
So full nodes are constantly being asked to provide branch and
trunk tips to light nodes for bundling purposes and will only select
tips free of conflict. The attacker will try and do the same with his
double-spend and has to find a way to overwhelm the entire
network's influx.
There is no global consistency in the tangle. There is only
eventual consistency.
Stuck transactions are called orphans. They can be grouped
together in subtangles.
33. Every node has to approve two transactions in Tangle before
making its own transaction. Some other node will then approve
your transaction to validate it. This gives each transaction a weight,
which later helps in validation, in case there is a double spending
problem.
34. Brief
Assume there are two conflicting transactions Tx1 and Tx2
recorded in the Tangle ledger. The cumulative weight of these
transactions will decide which one gets to stay. If Tx1 has more
cumulative weight than Tx2, it will get "approved" and Tx2 will
become stagnant and ultimately perish.
35. Concern
There is a chance that spammers try to rig the system by working
on their own parasitic mini-tangle networks for approving
transactions. In theory, at some point, the weight of this rigged
transaction network will stagnate and other genuine transactions
will take over.
36. Can merchants handle the double
spending problem?
Merchants will have more control over what they can allow and
how many transactions they want to handle. They get more power
in deciding the number or weight of transactions that they are
ready to allow, and consider "approved". As everything in IOTA
works on probability, nothing is 100% "confirmed" or "approved".
Each merchant decides their own threshold and conflicting
transactions get sorted by cumulative weight.
37. To make it possible for the network to grow
and protect it against certain attacks, IOTA
currently relies on a coordinator. The
coordinator checkpoints valid transactions,
which are then validated by the entire
network. The coordinator is being run by the
IOTA Foundation in a multi-signature. The
coordinator cannot go rogue, as he is being
checked and validated by the entire
network.
46. Live: 3-4
In theory infinite
TPS Live: 60
All time high: 4000
Not supported yet Smart Contracts Supported in C++ language
Directed Acyclic Graph Structure Blockchain
Proof of Work Consensus Delegated Proof of Stake
Every node mines 2 transactions Mining 21 active miners selected by voting
200 standby miners
$1.2 B Market Cap $5.8 B
Data transactions are free
Value transactions happen in IOTA
Dev Cost EOS need to be staked for RAM &
Bandwidth
Decentralized storage, oracles, currency
exchange
Key Features Permission based dApp Platform
Coordinator Concern Compromised decentralization
47. EOS doesn’t really compete with IOTA.
EOS is a dapps platform, whereas IOTA focuses more on other
functionality, such as decentralized storage, oracles, currency
exchange, cloud computing. There is not much dapp functionality
yet on IOTA. However, this might come soon with Qubic.