Nikalexis Nikos - nikalexis@gmailNikalexis Nikos - [email protected] Concept Digital money...
Transcript of Nikalexis Nikos - nikalexis@gmailNikalexis Nikos - [email protected] Concept Digital money...
Nikalexis Nikos - [email protected]
Nikalexis Nikos - [email protected]
Blockchain
Nikalexis Nikos - [email protected]
Nikalexis Nikos - [email protected]
Nikalexis Nikos - [email protected]
Nikalexis Nikos - [email protected]
A --> B 35
Nikalexis Nikos - [email protected]
A --> B 35A --> B 35
Nikalexis Nikos - [email protected]
A --> B 35A --> B 35
A --> B 35
A --> B 35
A --> B 35
A --> B 35
A --> B 35
Nikalexis Nikos - [email protected]
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 - [email protected]
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 - [email protected]
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 - [email protected]
~10 minutes
Nikalexis Nikos - [email protected]
Nikalexis Nikos - [email protected]
Value proposition
Nikalexis Nikos - [email protected]
= +● 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 - [email protected]
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 - [email protected]
Smart contractsTrading example
Nikalexis Nikos - [email protected]
SELLERBUYER
Nikalexis Nikos - [email protected]
SELLERBUYER
Problems:Buyer could be a scammerSeller could be a scammer
Nikalexis Nikos - [email protected]
SELLERBUYER ESCROW
Nikalexis Nikos - [email protected]
SELLERBUYER ESCROW
Nikalexis Nikos - [email protected]
SELLERBUYER ESCROW
Problems:Escrow could be a scammerEscrow applies some fees
Nikalexis Nikos - [email protected]
SELLERBUYER
Nikalexis Nikos - [email protected]
BUYER SELLERSMART CONTRACT
Nikalexis Nikos - [email protected]
BUYER SELLERSMART CONTRACT
executes:
i_am_the_buyer( )executes:
i_am_the_seller( )
Nikalexis Nikos - [email protected]
BUYER SELLERSMART CONTRACT
Nikalexis Nikos - [email protected]
BUYER SELLERSMART CONTRACT
Nikalexis Nikos - [email protected]
BUYER SELLERSMART CONTRACT
Nikalexis Nikos - [email protected]
Smart contractsDNS example
Nikalexis Nikos - [email protected]
Acme Inc. DNSSMART
CONTRACT
executes:register(“acme.com”, “2 Years”, )
Nikalexis Nikos - [email protected]
Acme Inc. DNSSMART
CONTRACT
executes:register(“acme.com”, “2 Years”, )
executes:set_ns(“acme.com”, “1.2.3.4”)
Nikalexis Nikos - [email protected]
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 - [email protected]
Smart contractsBidding example
Nikalexis Nikos - [email protected]
Bidder #1
DNSSMART
CONTRACT
executes:register_bid(“acme.com”, )
Bidder #2executes:register_bid(“acme.com”, )
Nikalexis Nikos - [email protected]
Bidder #1
DNSSMART
CONTRACT
executes:register_bid(“acme.com”, )
Bidder #2executes:register_bid(“acme.com”, )
Bidder #3executes:register_bid(“acme.com”, )
Nikalexis Nikos - [email protected]
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 - [email protected]
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 - [email protected]
Solidity language
Nikalexis Nikos - [email protected]
pragma solidity ̂ 0.4.0;
contract SimpleStorage { uint storedData;
function set(uint x) { storedData = x; }
function get() constant returns (uint) { return storedData; }}
Nikalexis Nikos - [email protected]
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 - [email protected]
Tokens
Nikalexis Nikos - [email protected]
ether
Nikalexis Nikos - [email protected]
Commodities
ether
Domain names
IPv4/v6 ranges
Fiat currenciesStocks
Nikalexis Nikos - [email protected]
Commodities
ether
Domain names
IPv4/v6 ranges
Fiat currencies Voting tokens / DAOsStocks
Nikalexis Nikos - [email protected]
Commodities
ether
Domain names
IPv4/v6 ranges
Fiat currencies Voting tokens / DAOsStocks
Crowfunding /ICOs
Nikalexis Nikos - [email protected]
Community
Nikalexis Nikos - [email protected]
Ethereum Foundation
Nikalexis Nikos - [email protected]
Users / Developers
Nikalexis Nikos - [email protected]
EEA MEMBERS
Nikalexis Nikos - [email protected]
Thank you!Questions?