A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6)...

48
A new internet for decentralized apps A New Internet for Decentralized Apps ETC Summit 2017-11-13 Hong Kong Larry Salibra

Transcript of A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6)...

Page 1: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

A New Internet for Decentralized Apps

ETC Summit

2017-11-13 Hong Kong

Larry Salibra

Page 2: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

About Me

1. Core Developer, Blockstack: Blockstack Explorer (AngularJS) Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift)

2. Serial entrepreneur in South China:Mobile securities tradingCrowdsourced software testingRemote language learning

3. Founding member, Bitcoin Association of Hong Kongtwitter: @larrysalibra

Page 3: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Agenda

1. Problems with the internet

2. What is Blockstack?

3. How to build an Ethereum wallet in 3 lines of code

Page 4: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

What are the internet’s biggest problems?

Page 5: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

The internet didn’t turn out as we hoped

1. Honeypots and third party hacks

2. Tracking, data harvesting, and invasive ads

3. Cracked passwords and account compromises

4. Platform lock in for users and developers

5. Restrictions on platform data access

6. Power and profits go to the few

Page 6: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities
Page 7: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

The problem?

Page 8: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

The problem?Centralization!

Page 9: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Imagine

1. No data silos

2. No middlemen

3. No ads

4. No tracking

5. No passwords

6. No lock in

Page 10: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

We can do better

Page 11: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

We can do better

with decentralization

Page 12: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

How to decentralize?

Page 13: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Move apps & data to the edge of the network

How to decentralize?

Page 14: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Move apps & data to the edge of the network

Get rid of servers

How to decentralize?

Page 15: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

What is Blockstack?

Page 16: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Blockstack is a new internet for decentralized apps where you own your data and apps run locally without remote servers.

What is Blockstack?

Page 17: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities
Page 18: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Blockstack handles the complexity

{ Authentication

Storage

Identity

Naming

Blockchain

App AppApp

Page 19: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities
Page 20: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Blockstack makes building decentralized apps easy

Without Blockstack With Blockstack

Servers Serverless

Databases Personal storage APIs

Identity management to build Identity built-in

Payment systems to build Payments built-in

No encryption Encryption built-in

No data integrity Signatures built-in

Page 21: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Decentralized, serverless apps A decentralized payment network

A decentralized directory for names, public keys, and pointers to storage locations

Open protocols for identity and authentication

Page 22: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

1. Single Page JavaScript ApplicationsDecentralized, serverless apps 2. Bitcoin, Ethereum or Stacks A decentralized payment network

3. Blockstack Core A decentralized directory for names, public keys, and pointers to storage locations

4. Blockstack ID Open protocols for identity and authentication

Page 23: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Make an Ethereum wallet Blockstack app

in only 3 lines of code!

Page 24: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

What is an Ethereum wallet?

Page 25: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Public/Private key pair

What is an Ethereum wallet?

Page 26: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Public/Private key pair

Address (hash of public key)

What is an Ethereum wallet?

Page 27: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

What is an Ethereum wallet?

Page 28: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Public/Private key pair

What is an Ethereum wallet?

Page 29: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Public/Private key pair

Address (hash of public key)

What is an Ethereum wallet?

Page 30: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Crypto Wallet Challenges

1. On-boarding the user

2. Securely storing the private key

3. Backing up wallets

Page 31: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

MyEtherWallet

Page 32: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 33: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 34: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 35: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 36: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 37: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 38: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 39: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

How would this look on Blockstack?

Page 40: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 41: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 42: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Page 43: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Blockstack is a better experience for users

Page 44: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

Look Ma! Only 3 lines of code!

Page 45: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

Blockstack is easier for developers

Page 46: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

Wallet next steps

• Fork the code: https://github.com/larrysalibra/blockstack-ether-wallet

• Add support for multiple wallets per user • Deterministically derive wallets from app private key • Randomly generate each wallet & store encrypted private key in Gaia storage

• Add support for sending ether

Page 48: A New Internet for Decentralized Apps · Blockstack Browser (React/Redux/ES6) blockstack.js (ES6) Blockstack for macOS (Swift) 2. Serial entrepreneur in South China: Mobile securities

A new internet for decentralized apps

Thank you

Twitter: @larrysalibra

Email: [email protected]

Blog: www.larrysalibra.com

Docs blockstack.org

Chat chat.blockstack.org

Forum forum.blockstack.org

Meetup meetup.com/topics/blockstack

GitHub github.com/blockstack