Neo je započeo svoju priču negdje 2014-te kao AntShares (ANS). AntShares je osnovan od strane dvojca Da Hongfei i Erik Zhang, a poznat je pod izjavama da je to “Prva kineska blockchain platforma” iliti Kineski Ethereum.
U lipnju 2017, AntShares je napravio kompletni rebranding, te je od tada poznat pod nazivom NEO. Na konferenciji održanoj u lipnju Da Hongfei je najavio iduće stvari:
- kolaboraciju s certifikacijskim tijelima Kine kako bi mapirali raznu imovinu pomoću e-ugovora
- novi patent za interoperabilnost različitih blockchain lanaca i distribucije među njima
- suradnju s novim partnerima kao što su: Bancor, Agrello, Coindash, Nest Fund, Binance itd.
Kineski Ethereum?
Iako je NEO mnogima poznat kao kineski Ethereum, to možda nije baš tako. Usporedba ovog projekta s Ethereumom je uglavnom nastala zbog toga što Ethereum ima već stabilan ekosustav, a obje platforme služe za kreiranje drugih projekata. Naravno, postoje razne sličnosti između ova dva projekta, ali način na koji koriste blockchain logiku i njihov primarni fokus ih u potpunosti razdvaja.
Digitalizacija prave imovine
Iako NEO i Ethereum imaju sličnosti, velika je razlika u njihovom fokusu. Prema whitepaperu, NEO je fokusiran na evidenciju imovine korištenjem pametnih ugovora.
NEO je decentralizirani i distribuirani protokol glavne knjige koja digitalizira fizičku imovinu u digitalnu, omogućujući njihovu registraciju, spremanje, prijenos i trgovanje preko peer-to-peer mreže.
NEO koristi e-ugovore kako bi imao popis transfera digitalne imovine. Kod njega su digitalni tokeni generirani preko e-ugovora, a funkcioniraju kao fundamentalni podaci koji mogu biti korišteni za evidenciju udjela, kreditnih dogovora, financijskih ugovora, kreditnih bonusa, računa i valuta. Mogu biti korišteni za crowdfunding, trgovanje udjelima, stock opcije zaposlenika, peer-to-peer prijenosa, programa lojalnosti, privatnih fondova, lanca opskrbe itd.
Misija NEOa je digitalna imovina dostupna svima. Bitcoin želi kreirati financijski sustav, NEO je o izgradnji sustava koji povezuje imovinu iz pravoga svijeta.
Kao što smo ranije rekli, slično je Ethereumu, no Ethereumov whitepaper je fokusiran na kreiranje apstraktnog fundamentalnog sloja kojega će koristiti drugi projekti koji će graditi DAPPS nad njime. Dok je NEO apstraktni sloj nad kojim će drugi graditi projekte koji bi trebali u fokusu imati povezivanje, upravljanje i trgovinu digitalnom imovinom.
Trude se dobiti podršku od strane Kineske vlade
Neo whiteper sadrži jednu zanimljivu izjavu
Fiat valuta može direktno biti korištena kao valuta na NEO blockchainu.
S obzirom na to da je moguće koristiti fiat valutu direktno na blockchainu, NEO ide korak dalje te razdvaja sebe i svoju tehnologiju od Ethereuma i ostalih projekata. Tim koji stoji iza njega čvrsto argumentira kako NEO nije digitalna valuta, nego blockchain protokol. To je vjerojatno način na koji sebe distanciraju od legalnih problema koji u Kini postoje zbog povezanosti s digitalnim valutama.
Kineska vlada vjerojatno vidi digitalne valute kao prijetnju, osobito Bitcoin. Ali ljudi koji stoje iza NEOa igraju pametno pa je dizajniran tako da postoji velika šansa da upadne u državne regulacijske okvire bez obzira kakav pristup Kina odluči primijeniti na digitalne valute.
Da bi bili sigurni da će upasti u državne regulacije, te da bi dobili podršku od vlade, NEO tvrdi da imaju izgrađeni KYC (know your customer) i AML (anti-money laundering) API. Također, tim tvrdi da ako netko izgubi svoje privatne ključeve, postoji mehanizam koji će moći povratiti sredstva bez uplitanja treće strane.
E-ugovori
NEO tim vjeruje da je tokenizacija u trenutnoj formi manjkava, te zato razvijaju svoje rješenje.
Trenutno je transfer tokena isti kao transfer novca, što znači da tokeni mogu biti transferirani od pošiljatelja do primatelja s ili bez sukladnosti jedne strane. Takav način transfera je sasvim ok ako se radi o valuti, koja sa sobom ne nosi nikakve odgovornosti, ali nije prihvatljivo kod tokena koji sa sobom nosi vlasništvo koje može primatelju nametnuti određene odgovornosti i obveze.
Zbog toga se transfer NEOa provodi u formi e-ugovora. U većini slučajeva kod transfera imovine je obvezan digitalni potpis, potpisan s privatnim ključevima obje strane. U nekim slučajevima, dodatan potpis treće strane može biti potreban. Dok evidencija transfera imovine preko NEOa služi kao rješenje na blockchainu za transfer imovine koja je izvan blockchaina.
Većina ERC20 tokena (Ethereum), ništa ne pita primatelja, on nema izbora već mora primiti ono što netko pošalje na njegovu adresu. Ako netko želi poslati 10 tokena na adresu x, adresa x ne može odbiti transakciju. Ovo bi moglo dovesti do neželjenih posljedica i posjedovanja imovine koju ne želite.
NEO želi riješiti taj problem, primatelju neće moći biti ništa nametnuto, jer se mora potpisati e-ugovor da bi se imovina mogla prebaciti na neku adresu.
Potvrda identiteta je u stvarnom svijetu temeljna za potvrdu prava na imovinu. U većini slučajeva, zakonski ugovori zahtijevaju potpis obje strane.
S obzirom na to da je autentifikacijski korak opcionalan, u slučaju da bude potrebno NEO će tražiti od korisnika da zatraži svoj digitalni certifikat od strane nekog certifikacijskog tijela. NEO radi na rješenju sličnom TLS certifikatu, a trebalo bi služiti kao autorizacijsko tijelo koje će potvrditi pripada li neka adresa onome tko to tvrdi.
Različiti čvorovi
Misija ovoga projekta je digitalna imovina dostupna svima, što znači da je od krajnje važnosti da dizajniraju sustav koji je jednostavan za korištenje. Na dobrom su putu da to razviju, a podjela u blockchain logici na kojoj sustav funkcionira je iduća:
- Bookkeeping čvorovi
- Strane od povjerenja koje postižu konsenzus i validiraju svaki blok transakcija
- Digitalni potpis čvora je uvršten u svaki blok
- Puni čvorovi
- Čvorovi koji pohranjuju povijesne podatke, te detektiraju i prenose transakcije
- Krajnji korisnici
- Mali čvorovi ili klijenti (web-browser ili aplikacija)
- Nije potrebno imati cijelu povijest blockchain transakcija
Mehanizam konsenzusa
Mehanizam konsenzusa kojega NEO koristi se naziva Practical Byzantine Fault Tolerance odnosno delegirani Byzantine Fault Tolerance ili skraćeno dBFT.
Sigurni smo da ste iznenađeni i da vam sada nije jasno što to uopće znači. Većina nas je očekivala da će biti nešto kao Proof of work ili Proof of stake, s obzirom na to da je ovo nešto treće, kako se uopće rudare ovi tokeni? Gdje je nagrada za one koji verificiraju blokove? Idemo prvo objasniti što njihov mehanizam konsenzusa zapravo radi i na koji način izgleda njegova interakcija s blockchainom.
Kako distribuirati čvorove gdje nitko ne zna ništa o drugom čvoru, te kako oni mogu primati informacije u različita vremena, različitim stanjima i kako da sve to bude u konsenzusu? Odnosno, kako možemo biti sigurni da će transakcije biti validne, u pravilnom redoslijedu, bez obzira radi li se samo o dvije ili o milijun transakcija? Primjer kako ovo radi u realnom svijetu se može poistovjetiti sa sinkronizacijom sata i razlikama u vremenu između njih.
Svaki sat na svijetu koji nije atomski (atomski sat se može samostalno korigirati) ima drugačiji mehanizam prema kojemu funkcionira, ovisno o njemu drugačije su preciznosti, pa s vremenom dođe do različitih odstupanja. Ovdje govorimo o mehaničkim, kvarcnim i digitalnim mehanizmima. Kada primijetiti da vam sat odstupa od ostalih, provjerite koliko je sati na nekom validnom ili službenom izvoru, te ga korigirate ovisno o njemu. Računala ovo sama rade preko NTPa ili nekog servisa koji konstantno komunicira s NTP hostom i korigira sistemski sat sukladno njemu.
Za distribuirane sustave, razlika u vremenu može postati noćna mora i uzrokovati kaskadne prekide ili nekonzistentnost u mreži koju je teško uočiti. Na sličan način, ako transakcija (ili u slučaju NEOa neka imovina) bude prihvaćena od čvora #1 u redoslijedu (A, D, C, B) i čvor #2 primi transakcije u redoslijedu (B, C, D, A), kako da odlučimo koji čvor je točan? Kako se možemo zaštititi od toga da neispravan redoslijed transakcija utječe na ostale čvorove u sustavu?
Practical Byzantine Fault Tolerance ili kod NEOa delegirani Byzantine Fault Tolerance (dBFT) rješavaju taj problem, na sličan način kako se to radi kod sata, a to je provjera kod povjerljivog izvora.
NEO je lansirao malo drugačiju verziju PBFTa, verziju koja ima u blockchainu 2 različita sudionika. Bookkeeping nodove i NEO korisnike. Svaki od njih ima različitu kontrolu u procesu glasanja i utvrđivanju izbora. U članku objavljenom na cryptoinsider.com, suosnivač NEO-a je izjavio:
dBFT proces glasanja je dinamičko generiranje ulaznih i izlaznih validatora transakcija i omogućavanje univerzalnog mehanizma konsenzusa javnih i privatnih blockchaina.
Specijalizirani bookkeeping nodovi postižu konsenzus u dBFT blockchainu zahvaljujući delegiranom glasanju. Dvije trećine nodova trebaju prihvatiti novu verziju blockchaina da bi ona bila prihvaćena. Ovakav sustav je zaštićen od nepotrebnih forkova i radikalnih promjena implementacija blockchaina koje bi mogle smanjiti povjerenje sudionika.
Nakon višegodišnjeg proučavanja i istraživanja kripto-industrije i blockchain tehnologije, došli smo do zaključka da delegirani Byzantine Fault Tolerance najbolje pristaje ovakvom sustavu.
Vratimo se ponovno na NEO whitepaper, postoji paragraf koji objašnjava koji nodovi su odabrani za zajedničko validiranje unutar blockchaina.
Ako se mod “one man” smatra glasovanjem nakon dodavanja nekoga bloka kako bi se tada postigao konsenzus? Zajedničkom odlukom se postiže konsenzus tako što se prije dodavanja bloka generiraju bookkeeping nodovi kojima se vjeruje. Nema glasovanja nakon što se događaji već izvrše. U javnom blockchainu, ovaj način predefiniranih odluka može biti napravljen pomoću glasanja unutar chaina. Odabrani bookkeeping nodovi se mogu udružiti u zajedničko potpisivanje svakog novog bloka. U scenariju gdje bi se odluke donosile nakon napravljenih događaja bilo bi više potrebe za potvrdama od strane čvorova, dok je način gdje su sve odluke donesene prije nego su događaji uopće napravljeni idealniji za simulaciju konačne trgovine.
To je logičan argument za odabir bookkeeping nodova, ali kasnije se ispostavilo da je za bookkeeping nodove potrebna identifikacija te određena razine tehnološkog kapaciteta. Izgledalo je kao da će reputacija biti presudna kod odabira tko će biti bookkeeping node no tehnološki kapacitet bi ovo mogao malo promijeniti ako se granica za kapacitet postavi previsoko. Zapravo je svejedno, jer ako netko ima reputaciju ali nema dovoljno kapaciteta, bit će odabran, probat će biti glavni node, no njegova reputacija će pasti što će smanjiti vjerojatnost da ponovno bude odabran za tu ulogu.
Da skratimo priču i prestanemo komplicirati, NEO blockchain zahtjeva povjerenje da bi netko imao ulogu bookkeeping čvora, što je dobra stvar.
Iz njihovog whitepapera:
U “one man” modu, glasanju nakon što su događaji već napravljeni se glasa dok je sadržaj bloka poznat. Takav način nije dobar za javne blockchaine, pogotovo ako nema nikakvih identifikacijskih podataka. Naime, takav način nije dobar, osobito ne za neke financijske transakcije. S druge strane, “joint mode” predlaže povjerenje prema bookkeeping čvorovima. Naravno, ovdje se može dogoditi da se 1/3 (ili više) čvorova udruži u nekakav zločinački pothvat. Zato je za čvorove ovoga tipa nužna identifikacija od strane kontrolnih strana. To je nužno iz dva razloga, prvi razlog je taj da se može korigirati njegova reputacija i tehnološki kapacitet, a drugi razlog je taj da ako neki čvor pređe na zlu stranu, ostaje uvijek kriptografski dokaz nad kojim se može napraviti istraga.
Možemo zaključiti da “one man” način odabire anonimnost, gdje je povjerenje upitno. Dok ‘joint mode’ odabire povjerenje, ali je anonimnost isključena jer je potrebna autentifikacija identiteta.
Blockchain asset
Svaki blockchain ima drugačiji ekosustav i NEO nije drugačiji. Kada kupite NEO tokene, kupili ste pravo na glasanje i pravo na dividende u obliku GAS tokena.
- NEO
- bookkeeper glasanje
- pravo na dividende u obliku GASa
- pravo na glasanje oko ključnih odluka kod NEO blockchaina
- GAS
- plaćanje usluga na blockchainu
- plaćanje naknada za usluge
Da bi bolje razumjeli koja je razlika između NEO i GAS tokena, te kakva je njihova uloga u blockchainu pogledajte infografiku napravljenu od strane reddit korisnika /r/Encephalomagne
Naknade
- Naknada koju prikupljaju bookkeeper čvorovi
- Nije jasno navedeno koliko zapravo iznosi ova naknada, ali je bitno napomenuti da su sve transakcije besplatne ako se 2/3 čvorova složi oko toga
- Naknade za transakcije
- Iznosi koji se naplaćuju ako netko želi izvršiti neku napredniju funkcionalnost na blockchainu kao što su: kreiranje asseta, registracija bookkeeping čvora, te u budućnosti ažuriranje i smrzavanje asseta
NEO distribucija tokena
Na genesis NEO bloku je stvoreno 100 000 000 NEO tokena koji su razdijeljeni na određene strane koje su navedene u njihovom whitepaperu.
- 10% (10 milijuna) je namijenjeno za prve investitore
- ovaj iznos je podijeljen prvim angel investitorima i VC fondovima koji su im dali podršku na samome početku
- 17% ( 17 milijuna) je namijenjeno za prvu fazu ICO-a
- Listopad 2015, prikupljeno je 2100 Bitcoina
- 1200 Bitcoina je prikupljeno od individualnih investitora
- 900 Bitcoina je prikupljeno od jednog institucionalnog investitora
- Listopad 2015, prikupljeno je 2100 Bitcoina
- 23% (23 milijuna) je namijenjeno za drugu fazu ICO-a
- Kolovoz 2016, u trajanju od dva tjedna, prikupljeno je 6069 Bitcoina, u vrijednosti 3.8 milijuna dolara
- 50% (50 milijuna) je namijenjeno za Antshares tim (NEO tim)
- Zaključano na 1 godinu nakon lansiranja MainNeta
- Nakon 1 godine, timu sredstva postaju dostupna i s njim dugoročno financiraju operativu firme
NEO tokeni su cijeli brojevi, ne mogu se razdijeliti na decimale
Dok se BTC, ETH, LTC i skoro svaka druga kripto valuta može dijeliti na male dijelove i decimale, NEO nije takav. Ideja iza NEOa je da tokeni budu kao udjeli iliti dionice, pa isto kao što ne možete imati 0.01 Amazonovih ili Googleovih dionica tako isto ne možete imati 0.01 NEO.
Kripto burze dijele NEO na manje dijelove kako bi mogli naplatiti svoju naknadu za trgovanje, te omogućuju slanje NEO tokena koji nisu cijeli broj, no ako pokušate dio NEO tokena poslati na službeni NEO novčanik, zauvijek će biti izgubljeni.
Pogledajmo primjer s Bittrexom:
- Iznos kupljenih NEO tokena: 10 NEO
- Bittrex naknada: 0.35 NEO
- Transfer na službeni novčanik: 10 – 0.35 = 9.65 NEO
- Iznos koji dobijete na vaš novčanik: 9 NEO
- Iznos koji je zauvijek izgubljen: 9.65 – 9 = 0.65 NEO
Neke kripto burze ovdje ne naplaćuju proviziju pa ako pošaljete 10 NEO tokena na službeni novčanik, tamo će vam se pojaviti svih 10 tokena.
NEO isplaćuje dividende
Kao što smo ranije naveli, NEO tokeni su sličniji tradicionalnim dionicama već je to slučaj s većinom ostalih kripto valuta. Za dionice, isplata dividendi uglavnom bude u novcu (fiat valuti), no kod NEOa je situacija malo drugačije pa su dividende isplaćene u obliku tokena GAS.
Kripto burze uglavnom ne podržavaju isplatu ovih dividendi (Bittrex ne podržava, dok neki podržavaju), pa je potrebno NEO tokene prebaciti na službeni novčanik kako bi mogli iste primiti. Oni koji ne dobivaju GAS neće biti u mogućnosti koristiti usluge na blockchainu, jer je za većinu usluga potreban GAS kako bi se platile naknade. Naravno, uvijek možete kupiti GAS na nekoj od burzi te tako dobiti ovaj token ako vam zatreba za neku od usluga.
Kreiranje blokova na blockchainu
Jedan interesantan paragraf u NEO whitepaperu govori da je vrijeme generiranja novoga bloka 15 sekundi, no da je moguće to vrijeme promijeniti ako bi bilo potrebno da mreža brže procesira blokove. Time bi se povećala propusnost mreže.
Trenutno je generiranje blokova ručno postavljeno na 15 sekundi. S dovoljno niskom latentnosti mreže i povezanosti unutarnjih čvorova u budućnosti će se blokovi kreirati svake sekunde. Sa bandwidthom od 100Mbit/t i externim kriptografskim hardverom, NEO blockchain je u mogućnosti procesuirati tisuće, a možda čak i desetke tisuća transakcija po sekundi.
Popis kreiranih blokova možete vidjeti na Antshares blockchain exploreru.
Tehnički overview
Za razliku od Ethereuma gdje je potrebno učiti novi jezik da bi se izradile aplikacije na njegovom blockchainu, NEO nema taj preduvjet. Za NEO je moguće programirati u popularnim developerskim jezicima, a ovo su tehnologije koje su podržane:
- JSON-RPC
- C#
- Visual Basic
- .Net
- Java
- C
- C++
- Python
- Go
- JavaScript
Na slici ispod pogledajte logiku oko kompajliranja koda i izvršavanje na NEO virtual mašini
Te, za kraj, donosimo vam popis operativnih sustava na kojima je moguće vrtjeti NEO virtual mašinu.
- Docker
- Red Hat
- Ubuntu
- Windows 7 SP1
- Windows Server 2008 R2
A najavljuju da će napraviti podršku za iduće:
- Debian
- FreeBSD
- Linux Mint
- openSUSE
- Oracle Linux
- OS X
- Fedora
Za one koji žele znati nešto više o tehničkom dijelu NEO blockchaina, te krenuti razvijati aplikacije na njemu, donosimo korisne linkove: