An introductory look at various Blockchain Technologies and examples. In this slide I explain about basics of Etherium and types of Blockchain technology currently present and some known public projects/examples which use Blockchain.
3. Blockchain Introduction
Basics to understand Blockchain
■ Public Key Cryptography. Alice has a public key and private key. She can use her private key
to create a digital signature, and Bob can use Alice’s public key to verify that a signature is
really from Alice’s private key, i.e., really from Alice.When you create an Ethereum or
Bitcoin wallet the long ‘0xdf…5f’ address is a public key and the private key is stored
somewhere. A Bitcoin wallet service like Coinbase stores your wallet’s complementary
private key for you, or you can store it yourself. If you lose your private key for a wallet with
real funds you’ll lose all your funds forever, so it’s good to back up your keys.
■ Peer-to-Peer Networking. Like BitTorrent, all Ethereum nodes are peers in a distributed
network, there’s no centralized server.
■ [In the future, there’ll be hybrid semi-centralized services for Ethereum as a convenience to
users and developers, more on that later.]
■ Smart Contracts.
4. Blockchain Overview
Whenever a transaction happens between A &
B, an encrypted record of the transaction is sent
out to all other nodes in the Blockchain
network.The other nodes verify the transaction
by performing complex cryptographic
calculations on the data in the record, and
notify one another each time a new “block” of
transactions is confirmed as legitimate .When a
majority of the nodes agree that a block passes
muster, they all add it to the ledger and use the
updated version as a cryptographic basis for
encrypting and verifying future transactions.
6. Public vs Private Blockchain
■ – Public blockchains (unpermissioned): a public blockchain is a blockchain that anyone in the world can read, anyone in the
world can send transactions to and expect to see them included if they are valid, and anyone in the world can participate in
the consensus process – the process for determining what blocks get added to the chain and what the current state is. As a
substitute for centralized or quasi-centralized trust, public blockchains are secured by cryptoeconomics – the combination
of economic incentives and cryptographic verification using mechanisms such as proof of work or proof of stake, following a
general principle that the degree to which someone can have an influence in the consensus process is proportional to the
quantity of economic resources that they can bring to bear.These blockchains are generally considered to be “fully
decentralized”.
■ – Consortium blockchains: a consortium blockchain is a blockchain where the consensus process is controlled by a pre-
selected set of nodes; for example, one might imagine a consortium of 15 financial institutions, each of which operates a
node and of which 10 must sign every block in order for the block to be valid.The right to read the blockchain may be public,
or restricted to the participants, and there are also hybrid routes such as the root hashes of the blocks being public together
with an API that allows members of the public to make a limited number of queries and get back cryptographic proofs of
some parts of the blockchain state.These blockchains may be considered “partially decentralized”.
■ – Fully private blockchains (permissioned) : a fully private blockchain is a blockchain where write permissions are kept
centralized to one organization. Read permissions may be public or restricted to an arbitrary extent. Likely applications
include database management, auditing, etc internal to a single company, and so public readability may not be necessary in
many cases at all, though in other cases public auditability is desired.
9. Private & Public keys
■ approach for a digital token.We create an obfuscated smart
contract which contains a private key, and accepts instructions
encrypted with the corresponding public key.The contract stores
account balances in storage encrypted, and if the contract wants to
read the storage it decrypts it internally, and if the contract wants
to write to storage it encrypts the desired result before writing it. If
someone wants to read a balance of their account, then they
encode that request as a transaction, and simulate it on their own
machine; the obfuscated smart contract code will check the
signature on the transaction to see if that user is entitled to read
the balance, and if they are entitled to read the balance it will
return the decrypted balance; otherwise the code will return an
error, and the user has no way of extracting the information.
12. Ethereum
■ The project was crowdfunded during August 2014 by fans all around the world. It is developed by the Ethereum Foundation, a Swiss
nonprofit
■ Ethereum has at its core a way to apply arbitrary rules for :
• Ownership
• transaction formats and
• state transition functions
taking both the state of a blockchain and a transaction for that chain, and then outputting a new state as its result. It does this by way of
an internal scripting language that is aware of a system’s state while beingTuring-complete, which means it can encode any computation
that may be performed by the system.
■ The state is made of objects called accounts, which have a 20-byte address and state transitions that exist between accounts.Accounts
have four fields: a nonce, so each transaction is processed only once; a balance of ether, or the internal numbers used to pay fees; a
contract code that may be empty; and storage, which may also be empty.
■ There are two kinds of Ethereum accounts: externally owned and contract accounts.
– Externally owned accounts are controlled by private keys and contain no code. Sending messages from an externally owned account is
done by creating and signing a transaction.
– Contract accounts are controlled by their contract code. Every time the contract account receives a message, its code activates, allowing
it to read and write to internal storage, send other messages or create contracts in turn.
– must be understood that contract here does not mean a legal arrangement: It is instead an agent inside the framework that executes
code when it is stimulated by a message or transaction. It also has control over its own ether balance as well as other internal variables.
■ Code inside of contracts is written in Ethereum virtual machine (EVM) code, a series of bytes each representing an operation. It is much
like assembly code in concept. Serpent is a higher-level language that compiles to EVM
■ The Ethereum Wallet is a gateway to decentralized applications on the Ethereum blockchain. It allows you to hold and secure ETHER and
other crypto-assets built on Ethereum, as well as write, deploy and use smart contracts.
13. Blockchain/Ethereum key terms
■ Blockchain. Like a global ledger or simple database of all transactions, the entire history of all transactions on the network.
■ Ethereum Virtual Machine. So you can write more powerful programs than on top of Bitcoin. It refers to the blockchain, what
executes smart contracts, everything.
■ Node. Using this to mean you can run a node and through it read and write to the Ethereum blockchain, i.e., use the EthereumVirtual
Machine. A full node has to download the entire blockchain. Light nodes are possible but in the works.
■ Miner. A node on the network that mines, i.e., works to process blocks on the blockchain.You can see a partial list of live Ethereum
miners here: stats.ethdev.com.
■ Proof ofWork. Miners compete to do some math problem.The first one to solve the problem (the next block on the Blockchain) wins
a reward: some ether. Every node then updates to that new block. Every miner wants to win the next new block so are incentivized to
keep up to date and have the one true blockchain everybody else has, so the network always achieves consensus. [Note: Ethereum is
planning to move to a Proof of Stake system without miners eventually, but that’s beyond noob scope.]
■ – Ether. Or ETH for short. It’s a real digital currency you can buy and use! Here’s a chart from one of several exchanges for it. On July
21, 2016, 1 ETH is worth about 12$ in USD.
■ – Gas. Running and storing things on Ethereum costs small amounts of ether. Keeps things efficient.
■ – DApp. Decentralized App, what applications using smart contracts are called in the Ethereum community.The goal of a DApp is
(well, should be) to have a nice UI to your smart contracts plus any extra niceties like IPFS (a neat way to store and serve stuff in a
decentralized network, not made by Ethereum but a kindred spirit).While DApps can be run from a central server if that server can
talk to an Ethereum node, they can also be run locally on top of any Ethereum node peer. [Take a minute: unlike normal webapps,
DApps may not be served from a server.They may use the blockchain to submit transactions and retrieve data (important data!)
rather than a central database. Instead of a typical user login system, users may be represented by a wallet addresses and keep any
user data local. Many things can be architected differently from the current web.]
14. Ethereum applications
■ Ethereum has been used as a platform for decentralized applications, decentralized autonomous organizations and smart contracts.The scope of
applications include projects related to finance, the internet-of-things, identity management, farm to table produce, electricity sourcing and
pricing, and sports betting.Decentralized autonomous organizations may enable a wide range of possible business models that were previously
impossible or too costly to run.
■ Notable Ethereum applications include:
– Augur decentralized, distributed prediction market software.
– ConsenSys, a blockchain startup focused on Ethereum technology is developing both enterprise software and DappsThe DAO with the objective
to "provide a new decentralized business model for organizing both commercial and non-profit enterprises".The DAO was funded with Ether.
– Backfeed, socioeconomic platform
– Ethcore, an Ethereum-based private venture focusing on light clients and Internet ofThings (IoT).
– FreeMyVunk, a gaming value platform.
–The Rudimental, an equity crowdfunding portal for arts and media.
–TransActive Grid
– Slock.It, a system for building smart locks with Ethereum.
– Etheropt, a decentralized options exchange.
– Digix A value token, called DigixDAO has also been created and the token began trading on exchanges on 28 April 2016.
– Ujo Music : Imogen Heap used the technology with her single "Tiny Human".
15. Ethereum enterprise adoption
■ Ethereum is also being either tested or implemented by enterprise software companies for
various applications.
– Deloitte and ConsenSys announced plans in 2016 to create a digital bank called Project
ConsenSys.
– R3 Project, which connects 11 banks to distributed ledger using a private Ethereum
blockchain running on Microsoft Azure.
– IBM ADEPT, an IoT system using Ethereum for smart contracts support.
– MicrosoftVisual Studio is making the Ethereum Solidity language available to application
developers.
– Ethereum Blockchain As a Service (EBaaS) on Microsoft Azure, which provides enterprise
clients and developers with a cloud-based blockchain developer environment.
– Innovate UK provided 248,000GBP in funding toTramonex to develop cross border
payments prototype using Ethereum.
17. Smart Contract
Smart contracts are computer protocols that
facilitate, verify, or enforce the negotiation or
performance of a contract, or that make a
contractual clause unnecessary.
Smart contracts usually also have a user interface
and often emulate the logic of contractual clauses.
19. Hyperledger
Linux Foundation Project
■ Feb 16, 2016 - IBM has open sourced a significant chunk of the blockchain code it has
been working on, putting its weight behind the Linux Foundation and its Hyperledger
project.
■ Big Blue has dumped the Apache 2.0-licensed source on GitHub, providing a limited
but functional dev environment to build on.The IT giant has pledged to maintain the
code as others build on top of it, including big-name Hyperledger partners that include
Intel, Fujitsu, Cisco, JP Morgan,Accenture and others.
■ Key elements in the code dump are a "consensus algorithm" which is vital for proper
functioning of a decentralized system, and a contract template that helps people code
agreements into the system in Java.
20. Hyperledger
■ Hyperledger’s current goals are to combine three projects into practical blockchain
applications:
■ • Rippled, a public distributed ledger written in C++ that handles cross-currency payments
using order books
■ • IBM’s Open Blockchain, a low level fabric that implements smart contracts, digital assets,
record repositories, consensus oriented networks, and cryptographic security
■ • Digital Asset’s Hyperledger, which is a ready to deploy blockchain server with a client API
currently intended for use by financial services enterprises. It works by using an addition-
only log of transactions that are designed to be replicated across multiple separate
organizations all without a nexus of control. (The parent company, Digital Asset Holdings,
lent the Hyperledger trademark name to the open source project as part of its
contribution.)
22. Blockchain in OSI Stack
■ Blockchain is at the application
Level
■ The underlying layers for
communication remain the same –
exTelco network
23. Blockchain Challenges
- Security Holes
■ A blockchain-based smart contract is visible to all users of said blockchain. However, this
leads to a situation where bugs, including security holes, are visible to all but may not be
able to be quickly fixed. Such an attack, difficult to fix quickly, was successfully executed on
The DAO in June 2016, draining US$50 million in Ether while developers attempted to
come to a solution that would gain consensus.
■ The DAO is a digital decentralized autonomous organization and a form of investor-
directed venture capital fund created in May 2016.
■ There may be multiple security holes:
• At the node or Dapp level : the code may be corrupted or hacked, spoofing etc
•The private keys may be hacked, or corrupted preventing the user to access the blockchain
•The miners may be corrupted or hacked too.The blockchain is supposed to be self-healing
based but if >50% of the miners are attacked, the service may come down
24. Scalability & Performance
■ With millions/billions of nodes (IoT, money transfers etc), the blockchainneeds to be highly scalable
■ Either processing & storage capacity of the miners
■ Or number of miners
■ Scalability of the databases storing the keys (public and private keys)
■ Scalability of underlying networks to carry the traffic
■ The latency between the node and the blockchain, and between the miners needs to be very low
■ It would be good if the node was able to connect to the closest miner at a given time
■ The node needs to be able to access the blockchain anytime anywhere:
■ Connectivity requirement
■ Availability of the blockchain itself in terms of capacity to process the request
25. Potential feature gaps
■ No Notification mechanism
■ No Localization mechanism of the closest miner (latency issue)
■ No Localization of the stored information (regulation issue)
■ No subscribe mechanism
■ No broadcast mechanism
26. Management
■ Management system to upload/update/configure the client devices app
■ Management of the different nodes, ?NFV Management forVM
■ Management of the miners , configuration etc
■ Management of the storage/databases, cleaning old records, old keys never used etc??
■ Backup
■ Many ‘cloud management’ functions …