JESENSKA ŠOLA 2018

»Blockchain, dApps & Smart contracts«


Tehnologija veriženja blokov (ang. blockchain) se obravnava kot druga internetna revolucija oz. eno od najpomembnejših inovacij na področju internetnih tehnologij v zadnjem desetletju. Priča smo »virtualni zlati mrzlici«, ki blockchain postavlja v ospredje dnevnih finančnih, tehnoloških in splošno-informativnih novic. Omenjena tehnologija pa niso zgolj kriptovalute in bajni zaslužki, temeč je temelj novim konceptom, ki spreminjajo ustaljene poslovne procese, nudijo nov tehnološki napredek ter prostor za inovativne tehnolške pristope. Med koncepti so trije v ospredju: (1) decentralizirano in distribuirano upravljanje s podatki v obliki javno dostopnega dnevnika ali glavne knjige (ang. ledger), ki služi kot distribuiran in repliciran register zapisov; (2) pametne pogodbe, ki so programljive pogodbe zapisane v verigah blokov, kjer se samodejno izvajajo ob določenih pogojih oz. prožilcih ter se izvedejo glede na vnapej programljiva dejstva; hkrati so javno dostopne in niso pod vplivom tretjih oseb; ter (3) decentralizirane aplikacije, ki so centralne strežnike zamenjale za verigo blokov in pametne pogodbe.

Na Inštitutu za informatiko, Fakultete za elektrotehniko, računalništvo in informatiko ter v sklopu skupine Blockchain Lab:UM želimo približati razvoj pametnih pogodb in decentraliziranih aplikacij temelječih na verigah blokov, študentom, ki želijo obdobje brez ter pred začetkom predavanj izkoristiti za širitev svojih znanj. V ta namen bomo organizirali letos že drugo Blockchain počitniško šolo oz. jesensko šolo razvoja decentraliziranih aplikacij (dApps) ter pametnih pogodb s tehnologijo veriženja blokov (ang. blockchain). Na jesenski šoli 2018 bomo spoznali osnovne tehnologije veriženja blokov (ang. blockchain), pametne pogodbe, Etehreum platformo, solidity programski jezik, decentralizirane aplikacije, web3.js, truffle, oraklje ter principe in dobre prakse razvoja.

Jesenko šolo 2018 prirejamo pod pokroviteljstvom iniciative ECTA ter v sodelovanju z Inštitutom Jožef Štefan (IJS).

Jesenska šola 2018 bo potekala tri (3) tedne med 17. septembrom in 5. oktobrom 2018. Začne se s tridnevnim sklopom uvodnih predavanj, predstavitvijo izziva in pripravami na tekmovalni del in sicer med 17. in 19. septembrom na UM FERI.

Razlogi za sodelovanje

  1. Pridobiti nova znanja iz trenutno najaktualnejše tematike področja ITK - tehnologije veriženja blokov.
  2. Denarne nagrade za najboljše rešitve - denarni sklad v višini 1.000,00 EUR + 50.000 ECTA (PAY) žetonov, oboje izplačano s strani pokrovitelja.

3. Prednostna obravnava in vključitev v projekte pokrovitelja (praksa, redna zaposlitev, pogodbeno sodelovanje).


Prijava na jesensko šolo 2018 Blockchain, dApps & smart contracts

Prijave bodo odprte do srede 12. 9. 2018, 23:59. Ker je število mest omejeno na 15, si organizator pridržuje pravico do izbora kandidatov in kandidatk.

O izboru boste obveščeni najkasneje do petka, 14. septembra 2018.

Od prijavljenih kandidatov in kandidatk pričakujemo poznavanje osnovnih spletnih tehnologij: HTML5, CSS in JavaScript ter objektno orientiranega programiranja.

Pri izboru kandidatov za jesensko šolo bodo imeli prednost tisti, ki bodo sodelovali tudi v tekmovalnem del.

Prijavite se tukaj.


Potek jesenske šole 2018

Izbrani kandidati bodo porazdeljeni v skupine s tremi ali štirimi člani, ki bodo po uvodnih predstavitvah in predavanjih (17. - 19. september) med seboj tekmovali pri načrtovanju in razvoju prototipne rešitve za izziv definiran s strani pokrovitelja ECTA (19. september - 5. oktober). Prototipna rešitev bo temeljila na tehnologiji blockchain, pametnih pogodbah in decentraliziranih aplikacijah.

V času po uvodnih predstavitvah in predavanjih ter do konca šole (tekmovanja) se bodo ekipe, z namenom spremljanja napredka in konzultacij, dva krat tedensko sestajale z mentorji organizatorji ter predstavniki pokrovitelja (ECTA) in partnerja (IJS).

Končna predstavitev prototipnih rešitev je predvidoma načrtovana v tednu med 8. in 12. oktobrom . Najboljša/e ekipa/e bo(do) dobila/e denarno nagrado. Komisija za oceno najboljše(ih) ekip(e) bo sestavljena iz predstavnikov UM FERI, pokrovitelja (ECTA) ter partnerja (IJS).

Za pogostitev (prigriziki, pijača ter korsilo) med jesensko šolo bo poskrbljeno.


Intelektualna lastnina izdelkov

Vsak udeleženec s sodelovanjem na jesenski šoli 2018 zagotavlja in jamči, da bo njegov prispevek izključno rezultat izvirnega dela in ne bo kršil nobenih lastniških ali intelektualnih pravic katerihkoli tretjih strank ter da bo programska (izvorna) koda izdelanih rešitev postala last pokrovitelja.


Možnost spremembe izvedbe

Organizator Jesnske šole 2018 si pridržuje pravico spremembe načina izvedbe le te.

V primeru odpovedi ali spremembe načina izvedbe bomo vse prijavljene pravočasno obvestili - najkasneje do 14. septembra 2018.


Predstavitev pokrovitelja

ECTA je prva rešitev na blockchain protokolu za globalno zaposljivost razvijalcev (AI, Blockchain in IoT).

Koncept, ki ga uveljavljajo orodja umetne inteligence, je namenjen reševanju neučinkovitosti, povezanih s časovno izgubo, preverjanjem spletnih profilov, odkrivanjem talentov (zlasti v državah z nizkimi in srednjimi dohodki) in varnim načinom poslovanja (plačilna rešitev podprta s pametnimi pogodbami na platformi Ethereum).

Razvijalci, ki za sklepanje projektne pogodbe in izplačilo za opravljeno delo uporabljajo ECTA platformo, poleg načina plačila v ECTA PAY žetonih (ERC20) imajo edinstveno možnost, da zaslužijo (rudarijo) tudi t.i. ECTA SKILLS, ki so neprenosljivi žetoni (ERC721), kot nagrado za vsako opravljeno nalogo, ter so dokaz njihove sposobnosti/ugleda. Umetnointeligenčna komponenta platforme pomaga podjetjem po vsem svetu, da odkrivajo in zaposlujejo razvijalce na varen in produktiven način za obe strani.

Predstavitev podana s strani pokrovitelja.

Vsebina jesenske šole 2018

Dan 1: Uvod, Blockchain, Pametne pogodbe, Decentralizirane aplikacije

  • Uvod
    • Motivacija
  • Varnostni principi
    • Asimetrična kriptografija in algoritmi digitalnega podpisovanja
    • Kriptografija eliptičnih krivulj
    • Enosmerne zgoščevalne funkcije
  • Tehnologija veriženja blokov
    • Porazdeljena in decentralizirana omrežja
    • Tehnologija porazdeljene knjige
    • Porazdeljeni algoritmi soglasja
    • Dokazilo o delu (ang. proof-of-work), dokazilo o deležu (ang. proof-of-stake), dokazilo o avtoriteti (ang. proof-of-authority)
    • Shranjevanje podatkov na podlagi transakcij
    • Tipi verig blokov
      • Zasebne, javne, konzorcijske
    • Primeri uporabe
  • Pametne pogodbe (PP)
    • Osnovni koncepti
    • Pametne pogodbe na verigah blokov
    • Platforme verig blokov, ki omogočajo razvoj PP
    • Oraklji
    • Primeri uporabe
      • DAO, ICO, žetoni, ipd.
  • Decentralizirane aplikacije (dApps)
    • Osnovni principi
    • Delovanje in uporaba
    • Življenjski cikel aplikacije
    • Aplikacijski programski vmesnik (API)
    • Izzivi sinhronizacije
    • Izzivi centralizacije

Dan 2 in 3: Razvoj rešitev s platformo Ethereum

  • Platforma Ethereum
    • Osnovni koncepti
    • Omrežje
    • Računi
    • Ethereum virtualni stroj (EVM – Ethereum Virtual Machine)
    • Transakcije
    • Tranzicija stanja
    • Izvajanje programske kode
      • Gorivo, stroški izvajanja
  • Veriga blokov Ethereum
    • Zasebne, javne, konzorcijske
    • Dokazilo o delu, dokazilo o deležu, dokazilo o avtoriteti
    • Geth
    • Konfiguracija omrežja
  • Solidity – programski jezik
    • Turingova polnost
    • Funkcijske modifikacije, funkcije, dogodki, sestavljene podatkovne strukture, obvladovanje napak, dedovanje, modularnost
    • Nadgradljivost in zamenljivost v omrežju nameščenih PP
  • Razvoj pametnih pogodb
    • Predstavitev razvojnega okolja
      • Remix, Truffle, Ganache
    • Priprava razvojnega okolja
    • Priprava, zagon in pregled osnovnih PP
    • Namestitev in testiranje PP
  • dApps - Obličje
    • ethereum/web3.js knjižnica
    • Priprava, zagon in pregled osnovne decentralizirane aplikacije, ki uporablja Web3.js
    • Komunikacija med komponentami
    • Uporaba aplikacijskega programskega vmesnika med zaledjem in obličjem
    • Hramba ključev
      • Strežniška stran, odjemalska stran
  • Oraklji
    • Pregled delovanja in primeri uporabe orakljev
    • Uporaba podatkovnega ponudnika Oraclize v kombinaciji z decentraliziranimi aplikacijami
    • Koncepti razvoja orakljev

Dan 3: Predstavitev ECTA projekta ter izziva za tekmovalni del

  • Uvod
  • Predstavitev ECTA projekta
    • Demo
    • Umetnointeligenčna povezava (IJS)
  • Predstavitev izziva
  • Razdelitev v ekipe