Praktyczne wykorzystanie blockchain na przykładzie Ethereum
LICZBA DNI: 3 (24h)
KOD KURSU: ETHER
Weź udział w szkoleniu
Termin
Lokalizacja
Trener
Cena / os
7
czerwca
Zdalne,
Termin
7
czerwca
Lokalizacja
Zdalne,
Trener
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Osoby, które w praktyce chcą uruchomić i poznać zasady działania blockchain, jego wady i zalety
Programiści myślący o tworzeniu kontraktów
Administratorzy i wdrożeniowcy uruchamiający blockchain, konsultanci i architekci systemów transakcyjnych i rozproszonych
Ludzie biznesu z zacięciem technicznym szukający ciekawych zastosowań blockchain
WYMAGANIA
Od uczestników wymagana jest znajomość obsługi komputera, pracy z wierszem poleceń oraz znajomość podstawowych zasad programowania
ZALETY
Podczas warsztatów uczestnicy samodzielnie uruchomią własną instancję środowiska Ethereum, przygotują konfigurację węzłów i połączą je we wspólną sieć
Uczestnicy zrealizują różnorodne transakcje pomiędzy utworzonymi kontami oraz wejdą w interakcję z blockchain wykorzystując przeglądarkę internetową
Uczestnicy zaimplementują własne kontrakty inteligentne wykorzystując język Solidity, umieszczą je w blockchain i skorzystają z ich usług
Cele szkolenia
Poznanie zasad działania, możliwych zastosowań oraz zalet i wad baz danych typu blockchain na przykładzie Ethereum
Swobodne poruszanie się w terminologii związanej z projektami realizowanymi w oparciu o technologie blockchain
Nauka programowania w języku Solidity
Poznanie zasad działania oraz zastosowań kontraktów inteligentnych
Program
Architektury systemów transakcyjnych
- Transakcje w systemach scentralizowanych, zdecentralizowanych i rozproszonych
- Zapewnianie wiarygodności transakcji
- Czym jest blockchain?
Zasady działania blockchain
- Blockchain jako rozproszona baza danych
- Integralność, uwierzytelnienie, niezaprzeczalność i poufność a blockchain
- Funkcje skrótu, ich właściwości i zastosowania (SHA-256, SHA3, Keccak)
- Algorytmy asymetryczne oparte o krzywe eliptyczne
- Koncepcja i realizacja podpisu cyfrowego (algorytm ECDSA)
- Sieci P2P (peer to peer)
- Elementy systemu opartego o blockchain: przechowywanie danych, protokół komunikacyjny i algorytm konsensusu
- Adresy użytkowników i sposób ich tworzenia
- Transakcja w blockchain i jej elementy
- Proces zatwierdzania transakcji
- Bezpieczeństwo klucza prywatnego
- Tworzenie bloków i kopanie (mining)
- Dowód pracy (proof of work, PoW), dowód stawki (proof of stake, PoS) i inne techniki
- Blockchain jako rejestr transakcji, kryptowaluty
- Aplikacja jako element blockchain, kontrakty inteligentne
- Problem centralizacji mocy obliczeniowej, rozgałęzień
- Zmiany zasad działania sieci blockchain, miękki i twardy rozłam (soft fork, hard fork)
- Charakterystyka wybranych blockchain: Bitcoin, Litecoin, Dash, Ripple, projekty z rodziny Hyperledger i Ethereum
Ethereum i jego właściwości
- Architektura Ethereum
- Implementacje węzłów Ethereum, cechy węzła geth
- Budowa blockchain w Ethereum oraz wykorzystywane algorytmy, składowe transakcji
- Techniki przechowywania i wyszukiwania danych
- Blok genesis i uruchomienie prywatnego łańcucha bloków w Ethereum
- Typy kont w Ethereum, tworzenie kont
- Uruchomienie węzła, komunikacja za pomocą IPC i RPC
- Komunikacja pomiędzy węzłami
- Proces kopania (mining) bloków
- Zlecanie i zatwierdzanie transakcji
- Ether i gas jako paliwo dla transakcji w blockchain
- Praca w konsoli geth oraz z klientem graficznym
- Światowa sieć Ethereum i Ethereum Classic
Kontrakty inteligentne (smart contracts)
- Język Solidity
- Podstawy działania i tworzenia kontraktów
- Maszyna wirtualna Ethereum
- Działanie przykładowych kontraktów: współdzielony portfel, token, zdecentralizowana organizacja autonomiczna (democratic autonomous organization, DAO)
- Implementacja kontraktu dla tokenu
- Bezpieczeństwo kontraktów, przykładowe błędy implementacyjne w kontraktach
- Aplikacje rozproszone DApps
- Komunikacja z siecią blockchain poprzez przeglądarkę
Zastosowania i kierunki rozwoju blockchain
- Zalety i wady blockchain w kontekście jego zastosowań
- Ograniczenia i mity o blockchain: zużywane zasoby, brak pełnego zaufania, odpowiedzialność i szkodliwe działania użytkowników, identyfikacja i anonimowość
- Blockchain jako część rozproszonej sieci Internet: rozproszone systemy plików (Swarm) i rozproszona komunikacja (Whisper)
- Możliwe kierunki rozwoju blockchain
