NEM (blockchain technológia)

NEM (skratka pre anglické New Economy Model) je distribuovaná peer-to-peer platforma poskytujúca služby podobné účtovným knihám pomocou technológie blockchain. Sieť je postavená okolo požiadavkov na veľkú škálovateľnosť a jednoduchú integráciu do existujúcich systémov. Okrem hlavnej verejnej siete je možné prevádzkovať privátne siete a tieto integrovať podľa potreby so sieťou verejnou. Vďaka tomu je možné na privátnej sieti držať neverejné dáta a verejnú sieť používať len pre vybraté operácie. Napríklad banka by údaje o účtoch a vnútro-bankových prevodoch mala na privátnej sieti a medzi-bankové vyrovnania by boli realizované pomocou verejnej siete. Jednoduchej integrácie so sieťou NEM je dosiahnuté použitím štandardného REST rozhrania. Vďaka konceptu s názvom Smart Assets je možné zakladať bez programovania menné priestory a mozaiky na reprezentáciu vlastníctva. Je tak možné urobiť ICO bez potreby čokoľvek programovať.

História

Platforma bola spustená 31.3.2015. Pôvodne bola napísaná v programovacom jazyku Java a zdrojový kód kľúčových častí implementácie nebol verejne dostupný.
V súčasnosti dochádza k dokončovaniu novej verzie s názvom Catapult. Táto implementácia je už v jazyku C++ a zdrojový kód bude open-source. Nová implementácia poskytuje oveľa väčší výkon a pridáva množstvo novej funkcionality.

Komunita

NEM od začiatku kladie veľký dôraz na komunitu okolo projektu. Aj samotná sieť hľadá konsenzus pomocou algoritmu, ktorý zohľdaňuje to ako kto sieti pomáha (investuje do nej a používa ju).

Smart Assets

Smart Assets je skupina vlastností siete NEM, vďaka ktorým je jednoduché na nej modelovať akékoľvek procesy. Menný priestor je akýsi váš domov, kde môžete vytvárať mozaiky. Mozaiky reprezentujú čokoľvek potrebujete (peniaze, majetok, podpis,...). Ďalším prvkom Smart Assets sú adresy. Tieto slúžia ako kontajnery pre mozaiky. Adresy môžu opäť reprezentovať čo potrebujete – užívateľov, peňaženku, dokument, pieseň. Na prevod mozaik medzi adresami slúži prepracovaný systém transakcií.

Mozaiky a menné priestory

NEM zavádza v rámci Smart Assetov koncept Mozaík (Mosaic) a menných priestorov. Užívatelia majú možnosť vytvárať mozaiky, ktoré môžu reprezentovať čokoľvek, čo je potreba presúvať medzi vlastníkmi (peniaze, majetok, vlastnosti,...). Aby nedochádzalo ku konfliktom v názvoch, je tu zavedený tiež pojem menného priestoru (Namespace), do ktorého mozaiky patria. Menný priestor môže byť ďalej rozdelený na ďalšie pod-priestory podobne ako internetové domény.
Príkladom by mohla byť firma Foo, ktorá si pre odmeňovanie svojich zamestnancov založí mozaiky foo.zamestnanci:odmeny a foo.management:odmeny. Obidve mozaiky s názvom odmeny sa nachádzajú v hlavnom mennom priestore firmy – foo. Každá je ale vo vlastnom pod-priestore pre zamestnancov a pre management. Zamestnanci potom môžu tieto mozaiky využívať napríklad na získavanie rôznych výhod vo firme.

Účty

Účet je reprezentovaný v sieti NEM adresou. Adresa je odvodená z verejného kľúča a verejný klíč je odvodený z privátneho kľúča. Vlastník privátneho kľúča má plnú kontrolu nad daným účtom. Je preto dôležité aby privátny kľúč ostal za každých okolností tajný.
Účty sú vlastníkmi menných priestorov a mozaík. Na jednom účte môžu byť súčasne hodnoty v rôznych mozaikách. Je to podobné ako keby ste na jednom účte v banke mali naraz eurá aj americké doláre a ešte mali možnosť si založiť vlastnú menu.

Transakcie

Prevody medzi účtami sa vykonávajú prostredníctvom transakcií. Jedna atomická transakcia na sieti NEM môže zahrnovať viac čiastkových transakcií, z ktorých každá môže vyžadovať ľubovoľný počet podpisov.
Je možné jednoducho implementovať funkcionalitu, kde dochádza k viac prevodom a pritom nie je potreba žiadneho prostredníka. Burza tak môže slúžiť len ako miesto kde sa kupujúci a predávajúci dohodnú na výmene hodnôt v rôznych mozaikách. Burza potom vytvorí jedinú transakciu, ktorá vykoná 2 prevody medzi obomi stranami a tiež si nechá poslať poplatok na svoj účet. Obidve strany potom túto transakciu podpíšu a tým sa stane platnou. Nie je vôbec potreba posielať prostriedky burze.
Ďalej je možné k jednému účtu vyžadovať potvrdenia od viacero osôb. Je teda možné nastaviť účet tak aby dotyčný mohol transakcie robiť on sám alebo v prípade, že stratí svoj privátny kľúč mohli transakciu urobiť napríklad 3 zo 4 jeho kamarátov.

Harvesting

Ťaženie v sieti NEM sa nazýva harvesting. Vďaka PoI je výkonovo nenáročné a je dokonca možné na účte povoliť funkciu sprostredkovaného harvestingu, kedy užívateľ môže ťažiť bez toho aby mal vlastný server. Metodika PoI sa použije na určenie pravdepodobnosti, s ktorou poplatky z ďalšieho bloku na sieti pripadnú danému účtu. Poplatky za transakcie na sieti sa platia pomocou mozaiky s názvom XEM. Tieto poplatky sú potom pripísané ako odmena tomu, kto vyťaží blok, v ktorom boli poplatky zaplatené.

Komunitné hlasovánie

V rámci PoI má každý účet pridelené skóre dôležitosti. Toto skóre sa mení podľa množstva prostriedkov na účte a podľa transakcií s účtom. Vďaka tomu je možné hlasovať formou prevodu na nejaký účet reprezentujúci názor. Skóre tohoto účtu bude tým vyššie čím viac prevodov je naň urobených. Tiež prevody z účtov s vyšším skóre majú väčší vplyv na skóre cieľového účtu.

Ochrana proti útokom

NEM sieť si vnútorne udržuje medzi uzlami (servermi) ich reputáciu. Na základe reputácie jednotlivých uzlov je potom udržovaná ich dôveryhodnosť aby sa zabránilo manipulácii s dátami prostredníctvom útočiacich uzlov. Na inteligentné určovanie reputácie sa využíva pozmenený algoritmus EigenTrust++.

Oficiálny software

NEM ponúka otvorené API a tak ktokoľvek môže vytvárať aplikácie, ktoré pracujú s platformou. K dispozícii je ale tiež štandardný software, ktorý používa väčšina užívateľov siete.

Nano Wallet (NEM Wallet)

Peňaženka, ktorá okrem možnosti vytvárať účty a transakcie, poskytuje prístup k mnohým ďalším službám poskytovaných sieťou.
Nano Wallet je dostupná ako natívna aplikácia pre Linux, Mac a Windows ale aj ako univerzálny klient vo forme webovej stránky. Zdrojový kód aplikácie je voľne k dispozícii.

Mobilná peňaženka

Mobilná aplikácia pre Android a iOS umožňujúca prácu s účtami na mobilnom telefóne.

NEM uzol

Uzol je server poskytujúci služby sieti. Označuje sa aj ako NIS (NEM Infrastructure Server). Bežní užívatelia nepotrebujú spustiť vlastný uzol ale ktokoľvek môže poskytnúť svoj výpočtový výkon verejnosti.