Blockchain je dnes často spomínaný pojem. V mnohých prípadoch sú však pojmy blockchain a bitcoin zamieňané s nie celkom správnym pochopením významu technológie blockchain a nejasnou interpretáciou súvisiacich pojmov.
Tento článok sa zameria na základné vlastnosti blockchainu a princípy tejto technológie.

Z technologického hľadiska má pojem „blockchain“ niekoľko základných významov.

  • Sada softvérových protokolov, ktoré umožňujú implementáciu fungovania blockchainu ako technologickej platformy.
  • Databáza blockchainu, ktorá uchováva transakčné záznamy; môžete si ho predstaviť ako reťaz alebo záznamy uložené vo forme blokov, ktoré nie sú kontrolované jediným orgánom.
  • Digitálna verejná kniha, v ktorej sú všetky transakcie zaznamenané nemenne a sú vedené transparentne. Nezmeniteľnosť je vďaka skutočnosti, že konkrétny blockchain je distribuovaný medzi nespočetné množstvo počítačov, ktoré sú navzájom prepojené a vytvárajú tak špecifickú sieť Blockchain.

Blockchain je založený na dvoch základných konceptoch:

  • Blok s transakčnými informáciami.
  • Reťazec (chain), ktorý spája všetky bloky v blockchaine cez kryptografický hash.

Termín blockchain sa začal dostávať do povedomia verejnosti s príchodom dnes najslávnejšej kryptomeny, bitcoinu, ktorej implementácia bola zahájená v roku 2009. Pôvodnou myšlienkou bitcoinu bolo umožniť dôveryhodnú výmenu aktív cez internet bez potreby vzájomnej alebo sprostredkovanej dôvery.

Niektoré kľúčové vlastnosti blockchainu

  • Systém funguje bez centralizovanej dôvery.
  • Každý môže skontrolovať stav všetkých ostatných účtov.
  • Transakcie sa schvaľujú konsenzuálnym spôsobom, ktorý predstavuje proces ťažby.
  • Autentickosť transakcií je chránená asymetrickou kryptografiou.
  • Transakčné poplatky sa platia za jednotlivé transakcie.
  • Databáza je distribuovaná (zdieľaná) medzi jednotlivými účastníkmi.
  • Integrita databázy je silne chránená procesom ťažby a reťazenia blokov.

 

Základné princípy blockchainu

Popíšme si jednotlivé princípy fungovania blockchainu na príklade štyroch ľudí, ktorým dáme meno Allan, Betty, Carl a Daisy.

Povedzme, že Betty sa ocitla vo finančnej tiesni. Požiada svojho priateľa Allana, aby jej poslal na účet 1000 jednotiek. Allan sa prihlási do svojho internetového bankovníctva a prevedie peniaze na účet Betty. Banka, v ktorej má Allan účet, skontroluje zostatok na jeho účte a overí, či má Allan najmenej 1000 jednotiek, a uskutoční prevod. Nasledujúci deň vstupuje Betty do bankomatu so žiadosťou o výber 1000 dolárov. Bankomat kontaktuje banku, overí, že na jej účte je najmenej 1000 jednotiek, a vydá hotovosť Betty.

Tento príklad ukazuje prevod finančnej čiastky pomocou bankového systému. Nevyhnutným faktorom v tomto procese je dôvera v banku. Samotná hodnota meny je iba metrikou, pomocou ktorej je možné merať hodnotu jednotlivých aktív, a mena predstavuje túto metriku. Je preto celkom logické, že na to, aby bola daná mena akceptovaná, musí byť vydaná niekým dôveryhodným a jej hodnota musí byť náležite chránená. Otázkou však je, či je to jediný možný spôsob.

Povedzme, že Allan, Betty, Carl a Daisy sa rozhodli vytvoriť vlastnú menu, ktorú si budú navzájom posielať. Aby sa navzájom nepodvádzali, musia sa dohodnúť na tom, ako zabezpečiť vzájomnú dôveru. Jednou z možností je výber jedného zástupcu, napríklad Allana, ktorý bude spravovať zostatok na účtoch všetkých používateľov a schvaľovať jednotlivé finančné transakcie. Allan by teda fungoval ako ústredný orgán, ktorý by plne rozhodoval o tom, kto má komu koľko peňazí poslať. Ale Carl a Daisy si navzájom nedôverujú a nedôverujú ani ostatným, takže s rozhodnutím nesúhlasia. Po tejto nezhode sa priatelia rozhodnú overiť každú transakciu spoločne. Zároveň si však uvedomujú, že môžu nastať situácie, keď nie sú k dispozícii všetci súčasne. Potom by došlo k oneskoreniu transakcií. Preto zavádzajú pravidlo, že pre overenie transakcie stačí absolútna väčšina, t.j. traja ľudia.

Povedzme, že Daisy chce poslať Betty 1000 jednotiek. Daisy vytvorí príkaz na odoslanie 1000 jednotiek na účet Betty a všetkým pošle žiadosť o schválenie. Každý, kto dostane oznámenie, skontroluje, či je transakcia v poriadku; ak je v poriadku, pošlú ostatným potvrdenie, aby vedeli, že transakciu schválili. Akonáhle túto transakciu potvrdia najmenej traja účastníci, bude akceptovaná, takže Daisy má na svojom účte o 1000 jednotiek menej a Betty má na svojom účte o 1000 jednotiek viac.

 

Otázky a odpovede

Blockchain sa vydal práve touto cestou, v ktorej neexistuje centralizovaná dôvera. Ako však ukazuje príklad, tu vyvstáva niekoľko otázok.

  • Ako vieme, že transakciu skutočne odoslala Daisy a nie napríklad Allan, ktorý by sa vydával za Daisy?
  • Ako vieme, koľko má Daisy na svojom účte?
  • Čo ak má Daisy na svojom účte presne 1000 jednotiek a vytvorí dve transakcie súčasne, jedna tvrdí, že pošle 1000 jednotiek Betty a ďalších 1000 Carlovi?
  • Čo ak sa niekto rozhodne nepotvrdiť správne transakcie a tým obmedzí vykonávanie transakcií?
  • Čo ak Betty jedného dňa povie, že nikdy nedostala 1000 jednotiek od Daisy?

Otázka: Ako ostatní vedia, že transakciu skutočne odoslala napríklad Daisy a nie Allan?

Odpoveď: Faktom je, že ostatní to nevedia. Nemôžu to vedieť. Jednotlivé transakcie zobrazujú číslo účtu odosielateľa, príjemcu a prevedenú sumu, nie však mená majiteľov účtov. Keby sme sa pozreli na samotnú transakciu, nezistili by sme, že Daisy poslala Betty 1000 jednotiek, ale videli by sme iba to, že 1000 jednotiek išlo z účtu XXX na účet YYY. A keďže v tomto systéme nie je centralizovaný orgán, nikto nemôže vedieť, komu tieto účty skutočne patria. Práve tento stupeň anonymity niekedy odporcovia bitcoinu kritizujú.

Otázka: Ako ostatní vedia, že účet odosielateľa uvedený v transakcii je vlastne účet, z ktorého bola transakcia odoslaná?

Odpoveď: Blockchain na to používa asymetrickú kryptografiu. Pre každý účet je vygenerovaný pár kryptografických kľúčov, jeden označovaný ako súkromný kľúč a druhý ako verejný kľúč. Súkromný kľúč pozná iba držiteľ účtu, verejný kľúč môže vidieť každý. Ak sa má transakcia poslať z daného účtu, je táto transakcia najskôr digitálne podpísaná súkromným kľúčom. Ostatní, ktorí majú skontrolovať transakciu, najskôr overia, či bola skutočne odoslaná z účtu, ktorý je uvedený ako odosielateľ. A to sa robí kontrolou digitálneho podpisu pomocou verejného kľúča.

Otázka: Prečo blockchain nepoužíva certifikáty?

Odpoveď: Aby mohol blockchain pracovať s certifikátmi, na ich vydávanie by musel byť ústredný dôveryhodný orgán, ktorý však neexistuje, pretože by to bolo v rozpore so základnými princípmi blockchainu.

Otázka: Ako ostatní vedia, ktorý verejný kľúč použiť na overenie podpisu na danom účte?

Odpoveď: Čísla účtov sa nevytvárajú náhodne, ale sú odvodené od zodpovedajúceho verejného kľúča. Ak niekto dostane transakciu, pri ktorej chce overiť digitálny podpis účtu odosielateľa, potom na základe samotného čísla účtu presne vie, aký verejný kľúč má použiť. Je teda zrejmé, že ak má niekto súkromný kľúč, môže vytvárať platné transakcie a mať tak úplnú kontrolu nad účtom. Celá ochrana účtu teda spočíva v zabezpečení súkromného kľúča, ktorý je bežne uložený v takzvaných krypto peňaženkách, ktoré môžu byť softvérové alebo hardvérové.

Otázka: Čo ak niekto nepotvrdí správne transakcie a obmedzí tak vykonávanie transakcií?

Odpoveď: Nepotvrdenie správnej transakcie nemusí byť vždy úmyselné. To sa môže stať, aj keď niekto vedie inú databázu ako ostatní, napríklad v dôsledku chyby. Aby sme boli schopní odpovedať, musíme sa pozrieť na to, ako blockchain narába s ukladaním informácií a ako zaisťuje integritu uložených dát. Najprv si predstavte transakčný systém, ktorý sa skladá nielen zo štyroch priateľov, ale má aj milióny ľudí. Keby sme vždy čakali na potvrdenie nadpolovičnou väčšinou, systém by bol veľmi neefektívny. Pri návrhu blockchainu sa už počítalo s možným rozšírením a bola vymyslená iná metóda. Pôvodné metriky počtu účastníkov boli prevedené na výpočtový výkon celého systému. To znamená, že na overenie transakcie je potrebné použiť výpočtový výkon predstavujúci účasť najmenej 51% členov (tzv. Hashrate). Miera výpočtovej sily je daná zložitosťou matematického problému, ktorého riešenie je výpočtovo náročné. A keďže sa stav účastníkov dynamicky mení v celom systéme, mení sa aj úroveň zložitosti riešenia tohto matematického problému. Proces potvrdzovania transakcií sa nazýva ťažba a ľudia, ktorí vykonali overenie, sa nazývajú ťažiari.

Overenie transakcie prebieha v niekoľkých krokoch:

  • overenie digitálneho podpisu transakcie,
  • overenie zostatku na účte oproti prevedenej hodnote,
  • vykonaním výpočtu nájdite vhodný vzor,
  • vydanie informácií o overení transakcie (blok).

Vieme teda, že blok obsahuje vstupnú hodnotu do hashovacej funkcie, ktorá slúži ako dôkaz potvrdenia transakcie, pretože vieme, že dotyčný ťažiar musel vyvinúť dostatočné úsilie (použiť výpočtový výkon) na získanie požadovanej hodnoty. Blok sa potom odošle všetkým účastníkom. Každý účastník vezme daný blok, vezme danú hodnotu, vypočíta jeho hash a overí ho. Ťažiar ďalej hľadá, o ktorej transakcii je blok svedkom, a považuje túto transakciu za potvrdenú. Ak je teda samotný blok platný, príjemca ho uloží do svojej lokálnej databázy. Ukladanie však neznamená iba vloženie prijatého bloku vedľa iného bloku, ale jednotlivé bloky sú navzájom spojené. Reťazenie funguje tak, že aktuálne prijatý blok obsahuje aj hodnotu, ktorá obsahuje hash predtým vydaného bloku. Pri vytváraní nového bloku sa vezme hodnota posledného vydaného platného bloku a zahrnie sa do nového bloku. Týmto sa vytvorí odkaz na predchádzajúci blok. Procesom reťazenia sa vytvorí databáza s prepojenými blokmi, ktorá sa nazýva blockchain.

Otázka: Aký je účel reťazenia?

Odpoveď: Ukázali sme, že každý z účastníkov nášho transakčného systému vedie svoju vlastnú databázu potvrdených transakcií (blokov). Ak má Daisy inú databázu ako Carl, jedna z nich je neplatná a bude to tá, v ktorej bloky na seba nenadväzujú, pretože nie sú reťazené. Reťazenie preto hrá dôležitú úlohu. Ak by niekto chcel zámerne sfalšovať databázu, aby nahradil posledných 5 blokov vlastnými po sebe nasledujúcimi blokmi, musel by vynaložiť nesmierny výpočtový výkon, ktorý by predstavoval viac ako 50% výpočtového výkonu celého blockchainového systému (tzv. 51% útok). Je veľmi nepravdepodobné, že by k tomu došlo kvôli všetkým zdrojom potrebným na dosiahnutie tohto cieľa. Celá integrita blockchainovej databázy je tak silne chránená a zostáva nezmeniteľná.

Otázka: Aká je motivácia ťažiarov?

Odpoveď: Čím je systém väčší, tým viac výpočtového výkonu vyžaduje proces ťažby. To je samozrejme spojené s vysokými finančnými nákladmi na spotrebu elektriny. Aká je teda motivácia ťažiarov? Blockchain je nastavený tak, že každý, kto vytvorí transakciu, musí za ňu zaplatiť poplatok, ktorý patrí ťažiarovi, ktorý transakciu overuje. Zároveň každý ťažiar dostáva pevnú odmenu za vytvorenie platného bloku. Hlavnou motiváciou ťažiarov je teda získanie odmeny.

Otázka: Ako môžu ostatní vedieť, koľko má Daisy na svojom účte?

Odpoveď: Pretože si každý môže ponechať všetky bloky vo svojej vlastnej databáze, vie, koľko jednotiek je v každom z účtov v systéme.

Otázka: Čo ak má Daisy na svojom účte presne 1000 jednotiek a vytvorí dve transakcie naraz, pričom v jednej transakcii pošle 1000 jednotiek Betty a v druhej 1000 Carlových jednotiek?

Odpoveď: Ak sa z jedného účtu odošlú dve rôzne transakcie, vytvoria sa súčasne dva rôzne bloky. Akonáhle sú oba bloky prijaté, rozdelia sa na dve paralelné vetvy v mieste posledného bloku v blockchainovej databáze. Rast databázy pokračuje vydávaním ďalších nových blokov a ich postupným reťazením do jednotlivých pobočiek, podľa toho, za ktorým blokom nasledujú. V okamihu, keď je jedna vetva dlhšia ako druhá, kratšia vetva sa zahodí a pokračuje sa iba v dlhšej vetve. Čo to znamená v praxi? Aby mal príjemca transakcie istotu, že mu suma skutočne patrí, počká si na uvoľnenie ďalších niekoľkých blokov, ktoré potvrdia, že tieto vetvy nebudú zahodené. Z tohto dôvodu je pre platnú transakciu zvyčajne potrebných niekoľko potvrdení.

Otázka: Čo ak Betty jedného dňa povie, že nikdy nedostala tých 1000 jednotiek od Daisy?

Odpoveď: Stačí skontrolovať databázu a nájsť blok potvrdzujúci transakciu, ktorý zobrazuje prevod 1000 jednotiek z jedného účtu na druhý. Kvôli silnej ochrane integrity databázy vieme, že je vysoko nepravdepodobné, že by sa transakcia neuskutočnila.

Inteligentné zmluvy

Doteraz sme fungovanie blockchainu popisovali iba ako transakčný systém, predstavujúci prevod jednotiek (tzv. kryptomena) vyjadrujúci finančnú hodnotu. Vráťme sa však k pôvodnej myšlienke, že blockchain by mal umožniť dôveryhodnú výmenu aktív cez internet bez potreby vzájomnej alebo sprostredkovanej dôvery. V tejto vete nie je uvedené nič, čo by hovorilo o tom, že blockchain by sa mal používať iba na transakcie vo forme kryptomien. Transakcia je iba údaj, takže môže mať akúkoľvek inú hodnotu. Tu je príklad.

Povedzme, že Allan, Betty, Carl a Daisy spolupracujú na dokumente a každý z nich dokončí časť textu. Po dokončení finálnej verzie dokumentu bude každý z autorov hodnotený na základe ich príspevku. Preto je dôležité, aby každý z nich mohol dokázať, ktorú časť napísal. Kvôli transparentnosti alebo kvôli svojej vzájomnej nedôvere sa rozhodli použiť blockchain. Potom, čo každý z nich dokončí svoju časť, vezme dokument, pomocou hashovacej funkcie preň vypočíta hash a tento hash vo forme transakcie odošle do blockchainu. Transakcia je overená a príslušný blok je zahrnutý v databáze blockchainu. Pokiaľ ide o konsolidáciu príspevkov autorov ako súčasť finalizácie dokumentu, nezáleží na tom, kto túto finalizáciu urobí. Napríklad, ak sa Allan rozhodne spochybniť Daisyinu časť, stačí, aby zaujal príslušný post a našiel jeho hash v blockchainovej databáze. Ak existuje taký hash od Daisy, je to dôkaz vďaka silnej inherentnej integrite databázy, že je autorkou daného príspevku.

Zložitejšie údaje

Blockchain nie je iba transakčný systém pre kryptomeny. Namiesto jednoduchých údajov v rámci transakcií si môžeme predstaviť zložitejšie údaje, ktoré majú zakódované podmienky, podľa ktorých sa tieto interpretujú, ako v nasledujúcom príklade.

Betty a Daisy sa stavia, že Allan minie za týždeň všetky jednotky z jeho účtu. Betty vytvorí transakciu, v ktorej uvedie dané podmienky stávky, vytvorí takzvanú inteligentnú zmluvu a odošle ju do blockchainu. Inteligentná zmluva má svoju vlastnú adresu, podobnú jednotlivým účtom v blockchainovom systéme. Po zverejnení inteligentnej zmluvy na blockchaine Daisy a Betty potvrdia tieto podmienky vygenerovaním transakcie na účet inteligentnej zmluvy a táto inteligentná zmluva dostane podiely od Betty aj Daisy. V tomto okamihu je inteligentná zmluva uzavretá a čaká na jej splnenie. Podľa toho, či Allan strávi svoje jednotky do týždňa alebo nie, inteligentná zmluva vykoná stanovené príkazy. Veľkou výhodou inteligentnej zmluvy je, že medzi Betty a Daisy nie je potrebná dôvera, pretože inteligentná zmluva je platná, iba ak obe strany vložili svoje podiely. Inteligentnú zmluvu zároveň nemôže po aktivácii zrušiť nikto, ani jej tvorca. Inteligentná zmluva tak funguje úplne autonómne. Tento koncept prvýkrát predstavil Vitalik Buterin ako súčasť novej kryptomeny Ethereum v roku 2015 a často sa o ňom hovorí ako o koncepcii blockchain 2.0.

Výhody a nevýhody technológie blockchain

Zatiaľ veľa vecí týkajúcich sa technológie blockchain znie dobre. Nežijeme však v čiernobielom svete. To, čo je pre vás výhodou, by niekto iný mohol interpretovať ako nevýhodu. To, čo je pre vás pozitívne, by váš obchodný partner mohol považovať za negatívum.

Mali by všetci vedieť všetko?

Aj keď sa v celom blockchainovom systéme vyskytujú iba čísla účtov, nie mená vlastníkov, informácie obsiahnuté v transakciách medzi jednotlivými účtami sú verejné a sú prístupné všetkým. Takže ak Betty zistí, ktorý účet patrí Daisy, môže sledovať celú históriu transakcií Daisy. Riešením je vytvorenie nového účtu pre každú transakciu, pretože každý môže mať neobmedzený počet účtov.

Ďalším riešením je úprava blockchainových protokolov tak, aby sa dosiahla úplná anonymita, ako je tá, ktorú používa kryptomena ZCash. Úplne iným prístupom je vybudovanie súkromného blockchainového systému, v ktorom bude zavedená úplná kontrola prístupu spolu s úlohami a ich právami. Tieto typy blockchainových systémov sa často označujú s povoleniami (permissined), zatiaľ čo pôvodné verejné blockchainové systémy sa označujú ako systémy bez povolení. Ak sa ale vrátime k základnému princípu blockchainu ako k decentralizovanému systému, potom akékoľvek zavádzanie regulácie alebo riadenia jedným centralizovaným subjektom skutočne nemá zmysel. Toto len ťažko nazvete blockchainovým systémom.

Objemná databáza blockchainu

Ďalším problémom je potreba mať kópiu blockchainovej databázy, ktorá môže zaberať desiatky GB dát. Ako riešenie bol vytvorený koncept čiastkových a plných uzlov. Čiastočné uzly majú účty, ktoré neukladajú celú databázu, ale iba časť, ktorá im umožňuje rozpoznávať nové transakcie. Úplné uzly majú účty, ktoré uchovávajú celú databázu, zvyčajne ťažiarov, ktorí potrebujú na overenie transakcií poznať celú históriu jednotlivých účtov.

Ďalším spôsobom, ako zmenšiť objem databázy, je znížiť počet transakcií alebo znížiť počet blokov. K tomu bola navrhnutá koncepcia Lightning Network. Aby sa znížil počet transakcií zaslaných do blockchainu a zároveň sa neobmedzil počet výmen medzi jednotlivými účtami, použil sa koncept zúčtovania. V podstate sa vytvorí samostatný kanál medzi účtami, ktoré chcú odosielať transakcie mimo blockchainovú sieť, v ktorej sa transakcie vymieňajú. Až po výmene transakcií sa kanál uzavrie, zúčtuje sa výsledný zostatok pre dané účty a do transakcie sa odošle iba rozdiel medzi zostatkom daných účtov a ich pôvodných účtov, ktorý sa odošle do blockchainu.

Ďalšou možnosťou je znížiť počet blokov. Pretože bloky slúžia ako dôkaz na overenie platných transakcií a žiadna transakcia sa neprijme, kým ju blok neoverí, počet transakcií musí byť minimálne rovnaký ako počet blokov. Môžete však začať zväčšovať veľkosť bloku a jeden blok použiť ako dôkaz pre ďalšie transakcie. Alebo zmenšite veľkosť údajov, ktoré je potrebné v rámci bloku overiť. O jednotlivých prístupoch sa intenzívne diskutuje v rámci blockchainovej komunity a nezhody viedli napríklad k rozdvojeniu bitocinu do novšieho Bitcoin Cash.

Nezmeniteľný blockchain

Silná ochrana integrity databázy je veľkou výhodou, ale v niektorých prípadoch môže byť nežiaduca. Problém nastáva, keď dôjde k neúmyselnej chybe, ktorú je potrebné opraviť. To však nie je možné v blockchainovej databáze, pretože všetky zadané informácie budú uložené v celej histórii blockchainového systému.

Spotreba elektriny

Proces ťažby sa používa na overenie transakcií a je založený na princípe Proof of Work. Aj keď je tento mechanizmus oprávnený, s rastúcim systémom rastie potreba výpočtového výkonu a dochádza k enormnej spotrebe elektrickej energie. Alternatívne prístupy, ktoré by neboli založené na výpočtovom výkone, už existujú.

Koncept Proof of Stake je založený na skutočnosti, že môžete ťažiť alebo overovať blokové transakcie podľa toho, koľko mincí alebo žetónov držíte. To znamená, že čím viac mincí alebo žetónov ťažiar vlastní, tým viac má ťažobnej sily.

S konceptom Proof of Space (Proof of Storage) je namiesto výpočtového výkonu pridelený úložný priestor na pevnom disku. Kvôli mnohým problémom, ktoré tieto alternatívne prístupy prinášajú, je však koncept Proof of Work preferovaný mnohými krypto nadšencami.

Pravidlá hry na blockchaine

Úplne iným obmedzením, ktoré nesúvisí s technickou stránkou blockchainu, je nedostatok štandardizácie, ktorá by jasne popisovala, ako sa má blockchain implementovať, kontrolovať a hodnotiť.

Využitie blockchainu

Blockchain sa do povedomia ľudí dostal s príchodom prvých kryptomien, ktoré svetu ukázali, že vďaka globálnemu pripojeniu cez internet je dnes možné implementovať systémy, ktoré sme si predtým ani nevedeli predstaviť. Dôležitým míľnikom bolo zavedenie inteligentných zmlúv, ktoré pozdvihli transakčný systém na úroveň, kde môžu inteligentné zmluvy plniť okrem platieb aj ďalšie funkcie.

Mnoho spoločností sa začalo zaujímať o technológiu blockchain vďaka inteligentným zmluvám. Spoločnosti začali investovať nemalé peniaze do analýzy tejto technológie a implementácie prototypov.

Ďalším fenoménom sa stalo ICO (Initial Coin Offering), ktoré umožňuje najmä začínajúcim spoločnostiam získavať veľké investície od bežných ľudí.

Blockchain má množstvo veľmi zaujímavých funkcií, ale aby sa mohol správne používať, musí sa klásť veľký dôraz na správne pochopenie princípov fungovania blockchainovej technológie a jej adekvátnej integrácie do obchodných aktivít spoločností.

Blockchain je vysoko inovatívna technológia, ktorá sa stále vyvíja, je stále lepšia a užitočnejšia. Záujem o blockchain, kryptomeny, virtuálne meny a ďalšie veci spojené s touto technológiou sa bude v najbližších rokoch určite iba zvyšovať.

Príbuzné

Komentáre 0

Zatiaľ bez komentárov. Buďte prvý so svojim komentárom.