BLOGCZEJNalpha

Naukowe obliczenia rozproszone z kryptowalutami w tle

https://ipfs.busy.org/ipfs/QmXirgFoX2Zf8BhKvP6KHJoM4cC4xUvRgfi44jfXRzaH4w

Z BOINC jest tak jak z Bitcoinem we wczesnych latach, większość coś słyszało, ale nigdy nie spróbował. Ja też wielokrotnie słyszałem o programie, dzięki któremu możemy wspomagać jako wolontariusz obliczenia naukowców na całym świecie, ale nigdy nie pobrałem i nie zainstalowałem klienta. Potrzebowałem motywacji i to kryptowalutowej, o czym w dalszej części tego artykułu.

Wycinek historii

BOINC powstał na Uniwersytecie Kalifornijskim w Berkley, czemu zawdzięcza swoją nazwę, która w rozwinięciu brzmi Berkeley Open Infrastructure for Network Computing. Powstanie BOINC datuje się na 10 kwietnia 2002r.
Jeśli mówimy o BOINC, nie sposób cofnąć się w czasie do roku 17 maja 1999, kiedy każdy wolontariusz mógł ściągnąć aplikację projektu SETI i pomóc naukowcom w odnalezieniu pozaziemskich cywilizacji. Dane dostarczane przez radioteleskop w Arecibo przekraczały możliwości obliczeniowe naukowców skupionych wokół programu SETI z większości ośrodków badawczych. Z pomocą przyszedł ponownie internet i powstał projekt SETI@Home. Program skupił wokół siebie miliony internautów, a dane do obliczeń pobierane są z wspomnianego Arecibo, GBT (Green Bank Telescope) oraz LOFAR (Low Frequency Array).
Pamiętacie film Kontakt z 1997 roku? Tam własnie główna bohaterka jest uczestnikiem programu SETI Niestety film powstał przed powstaniem SETI@Home i film nie wspomina o wsparciu internautów w badaniach, ale wspomniane Arecibo pojawiło się w filmie.
Jak widać, pomysł na platformę BOINC wywodzi się z projektu SETI@home, który nadal pozostaje jednym z flagowych projektów uruchomionych na BOINC, a samo jego przeniesienie zostało ukończone dopiero pod koniec roku 2005r.
seti.png
Powyższy print screen strony przedstawia wizualizację działania platformy BOINC dla projektu SETI@Home. Polecam wejść, bo nie jest to strona statyczna.

Struktura platformy

Od początku XXI wieku powstał szereg projektów na platformę BOINC, struktura i możliwości konfiguracji dla poszczególnych projektów są bardzo podobne.
Oprogramowanie BOINC składa się z części pracującej po stronie serwera projektu i części uruchamianej przez ochotników na swoich maszynach.
Po stronie serwera nad działaniem całości platformy czuwa szereg programów, które między innymi:

  • dzielą dane do obliczeń między komputery użytkowników. Uwzględnia się przy tym moc obliczeniową komputera oraz średni czas, jaki dane urządzenie przeznacza na obliczenia dla BOINC. Dzięki czemu słabe komputery mogą dostarczyć wyniki na czas, a mocniejsze maszyny są wykorzystywane w pełni.
  • wyniki obliczeń są weryfikowane poprzez porównanie wyników dostarczonych przez innych użytkowników, do których wysyłane są równolegle dane do obliczenia. Ma to na celu wyeliminowanie oszustw i weryfikacje poprawności otrzymanych danych.
  • przyznają punkty kredytowe zależnie od czasu poświęconego na daną partię danych i mocy obliczeniowej, która została użyta do obliczeń. W założeniu punkty pomiędzy projektami powinny odpowiadać takiej samej ilości wykonanej pracy. Niestety bywa i tak, że niektóre projekty bywają bardziej szczodre.

Po stronie ochotnika działa klient BOINC, który umożliwia pobieranie danych do przeliczenia i aplikacji służących do ich obróbki. Może to budzić pewnego rodzaju obawy o próbę uruchomienia złośliwego oprogramowania. BOINC korzysta z cyfrowego podpisywania aplikacji, co ma na celu uniemożliwienie podłożenia fałszywej aplikacji. Pomimo tego zaleca się wnikliwe sprawdzenie projektów i instytucji za nimi stojącymi. Jeśli nie jest się komputerowym geekiem najlepiej wybierać znane od lat projekty, za którymi często stoją placówki naukowe.

Projekty

Na stronie BOINC znajduje się lista projektów. Należy zauważyć, że nie jest to kompletna lista projektów, ale tych najbardziej znanych. Aktualnie na liście znajduje się 35 projektów z różnych dziedzin. Obok wspomnianej astronomii mamy projekty z dziedziny matematyki, fizyki, biochemii, biologii, informatyki, klimatologii, medycyny, kryptografii.
Sam klient BOINC działa na wielu platformach, jednakże trzeba zauważyć, że jest to program pośredniczący i uruchamia podprogramy danego projektu, które niekoniecznie muszą być wieloplatformowe. Obsługiwane platformy: Windows, Linux, Linux ARM, Android, Mac OS X
Właściwie każda osoba z zacięciem programistycznym i pomysłem może otworzyć własny projekt. Przykładem może być polski projekt Radioactive@Home, którego celem jest stworzenie mapy radioaktywności za pomocą czujników podłączonych do komputerów wolontariuszy.
Z polskich akcentów warto również wymienić:

  • Universe@Home Centrum Astronomincznego im. Mikołaja Kopernika, którego celem jest symulacja dużych zbiorów gwiazdowych od momentu jego powstania, jego zmian aż do określenia przyszłych losów.
  • Enigma@Home, gdzie pomagamy za pomocą obliczeń rozproszonych rozkodować jedną z trzech wiadomości przechwyconą na Atlantyku w 1942 r.

Ciekawym multiprojektem jest World Community Grid otworzony przez firmę IBM, który skupia się na projektach z dziedziny medycyny, gdzie możemy łatwo dodać zadania i szukać leku na raka, badać ludzką mikrobiologię, zwalczać wirusa Zika, czy walczyć z AIDS. Do tego mulitprojektu jeszcze powrócimy.
Ciekawi mnie czy nasi steemowi astronomowie mieli epizody z projektami BOINC z dziedziny astronomii. Wołam @astromaniak i @debski.
Lista projektów na stronie BOINC

BOINC i kryptowaluty

Największym zarzutem w stosunku do kryptowalut jest zużywanie wielkich zasobów energii elektrycznej. Niektóre z kryptowalut odeszły od tego sposobu zabezpieczenia sieci i dystrybucji swojej waluty. Cała ilość monet zostaje utworzona w pierwszej chwili powstania sieci. Pozostaje problem zabezpieczenia sieci i dystrybucji, na której skupimy się w tym artykule.
Monety są w większości rozdawane za pomocą airdropów bądź sprzedawane w ico. Gdzieś tam po drodze pojawił się pomysł, żeby pomocą przy dystrybucji było nagradzanie za udział w obliczeniach rozproszonych.
Najbardziej głośną i właściwie dającą się dorobić, była dystrybucja Ripple poprzez BOINC i projekt World Community Grid. Na początku dystrybucji w ciągu jednego dnia komputer stacjonarny był w stanie zwrócić rezultaty za 5000 WCG Points, za które dostawano 1000 Ripple (XRP), które wtedy były warte 30zł, kto pobawił się i zapomniał, a przypomniało mu się w okolicy ATH 3,84$, mógł ustawić sobie na nowo życie. Mały ślad tych wydarzeń znajdujemy na wykopie w tym poście.
Na chwilę obecną powiązane z platformą BOINC są następujące kryptowaluty: Gridcoin, Byteball, DCC Credits* , BiblePay* (* to bardziej na razie ciekawostki). Na razie biorę udział tylko w dystrubucji Byteball poprzez BOINC, więc na tej kryptowalucie skupię się w niniejszym artykule. Nie wykluczam pojawienia się osobnego artykułu o Gridcoin, który wspiera wiele projektów, lista tutaj.

Airdrop Byteball dla użytkowników World Community Grid

byteball_web.png

Byteball poszedł za przykładem Ripple (XRP) i przygotował airdrop dla użytkowników World Community Grid. Nie jest on może tak spektakularny jak wyżej opisany, ale nagroda jest wypłacana w przeliczeniu na dolary, więc w teorii niestraszne są nam wahania kursu, jeśli kurs spadnie, to dostaniemy więcej kryptowaluty. Dodatkowym atutem jest nagrodzenie każdej odesłanej próbki danych, więc można stać się posiadaczem swojej części kryptowaluty w zaledwie dobę i nie ma czegoś takiego jak minimalna ilość do wypłaty
Jak to wygląda w praktyce. Dla zaprawionych w bojach z BOINC, a nie z World Community Grid dodajmy, że 1 BOINC Credit = 7 WCG Points, więc przy szacowaniu "zarobków" trzeba przemnożyć razy 7. Za każdy zwrócony i zweryfikowany (porównany z innym, równolegle wysłanym) rezultat dostaniesz WCG Points, a za 100 000 WCG Points otrzymasz 1$, ale jeśli należysz do Team Byteball na WCG dostaniesz dodatkowo +10% . Załóżmy, że w danym dniu zwrócisz rezultaty za 10000 WCG Points, co nie jest jakimś wynikiem wyżyłowanym, ale też niemałym. Czyli otrzymasz za, to w Byteball równowartość 0,1$ + 0,01$ (+10%)=0,11$.
Użytkownicy, którzy wcześniej mieli przyjemność wspierać World Community Grid dostaną za zgromadzone punkty przed rejestracją w dystrybucji Byteball następujące kwoty:

  • 100,000 to 1,000,000 WCG Points: $0,20;
  • 1,000,000 to 10,000,000 WCG Points: $3,00;
  • 10,000,000 to 100,000,000 WCG Points: $40,00;
  • ponad 100,000,000 WCG Points: $150,00

Czy to w ogóle się opłaca

money-2180330_1920.jpg

No właśnie, czy w ogóle opłaca się brać udział w tej dystrybucji. Pytanie, czy do kwestii opłacalności bierzemy pod uwagę to, że wspieramy projekty ważne dla ludzkości.
Projekty z World Community Grid na chwilę obecną są liczone tylko za pomocą CPU, więc sposób taki na pewno nie będzie alternatywą dla zaprawionych w bojach górników kryptowalut.
Amatorzy kryptowalut, którzy w swoim życiu próbowali kraników, tudzież kopania za pomocą MinerGate, mogą zostać pozytywnie zaskoczeni. Przynajmniej ja, gdy bawiłem się hobbistyczne przez chwilę na moim laptopie w Coinpot, tudzież wspomniany MinerGate, stwierdziłem, że szkoda mi życia i sprzętu, żeby doczekać się do jakiejś groszowej wypłaty, to tu po jednym dniu mogę uzyskać kryptowalutę o realnej wartości.
Chcąc oszacować potencjalny zysk na potrzeby tego artykułu, zarejestrowałem w programie nowe konto (steemwcgtest), które przez 12h liczyło na najbardziej wydajnych ustawieniach, a za pomocą prostego kontaktowego multimetru (w którego instrukcji pominięto klasę dokładności, więc wskazania licznika energii mogą się trochę różnic) sprawdziłem pobór energii.
Laptop jakim dysponuję, to wyposażony w procesor i5-5200U 2.2 GHz, 8 GB RAM, dysk hdd, czyli średnia półka parę lat temu.
Oczywiście wszystkie próbki nie policzą się do końca w ramach 12h. Nowe rozpoczęte, a nie zakończone próbki zostały pominięte.
Po weryfikacji po stronie serwera World Community Grid zostało ostatecznie przyznanych 7364 WCG Points. Próbki zwracaliśmy przez 12 h, a punkty WCG są przyznawane, co 12 h po weryfikacji, natomiast nagroda w Byteball jest przyznawana raz dziennie, dlatego dostałem 3 razy wypłatę na mój portfel Byteball , większość próbek została zaakceptowana od razu stąd wypłaty (21.10 i 22.10), ale z jedną miałem szczęście i zwróciłem ją jako pierwszą i przyszło mi czekać do 28.10.
Na stronie wcg.report można śledzić na bieżąco poszczególne dni dystrybucji i ile Byteball jest przelewanych na konta użytkowników. Jak łatwo zauważyć, niektóre podłączone konta dysponują nieporównywalnie większą mocą obliczeniową niż mój jeden komputer (pod jedno konto można podpiąć niezliczoną ilość komputerów).
Poniżej bezpośrednie linki do wyżej opisanych dni, kiedy konto steemwcgtest dostawało wypłaty:
21.10
22.10
28.10
Załóżmy teraz abstrakcyjnie, że kurs Byteball nie zmienia się w czasie i każde 100 000 WCG Points = 1$. Tak więc przez 12h w takim przypadku powinienem otrzymać równowartość 0,08$ (0,3zł przy 3,8zł=1$), a mnożąc to przez 60 (miesiąc) otrzymać 4,86$ (18,47 zł)
W opisanym eksperymencie mierzyliśmy energię elektryczną i licznik energii elektrycznej wskazał: 0,237kWh, co przy cenie prądu 0,41 zł za 1 kWh ~ 10gr (0,03$), a ponownie mnożąc razy 60 otrzymamy 5,83 zł (1,53$)

Teoretycznie zysk jest, ale zanim rzucimy się do podpięcia każdego możliwego urządzenia do BOINC, a można również podpiąć telefony z systemem android:

  • należy uwzględnić, że jeśli komputer pracuje 24h/7dni, to zużywają się jego podzespoły (zwłaszcza dysk twardy)
  • moim zdaniem laptop nie jest przewidziany do takiej pracy, a wymiana np wentylatorów w laptopie nie jest taka prosta jak w komputerze stacjonarnym
  • producenci komórek, też nie przewidywali takiego obciążenia, więc jak nie chcecie spalić domu nie podpinajcie starych komórek do ładowarek i nie katujcie ich.

Zalety

  • bezpieczeństwo pozyskiwania kryptowaluty w porównaniu z kranikami
  • zarabiamy może grosze, ale robimy coś pożytecznego dla ludzkości
  • miałem bardzo krótkie doświadczenie z Coinpot i Minergate, ale opłacalność (o ile możemy w takim przypadku o tym mówić) takiego rozwiązania bije powyższe na głowę i nie musimy uzbierać wysokiej minimalnej kwoty do wypłaty.
  • możemy zainstalować na dowolnej ilości maszyn, można wykorzystywać marnujące się zasoby np. serwera dedykowanego.

Jeśli nie zniechęciłem Was, a przy okazji korzystania codziennie z komputera chcecie wspomóc naukę i otrzymać w zamian Byteball, to przedstawiam krótki poradnik, jak to zrobić.

Udział w dystrybucji

Należy wypełnić kilka prostych kroków, aby cieszyć się spływającymi Byteball na portfel.

  • Rejestrujemy się na stronie World Community Grid i wybieramy projekty, w których chcemy wziąć udział. Da się to w każdej chwili zmienić.

  • Klikamy upublicznienie statystyk, aby bot Byteball mógł ściągnąć nasze wyniki. (settings>my profile>choose to display or hide your data > display my data)

  • Pobieramy klienta BOINC. Podajemy login i hasło. Na stronie World Community Grid dostosujemy ustawienia dla danego urządzenia (settings > device manager / device profiles)

  • Pobieramy portfel Byteball ze strony Byteballorg. Przy instalacji na komputerze nie wybieramy pełnego portfela, bo czas synchronizacji można liczyć w tygodniach.

  • Wchodzimy do zakładki czat, wybieramy Bot Store World Community Grid linking bot, dodajemy bota. Postępujemy zgodnie z instrukcjami bota, czyli zmieniamy nazwę swojego konta w World Community Grid (settings>my profile> username) na podaną przez bota. Po zmianie klikamy na "Check my account". Podajemy adres naszego portfela rozwijamy ikonkę z trzema kropkami i wybieramy "Wprowadź mój adres".

  • Jeśli chcemy zmienić nazwę naszego konta na pierwotną, zmieniamy ją w ustawieniach na World Community Grid, a w portfelu wybieramy "Change WCG username"

wallet.png

Kilka słów na koniec

Jeśli doczytałeś do końca, jestem pod wrażeniem. Gratuluję determinacji. Jeśli postanowiłeś spróbować daj znać w komentarzu ;)

KOMENTARZE

  • mys

    Szczerze przeleciałem tekst wyrywkowo. Szacun że chciało ci się tak rozpracować ByteBalle.
    Patrząc po cenie to leci w otchłań i końca nie widać.
    Edit: Gridcoin jeszcze widzę ciekawy. Trzeba doczytać ;;)

  • wolontariusz

    Przebrnąłem. Mamy podobne doświadczenia z kopaniem i Twoje wnioski pokrywają się z moimi. Projekt mnie zainteresował, doczytam sobie o nim. Byłem kiedyś zaangażowany sprzętowo w projekt SETI. Dzięki.

    Update.

    Zarejestrowałem się, zainstalowałem portfel, wystartowałem w programie Smash Childhoog Cancer.

    Dzięki za świetną instrukcję.

  • ilovecryptopl

    Bardzo ciekawy opis z dobrym researchem :)