Blockchain w koordynowaniu rojów robotów
| TechnikaRoje (ławice) robotów to grupy tych maszyn, które dzięki interakcji wzajemnej i z otoczeniem kolektywnie wykonują dane zadanie sprawniej niż w pojedynkę. Ich potencjał jest ogromny, dlatego od lat prowadzone są prace nad tą gałęzią robotyki. Koordynowanie robotów w roju nie jest jednak łatwe. W związku z tym, w tym zakresie pod uwagę brane są niestandardowe rozwiązania, jak blockchain, na którym opierają się kryptowaluty. W artykule wyjaśniamy, czym jest i jakie może mieć zastosowanie w robotyce ławicy.
Robotyka roju czerpie inspirację z natury, wzorując się na gatunkach owadów, które tworzą, mniej albo bardziej zaawansowane, struktury społeczne i które są w stanie wspólnie wykonywać zadania przekraczające możliwości jednostek. Przykładami takich są: pszczoły, osy, mrówki, termity. Przez lata zbiorowe zachowania tych owadów, jak: ostrzegawczy taniec pszczół, budowanie gniazd przez osy i kopców przez termity albo podążanie przez mrówki tropem innych mrówek z danej kolonii w celu poszukiwaniu pożywienia, pozostawały niezrozumiałe. Z czasem jednak ich mechanizm udało się biologom rozszyfrować.
Inspiracja naturą
Wykazano, że osobniki w kolonii owadów społecznych nie są informowane o jej globalnym statusie ani nie ma w niej lidera kierującego pozostałymi owadami w celu wykonania zadania. Zamiast tego owady wymieniają się lokalnymi informacjami, przykładowo o położeniu pożywienia albo źródła zagrożenia, bez wiedzy o ogólnej sytuacji. Komunikacja pomiędzy nimi jest realizowana poprzez dokonywanie zmian w otoczeniu – na przykład mrówki znakują feromonami ścieżki prowadzące do pożywienia. Stosownie do tą drogą pozyskanych informacji od "współpracowników" owady modyfikują swoje zachowanie i komunikują je dalej. Interakcja pomiędzy jednostkami i nimi, a środowiskiem jest zatem propagowana na całą kolonię, która dzięki temu zyskuje zdolność do samoorganizowania się.
Podsumowując, owady społeczne są zdolne do kolektywnych złożonych zachowań dzięki połączeniu: dodatniego sprzężenia zwrotnego, ujemnego sprzężenia zwrotnego, losowości zachowań i wielokrotnych interakcji. Pozwala to rojom na kontynuację pracy, nawet jeżeli niektórzy członkowie kolonii nie są już do tego zdolni i przystosowywanie się do różnych zadań przez odpowiednią do aktualnych potrzeb modyfikację zachowania poszczególnych osobników. Ważną ich cechą jest skalowalność – są w stanie pracować w grupach o różnej liczebności.
Powyższe cechy są wysoce pożądane w rozwiązaniach zautomatyzowanych, na potrzeby przemysłu i nie tylko. Nic więc dziwnego, że efektywność i elastyczność pracy zespołowej owadów motywuje do poszukiwania sposobu na skopiowanie natury i przeniesienie jej wzorców na grunt robotyki.
Roje robotów i ich aplikacje
Na wstępie warto przedstawić definicję i warunki, jakie decydują o zakwalifikowaniu zespołu robotów jako roju. Odwzorowując naturę, przyjmuje się, że jest to grupa dużej liczby robotów, zaprojektowanych w taki sposób, żeby dzięki lokalnym interakcjom między nimi i nimi a ich otoczeniem można było uzyskać zakładane kolektywne zachowanie.
Uzupełnieniem definicji są kryteria pozwalające na odróżnienie rojów od pozostałych typów systemów z wieloma tego typu maszynami. Powinny to być roboty autonomiczne. Najlepiej, jeżeli rój składa się z maszyn jednego typu. Samodzielnie roboty powinny być niezdolne do albo nieefektywne w realizacji zadania, czyli by je wykonać lub poprawić efektywność jego realizacji muszą ze sobą współpracować. Poza tym maszyny mogą mieć możliwość jedynie lokalnej komunikacji i interakcji, a brak centralnego sterowania i rozproszona koordynacja powinny zapewnić skalowalność roju.
Potencjał zastosowań rojów robotów jest ogromny – ich zakres obejmuje szereg dziedzin, od monitorowania środowiska po usuwanie skutków awarii, konserwację infrastruktury, logistykę, rolnictwo. Chociaż nie ma jeszcze wielu wdrożeń na większą skalę, prowadzone są badania nad ich różnymi aplikacjami. Przykłady to m.in. zespoły robotów: poszukujące w śniegu zasypanych ofiar lawin, dokonujące rozpoznania na polu bitwy, wykrywające wycieki chemikaliów i formujące się w taki sposób, by wypływ zanieczyszczeń doraźnie zatamować lub zbierające chemikalia, jak na przykład plamy ropy czy oleju z powierzchni wody, transportujące wspólnie obiekty czy formujące się w interaktywne wyświetlacze.
Jedną z największych przeszkód we wdrażaniu rojów robotów w zastosowaniach komercyjnych pozostaje bezpieczeństwo. Głównym zagrożeniem jest zhakowanie jednego albo kilku robotów, które w konsekwencji będą wysyłać innym członkom zespołu nieprawidłowe informacje, dezorganizując kolektywne działania. Kwestia "zaufania" jestem zatem kluczowa dla poprawności i efektywności robotów pracujących w zespole. W jego zapewnieniu zdaniem badaczy może pomóc rozwiązanie z zupełnie niezwiązanej z robotyką dziedziny kryptowalut.
Czym jest blockchain?
Najprościej rzecz ujmując, blockchain to architektura przechowywania informacji. W praktyce jest to rozproszona baza danych współdzielona przez wielu użytkowników. W kontekście kryptowalut, jak bitcoin, jest wykorzystywana jako rejestr transakcji. Jej wyróżnikiem jest to, że z samej swej specyfiki gwarantuje wiarygodność i bezpieczeństwo danych, bez konieczności uciekania się do zaufanych rozwiązań strony trzeciej.
To, co odróżnia architekturę blockchain od "zwykłych" baz danych to struktura danych. W tych drugich informacje są przechowywane w tabelach, podczas gdy w blockchainie, jak to zresztą sugeruje nazwa, wykorzystuje się łańcuchy połączonych ze sobą bloków, w których zapisuje się dane, na przykład o transakcjach zarejestrowanych w danym systemie księgowym. Bloki mają określoną pojemność pamięci – po jej zapełnieniu blok jest zamykany i dodawany do łańcucha, za blokiem wcześniejszym. Dzięki przypisanym sygnaturom czasowym bloki w blockchainie są ustawione w porządku chronologicznym. Kiedy nadejdą nowe informacje, nie ma możliwości nadpisania istniejącego bloku – w zamian tworzy się nowy. Zapisane dane są zatem niemodyfikowalne.
Czy blockchain jest bezpieczny?
Blockchain zapewnia wiarygodność i bezpieczeństwo danych na kilka sposobów. Po pierwsze, kluczową cechą tej architektury jest decentralizacja. Żadne informacje nie są w jej przypadku przechowywane centralnie, a w zamian łańcuch bloków jest kopiowany i rozpowszechniany wśród użytkowników. Ich kopie, za każdym razem, gdy dodawany jest nowy blok, zostają zaktualizowane. Takie podejście zapewnia nadmiarowość, a dodatkowo jest dzięki niemu nieporównywalnie trudniej manipulować zapisami w porównaniu do modyfikacji danych przechowywanych w centralnej bazie. Wynika to stąd, że haker co najwyżej jest w stanie naruszyć lokalną kopię danych.
Po drugie, kolejne bloki w łańcuchu są ze sobą powiązane, w każdym z nich bowiem zapisane są, poza informacjami o na przykład transakcjach w kryptowalucie, unikalne dane: hash, hash bloku poprzedniego i wspomniany wcześniej znacznik czasu. Hash obliczany jest dla zawartości bloku.
Dlatego, jeżeli ta zostanie w jakikolwiek sposób zmodyfikowana, zmieni się także przypisany jej skrót. Jeżeli niezgodność wystąpi w lokalnej kopii bazy danych zmienionej w nieuprawniony sposób, zostanie to od razu przy kolejnej aktualizacji wykryte przez innych użytkowników.
Aby ingerencja taka mogła pozostać niezauważona, nie wystarczy zatem zmiana w jednym bloku – haker musiałby jednocześnie zmienić co najmniej połowę kopii łańcucha bloków. Operacja taka byłaby jednak bardzo zasobochłonna, ponieważ modyfikacja dużej liczby sygnatur czasu oraz hashów wymagałaby ogromnej mocy obliczeniowej. Nie ma także poza tym gwarancji, że w reakcji na podejrzane modyfikacje blockchain nie zostałby rozgałęziony, przez co okazałoby się, że haker kontroluje w praktyce jego bezwartościową część.
Blockchain w rojach i nie tylko
Kryptowaluta bitcoin jest obecnie najpowszechniej kojarzonym zastosowaniem blockchainu, ale nie jedynym. Coraz częściej unikalne cechy tej architektury baz danych są wykorzystywane w kolejnych aplikacjach. Przykładem jest wykorzystanie blockchainu w śledzeniu trasy, jaką od producenta do konsumenta przebywa produkt żywnościowy. Dzięki temu, w przypadku jego zanieczyszczenia, źródło skażenia można szybciej i bez obawy o zafałszowanie informacji zidentyfikować.
Blockchainu używają również banki. Kolejną branżą, która może z niego skorzystać, jest opieka zdrowotna – blockchain można by wykorzystać do przechowywania dokumentacji medycznej pacjentów z gwarancją jej niezmienności, bezpieczeństwa i prywatności. Kolejny przykład to ewidencjonowanie praw do nieruchomości. Blockchain potencjalnie może też uniemożliwić manipulowanie głosami podczas wyborów.
Blockchain umożliwia także stworzenie odpornego na manipulacje systemu wymiany informacji między robotami w roju. W tym przypadku w blokach przechowywane byłyby informacje od poszczególnych robotów. W razie nieuprawnionej złośliwej zmiany wprowadzonej przez jednego z nich, reszta po wykryciu niespójności błędne wskazówki mogłaby zignorować. Połączenie blockchainu z systemem punktów odbieranych za każde błędne pokierowanie, uwzględniając możliwość zwykłej pomyłki, ostatecznie prowadziłoby do eliminacji robota wprowadzającego resztę roju w błąd.
Monika Jaworowska