Thursday, 13 October 2016

Learning Ethereum

My Learning Journey


I started learning about Ethereum recently after visiting a conference in London. I am using the blog to keep a record of what I am achieving. I in the 1990s worked a little with cryptography which is an old subject but the new applications are very interesting.

Ethereum, I think, could and probably will be very significant. I have been thinking about training and Ethereum, and I came across MIT offering a course entitled:  Fintech Certificate Course: Future Commerce. The training fee is 2600 dollars which I working out if I can afford that.

I also working through some Crptography points using a Dapps for Beginners page.

Points about what I am learning will be listed here. It helps me keep track of what I am learning. I am using this blog as a notepad in some respects.

I signed up for the Ethereum Form.

NOTES FROM DAPPS FOR BEGINNERS 



Public Key Cryptographically


We have two types of keys - pubic and private.

Public Key


  • Encrypt data by anyone.
  • Verify signed data (signed by a private key).


Private Key


  • Usable by a private owner to decrypt data.
  • Used to sign data which is then verified by a public key.

Crptographic Hash Function


This function takes data of any size and maps to data if fixed size.

  • Output may not reveal the input.
  • Small input variations produce large output changes.
  • Hash function is needed to calculate the hash.
  • Low probability two inputs will produce the same hash. 

Crypto Economic Technologies


Blockchain

The blockchain is a database connected to a decentralised consensus network. It is updated in blocks which are chained using hashes. It has all the current data (state) and historical data (transactional history). 

A private key signs transactions or requests a change of state.


Proof of Work

This is a task which requires the proof of work function to find an element of data which produces a hash which is supplied. A hash derived from arbitrary data and a second element of data is supplied, and the task is find the second element of data from the hash by iterating through all the combinations.


Ethereum Virtual Machine


The EVM reads and writes code and data; verifies signatures. It runs in a quasi-Turing manner. It runs code only when a message is verified by a digital signature.


The Decentralized Consensus Network and the Generalised Blockchain


Every peer under ethereum has the same copy of the blockchain and each one runs an EVM to main and alter the state of the blockchain. A new block requires all peers to undertake a PoW. Consensus is achieved by accepting the longest chain by distribution of a cryptographic token of value - which is called ether.

Development Environment


Three key software products -  Mist and Mix.

Mist


Dapp Browser with mining client.


Mix


IDE - build and debug contracts.


Programming Languages


Serpent & Solidity are the two important ones.


DApp


DApp: Front end (html) and a backend (database).

The front end uses bootstrap and CDNs and is like a normal website in this respect.


NOTES FROM - 101 Noob Into to Programming Smart Contracts on Ethereum


Link 


Solidity

Major programming language for writing smart contracts.

Solium


npm install -g solium


Truffle & Embark


These are two relevant frames for developing DApps.

$ npm install -g embark-framework grunt-cli


















 



 

  



Fintech certificate course: Future Commerce

No comments:

Post a Comment