en_GB
Hold Ctrl-tasten nede. Trykk på + for å forstørre eller - for å forminske.

DAT650_1

Blokkjedeteknologier

Dette er studietilbudet for studieår 2020-2021.


Faget gir innsikt i forskjellige teknologier og modeller for blokkjedesystemer og praktisk erfaring med utvikling av smarte kontrakter.

Læringsutbytte

Kunnskap:
  • Kjenne til forskjellige modeller for blokkjeder med både åpent og lukket medlemskap.
  • Kjenne til forskjellige konsensus algoritmer som brukes for blokkjeder og deres sannsynlighetsgarantier.
  • Kjenne til smarte kontrakter og forskjellige modeller for utførelsen av disse.
  • Kjenne til kryptografiske primitiver som brukes i blokkjeder.

Ferdigheter:
  • Være i stand til å utvikle applikasjoner basert for kjøring på en blokkjede.
  • Kunne resonere rundt systemer og applikasjoner som involverer blokkjede teknologi.

Generell kompetanse:
  • Vite hvordan og når man kan bruke blokkjedeteknologier.

Innhold

Faget gir innsikt i forskjellige teknologier og modeller for blokkjedesystemer.
Den første delen, inspirert av bitcoin, dekker grunnleggende komponenter av en blokkjede, som datastrukturer, validering av transaksjoner, og proof of work mekanismen. Denne delen dekker også flere mulige angrep på bitcoin. Foreslåtte forbedringer, samt alternative konsensusmekanismer blir diskutert.
Den andre delen av faget dekker voteringskonsensus og byzantin feiltolerante systemer og deres anvendelse innen lukkede blokkjeder. Flere systemer med forskjellige feilmodeller og antakelser vil bli presentert, inkludert systemer som er robuste mot ondsinnede og egoistiske noder.
I tredje del fokuserer vi på smartkontraktsprogrammering, sikkerhet for smarte kontrakter og applikasjoner.
I tillegg til forelesningene må studentene lese og diskutere noen relaterte forskningspublikasjoner. I laboppgavene og prosjektet vil studentene jobbe med mining i en proof-of-work blokkjede og implementere en sikker applikasjon gjennom smarte kontrakter.

Forkunnskapskrav

Ingen.

Anbefalte forkunnskaper

DAT510 Sikkerhet og sårbarhet i nettverk, DAT520 Distribuerte systemer

Eksamen/vurdering

Prosjektoppgave med presentasjon og skriftlig eksamen
Vekting Varighet Karakter Hjelpemiddel
Prosjektoppgave med muntlig presentasjon4/10 A - F
Skriftlig eksamen6/104 timerA - F
Vurderingen består av en skriftlig eksamen (4 timer) og en prosjektoppgave.
Skriftlig eksamen teller 60% av karakteren.
Prosjektoppgaven teller 40% av karakteren og vurderes gjennom innlevert rapport og en muntlig fremføring. Begge deler må gjennomføres før endelig karakter fastsettes. Prosjektoppgaven utføres i gruppe, men gruppemedlemmene kan få ulik karakter basert på den muntlige fremføringen.
Hvis en student ikke består prosjektoppgaven, må hun/han ta denne om igjen neste gang kurset undervises.

Vilkår for å gå opp til eksamen/vurdering

Obligatoriske aktiviteter
Fem obligatoriske individuelle laboppgaver (programmeringsoppgaver). Godkjent/ikke godkjent. Alle programmeringsoppgavene må godkjennes innen angitte tidsfrister for å kunne ta ut prosjektoppgaven. Godkjenning skjer ved innlevering av kode, samt etterfølgende godkjenning på lab.
Gjennomføring av obligatorisk lab og øvinger skal gjøres til de tider som er oppsatt. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få gjennomføre lab utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.

Fagperson(er)

Emneansvarlig
Leander Nikolaus Jehl

Arbeidsformer

6 timer undervisning/laboratorieøvinger per uke

Emneevaluering

Skjer vanligvis gjennom skjema og/eller samtaler i henhold til gjeldende retningslinjer.

Litteratur


Lenke til pensumliste


Dette er studietilbudet for studieår 2020-2021.

Sist oppdatert: 30.09.2020

Historikk