nikalexis nikos - nikalexis@gmailnikalexis nikos - nikalexis@gmail.com concept digital money...

Post on 13-Jan-2020

17 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Nikalexis Nikos - nikalexis@gmail.com

Nikalexis Nikos - nikalexis@gmail.com

Blockchain

Nikalexis Nikos - nikalexis@gmail.com

Nikalexis Nikos - nikalexis@gmail.com

Nikalexis Nikos - nikalexis@gmail.com

Nikalexis Nikos - nikalexis@gmail.com

A --> B 35

Nikalexis Nikos - nikalexis@gmail.com

A --> B 35A --> B 35

Nikalexis Nikos - nikalexis@gmail.com

A --> B 35A --> B 35

A --> B 35

A --> B 35

A --> B 35

A --> B 35

A --> B 35

Nikalexis Nikos - nikalexis@gmail.com

A --> B 35D --> E 42C --> F 78

NEXT BLOCK

Searching for a small hash...

NEXT BLOCK

Searching for a small hash...

A --> B 35D --> E 42

Nikalexis Nikos - nikalexis@gmail.com

A --> B 35D --> E 42C --> F 78

NEXT BLOCK

Solution found!

NEXT BLOCK

A --> B 35D --> E 42

Searching for a small hash...

Nikalexis Nikos - nikalexis@gmail.com

A --> B 35D --> E 42C --> F 78

NEXT BLOCK

A --> B 35D --> E 42C --> F 78

A --> B 35D --> E 42C --> F 78

A --> B 35D --> E 42C --> F 78

A --> B 35D --> E 42C --> F 78

A --> B 35D --> E 42C --> F 78

Abort searching

Solution found!

Nikalexis Nikos - nikalexis@gmail.com

~10 minutes

Nikalexis Nikos - nikalexis@gmail.com

Nikalexis Nikos - nikalexis@gmail.com

Value proposition

Nikalexis Nikos - nikalexis@gmail.com

= +● Optimizations

○ Fast transactions○ Upgradability

● Decentralized apps○ Programming language○ Smart contracts (API)

● Compute engine○ Storage / database○ Pay-as-you-go

● Ethereum foundation○ Users / devs community○ Constant development

Nikalexis Nikos - nikalexis@gmail.com

Concept Digital money Decentralized applications

Transaction Send from Alice to Bob Send from Alice to Bob - On 1/6/2017 - If Bod’s balance < 10

Average block time ~10 minutes ~14 seconds

Founder Unknown Vitalik Buterin and team

Release method Early mining Crowdfunding $ 18M + 12M in ether

Development Uncertain / miners driven Ethereum foundation

Release date January 2009 July 2015

Market capitalization (25/5/2017)

$ ~43 billion $ ~18 billion

Nikalexis Nikos - nikalexis@gmail.com

Smart contractsTrading example

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER

Problems:Buyer could be a scammerSeller could be a scammer

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER ESCROW

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER ESCROW

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER ESCROW

Problems:Escrow could be a scammerEscrow applies some fees

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER SMART CONTRACT

OK

Nikalexis Nikos - nikalexis@gmail.com

SELLERBUYER SMART CONTRACT

OK X

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

executes:

i_am_the_buyer( )executes:

i_am_the_seller( )

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

received()

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

received()

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

X

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

X

cancel()

Nikalexis Nikos - nikalexis@gmail.com

BUYER SELLERSMART CONTRACT

X

cancel()

Nikalexis Nikos - nikalexis@gmail.com

Smart contractsDNS example

Nikalexis Nikos - nikalexis@gmail.com

Acme Inc. DNSSMART

CONTRACT

Nikalexis Nikos - nikalexis@gmail.com

Acme Inc. DNSSMART

CONTRACT

executes:register(“acme.com”, “2 Years”, )

Nikalexis Nikos - nikalexis@gmail.com

Acme Inc. DNSSMART

CONTRACT

executes:register(“acme.com”, “2 Years”, )

executes:set_ns(“acme.com”, “1.2.3.4”)

Nikalexis Nikos - nikalexis@gmail.com

Acme Inc. DNSSMART

CONTRACT

executes:register(“acme.com”, “2 Years”, )

executes:set_ns(“acme.com”, “1.2.3.4”)

executes:extend(“acme.com”, “1 Year”, )

Nikalexis Nikos - nikalexis@gmail.com

Smart contractsBidding example

Nikalexis Nikos - nikalexis@gmail.com

Bidder #1

DNSSMART

CONTRACT

executes:register_bid(“acme.com”, )

Nikalexis Nikos - nikalexis@gmail.com

Bidder #1

DNSSMART

CONTRACT

executes:register_bid(“acme.com”, )

Bidder #2executes:register_bid(“acme.com”, )

Nikalexis Nikos - nikalexis@gmail.com

Bidder #1

DNSSMART

CONTRACT

executes:register_bid(“acme.com”, )

Bidder #2executes:register_bid(“acme.com”, )

Bidder #3executes:register_bid(“acme.com”, )

Nikalexis Nikos - nikalexis@gmail.com

executes after bidding end period:bid_ended( )

Bidder #1

DNSSMART

CONTRACT

Bidder #2

Winner!

executes after bidding end period:bid_ended( )

executes after bidding end period:bid_ended( )

Nikalexis Nikos - nikalexis@gmail.com

executes after bidding end period:bid_ended( )

Bidder #1

DNSSMART

CONTRACT

Bidder #2

Winner!

executes after bidding end period:bid_ended( )

executes after bidding end period:bid_ended( )

now can execute:set_ns(“acme.com”, “1.2.3.4”)

Nikalexis Nikos - nikalexis@gmail.com

Solidity language

Nikalexis Nikos - nikalexis@gmail.com

pragma solidity ̂ 0.4.0;

contract SimpleStorage { uint storedData;

function set(uint x) { storedData = x; }

function get() constant returns (uint) { return storedData; }}

Nikalexis Nikos - nikalexis@gmail.com

pragma solidity ̂ 0.4.0;

contract Coin { // The keyword "public" makes those variables // readable from outside. address public minter; mapping (address => uint) public balances;

// Events allow light clients to react on // changes efficiently. event Sent(address from, address to, uint amount);

// This is the constructor whose code is // run only when the contract is created. function Coin() { minter = msg.sender; }

function mint(address receiver, uint amount) { if (msg.sender != minter) return; balances[receiver] += amount; }

function send(address receiver, uint amount) { if (balances[msg.sender] < amount) return; balances[msg.sender] -= amount; balances[receiver] += amount; Sent(msg.sender, receiver, amount); }}

Nikalexis Nikos - nikalexis@gmail.com

Tokens

Nikalexis Nikos - nikalexis@gmail.com

ether

Nikalexis Nikos - nikalexis@gmail.com

ether

Fiat currencies

Nikalexis Nikos - nikalexis@gmail.com

Commodities

ether

Fiat currencies

Nikalexis Nikos - nikalexis@gmail.com

Commodities

ether

Fiat currenciesStocks

Nikalexis Nikos - nikalexis@gmail.com

Commodities

ether

Domain namesFiat currencies

Stocks

Nikalexis Nikos - nikalexis@gmail.com

Commodities

ether

Domain names

IPv4/v6 ranges

Fiat currenciesStocks

Nikalexis Nikos - nikalexis@gmail.com

Commodities

ether

Domain names

IPv4/v6 ranges

Fiat currencies Voting tokens / DAOsStocks

Nikalexis Nikos - nikalexis@gmail.com

Commodities

ether

Domain names

IPv4/v6 ranges

Fiat currencies Voting tokens / DAOsStocks

Crowfunding /ICOs

Nikalexis Nikos - nikalexis@gmail.com

Community

Nikalexis Nikos - nikalexis@gmail.com

Ethereum Foundation

Nikalexis Nikos - nikalexis@gmail.com

Users / Developers

Nikalexis Nikos - nikalexis@gmail.com

EEA MEMBERS

Nikalexis Nikos - nikalexis@gmail.com

Thank you!Questions?

top related