Skip to content

Instantly share code, notes, and snippets.

@technoglot
Last active May 9, 2019 19:55
Show Gist options
  • Save technoglot/1167c5ec697d7f5042f469164413da43 to your computer and use it in GitHub Desktop.
Save technoglot/1167c5ec697d7f5042f469164413da43 to your computer and use it in GitHub Desktop.
Truffle Webinar. Webinar Hosts: Kevin McGuire & Ben Burns.

Introduction to Web 3.0

  • Web 1.0: was static in nature and pretty much read-only. Consisted mostly of static web pages or just plain HTML. Websites were not user-friendly, dynamic or interactive.
  • Web 2.0: an upgraded version of Web 1.0 that allows for read and write operations. Here interactivity was introduced into websites for the first time, mainly through JavaScript. Websites were made to be more appealing through the use of CSS. Web 2.0 brought more centralization with it, however.
  • Web 3.0: will introduce a new paradigm to the internet as we now know it. It will be unmediated, uncensored and always available. It will be decentralized in nature and have the read write capabilities of Web 2.0.

Why is Web 3.0 relevant for enterprise?

  • New business models will be born out of it
  • Reduced cost of trust
  • Improved efficiency
  • Future-proofing business

Examples

  • JPM Coin
  • Quorum
  • WWF - supply chain for fish, more sustainable fishing practice

What is Ethereum?

World's first programmable blockchain that has zero-downtime and zero-censorship. Currently Ethereum is the blockchain with the greatest amount of developers, an estimate of 300k thus far.

Enterprise Ethereum

Supports the 3P's model:

  1. Privacy
  2. Permissioning
  3. Performance

Enterprise Ethereum implements business use cases and applications.

Quorum is an example of such a blockchain, it is a fork of the Ethereum blockchain and it supports private transactions as opposed to the Ethereum Mainnet.

Public vs Enterprise Ethereum

Public Ethereum blockchain works with the Proof of Work consensus algorithm but will be transitioning to Proof of Stake in the future. The validators of transactions are the general public, no one can be restricted from accessing the blockchain and the amount of transactions per second are between 15 and 20 transactions. All transactions on mainnet are public or pseudonymous.

Enterprise Ethereum on the other hand, allows you to customize the consensus algorithm of your application. It also restrict access because of it's permissioned nature, thus only authorized users can access the application. Enterprise Ethereum has a much higher throughput than the mainnet, supporting more than 400 transactions per second. All transactions on Enterprise Ethereum are private and thus hidden from the general public. Only those authorized will be able to see transactions.

Hybrid

A hybrid model also exists, which combines both public and Enterprise Ethereum.

Decision tree - http://www3.weforum.org/docs/48423_Whether_Blockchain_WP.pdf

Enterprise Ethereum Architecture Stack

Enterprise Ethereum Architecture Stack

Blockchain as a Service (BaaS) providers

  1. Azure Blockchain
  2. Kaleido
  3. Amazon Web Services

Truffle Suite

Truffle Suite is currently increasing support to more blockchains. The Truffle Suite is best defined as a development environment and testing framework for Ethereum which is part of the IMPAKT stack. It is also 100% FOSS(Free Open-Source Software).

The Truffle Suite consists of three tools, namely:

  1. Truffle
  2. Ganache
  3. Drizzle

Truffle

Truffle is a CLI tool written in JavaScript and Node.js and is currently at version 5.0. Truffle allows developers to build, compile, migrate and test their smart contracts and decentralized applications in a seamless manner.

Truffle boxes are boilerplate code available and are both supported by the Truffle team itself but also provided by the community of developers. To unbox a Truffle box you run the command truffle unbox .

Ganache

Ganache is a tool for simulating a blockchain on your computer. Such blockchain is used for testing purposes only, thus it is not for production. Ganache comes in two flavors: GUI and CLI.

Drizzle

Drizzle is a UI/Component library for making user interfaces for decentralized apps. It is build on top of React.js which is the preferred library when developing dapps.

Next Steps

Check out the IMPAKT(Infura, MetaMask, PegaSys, Alethio, Kaleido, Truffle) Stack and the Enterprise Ethereum Alliance(EEA)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment