Technical Introduction to EOS

Angelo Laub

30.05.2018

Today's sponsor:

www.slant.li

Decentralized Opinion Network on EOS

Disclaimer

I am not affiliated with Block.one

I'm just a developer who is interested in this technology

EOS is still under heavy development

I'm still learning myself

I own some EOS tokens

I want to build dApps on EOS

Who is a developer?

Who has developed on EOS already?

Who has developed on Ethereum?

Who has developed on other Blockchains?

Who is an entrepreneur?

Who wants to build on EOS?

EOS

The name of the EOS token

 

The name of the community-operated mainnet blockchain based on the EOS.IO Software!

EOS.IO

Software developed by Block.One

 

https://github.com/EOSIO/eos

 

Used by:

EOS Mainnet

WAX

…others

Ethereum EOS
Consensus PoW BFT-DPOS
TPS 15-30? 1000
VM EVM WebAssembly
Smart Contract language Solidity and others ATM: C++ only
Block time 15 seconds 500 ms
Transaction fees Yes No
Law paradigm Code Law
Arbitration No Yes (built-in)
Native token Ether -
Token standard ERC-20 eosio.token

BFT Delegated Proof of Stake

21 Block Producers

Any number of backup producers

On-Chain Voting based on stake

Producing BPs can quickly be switched

Optimized for low-latency

 

Probably not as censorship resistant as Ethereum

But system might still work well enough in practice

 

Mainnet Launch: 2nd of June

Consensus

Block time: 500ms

No transaction fees

No Gas

Rate limiting based on stake

At launch: 1000 TPS

Scaling via Sidechains and Multithreading

Speed & Scalability

Constitution

Ricardian contracts

Process for changing smart contract code

Easy upgrades and bug recovery

Human readable account names

Recovery from stolen keys

Delegating capacity

Merkle Proofs for Light Client Validation

Inter Blockchain Communication

 

Random Features

EOS Token

Currently an ERC-20 token

It will be an eosio.token token

Needs to be staked for access to blockchain resources

Token is not consumed

Can be unstaked when you're done

Block producer voting

Airdrops by dApps

250 ms average confirmation time

Faster than most PHP/MySQL Apps

Truly interactive user interfaces

Users need no EOS tokens

App needs to stake tokens

 

Multi-Index Database API

EOS.IO Storage based on IPFS

Additional query services by block producers

Distributed Applications

EOS.IO Application Stack

Development Toolchain

# Create directory
mkdir example
cd example

# Write smart contract
vi example.cpp

# Compile C++ code to WebAssembly:
eosiocpp -o example.wast example.cpp

# Generate ABI File:
eosiocpp -g example.abi example.cpp

# Deploy Smart Contract:
cleos set contract example ../example

Live Demo

Smart Contracts

Smart Contracts can be changed:

 

Fix bugs

Extend functionality

 

How can this possibly work?

Ricardian Contracts

Digital documents that define the terms and conditions of an interaction between two or more parties

Article 3 - Currency

{
“COINNAME”: “BUX”,
“INFLATION”: “5%”,
“INITIALISSUE”: “1,000,000,000”
“SYMBOL”: “$”
“DECIMALS”: “2”
}

The Community hereby creates a currency known 
as {COINNAME}, possession of which is evidence 
of a contribution to the community. The quantity 
of {COINNAME} shall increase no more than {INFLATION} 
per year after the first {INITIALISSUE} of {COINNAME} 
are distributed.

Arbitration

aka Dispute Resolution

Specially trained Human Arbitrators

Everyone can open an arbitration case

Enforcement of Ricardian Contracts

Enforcement of the EOS Constitution

Undo DAO Hack without Fork

BPs are bound by arbitration decisions

Notable dApps

Everipedia - Decentralized Wikipedia

Bancor - Decentralized exchange with automated market markers

EOSfinex - Decentralized exchange by Bitfinex

Chintai - Token leasing platform

ONO - Social Network

Frigg - Marketplace for 3D printing data

HireVibes - Decentralized Job Platform

Zimbra X - Enterprise email and collaboration platform

…tons more

Thank you!

 

Questions?

Get in touch:


Angelo Laub

hello@eosvienna.io

Twitter: @eosvienna

 

Technical Introduction to EOS

By Angelo Laub

Technical Introduction to EOS

EOS Vienna Meeting 30.05.2018

  • 1,158