The road to decentralization: a treatise on the state of decentralized computing. PART 1steemCreated with Sketch.

in #dconnect5 years ago

Applications can now be created that are lightweight and interesting enough to compete with larger projects, thanks to trends in decentralized collaborative workspaces and the generalization of the principals of computation.

In 'the road to decentralization' we discuss what specifically makes this possible and how we align our development mindset with the thought processes that make decentralized computing work.

This is partly the result of the big push in 2013 towards cloud computing, apps suddenly had to be different, they no longer had to have a local database and a monolithic code structure, the new ideal model for software would have data originate from a cloud hosted database and file storage mechanism, and the application living separately in cloud containers that could spin up many copies and handle clients simultaneously.

The potential for this type of service had already existed before, but it became formalized and popular during that phase.

Alongside this came new decentralized models for software, the blockchain being the primary example of how simplistic decentralized ledgers and database-like indexing could be spread across hosts that are neither trusted, nor have any sensitive information about the clients they are providing with a database.

This is a triumph of software models that rely on encryption at their core, encryption allows us to accomplish two basic things:

SIGNATURES (private keys encrypt, public keys decrypt)

You can create an encrypted message that only you could have created, that anyone could read, this is called signing a message, or using a signature, since only the holder of the private information can produce a message that has been publicized (in blockchains this occurs on key/account creation)

ENCRYPTED MESSAGES (private keys decrypt, public keys encrypt)

In this case, you publicize a key that anybody can use to send you a private message. This is very useful for messaging and is often referred to as end-to-end encryption.

This is the key behind decentralization, the two common processes of encryption, signing and encrypting.

In blockchain technology, you can produce transaction requests that only you could have produced, that anybody can verify using signatures. The ‘nodes’ that you interact with can use that transaction request that only you can create as proof of your interaction with the decentralized program, that way nobody has to trust the node, it just relays information that can not be forged.

Relaying, verifying by consensus, and safely storing information that can not be forged is the key computational process behind blockchains, and I expect that it should be the key computational process behind all decentralized computing.

To be continued...

Please support original learning material and upvote this work.

Coin Marketplace

STEEM 0.32
TRX 0.11
JST 0.034
BTC 66654.57
ETH 3250.95
USDT 1.00
SBD 4.33