Not Every Application Can Afford To Live On Distributed LedgerssteemCreated with Sketch.

in #cryptocurrency6 years ago (edited)


image source

Storing data in a distributed ledger (DL) is hundreds to thousands of times more expensive than storing data the classical way consisting of the main server and some backup equipment.

Whoever needs to pay for the extra cost will only do this if the benefits of the distributed ledger, e.g. immutability and censorship resistance, and atomic integration with money, make it worthwhile.

When I discovered Bitcoin and other cryptocurrencies I felt like the whole world was up for re-invention. I believe it is that feeling that attracts both engineers and investors alike.

But looking into it more closely exposes some limits for running applications or storing data in the DL.

Simple Note Taker Dapp

For example, assume we want to implement a very simple note taker that stores a 255 character headline and a 512-character description field together with the minimal set of meta-parameters such as the creation and modification date and some owner and access flags.

What would our reality be if we implemented this app on EOS and on IOTA?

Running On EOS

EOS offers free transactions and a lot of unused capacity on the chain making for instant transactions. However, in order to store data, the dApp provider needs to stake for bandwidth and buy the RAM necessary to store the data.

You need about 1kbyte per note for which the RAM price is currently $2.77. So if your dApp needs to keep 100k notes in RAM you have to purchase RAM for $277,000. When you decommission your dApp and sell the RAM you will get 96% back. Therefore the cost is 4% ($ 11,080) plus the interest on the staked capital. Say this is 2% (or $ 5,540) per year.

Given this example is a very simple dApp it becomes obvious that (on-chain) storage of applications and data is only viable for a particular breed of applications.

Afterall, you could also store your notes, encrypted, on your iPhone for free as long as you trust Apple to be around in the future.

The above calculation turns positive only if the dApp developer is sponsored by the worker proposal fund which is backed with newly minted EOS (i.e. inflation). So for active or stand-by block producer or recipients of worker proposal funds larger applications become possible.

Running On IOTA

IOTA does not offer smart contracts yet. Storing data on the tangle is essentially for free apart from the computational work (PoW) that is required to attach the new transactions to he tangle.

However, the people who run IOTA full nodes, are not getting paid for their service to download, store, and broadcast the transactions. In the last two weeks, the network has been running at between 5 and 20 transactions per second (TPS). In this time frame, the database (tangle) has grown about 9 GB. In addition, prominent full nodes need to stem around 5 GB inbound and 10-20 GB outbound traffic daily. IOTA is designed for hundreds of thousands of TPS which means that full node operators will have to either provide significant storage or else snapshot (i.e. purge) the database frequently and/or selectively.

In my understanding, this means that the data will not be available in the public tangle for very long.

Resorting to Layer-Two

Given that not every application needs the same degree of security as a cryptocurrency, resorting to layer-two looks like an interesting route. Most transaction would thus be carried out on a layer above the basic DL and reconciled only as needed from time to time.

Storing Data on IPFS

To escape the above price or data availability problems, we could store the data on IPFS and then just store the hashes on a permanent DL.

This is a valid setup for applications that want to ensure that no tampered data is used. However, while the hash is secured in the blockchain there is no guarantee that the corresponding data set is still available on IPFS.

Summary

Given the above cost or storage limitations, it is clear that not all applications justify the overhead of running on a DL. Applications for which DLs may well be justified include products dealing with valuable assets:

  • wallets (kind of an empty but necessary app)
  • exchanges
  • insurance
  • asset registry (land, house, diamonds...)
  • supply chain
  • vital health data
Sort:  

Maybe we should just make dapps pay on demand by the user and leave the devs to dev! For instance have the daps hibernating in a snapshot until someone activated them with their real time ram purchase?

@mariusfebruary, I gave you an upvote on your post!

If you are interested in claiming free Byteballs ($10+), just for having a Steem account, please visit this post for instructions: https://steemit.com/steem/@berniesanders/claim-your-free-byteballs-today-usd10-in-free-coins-just-for-having-a-steem-account

@mariusfebruary You have received a 100% upvote from @qualitycentral because this post did not use any bidbots and you have not used bidbots in the last 30 days!

Upvoting this comment will help keep this service running.

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 62025.78
ETH 2417.09
USDT 1.00
SBD 2.49