Blockchain, kontrakty SmartContract i aplikacje rozproszone 1000-2M18BC
Zajęcia pozwalają zrozumieć na praktycznych przykładach, jak działa programowalny blockchain oraz jak tworzyć kontrakty SmartContract. Zajęcia pozwalają też zdobyć umiejętność pisania bezpiecznych aplikacji rozproszonych w oparciu o blockchain, rozproszone systemy plików i technologie web3js.
1. Podstawowy technologii łańcucha bloków (ang. blockchain): konsensus w sieciach peer-to-peer oparty na dowodach pracy (ang. Proofs of Work), wspólnoty górnicze (ang. mining pools), analiza bezpieczeństwa technologii łańcucha bloków, alternatywne metody uzyskiwania konsensusu (3)
2. Tworzenie smart contractów (5)
3. Wybrane zagadanienia związane z tworzeniem kontraktów - bezpieczeństwo, koszt (2)
4. Rozproszone systemy plików (1)
5. Tworzenie aplikacji rozproszonych z użyciem blockchaina i rozproszonych systemów plików (4)
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Założenia (lista przedmiotów)
Założenia (opisowo)
Efekty kształcenia
Wiedza.
Rozumie:
1. podstawowe algorytmy związane z blockchainem
2. pojęcia związane z bezpieczeństwem rozwiązań opartych o blockchain
3. pojęcia związane z kosztem i skalowalnością rozwiązań opartych o blockchain
4. działanie rozproszonych systemów plików
5. architekturę aplikacji rozproszonych
Umiejętności.
Potrafi tworzyć:
1. Kontrakty SmartContract
2. Tokeny
3. Aplikacje rozproszone
Kompetencje:
1. Rozumie zagadnienia związane z bezpieczeństwem
Kryteria oceniania
Prace domowe (x4), które dają po 10 pkt i projekt zaliczeniowy za 60pkt. Kurs wymaga 51 punktów do zaliczenia.
Literatura
Dokumentacja Ethereum: http://www.ethdocs.org/en/latest/
Dokumentacja Solidity: https://solidity.readthedocs.io/en/develop/
Dokumentacja Web3js: https://web3js.readthedocs.io/en/1.0/
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: