"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
- implementovať token
- pomocou chytrých zmlúv navrhnúť spôsob jeho distribúcie medzi zamestnancov firmy ako formu odmeny
- vytvoriť rozhranie pre komunikáciu s blockchainom
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 |
|
Postup pri návrhu riešenia
- token
- získavanie spätnej väzby
- odmeňovanie kolegov
- 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
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