Praktyczne wykorzystanie blockchain na przykładzie Ethereum
Czas trwania szkolenia:3 dni (24h)
Kod kursu:ETHER
Poziom zaawansowania:
O szkoleniu Praktyczne wykorzystanie blockchain na przykładzie Ethereum
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
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
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
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)
- Dowód uprawnień (proof of authority, PoA), dowód tożsamości (proof of identity, PoI)
- Inne techniki zatwierdzania bloków
- 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
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
- Wybór algorytmu konsensusu
- Blok genesis, konfiguracja i uruchomienie prywatnego łańcucha bloków w Ethereum
- Typy kont w Ethereum, tworzenie kont
- Uruchomienie węzła, komunikacja za pomocą IPC, RPC i WebSocket
- Komunikacja pomiędzy węzłami
- Proces tworzenia 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
- Uruchamianie blockchain dla zastosowań prywatnych i publiczno-prywatnych
Kontrakty inteligentne (smart contracts)
- Podstawy działania i tworzenia kontraktów
- Maszyna wirtualna Ethereum
- Język Solidity
- Typowe kontrakty w sieciach blockchain
- Działanie przykładowych kontraktów: token, trwały nośnik, token niewymienialny (non-fungible token, NFT)
- 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 i rozproszona komunikacja
- Możliwe kierunki rozwoju blockchain