You are viewing...

Learning about Blockchain and Smart Contracts

Updated on March 12, 2018 at the 19th hour
Posted under:

DISCLAIMER: All views are considered my own and you should not draw any conclusions on associates.

Recently I've picked up blockchain and more Ethereum's smart contracts as I've had interest in the decentralized trust area. [Digression: I'm mining bitcore, so I have some vested interest in learning about what I am throwing myself into.] I've recently been talking with some friends about their idea for education and blockchain and found some interest in it, not enough to join it, but enough to stay interested that maybe some day I'll join them on it. 

Let's talk about some of the parts: Blockchain, Cryptocurrency, Smart Contracts

Blockchain

Blockchain really is an interesting way to store data using "crowdsourced" computational power. Who remembers Folding at Home? I know I do since I have a PS3, though the ps3 app has folded ;). It was a crowdsourced way to help study cancer by using the computational power of the PS3 while idle. Think of the blockchain as a series of blocks where they are chained using the previous block's cryptographic hash. Each of these blocks stores some data (wikipedia says timestamp and transaction data). Transaction data can store pretty much anything on the condition that you must pay some amount of coin/bits with respect to the size of the data. The block that you write to the chain will eventually get confirmed by "Miners." 

Miners are the outsourced computer that compute a math "challenge", sort of like a password, that the blockchain presents in order to "confirm" the block into the chain. Why should miners have to contribute to this I mean it costs money to do this right? The answer? Cryptocurrency.

Cryptocurrency

Miners are rewarded with a set of bits that constitutes currency into their wallets. The extrinsic value set on these bits is determined by demand much like stocks. Miners can send, receive, buy and sell these bits from other miners much like stock. 

You see where this is getting at? It is nuts how much the price of BTC has skyrocketed. People who know some about cryptocurrency or blockchain appear to write it off as some toy or even just another scam. It is quite elaborate scam I say. 

With Ethereum people can create tokens and award those for doing things rather than mining. This opens up the cryptocurrency to the idea of offering services using the token. My understanding of tokens is iffy still and I am still learning about it.

Crytocurrency is cool and all, but, so what, it is just money right? I'll agree with that notion, so how about those smart contracts? How do they play into this?

Smart Contracts

Imagine using the block chain as a storage mechanism. Apps are just bits right? Let's store those bits into the blockchain and provide a way to run them! That is, in a nutshell, what a smart contract is. The Ethereum Virtual Machine is what runs these apps so it lives! 

How do I create my own coin then? First, you will have to learn Solidity, which looks like it was influenced by Javascript and maybe Scala. The thing to think about is that a app/contract can create its own coin or coins using the constructs of Solidity then store them using the ethereum address of a user. Once the app is created, it can be written into the block chain by paying a cost, so the number of bits/lines must be kept to a minimum.

This means by creating a financial app it is basically open sourced since anyone can see the code! I'm sure some obfuscation is used.. or maybe not. The app is immutable, so your bugs are immutable!! ;) My belief is that you can self destruct these old app versions with the selfdestruct capability, so it is not all bad.

If you are more interested in the programming language, then you can learn Solidity in a guided way using CryptoZombies. I've been attempting this by blocking out hours of my week to do it. Solidity is interesting and maybe I'll write about it more in terms of a critque.

As you can see I'm still learning about these things, but I don't feel too stupid about the blockchain anymore. I can at least talk about it now unlike before where I understood it can a chain of data that I can contribute to with my computer to get currency 😂. Assuming I join my friends at what they are doing, then I'll write more about this.

You just read "Learning about Blockchain and Smart Contracts". Please share if you liked it!
You can read more recent posts here.