raiblocks

RaiBlocks na tle IOTA.

RaiBlocks najłatwiej opisywać w porównaniu do IOTA. Obydwa te systemy nie są Blockchainem per se. IOTA to DAG (Directed acylic graph) tak samo jak RaiBlocks ale tylko w pewnej części. IOTA w całości opiera się na tym charakterystycznym węźle (tangle):

RaiBlocks jest zaś swoistą kratą, nazywaną przez developerów Rai jako block-lattice:

Rai nie jest jednym łańcuchem bloków. IOTA to struktura, w której nowe bloki doczepiane są po zaakceptowaniu ich przez sieć. Rai jest swoistą bazą danych z personalnymi blockchainami dla każdego adresu stworzonego w sieci. Każdy blockchain w Rai składa się z dwóch części: Send blok i Recieve blok.

Działanie IOTA

IOTA działa na zasadzie takiej, że Ty jako klient, czyli osoba wysyłająca pewną kwotę pieniędzy przez IOTA, musisz wykonać na rzecz przeprowadzenia tej transakcji, minimalną ilość obliczeń na rzecz IOTA. IOTA nie ma minerów, Ty po części jesteś za każdym razem, kiedy chcesz skorzystać z sieci IOTA. To Ty potwierdzasz inne dwie transakcje, które są poprzedzającymi transakcjami w danym bloku do Twojej, do których Twoja transakcja się doczepia. Jak już dokonasz tego PoW, wtedy Twoja transakcja zamienia się w oczekującą i czeka, aż inna osoba, która dodała blok z transakcją wykona to co Ty przed chwilą. W teorii ma to zając bardzo mało czasu oraz rozwiązać 3 problemy Blockchainu: skalowalność, zużycie energii oraz opłatę za transakcję. Bardziej skomplikowanie mówiąc, do węzła są doczepiane po kolei kolejne bloki. Im więcej bloków, czyli im więcej transakcji zostanie doczepionych do węzła, tym szybciej nasza transakcja zostanie potwierdzona, ponieważ w teorii każda transakcja ma napędzać kolejne doczepione. Im większa ilość transakcji doczepianych do węzła, tym szybciej system działa. IOTA określiła swój projekt jako nieskończenie skalowalny, a w tym momencie czas oczekiwania jest wydłużony od tego początkowego. Moim zdaniem wynika to z braku optymalizacji kodu nodeów i wymaga to kilku zmian. Dodatkowo zmiana języka programowania z Javy, która wymaga uruchamiania przez kompiliator – Java Virtual Machine za każdym razem jak kod Javy jest wykonywany.

Działanie RaiBlocks

RaiBlocks nie tworzy swoistego węzła, a raczej kratowaty twór zwany block-lattice. Nie tworzy długiego łańcucha z blokami, jednakże stanowi bazę danych z personalnymi blockchainami dla każdego utworzonego adresu w RaiBlocks. Każdy z tych blockchainów ma w sobie 2 bloki, otrzymujący oraz wysyłający. Po wysłaniu środków, odbiorca otrzymuje poprzez zgarnięcie zaległych transakcji do swojego bloku otrzymującego transakcje. Zgarnięcie tych transakcji, to po prostu przypisanie im twojego prywatnego klucza. W RaiBlocks nie ma w przeciwieństwie do IOTA potwierdzeń twojej transakcji, przez inne transakcje. W Rai działa to na zasadzie systemu reprezentanta. Do przetworzenia transakcji wystarczy tylko to, aby twój blok był podpisany twoim prywatnym kluczem, nic więcej. Aby sprawdzić te warunki, Node przeszukuje blockchain aby potwierdzić twoje podpisy.

Teraz o najważniejszym, bo przez to mają szansę na sukces – skalowalność.

Czas transakcji

IOTA działa na zasadzie, im więcej transakcji tym szybciej zostanie przetworzona twoja. Tutaj nie zawsze to działa, IOTA ostatnimi czasy miała czasy oczekiwania aż po kilka dni. Kwestia techniczna.

Rai działa na prostej zasadzie. Podpisujesz swoją transakcję, podpisuje swoją transakcję osoba, która ją otrzymuje – załatwione.

Rozmiar

Zarówno IOTA jak i Rai mogą pochwalić się w miarę niską wagą. Kwestia rozwoju i sprawdzania jak developerzy radzą sobie z kompresją danych. Rai póki co zajmuje 3GB, IOTA ma fajny mechanizm ucinania starych transakcji, co w porównaniu do 150 GB sieci Bitcoin jest znaczną różnicą.

Decentralizacja

IOTA nie jest w pełni zdecentralizowana. Rai jest zdecentralizowany, nie ma żadnych centralnych struktur.

Podsumowanie

Obydwa systemy są rokujące. Wymagają sporo pracy jak każdy system, który się rozwija. Podchodzą do problemu decentralizacji zupełnie inaczej niż Bitcoin, Ethereum. Obydwa są przystosowane do przeprowadzania mikrotransakcji oraz do wchodzącego IoT. System RaiBlocks jest banalnie prosty, szybki i po prostu działa.

Ponadto IOTA cierpi na spore luki bezpieczeństwa. Dodatkowo nie jest w pełni zdecentralizowana i czeka ją sporo zmian. Rai natomiast jest zbyt młody, aby oceniać – posługują się głównie językiem C++.

Dodatkowo z analizy kodu widać sporo DŁUGICH linijek kodu, sporo zagnieżdżeń, sporo spaghetti code. Czeka ich spora refraktoryzacja, czyli uporządkowanie, ponowne przepisane zastosowując mniej skomplikowane struktury, aby kod był mniej podatny na ataki. Póki co oceniam podatność Rai na ataki jako niska, ale aby to utrzymać muszą popracować nad refraktoryzacją kodu.

Rai oceniam jako projekt z ogromnym potencjałem, plusy to skalowalność, prostota i działanie.

Minusy to, że jest to początek i trzeba zobaczyć, jak działa na pełnym obciążeniu. Oraz możliwość ataków w przyszłości, jeśli kod nie zostanie zrefraktoryzowany to pod pełnym obciążeniem jest spora szansa na ataki.

IamHellToday

0 komentarzy:

Dodaj komentarz

Chcesz się przyłączyć do dyskusji?
Feel free to contribute!

Dodaj komentarz