Sadržaj

Tehnike profiliranja Ethereum korisnika

Sažetak

Ethereum je trenutno jedna od najvećih javnih blockchain platformi koja je postala digitalno poslovno okruženje za mnoge korisnike. Ova platforma dizajnirana je tako da dozvoljava decentralizirane transakcije između anonimnih korisnika. Stoga, razvoj metoda pomoću kojih bi se mogli identificirati i definirati korisnički profili, uz očuvanje njihove anonimnosti, pridonio bi dodatnom povećanju poslovanja za ovu platformu. U ovom radu, fokus je na primjeni strojnog učenja pri klasifikaciji korisničkih profila na profesionalne i obične, oslanjajući se pritom na atribute njihovih transakcija. No, ova klasifikacija nije lagan izazov ako uzmemo u obzir da je samo mali dio Ethereum korisnika javno označen, a još manji dio pripada profesionalnim korisnicima. Rezultati koji su na kraju dobiveni pokazuju da trenirani modeli za klasifikaciju profila postižu performanse veće od 90% za točnost, preciznost, ali i ostale relevantne mjere. Kao dodatak, identificirane su i relevantne značajke transakcija koje su poslužile pri klasifikaciji.

Ključne riječi: Ethereum; blockchain; strojno učenje; korisnički profili

Uvod

Blockchain tehnologija igra ogromnu ulogu u promjeni načina na koji vizualiziramo i koristimo tehnologiju u našu korist. Tijekom vremena, blockchain tehnologija pretvorila se u obećavajuću osnovu za poslovne aplikacije u različitim industrijama. Osim što je namijenjena razmjeni kriptovaluta, ova tehnologija ima mnogo drugih funkcionalnosti, a upravo korištenje decentraliziranih aplikacija omogućuje širenje upotrebe blockchain tehnologije.

Ethereum i decentralizirane aplikacije

Ethereum je jako popularna platforma temeljena na blockchain tehnologiji, a služi za trgovanje kriptovalutama i drugom digitalnom imovinom. Činjenica koja to potvrđuje jest da je, od svog osnutka 2014. godine pa do danas, na Ethereumu registrirano više od milijun transakcija s preko 273 milijuna dolara tržišne vrijednosti. Osim što je popularna pri trgovanju kriptovalutama, Ethereum također može obrađivati programe znane kao pametni ugovori (eng. smart contracts) koji, između ostalog, pokreću ovu platformu i čine ju dobrim okružjem za razvijanje decentraliziranih aplikacija. Decentralizirane aplikacije su u osnovi slične tradicionalnim softverskim programima, ali za razliku od njih, one rade na blockchain mrežama, tj. distribuiranim mrežama, a ne na centralnim serverima. Takvi serveri uvijek su pod upravom ili vlasništvom treće strane, dok su decentralizirane aplikacije otvorene i ne kontrolira ih jedna osoba ili entitet. Neke karakteristike, a ujedno i prednosti ovih aplikacija su transparentnost, nepromjenjivost, necenzuriranost itd. Ethereum platforma je postala okolina s različitim domenama decentraliziranih aplikacija koje pokrivaju razna područja, od financijskog do uslužnog.

Zašto analizirati korisničke profile?

Blockchain platforme poput Ethereuma obično su dizajnirane tako da dozvoljavaju financijske transakcije između anonimnih korisnika. Ovo je moguće zahvaljujući asimetričnoj kriptografiji, komponenti blockchain tehnologije, u kojoj se korisnici identificiraju pomoću svojih javnih ključeva, a koriste tajne privatne ključeve kako bi ovjerili transakcije koje izdaju u korist drugih korisnika. Identificiranje korisničkih profila na ovoj platformi, uz zadržavanje njihove anonimnosti, svojstvo je koje bi još poboljšalo poslovanje decentraliziranim aplikacijama. Kako je već i spomenuto, decentralizirane aplikacije nude niz usluga kao što su plaćanje, zajmovi, donacije i slično, te bi im analiza korisničkih profila omogućila da pronađu odgovarajuće kupce za svoje usluge, analiziraju kreditne rizike ili čak klasificiraju korisnike uključene u prijevarne sheme. Određeni web servisi već idu ka razvoju alata za profiliranje korisnika u blockchain mrežama, a neki od njih su Etherscan, DApp.com and DApp Review. No, identifikacija aktivnosti koje ovi servisi promatraju i dalje se većinski sastoji od ručnih procesa, zbog čega bi metode automatske identifikacije profila bile jako korisne.

Vrste korisničkih profila

Analiza ponašanja korisnika temeljena na javno dostupnim podatcima transakcija provedenih u blockchain tehnologiji zaintrigirala je mnoge istraživače. Postoje istraživanja kojima se žele identificirati prijevare i napadi na blockchain mreže, fokusirajući se pritom na identificiranje sumnjivih korisnika. Osim toga, nedavna istraživanja koristila su i tehnike strojnog učenja za razne studije o Ethereum korisnicima, ali nijedno provedeno istraživanje nije razmatralo korisnike kroz prizmu profesionalnih ili običnih (privatnih) aktivnosti na blockchain platformama. U ovom radu izložit će se upravo tehnike strojnog učenja za automatsku klasifikaciju aktivnosti korisničkih profila Ethereum platforme. Fokus će biti naročito na dva tipa korisničkih profila: profesionalne korisnike i obične korisnike. Profesionalni profil korisnika uključuje programere, investitore, trgovce digitalnom imovinom, tvrtke i organizacije. Programeri (developeri) koriste Ethereum kako bi razvili decentralizirane aplikacije i ostale projekte temeljene na blockchainu. Investitori koriste Ethereum kako bi kupili i zadržali Ether (ETH), domaću kriptovalutu platforme Ethereum, ali i ostalu digitalnu imovinu izgrađenu na Ethereum mreži, dok trgovci digitalnom imovinom kupuju i prodaju istu na raznim platformama. Tvrtke i organizacije koriste blockchain tehnologiju u razne svrhe kao što su upravljanje lancem opskrbe, financijske usluge, izgradnju privatnih blockchain mreža za određene korisnike itd. Drugi tip korisničkih profila su obični Ethereum korisnici koji su zapravo individualci koji platformu također koriste u razne svrhe, ali pritom imaju ležerniji pristup, interes i manje tehničkog znanja za navedenu tehnologiju nego profesionalni korisnici. Oni koriste Ethereum kao digitalni novčanik za pohranu i upravljanje svojom digitalnom imovinom ili ga koriste za sudjelovanje na decentraliziranom tržištu.

Primjena strojnog učenja na profiliranje Ethereum korisnika

Modeli strojnog učenja široko su upotrebljavani za razne analize na Ethereum platformi, od korisničkih profila do sigurnosti i performansi pametnih ugovora. U ovom radu, strojno učenje koristit će se u svrhu klasificiranja i profiliranja korisnika. Korisnički računi potrebni za provođenje istraživanja odabrani su iz javno dostupnih podataka o Ethereum transakcijama. Prvi korak bio je, dakle, prikupiti Ethereum transakcije od kojih je izrađena baza podataka. Tako se iz podataka u bazi moglo doći do detaljnih značajki transakcija i korisničkih računa povezanih s njima. Od otprilike 20 milijuna prikupljenih transakcija nasumično i uniformno je odabrano oko 2 milijuna. Potom su izdvojeni računi primatelja i pošiljatelja koji su sudjelovali u pojedinoj transakciji te je napravljena lista, odnosno skup svih jedinstvenih korisničkih računa. U svrhu analize, zanemareno je kako jedan korisnik može imati više korisničkih računa te se model trenirao s pretpostavkom da svaki korisnik ima samo jedan račun. Na kraju je izdvojeno ukupno 17020 računa korištenih u analizi. Za svaki od računa, izdvojeni su podatci kao što su broj transakcija u kojima je dotični račun bio primatelj, broj transakcija u kojima je bio pošiljatelj, broj transakcija poslanih gdje je pametni ugovor primatelj i broj transakcija primljenih gdje je pametni ugovor pošiljatelj. Osim toga, dodani su podatci i o stanju Ether kriptovalute koju korisnički račun posjeduje i ukupan broj transakcija uključujući i one koje se ne nalaze u stvorenoj bazi podataka. Na posljetku, prikupljene su i oznake računa pomoću Etherscan API-ja. Taj API označuje račune koji su profesionalno aktivni na platformi i kojima je potreban opsežniji publicitet. Pomoću tih oznaka, u bazi podataka su označeni i podijeljeni korisnički računi na profesionalne i one obične. Analiza je rezultirala s ukupno 117 (0.68%) profesionalnih korisnika i 16903 (99.32%) običnih korisnika.

Opis korištenih modela strojnog učenja

Kako bi se Ethereum korisnici klasificirali na profesionalne i obične, korišten je skup različitih modela strojnog učenja: K-najbližih susjeda (eng. K-Nearest Neighbors), stabla odluke (eng. Decision Tree), logistička regresija, Random Forest algoritam, SVM (eng. Support Vector Machine) i Classifier Committees. S obzirom da skup korisničkih računa sadrži samo 0.68% profesionalnih korisničkih računa, prvo su korištene metode balansiranja, tj. uravnoteživanja skupa podataka za učenje. Jedna od njih je nasumično poduzorkovanje, gdje se nasumično brišu primjeri iz većinske klase (obični korisnici), a druga je nasumično preuzorkovanje, gdje se nasumično dupliciraju primjeri iz manjinske klase (profesionalni korisnici). Strategije balansiranja skupa podataka za učenje primjenjivane su prilikom svakog koraka korištene 10-struke unakrsne validacije za treniranje i validaciju modela. Što se tiče metrika performansi modela, korištene su Accuracy, Precision, Recall, F1-score, Fβ-score s β = 2, Matthews Correlation Coefficient (MCC), number of true positives (TP) and negatives (TN) i area under the ROC curve (AUC-ROC).

Rezultati

Rezultati dobiveni s predloženim modelima i metodologijama evaluacije prikazani su na sljedećoj slici. Rezultati su podijeljeni u 3 skupine, bez pretprocesiranja ulaznih podataka te uz navedene 2 tehnike balansiranja skupa podataka za učenje. Valja napomenuti kako su profesionalni korisnici označeni kao pozitivna klasa, a obični korisnici kao negativna.

Bez pretprocesiranja

Iz priloženih se rezultata može uočiti kako je Accuracy poprilično visoka za sve klasifikatore, ali s obzirom da se radi o neuravnoteženom skupu podataka, očekivano je da se kao izlaz dobije oznaka za većinsku klasu. Što se tiče metrike Precision, postoji određena pristranost jer se samo očito pozitivne instance točno klasificiraju. U tablici se može primijetiti kako Precision prelazi 52% za većinu navedenih klasifikatora dok je Recall ispod 42%. Osim toga, može se uočiti i da je manje od 50 profesionalnih korisnika točno klasificirano (TP < 42%). Iz toga zaključujemo kako modeli bez pretprocesiranja podataka teže označavati podatke s većinskom klasom, tj. klasificiraju ih kao obične korisnike.

Poduzorkovanje

Gledajući drugu skupinu rezultata može se primijetiti kako se performanse klasifikatora povećavaju za Recall i AUC-ROC metriku te to rezultira povećanjem broja točno klasificiranih profesionalnih korisnika. Osim toga, što su veće vrijednosti AUC-ROC metrike, to su veće šanse da obje klase budu točno identificirane. Što se tiče pojedinačne izvedbe klasifikatora, može se uočiti kako je najbolji Random Forest uz AUC-ROC i TP metriku, s vrijednošću preko 94%.

Preuzorkovanje

Kod preuzorkovanje, također je poboljšan Recall, a samim time i točna klasifikacija profesionalnih korisnika. Random Forest i ovdje ima najbolje individualne performanse nad ostalim klasifikatorima.

Odluka

Zaključujemo kako je poduzorkovanje najbolja tehnika pretprocesiranja jer postiže najbolje rezultate kada je u pitanju AUC-ROC metrika.

Zaključak

U ovom radu predstavljena je primjena modela strojnog učenja za identifikaciju korisničkih profila Ethereum platforme, klasificirajući ih kao profesionalne ili obične korisnike odnosno račune. Značajke potrebne za pravilno treniranje predloženih modela izdvojene su iz javno dostupnih podataka o transakcijama ove blockchain platforme. Pokazalo se kako modeli mogu postići visoku točnost i pritom raditi kompromis između Precision i Recall metrika pri klasifikaciji. Osim toga, istaknuto je kako su tehnike balansiranja skupa podataka za učenje nužan korak pretprocesiranja podataka s obzirom na to da je udio profesionalnih korisnika na mreži znatno manji od udjela običnih korisnika, što čini skup podataka neuravnoteženim.

Literatura

[1] Beres F., Seres I.A., Benczur A.A., Quintyne-Collins M.: Blockchain is Watching You: Profiling and Deanonymizing Ethereum Users

[2] Wood G.: Ethereum: A secure decentralised generalised transaction ledger

[3] Valadares J.A., Oliveira V.C., de Azevedo Sousa J.E., Bernardino H.S., Villela S.M., Vieira A.B., Goncalves G.: Identifying User Behavior Profiles in Ethereum Using Machine Learning Techniques