Internet Rzeczy przywiąże użytkowników do usług. Blockchain pomoże zapewnić im bezpieczeństwo
Według tezy, którą postawił Jay Bryan Nash w swojej książce pt. „Spectatoritis” wydanej w 1932 roku, za sprawą technologii ludzkość ma szansę powrócić do czasów słynnego lenistwa antycznej Grecji. Ma to być możliwe dzięki posiadaniu przez użytkowników dużej liczby technicznych urządzeń znacząco ułatwiających życie.
Za sprawą dzisiejszych rozwiązań technologicznych idea ta zaczyna się realizować na naszych oczach. Szeroki dostęp do tanich programowalnych urządzeń sprzętowych oraz efektywnych sieci bezprzewodowych pozwala użytkownikowi nie tylko korzystać z dobrodziejstw technologii, ale daje dodatkową możliwość jej kreowania i dostosowania do swoich potrzeb.
Czy obecnie rozwijane rozwiązania technologiczne, takie jak Internet Rzeczy, czy Blockchain są początkiem do wdrożenia w życie wizji Bryan’a Nasha? Na pewno dadzą one możliwość podjęcia próby współtworzenia tej koncepcji każdemu z nas.
Czym jest Internet Rzeczy?
Uważa się, iż twórcą określenia Internet Rzeczy (ang Internet of Things, IoT) jest Kevin Ashton. Został on wtedy powiązany z nową koncepcją wykorzystania Radiowych Systemów Automatycznej Identyfikacji (Radio Frequency Identification RFID) w łańcuchach dostaw. Jako definicję Internetu Rzeczy można przytoczyć rozproszony ekosystem urządzeń, w którym jednoznacznie identyfikowalne przedmioty mogą pośrednio albo bezpośrednio gromadzić, przetwarzać lub wymieniać dane za pośrednictwem rożnego rodzaju kanałów transmisji danych.
Istnieje także termin Internet Wszechrzeczy (ang. Internet of Everything – IoE). Jest to określenie wzajemnych powiązań sieci ludzi, procesów przetwarzania danych oraz przedmiotów, które są ze sobą powiązane poprzez połączenie z Internetem. Termin ten został po raz pierwszy użyty w opracowaniach firmy CISCO, obecnie bardzo często jest on stosowany zamiennie z określeniem IoT.
Rozwiązania z zakresu szeroko pojętego Internetu rzeczy znajdują coraz szersze zastosowania. Szacunkowe dane mówią, że do roku 2020 do sieci Internet będzie podłączonych około 50 mld urządzeń. Przy liczbie 3 mld podłączonych urządzeń do sieci w 2013 r, oraz 5 mld w roku 2015 wzrost ten jest bardzo znaczący.
Już teraz gospodarstwa domowe, w których do sieci WiFi podłączonych jest kilkanaście urządzeń nie są rzadkością. W momencie pisania tego tekstu mój domowy router obsługuje 12 urządzeń – od laptopów i komputera stacjonarnego, poprzez smartfony i smartwatche domowników, domowe oczyszczacze powietrza, czujniki temperatury oraz urządzenia sterowania i kontroli automatyki domowej.
Urządzenia stosowane w systemach Internetu Rzeczy
Rozwój tanich jednoukładowych urządzeń, które pozwalają na komunikację z czujnikami zewnętrznymi i jednocześnie obsługują popularne protokoły komunikacyjne używane w sieci Internet pozwala na stosunkowo łatwą budowę szerokiego spektrum systemów Internetu Rzeczy. Jedną z pierwszych platform tego typu była platforma Arduino. Stworzono ją głównie do zadań edukacyjnych. Zdobyła ona jednak popularność i jest stosowana do dziś w wielu projektach.
Prostota tej platformy pozwala na łatwe programowanie i zbudowanie układów elektronicznych przez osoby mające małe doświadczenie z elektroniką i programowaniem. Możliwość integracji Arduino z wieloma dostępnymi na rynku czujnikami i systemami sterowania sprawiły, iż jest ona również używana w projektach Internetu Rzeczy. Pomimo że platforma Adruino została utworzona w roku 2003, nie straciła na popularności i nadal stanowi podstawę wielu projektów.
Inną popularną platformą stanowiącą bazę dla budowy systemów Internetu Rzeczy jest Raspberry Pi. Ta platforma pozwala na pracę pod kontrolą systemu operacyjnego Raspbian. System ten bazuje na popularnej wersji Linuxa, co pozwala na uruchomienie ogólnie znanych aplikacji takich jak serwery WWW, bazy danych, oraz zastosowanie języków programowania wysokiego poziomu do implementacji programów sterowania i kontroli urządzeń, lub pomiaru parametrów środowiskowych za pomocą czujników zewnętrznych.
Urządzenie Raspberry Pi jest wyposażone w szereg interfejsów znanych z tradycyjnych komputerów PC. Posiada ono gniazda USB, interfejs do współpracy z przewodową siecią Ethernet, jak również obsługuje protokoły komunikacji bezprzewodowej takie jak popularne WiFi czy Bluetooth. Raspberry Pi może więc pełnić rolę nie tylko urządzenia komunikacyjnego z infrastrukturą sterowania i siecią czujników, ale również może być użyte jako urządzenie współpracujące z istniejącymi usługami działającymi w sieci Internet.
Urządzenie Raspberry Pi posiada dodatkowe 40-pinowe złącze, które pozwala na podłączenie do niego zewnętrznych urządzeń. Przedstawione platformy nie są jedynymi dostępnymi na rynku urządzeniami, które mogą posłużyć jako bazowe rozwiązania do projektów systemów informatycznych działających w sieci Internet. Inne tego typu popularne platformy używane w projektowaniu systemów Internetu Rzeczy to:
- Orange Pi – Jest to otwarta platforma sprzętowa, która działa pod kontrolą systemu operacyjnego Android. System operacyjny może być zainstalowany bezpośrednio w pamięci Flash urządzenia. Jedna z wersji tej platformy pozwala również na wykorzystanie sieci telefonii komórkowej do transmisji danych.
- NodeMCU – Urządzenie bazujące na układzie ESP8266. Układ ten początkowo został stworzony jako rozszerzenie dla Arduino pozwalające na komunikowanie się za pośrednictwem sieci WiFi. Obecnie jest wykorzystywany w wielu platformach Internetu Rzeczy. Node MCU wyposażone jest w 10 portów ogólnego przeznaczenia, które mogą obsługiwać szerokie spektrum popularnych urządzeń. Platforma ta może współpracować z czujnikami analogowymi i cyfrowymi, oraz umożliwia komunikowanie się z urządzeniami za pośrednictwem magistral elektronicznych takich jak I2C lub 1-wire. Oprogramowanie dla NodeMCU może być tworzone w bardzo prostym języku skryptowym LUA.
- Onion Omega 2 – Jest jedną z najmniejszych dostępnych na rynku platform jednoukładowych, która pracuje pod kontrolą systemu operacyjnego Linux. Została stworzona z myślą o zastosowaniach hobbystycznych. Urządzenie ma wbudowany moduł komunikacji z sieciami WiFi. Posiada ono również oryginalny sposób interakcji z użytkownikiem. Administrowanie urządzeniem odbywa się przez wbudowana platformę webową. Dla właścicieli tego urządzenia producent udostępnia również własną platformę, która może być używana dla potrzeb integracji i udostępniania danych.
NodeMCU, Onion Omega 2 i Orange Pi.
Przykłady wykorzystania systemów Internetu Rzeczy
Dzięki obecności na rynku przedstawionych platform, budowa i projektowanie Systemów Internetu Rzeczy stało się dostępne dla hobbystów i entuzjastów nowoczesnych technologii. Po przedstawione rozwiązania sięga również rynek edukacji. Przykładem projektów wykorzystujących tego typu platformy mogą być warsztaty edukacyjne.
Dzięki nowoczesnym i prostym w wykorzystaniu systemom szkoły nawet z mniejszymi zasobami finansowymi mogą zapoznać słuchaczy z podstawami sterowania, automatyki i komunikacji w sieciach Internet, a osoby uczestniczące w tego typu szkoleniach mogą cieszyć się efektami swojej pracy w krótkim czasie. Jednym z takich warsztatów jest prowadzony w Akademii WSB cykl szkoleń dotyczących budowy i programowania robotów.
Internet rzeczy i otwarte platformy sprzętowe są również wykorzystywane w projektach biznesowych, inicjatywach społecznościowych i projektach badawczych. Przykładem takich zastosowań jest system akwizycji danych hydroagrometeorologicznych zrealizowany przez jedną z katowickich firm. Dzięki zastosowaniu platform uruchomieniowych zintegrowano szereg czujników i profesjonalną stację meteorologiczną.
Powstały w ten sposób system pozwolił na udostępnianie danych i ostrzeżeń o zagrożeniach meteo dla potrzeb badawczych i ostrzegania przed niebezpiecznymi zdarzeniami związanymi z pogodą. Na rysunku 3 zamieszczono fotografię elementów tego systemu. Zdjęcia zostały udostępnione przez firmę Info Met Katowice.
Wspomniany system jest całkowicie autonomiczny pod względem zasilania i pozwala na nieprzerwalne udostępnianie danych pomiarowych i ostrzeżeń w sieci Internet. Dzięki zastosowaniu rozwiązań opartych o urządzenia mające zastosowanie w prototypowaniu systemów IoT udało się znacząco zmniejszyć koszty realizacji takiego przedsięwzięcia.
System Internetu Rzeczy udostępniający informacje hydroagrometeorologiczne.
Przedstawione przykłady stanowią potwierdzenie faktu, że budowa nowych rozwiązań bazujących na systemach Internetu Rzeczy przestała być domeną jedynie dużych firm i organizacji, a coraz częściej staje się inicjatywą hobbystów, mniejszych przedsiębiorstw i startupów. Szerokie wykorzystanie systemów IoT niesie ze sobą również zagrożenia. Wiele dzisiejszych inicjatyw biznesowych jest mocno uzależnionych od prawidłowego działania systemów przekazywania danych.
W najbliższej przyszłości może okazać się, iż ograniczeniem w stosowaniu nowych technologii jest architektura stosowanych obecnie systemów przesyłania danych. Z tego względu konieczne staje się zaproponowanie nowych zdecentralizowanych systemów przekazywania informacji, które zagwarantują dodatkowo wysoki stopień bezpieczeństwa, takich jak system rejestrów rozproszonych (ang. Blockchain).
Rozwój systemów Blockchain
Blockchain, czyli system rejestrów rozproszonych to baza danych, która pozwala na przechowywanie informacji na wielu węzłach. Dane są przetrzymywane na wielu urządzeniach i dzięki temu można uzyskać większą odporność na awarię w stosunku do tradycyjnych systemów opartych o pojedynczy serwer bazodanowy.
Blockchain do zapisu danych stosuje specjalną strukturę w postaci drzewa, w którym kolejne elementy udostępniające miejsce na dane (tzw. bloki) są ze sobą powiązane poprzez funkcje kryptograficzne. Bloki są tworzone w procesie wydobywania, czyli szukania powiązań pomiędzy nimi przy pomocy algorytmów kryptograficznych.
Systemy blockchain dzięki zastosowaniu metod kryptografii charakteryzują się większa odpornością na ewentualne próby modyfikacji danych przez osoby niepowołane. Tego typu sposoby zapisywania danych sprawdziły się doskonale w systemach kryptowalutowych takich jak Bitcoin. Ten sposób przechowywania danych ma również swoje wady. Jedną z nich jest olbrzymia moc obliczeniowa, która jest potrzebna do wydobywania kolejnych bloków. Jest to również związane z samym algorytmem działania Bitcoina, który zakładał właśnie taką wzrost mocy obliczeniowej.
Oprócz Bitcoina pojawiło się wiele innych systemów kryptowalutowych, które używają rejestru rozproszonego do zapisu informacji. Najpopularniejszymi z nich są Ethereum, Ripple, DogeCoin i wiele innych.
Spośród grona nowych systemów kryptowalutowych na uwagę zasługuje Ethereum. Pozwala on nie tylko na transfer środków w postaci waluty elektronicznej, ale uruchamianie programów zwanych smart-kontraktami. Są to skrypty napisane w języku Solidity bazującym na popularnym języku programowania JavaScript. System Ethereum pozwala na przechowywanie smart-kontraktów w tej samej przestrzeni działającej w oparciu o łańcuch bloków, w której są przechowywane informacje o stanie kont kryptowalutowych użytkowników.
Smart-kontrakty korzystają z rozproszonej mocy obliczeniowej wszystkich urządzeń, które są połączone w ramach łańcucha bloków. Architektura rejestru rozproszonego powoduje, iż nie istnieje pojedynczy punkt awarii. Nawet w przypadku awarii części z węzłów system oparty o smart-kontrakty będzie mógł nadal działać.
Synergia Internetu Rzeczy i systemów Blockchain
Systemy Internetu Rzeczy wymagają coraz częściej integracji wielu urządzeń i rozwiązań w jedną całość. W dalszym ciągu nie istnieją jednak standardy komunikacji pomiędzy urządzeniami, które są akceptowane przez wszystkich producentów systemów IoT. Istnienie platform opartych o rozproszony system zapisu danych w postaci Blockchain może ułatwić taką integrację. Z drugiej strony nadmiar mocy obliczeniowej w urządzeniach Internetu Rzeczy może posłużyć do podtrzymania działania rozproszonego rejestru wymiany danych.
Obecnie większość systemów Internetu Rzeczy wykorzystuje technologie znane z tradycyjnego Internetu, które są zależne od ciągłości działania pojedynczych serwerów. Awaria takiego serwera, czy urządzenia pośredniczącego może doprowadzić do braku możliwości świadczenia usług przez system.
Internet Rzeczy spowoduje coraz większe przywiązanie użytkowników do różnego rodzaju usług. W przyszłości takie awarie mogą więc mieć jeszcze bardziej dotkliwe skutki niż w chwili obecnej. Z tego względu wymagania dotyczące nowoczesnego Internetu przyszłości, który będzie elementem integrującym ludzi i przedmioty należy zdefiniować od nowa. W tej definicji nie może zabraknąć wymagań odnośnie bezpieczeństwa danych i ochrony globalnych systemów informatycznych przed monopolizacją przez wielkie koncerny. Przedstawione rozwiązania IoT, oraz zdecentralizowane systemy oparte o łańcuchy bloków mogą być znaczącym krokiem w kierunku spełnienia tych wymagań.
Zainteresowanych tematyką artykułu zapraszamy do Akademii WSB na studia I i II stopnia z zakresu systemów rzeczywistości wirtualnej, systemów telemetrycznych i Internetu Rzeczy, a także sieci komputerowych i baz danych.
Paweł Buchwald
Dr inż. nauk technicznych, pracownik naukowy Akademii WSB i wykładowca akademicki. Naukowo zajmuje się nowoczesnymi zagadnieniami grafiki komputerowej i zastosowaniem urządzeń mobilnych oraz systemami przetwarzania danych. Związany z firmami z branży IT wdrażającymi nowoczesne rozwiązania informatyczne. Entuzjasta nowoczesnych technologii z dziedziny AR i VR.