What is A blockchain? B. RAMAMURTHY ©2019, ALL RIGHTS RESERVED

Slides:



Advertisements
Similar presentations
© 2016 consensys.net Intro to The Blockchain. © 2016 consensys.net.
Advertisements

Block Chain 101 May 2017.
When BPM meets Blockchain
CRYPTOCURRENCY Bitcoin,Ether & Beyond..
Introduction to Blockchain
Blockchain Infrastructure for e-Science
Raihana Ferdous, Vallipuram Muthukkumarasamy
Cryptocurrencies by.
Evaluation Forms for Blockchain- Based System ver. 1.0
Blockchain Introduction
Bitcoin - a distributed virtual currency system
Where Money and Technology Meet
KrypC Technologies Accelerated Blockchain Adoption.
Introduction to Hyperledger Fabric
Cryptocurrencies By Rui Sakurai and Shane Spears
Introduction to Blockchain & Ethereum
Blockchains and Cryptocurrencies: What Financial Planners Need to Know
The Cryptoeconomic Way
Blockchain beyond cryptocurrencies
Creating Crypto Community……!
Blockchain at UB B. Ramamurthy
Problem solving using Blockchain
Blockchain Adrian Zaragoza.
Zcash Mining – A Guide For Beginners. Zcash (also known as ZEC and seventeenth most valued cryptocurrency with market capitalization of $500 million)
What Is Blockchain Technology?. blockchain is a decentralized technology. A global network of computers uses blockchain technology to jointly manage the.
{ BLOCKCHAIN Technology. BSEtecBSEtec is a digital solution provider company which offers the best service with the implement of the latest technologies.
Blockchain Helpline Number
CRYPTOCURRENCY DEVELOPMENT COMPANY
Custom Blockchain Software Developer Developer Cryptocurrency.
Blockchain Development Services Company
Cryptocurrency Mobile Wallet Development Company
Ethereum Blockchain Development
Blockchain OVERVIEW B. Ramamurthy ©2018, all rights reserved
Rechtsanwältin – Germany Attorney at Law – New York
Breaking through with Blockchain
Blockchain and Cryptocurrencies
Getting Started with Ethereum Private Blockchain
Blockchain OVERVIEW B. Ramamurthy ©2018, all rights reserved
Bitcoin and Cryptocurrency
BLOCKCHAIN AND THE FUTURE OF DAM
The World’s first Public Chain
BLOCKCHAIN BASICS & LEGAL ISSUES
Which blockchain? The future at a crossroad
XinFin Blockchain for global Trade and Finance
Blockchain & Social Impact
Blockchain at UB B. Ramamurthy
Distributed Ledger Technology (DLT) and Blockchain
Blockchain Alexander Prenta 9/27/2018.
Which blockchain? The future at a crossroad
Blockchain Concepts RISK FORUM 2017 Hash function (e.g. SHA-256)
Hyperledger Fabric Composer Overview UW Blockchain Society, 10/29/2018
Swagatika (Jazz) Sarangi
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
OurSQL = MySQL + Blockchain
FST Network All Rights Reserved
Ethereum Virtual Machine
Analysing Vulnerabilities in Smart Contracts
— The Blockchain Innovation Hub
Introduction to blockchain
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Faculty Seminar Series Blockchain Technology
Blockchain Technology
Distributed Computers and Web Technologies (3-0-6)
We make your contracts work for you
Blockchain Tech Big Picture
Explore Txs, block, blockchain in Bitcoin
Blockchains Lecture 6.
Blockchain and IP Law: A Primer
Cryptocurrency and Blockchain Technology
Presentation transcript:

What is A blockchain? B. RAMAMURTHY ©2019, ALL RIGHTS RESERVED BINA@BUFFALO.EDU HTTP://WW.CSE.BUFFALO.EDU/FACULTY/BINA TEACHING PROFESSOR COMPUTER SCIENCE AND ENGINEERING DIRECTOR, BLOCKCHAIN THINKLAB PROGRAM DIRECTOR, DATA-INTENSIVE COMPUTING PROGRAM

Topics for today What is a blockchain? What are different types of blockchain? Blockchain node and network of nodes Ethereum stack ( You want to develop blockchain application): Here is where you start. Develop smart contract on web IDE Remix Plan your Lab1: Digital democracy – Digital balloting

Evolution of computing systems Personal computing systems

Decentralized Systems Let’s define decentralized systems. Is a type of distributed system. Then what is special about this system: it allows peer-to-peer transactions of digital assets among unknown participants. These participants operate beyond the boundaries of trust. Example: traditional trusted system: the university, you are all known participants. How did become known? Your credentials were verified and validated and you were admitted into the system. Participants can join and leave as they wish. Can you do that in an university system? You may but it is not common, or is not intended. Distributed system Decentralized System

What is a blockchain? What does it do? Blockchain helps implement a decentralized system. Blockchain is a Distributed immutable ledger (record) Infrastructure for transactions  block blockchain (what and how it is recorded) Protocol for the network (rules for operation and recording) What does it accomplish with these? It implements a trust layer enabling peer-to-peer operation of participants Shifts trust intermediation from major organizations to software methods Addresses gaps and issues with existing distributed systems Smart contracts (SC) SC is executable code on blockchain Addition of SC in Ethereum made the blockchain more useful You can go beyond cryptocurrency transfer What worked for crypto should work for code?

Beyond Bitcoin Hundreds of different digital currencies have emerged since the advent of the Bitcoin. Significant innovations such as smart contract has opened up broader applications for the Blockchain technology. Private and permissioned Blockchain allow for controlled access to the Blockchain enabling many business models.

Classes of Blockchain With the addition of code execution comes the serious consideration about the public access to the Blockchain. Hence the classification of public, private and permissioned Blockchain based on access limits. We have been watching the Bitcoin Blockchain continuously operational since its inception; all supported by its “public” participants. Thus Bitcoin is a fantastic example of a “public” Blockchain class.

Types of Blockchain TYPE2 : Currency + Business logic TYPE3 : Only Business Logic TYPE1: Only Cryptocurrency Smart contract Ethereum Virtual Machine (EVM) E.g. Bitcoin deals only with currency E.g. Hyperledger has only business logic. consortium of technology companies: Tools, services E.g. Ethereum has Ether coins Smart contract code execution framework

Public Blockchain Bitcoin Blockchain is a public Blockchain. Anybody can join and leave as they wish. Transactions, blocks and the Blockchain are publicly observable even though participants are anonymous. It is open source. You can create a new coin/digital currency by modifying the Bitcoin code. Wallet applications provide basic interface to transfer value through the Bitcoin Blockchain.

Private Blockchain Memebership is limited and fixed. Access to the Blockchain is limited to only to selected participants. For example, within an organization. This restriction helps in simplifying the normal operations such as block creation and consensus model.

Permissioned Blockchain Permissioned Blockchain is also called Consortium Blockchain. It is meant for a consortium of collaborating parties to transact on a Blockchain for ease of governance, provenance, accountability and may be autonomous operation using smart contract. For example, consortium of all automobile companies or healthcare organizations. It has the benefits of a public chain with allowing only users with “permission” collaborate and transact.

Ethereum blockchain We will work with Ethereum blockchain that introduced the concept of code execution on blockchain. It was designed around 2013 but became widely available in 2016. I started looking into it in 2016, seriously working on projects in 2017. Coursera courses were launched in 2017. Book blockchain in action in 2018-2019 (ongoing project)

So you want to develop BC applications? Lets do that. For any type of application development look at the stack. For web application -- web stack (LAMP, MEAN etc.) For enterprise application -- enterprise stack For mobile application -- mobile stack For BC application -- BC stack or Dapp stack Got the idea. This is enable you to gather the right team, technologies, and tools.

Bitcoin vs Ethereum Stack

Ethereum stack and node Note: Today during lecture we will look at smart contract design.

A network of nodes

Lets solve a problem: simple counter Problem statement: Counters are very versatile and useful device. It could be a part of a decentralized application. For example: population counter; birth and death entry. You cannot get any more decentralized than this. Step 1: Use case (Unified Modeling Language) diagram. Identify user and operations and supporting operations. Step 2: Using the use case and the problem statement as guidance, identify, user, digital assets and transactions. Step 3: Design the “contract” diagram (derivative of “class” diagram) Step 4: Implement the contract in a blockchain-specific language. In our case, we will use Solidity and Ethereum blockchain. Ethereum Metropolis—Constantinople to be exact. Step 5: Test it using a web-IDE call Remix.

Step 1: Use case diagram Use draw.io or starML or other tools to creat a similar one for your lab1. Can you do it for your documentation?

Step 2: Identify user, assets and transactions Users: Actors in any Dapp Digital or other assets: counter value (type depends on the value: if it is student score: 8-bit, it is world population 256-bit, yes BC works on a 256-bit integer processor.) Transactions: create, initialize (set), increment, decrement, get (to view)

Step 3: Obtain contract diagram

Step 4: Code it in Solidity pragma solidity >= 4.0 <6.0; // imagine a big integer counter that the whole world could share contract Counter { uint storedData; function initialize (uint x) public { storedData = x; } function get() view public returns (uint) { return storedData; function increment (uint n) public { storedData = storedData + n; return; function decrement (uint n) public { storedData = storedData - n; } }

Step 5: Test it in Remix IDE (old version)

Summary We learned an approach to design, implement and test a smart contract. This is just a start. This is to show an approach that you can use for all your labs in this course and others. There are many more elements to this, we will add throughout the semester. This is the base: make sure it is 100% strong, no cracks: that is, you understand it well.

Lab 1 Theme : Digital democracy Lets apply these concepts to Lab1. Lab 1: Digital democracy --representative democracy --direct democracy --deliberative democracy --Think about juries in court --stock holders voting on issues --For Information gathering -- Many blockchain have been build around this: Augur, Aragon, .. What others?