Hopp til hovedinnhold

Blokkjedeteknologier DAT650

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


Dette er emnebeskrivelsen for studieåret 2021-2022. Merk at det kan komme endringer.

Fakta
Emnekode

DAT650

Vekting (SP)

10

Semester undervisningsstart

Høst

Antall semestre

1

Vurderingsemester

Høst

Undervisningsspråk

Engelsk

Tilbys av

Det teknisk-naturvitenskapelige fakultet, Institutt for data- og elektroteknologi

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.

Forkunnskapkrav
Ingen
Anbefalte forkunnskaper
DAT510 Sikkerhet og sårbarhet i nettverk, DAT520 Distribuerte systemer
Noen av innleveringene i faget krever programmering i Go.
Eksamen / vurdering

Prosjektoppgave med presentasjon og skriftlig eksamen

Vurderingsform Vekting Varighet Karakter Hjelpemiddel
Prosjektoppgave med muntlig presentasjon 4/10 A - F
Skriftlig eksamen 6/10 4 Timer A - 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.Begge vurderingsenheter må være bestått for å få endelig karakter i emnet.

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 gå opp til skriftlig eksamen. 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
Ansvarlig laboratorieøvelser: Rodrigo Queiroz Saramago
Emneansvarlig: Leander Nikolaus Jehl
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
Søk etter pensumlitteratur i Leganto