Zajęcia
Informacje o przebiegu zajęć

Laboratorium informatyczne




Data Opis
1 (2025-03-03) Idea "niezniszczalnego", idealneg rejestru zdarzeń.
  • Zagadnienia i materiały
    • Overview
    • Piotr Fulmański, Blockchain. Simple introduction series, Rozdział 1: The need (link)
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Idea rejestru/księgi i uzasadnienie potrzeby jego istnienia.
2 (2025-03-10) Co będzie potrzebne aby zaimplementować idealny rejestr zdarzeń.
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Rozdział 2: The tools (link)
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Wady i zalety systemów rozproszonych.
    • Identyfikacja, uwierzytelnienie, autoryzacja.
    • Dlaczego architektura peer-to-peer (wisdom of the crowd).
    • Czym jest Blockchain.
3 (2025-03-17) Niepodważalne znakowanie danych
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Rozdział 3: Data fingerprinting (link)
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Czym jest odcisk danych.
    • Czym jest hash kryptograficzny i co powinno go charakteryzować.
    • Python: przekształcanie danych w ciąg binarny i z powrotem.
    • Wysyłanie wiadomości wraz z ich skrótem.
4 (2025-03-24) Zagadka kryptograficzna
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Rozdział 3: Data fingerprinting (link)
  • Zadania
    • Zaimplementować Pow i zrobić po 10 testów dla trudności od 1 do 6. Otrzymane wyniki przesłać na mail.
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Czym jest PoW.
    • Jaką rolę pełni 'sól' w procesie liczenia hash-y.
5 (2025-03-31) Sposoby hashowania danych
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Rozdział 3: Data fingerprinting (link)
  • Zadania
    • Zaimplementować co najmniej jeden z modeli liczenia hashy z grupy: sekwencyjne, hierarchiczne.
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Różne modele liczenia hash-y.
6 (2025-04-07) Podstawy kryptografii – teoria i praktyka (szyfrowanie, podpis cyfrowy)
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Rozdział 4: Cryptography (link)
    • Piotr Fulmański, Blockchain. Simple introduction series, Chapter 5: Digital signatures (link)
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Podstawowe wiadomości z kryptografii (co odróżnia szyfry symetryczne od asymetrycznych)
    • Praktycznie stosować kryptptografię w aplikacji (Python)
    • Implementować podpis cyfrowy wykorzystując istniejącą platformę kryptograficzną (Python)
7, 8 (2025-04-[14 | 28]) Łańcuch bloków - implementujemy podstawową strukturę łańcucha bloków
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Chapter 6: Chain of blocks (link)
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Opisać budowę łańcucha bloków.
9 (2025-05-05)
  • Zagadnienia i materiały
    • Kończymy temat związany z implementacją podstawowej struktury łańcucha bloków; Piotr Fulmański, Blockchain. Simple introduction series, Chapter 6: Chain of blocks (link)
    • Piotr Fulmański, Blockchain. Simple introduction series, Chapter 7: Difficulty and target (link)
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Omówić czym jest difficulty i target oraz umieć podać na przykładach sposób ich obliczania.
10 (2025-05-12)
  • Zagadnienia i materiały
    • Piotr Fulmański, Blockchain. Simple introduction series, Chapter 9: Searching consensus (link)
    • Piotr Fulmański, Blockchain. Simple introduction series, Chapter 8: Cheating doesn't pay off (link)
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Wyjaśnić dlaczego blockchain, łańcuch bloków, raczej powinien być postrzegany jako blocktree – drzewo bloków.
    • Wyjaśnić na czym polega kryterium najdłuższego łańcucha (Longest Chain Criterion) i dlaczego w praktyce kryterium to zastąpione jest przez kryterium najcięższego łańcucha (Heaviest Chain Criterion).
    • W jakich okolicznościach powstaje w łańcuchu bloków rozgałęzienie łańcucha (fork).
    • Jak liczyny chainwork.
    • Jakie mechanizmy sterująco-kontrolno-zabezpieczające zawiera Blockchain.
11 (2025-05-19)
  • Zagadnienia i materiały
    • Podstawy komunikacji sieciowej
    • Integrujemy komponenty w działający łańcuch bloków
12 (2025-06-02)
  • Zagadnienia i materiały
    • Integrujemy komponenty w działający łańcuch bloków
13 (2025-06-09)
  • Zagadnienia i materiały
    • Integrujemy komponenty w działający łańcuch bloków