Back

"Smart contract" v jazyku Solidity pre firemný systém správy dokumentov

Autor práce: Lukáš Havrišák
Vedúci práce: Ing. Martin Sivý

Moderné blockchainové platformy umožňujú vytvorenie vlastnej meny, tzv.

tokenu

Ciele

  1. implementovať token
  2. pomocou chytrých zmlúv navrhnúť spôsob jeho distribúcie medzi zamestnancov firmy ako formu odmeny
  3. vytvoriť rozhranie pre komunikáciu s blockchainom
Výber vhodnej platformy

Ethereum

+ -
Rozsiahla komunita Proof-of-Work algoritmus
Živá prevádzka
Knižnice pre komunikáciu s blockchainom

Cardano

+ -
Proof-of-Stake algoritmus Zatiaľ len testovacia prevádzka
Rieši základné problémy blockhainov V súčasnosti neexistujú žiadne knižnice na komunikáciu
Akademický výskum
data_flow

Postup pri návrhu riešenia

  1. token
  2. získavanie spätnej väzby
  3. odmeňovanie kolegov
  4. komunikačné rozhranie

Token

  • implementovaný ako chytrá zmluva
  • dodržiava štandard ERC-20
  • uchováva zostatky pre jednotlivé adresy
  • do blockchainu musí byť nasadený samostatne

Odovzdávanie spätnej väzby

  • nová udalosť = nové nasadenie zmluvy
  • zbiera spätnú väzbu a odosiela odmeny
  • účastníci musia byť zaregistrovaní tvorcom udalosti
  • proxy funkcie
  • odmena za spätnú väzbu

Odmeňovanie kolegov

  • veľmi podobné ako odovzdávanie spätnej väzby
  • každý učastník môže odmeniť ostatných (nie seba)

Slack bot

  • rozšírenie aplikácie Slack
  • vybudovaný pomocou rámca JBot v jazyku Java, zaoložený na rámci Springboot
  • reaguje na súkromné správy od používateľov
  • rozlišuje adminov a používateľov
  • musí poznať adresu tokenu
  • musí vlastniť isté množstvo Etheru a tokenov
  • umožňí používateľom vytvoriť peňaženku

Komunikácia s blockchainom

  • zabezpečená knižnicou Web3j
  • cloudový uzol Infura
  • Java triedy vygenerované z kódu chytrých zmlúv pomocou nástroja Web3j
  • nasadzuje zmluvy jednotlivých udalostí do blockchainu alebo volá ich funkcie
  • adresy novo-nasadených zmlúv uchováva v jednoduchej databáze

Testovanie

  • používateľské testovanie
  • 2 administrátori a 8 zamestnancov
  • vyhodnotenie pomocou SUS*
  • získané skóre 83 = známka B
*System Usability Scale

Zhrnutie

  • token so šírokým spektrom využitia
  • transparentný systém odmeňovania a získavania spätnej väzby vo firme
  • motivácia zamestnancov zapájať sa do firemných aktivít
  • komunikácia prostredníctvom aplikácie Slack, ktorá je vo firmách často používaná
Aké ďalšie aplikácie / spôsoby je možné použiť na komunikáciu s chytrými zmluvami okrem aplikácie Slack?

Takmer akékoľvek

pre platformu Ethereum, stačí používateľské rozhranie a prístup k internetu

napríklad webová, desktopová alebo konzolová aplikácia

Ako náročná na implementáciu by bola požiadavka na zmenu typu meny? Je možné podporovať aj viacero mien naraz?

Jednoduchá

pre meny (tokeny) implementujúce rozhranie ERC-20


Zložitejšia

pre iný druh meny, napr. natívnu menu Ether