Sztuczna inteligencja i blockchain

Patrząc na postęp technologiczny, jaki dokonał się w ostatnich kilku latach, trudno wymienić dwie bardziej przełomowe technologie niż sztuczna inteligencja i blockchain. Pierwsza z nich otworzyła całkiem nowe możliwości na polach analizy danych, przewidywania wyników i robotyce. Druga na całkiem nowy poziom wyniosła decentralizację, transparentność oraz bezpieczeństwo wynikające z wbudowanej w blockchain gwarancji niezmienności. Obie technologie są cały czas w dość wczesnej fazie adaptacji, ale rozpoczynająca się dekada może być dla nich okresem pełnego rozkwitu. Utworzona z wykorzystaniem AI i blockchain nowa ekonomia oparta na danych, sztucznej inteligencji i systemach zdecentralizowanych jest obietnicą jednocześnie kuszącą, jak i rodzącą pewne obawy. Czy sztuczna inteligencja i blockchain mogą na trwałe skrzyżować swoje drogi? Czy ich współpraca może przynieść efekt synergii, czy też ich dalszy rozwój będzie bardziej silosowy, z nielicznymi punktami styku? Jakie są pola do potencjalnej współpracy i jakie korzyści może przynieść jednoczesne zastosowanie obu technologii?

Sztuczna inteligencja – technologia (najbliższej) przyszłości

Paradoksalnie AI jest dość wiekową nauką, bo jej początki sięgają lat pięćdziesiątych ubiegłego stulecia. Dziedzina przechodziła przez ten czas przez wiele trudnych okresów, głównie z dwóch powodów: zbyt małej ilości danych i braku wystarczających mocy obliczeniowych. W międzyczasie zdążyła wykształcić wiele metod, które silnie opierały się o statystykę i modele matematyczne – hasło machine learning słyszał już chyba każdy. W ostatnich latach nastąpił jednak rozkwit bardziej zaawansowanego AI. Po pierwsze, pojawiły się ogromne ilości danych zbieranych głównie przez korporacje oraz organizacje państwowe w USA i Chinach. Po drugie, dostępność wysokich mocy obliczeniowych jest najwyższa w historii. Możemy ją dostać nawet za darmo, dla zastosowań niekomercyjnych i naukowych albo kupić w dowolnej ilości w chmurze. W końcu, pojawiła się idea uczenia głębokiego (Deep Learning), która wykorzystując sieci neuronowe

Rysunek 1 – AI vs. uczenie maszynowe vs. sieci neuronowe vs. Deep Learning

zasilane ogromnymi ilościami danych, przetwarzane w wysoko wydajnych środowiskach, pozwoliła na uzyskanie niesamowitych rezultatów na wielu polach, na których dominacja człowieka była dotychczas niepodważalna: szachy, GO, gry komputerowe, rozpoznawanie obrazów, przetwarzanie mowy, analityka danych, diagnozowanie medyczne, produkcja nowych leków – ta lista mogłaby być dużo dłuższa. Co ciekawe, głębokie sieci neuronowe rozwiązały częściowo jedną z podstawowych bolączek uczenia maszynowego, jakim była konieczność mozolnego opisu danych przez człowieka, przed zaprezentowaniem danych algorytmowi. Sieci neuronowe robią to w dużej części same w trakcie procesu uczenia (tzw. feature extraction).

Sztuczna inteligencja jest obecnie w fazie wąskich praktycznych zastosowań – tzw. narrow AI. Oznacza to, że praktyczne zastosowania sztucznej inteligencji doskonale sprawdzają się w wąskich dziedzinach, których część wymieniłem powyżej. Nie oszukujmy się jednak, w zaciszu dobrze strzeżonych korporacyjnych i rządowych laboratoriów trwają prace nad stworzeniem general AI, która będzie posiadała autonomię i umiejętność generalizowania problemów oraz ich abstrakcji na wyższe poziomy, podobną do tej, jaką dysponują ludzie. Zmieni to całkowicie układ sił i charakter światowego ładu ekonomicznego w dużo większym stopniu niż zrobił to covid-19, choć tempo wprowadzenia tej zmiany będzie dużo mniejsze i bardziej kontrolowalne. Transformacja ta prawdopodobnie jest nieunikniona i budzi spore obawy u większości z nas. Jesteśmy w końcu jako gatunek od tysiącleci przyzwyczajeni do zdecydowanej intelektualnej dominacji nad resztą gatunków żyjących na ziemi. Perspektywa pojawienia się tworu, który intelektualnie może nas przewyższyć, jest mocno niepokojąca.

Jeżeli chcesz się dowiedzieć więcej o AI i kilku podstawowych pojęciach z nią związanych, to zapraszam do lektury jednego z moich poprzednich wpisów.

Blockchain? Chwila, ale o co chodzi?

Kiedy ktoś rzuci hasło blockchain, jednym z pierwszych skojarzeń będą zapewne kryptowaluty, w szczególności bitcoin. Jest to zrozumiałe, gdyż blockchain po raz pierwszy na masową skalę w praktyce wykorzystany został przez Satoshi Nakamoto (według wielu tego pseudonimu użył nieżyjący już Hal Finney – ale kwestia tożsamości Nakamoto, jak również pytanie czy ktoś ma dostęp do klucza prywatnego jego portfela, 😉 to temat na zupełnie osobny wpis). Satoshi stworzył pierwszą niezależną, zdecentralizowaną i w pełni elektroniczną walutę. Technologię blockchain łatwo wyjaśnić na przykładzie bitcoina, jeżeli jednak ktoś myśli, że blockchain równa się kryptowaluty, to trzeba mu powiedzieć: nie tak szybko!

Fundamentami technologii blockchain są kryptografia, sieć peer-to-peer oraz tzw. Ditributed Ledger Technology (DLT), czyli rozproszona baza danych, zarządzana przez wielu uczestników, bez jednego wyróżnionego koordynatora. Ale zacznijmy od początku: skąd w ogóle wzięła się ta nazwa? Blockchain jest jednym ze sposobów na przechowywanie informacji. Podobnie jak w tradycyjnych bazach danych informacje te grupowane są w bloki – stąd fraza „block”. Bloki te są z kolei wiązane ze sobą w szeregowy łańcuch wynikiem działania kryptograficznej funkcji skrótu – stąd fraza „chain”. W uproszczeniu: wykopanie bloku polega na wyliczeniu hasha dla jego zawartości (bitcoin wykorzystuje SHA-256) i zapisanie jego wartości do następnego bloku, gdzie wartość ta będzie stanowiła jeden ze składników do wyliczenia hasha dla tego nowego bloku. I tak łańcuszek idzie do przodu. Obecnie (październik 2020) blockchain bitcoina przechowuje około 580 milionów transakcji, a całkowity rozmiar blockchaina dla bitcoina wynosi około 300 GB.

Rysunek 2 – blockchain uproszczony schemat

Bitcoin działa od 2009 roku i przez ten czas nikomu nie udało się skutecznie przeprowadzić żadnego ataku, który zmieniłby dane nawet pojedynczej transakcji. Dlaczego? Ponieważ hash dla każdego bloku powinien spełniać pewne specyficzne warunki, np. zawierać na początku N zer. Aby uzyskać właściwy hash, górnicy zmieniają zawartość bloku, losowo modyfikując dedykowane temu pole nonce lub jeżeli żadna wartość nonce nie daje pożądanego hasha, zmieniając nieznacznie zawartość bloku w inny dopuszczalny sposób – więcej o praktyce kopania bloku bitcoina można znaleźć tu. W rezultacie wykopanie pojedynczego bloku bitcoina jest bardzo kosztowne obliczeniowo. Gdyby ktoś chciał zmienić transakcję w blockchain bitcoina, która została zarejestrowana ileś tam bloków temu, musiałby zmienić zawartość tego konkretnego bloku (aby zmienić transakcję), wyliczyć na nowo hash dla niego, a ze względu na referencyjne związanie kolejnych bloków hashami poprzednich, wyliczyć również nowe hashe dla kolejnych bloków! A to wszystko w trakcie, gdy cały czas sieć produkuje nowe bloki. Teoretycznie taki atak jest możliwy, ale w praktyce jest technicznie niewykonalny i ekonomicznie nieuzasadniony.

Odporność bitcoina na ataki jest potwierdzeniem jednej z najważniejszych cech technologii blockchain – gwarancji niezmienności zapisów umieszczonych w DLT. Ma to ogromne znaczenie w oczywisty sposób dla transakcji finansowych, ale również dla wszystkich innych potencjalnych obszarów zastosowań, gdzie pewność, iż widzimy prawdziwe i niezmienione dane jest kluczowa, np.: wyniki badań medycznych, rezultaty głosowania, zawartość księgi wieczystej nieruchomości, którą planujemy zakupić, dowody w kryminalistyce, analityka danych, na podstawie których zarząd firmy podejmuje kluczowe decyzje, itp.

Dyskutując najistotniejsze cechy technologii blockchain, warto ponadto zauważyć, że:

  • publiczny blockchain jest strukturą w pełni rozproszoną i niezależną, w tym sensie, że nie zależy od jakiejkolwiek centralnej organizacji (banku centralnego, rządu, korporacji), zatem organizacje te nie mogą w żaden sposób wpływać na zapisy w DLT. To nie oznacza oczywiście, że rządy, banki centralne czy korporacje nie mogą tej technologii używać. Używają jej już teraz i perspektywy użycia są coraz bardziej dalekosiężne. Rozproszenie sieci blockchain zapewnia również odporność na awarię i na potencjalnie zbyt duży wpływ pojedynczego uczestnika sieci na jej działanie,
  • wszystkie transakcje w publicznym blockchain są jawne i dostępne dla każdego. To nie znaczy, że każdy może zajrzeć do naszego portfela, chyba że zna jego adres. Są zresztą obecnie dostępne blockchainy, które zapewniają ukrywanie części danych w bloku, co powoduje istotne zwiększenie prywatności,
  • wszystkie transakcje są nie tylko niezmienne, ale również w sposób niepodważalny oznaczone czasem – wynika to z natury blockchaina, który jest strukturą jedynie dodającą kolejne zapisy. Archiwalne zapisy nie mogą być modyfikowane.

Powyższe to jedynie skromny wycinek całego ekosystemu technologii blockchain, a dyskutowanie w szczegółach właściwości tej technologii wykracza zdecydowanie poza zakres tego artykułu. Zainteresowanym pogłębieniem wiedzy na temat technikaliów bitcoina polecam ten artykuł, gdzie autorowi udało się w mojej ocenie wytłumaczyć podstawy tej technologii w wyjątkowo przystępny i spójny sposób.

Jako ciekawostkę dodam jeszcze, że treści postów na moim blogu chronione są przez plugin WordProof, który wykorzystuje technologię blockchain do ochrony własności intelektualnej.

Sztuczna inteligencja i blockchain – jak to połączyć?

Zastanówmy się przez chwilę, jak obie technologie pasują do siebie pod kątem najważniejszych cech.

Jednym z głównych zastosowań AI jest przewidywanie przyszłości. Ocena sytuacji na drodze autonomicznego samochodu, przewidzenie następnego ruchu szachisty, czy prognozowanie zachowań ekonomicznych. Blockchain tymczasem skupia swoją uwagę na trwałym zapisie przeszłości – zapisy w DLT raz uzgodnione przez sieć, pozostaną niezmienne do końca jej istnienia.

AI jest ekstremalnym konsumentem danych. Aby być skuteczna potrzebuje danych tak, jak ludzie potrzebują tlenu do życia. Danych w ogromnej ilości. Blockchain jest co do zasady bazą danych, której głównym zadaniem jest ich utrwalanie i serwowanie w sposób zdecentralizowany i transparentny. Ilość danych konsumowanych przez blockchain jest relatywnie niewielka.

Sztuczna inteligencja jest niezwykle dynamiczna, w tym sensie, że dostosowuje swoje działanie i generowane wyniki do zmieniającego się otoczenia (danych). Opiera się na w dużej części na statystyce i rachunku prawdopodobieństwa. Blockchain jest statyczny, można nawet powiedzieć, że jest deterministyczny, przewidywalny.

Cechą z całą pewnością wiążąca obie technologie jest ich ogromny apetyt na coraz większą moc obliczeniową.

Nie wiem ja wam, ale mnie się wydaje, że sztuczna inteligencja i blockchain mają cechy, które mogą świetnie nawzajem się uzupełniać. Ich umiejętne użycie w jednym rozwiązaniu może dać efekt silnie synergiczny. Można powiedzieć, że sztuczna inteligencja i blockchain są jak ogień i woda. Choć według mnie bardziej trafnym porównaniem będzie wodór i tlen. Pierwszy jest dynamiczny i silnie wybuchowy. Drugi sam w sobie podtrzymuje reakcje chemiczne. Połączone razem dają wodę – substancję niezbędną do życia.

Porzucając jednak filozoficzno-chemiczne rozważania, zastanówmy się w jakich obszarach można liczyć na największą synergię.

Czy centralizacja jest dobra dla rozwoju sztucznej inteligencji?

Zacznę od obszaru wg mnie zdecydowanie najważniejszego – konieczności większej decentralizacji i demokratyzacji AI. Stan obecny, kiedy większość rewolucyjnych rozwiązań AI tworzonych jest przez największe korporacje i nieliczne rządy nie może doprowadzić do niczego dobrego. W najlepszym wypadku doprowadzi do dalszego wzrostu nierówności społecznych i zgromadzenia większości światowego majątku przez mniej niż tysięczną promila całej populacji. Nierówności społeczne są nieuniknione w gospodarce kapitalistycznej, ale ich nadmierne wyolbrzymienie prowadzi z reguły do niepokojów społecznych, rządów populistów, a czasami rewolucji.

Ryzyko centralizacji AI jest efektem skupienia danych, mocy obliczeniowych i najbardziej płodnych umysłów w rękach garstki największych korporacji i nielicznych rządów. W efekcie powstaną rozwiązania, które będą służyły tymże rządom (do kontroli) oraz tymże korporacjom (do dalszego gromadzenia kapitału). Czy chcemy aby rozwój AI szedł w tym kierunku? Czy może wolelibyśmy, aby rozwój AI był bardziej zdemokratyzowany?

Jak humorystycznie zauważył jeden z orędowników zdecentralizowanej AI – Ben Goertzel – kilka lat temu ludzie byli przekonani, że sztuczna inteligencja nas zabije, kiedy tylko przewyższy poziomem intelektualnym swoich twórców. Było to z całą pewnością pokłosie filmów typu Matrix, czy Terminator. Obecnie ludzie bardziej martwią się, że AI odbierze im pracę. Ta ciekawa zmiana w postrzeganiu AI może oznaczać, że ludzie pogodzili się z wizją zniszczenia naszego gatunku przez AI, ale przez te ostatnie lata życia nie chcieliby być bezrobotni. 😉 Polecam obejrzeć poniższe wystąpienie Bena Goertzela na TEDx

Goertzel i jemu podobni promują idee rozwiązań opartych na AI i blockchain w poszukiwaniu zdecentralizowanej sztucznej inteligencji a ostatecznie Artificial General Intelligence (AGI) – tworu, który poziomem i sposobem myślenia dorówna człowiekowi. Tak rozwijana sztuczna inteligencja nie będzie kontrolowana przez jedną organizację lub jakąkolwiek „grupę trzymającą władzę” 😉 , a zarządzana i rozwijana w sposób demokratyczny i zdecentralizowany.

Na kanwie tych przekonań powstało wiele projektów, z których wybrałem dwa, o których należałoby krótko wspomnieć. Pierwszym z nich jest fundacja DAIA, która zrzesza organizacje pracujące nad zdecentralizowaną sztuczną inteligencją wykorzystującą blockchain, co ma w zamierzeniu przeciwstawić się skupieniu potęgi AI w jednym miejscu. Jeżeli ktoś szuka informacji o projektach Decentralized Artificial Intelligence, to DAIA może być dobrym miejscem do startu poszukiwań. Jednym z założeń twórców fundacji jest przekonanie, że AGI może być osiągnięta nie tyle przez jedną sieć, ale przez wiele rozproszonych sieci, komunikujących się ze sobą i dzielących się nawzajem danymi. A te możliwości w oczywisty sposób może zapewnić technologia blockchain. To założenie przyjmuje również drugi projekt – SingularityNET, którego jednym z celów jest udostępnienie zdecentralizowanej giełdy rozwiązań sztucznej inteligencji, do której można wrzucić model AI i ogłosić go w zdecentralizowanej sieci tak, aby firma, która potrzebuje takiej usługi mogła z niej łatwo, szybko i bezpiecznie skorzystać.

Jakkolwiek projekty te wydają się nieco niedoinwestowane i przyciągające obecnie niewielkie zainteresowanie, to są one niezwykle istotne z punktu widzenia zdemokratyzowania AI i wpływu szerszej grupy społecznej na kształt i formę dalszego rozwoju sztucznej inteligencji. Jeżeli można byłoby je do czegoś porównać, to być może w pewnym stopniu do ruchu open-source w jego wczesnej fazie rozwoju i późniejszego wpływu, jaki miał na demokratyzację i demonopolizację wielu rozwiązań IT.

Jak chronić swoje dane i ich prywatność jednocześnie zarabiając na nich?

Sztuczna inteligencja żywi się danymi. Dane we współczesnej ekonomii potrafią być cenniejsze niż złoto. Szczególnie te dane, które są rzadkie, zawierają dane wrażliwe oraz są odpowiednio przygotowane do użycia w uczeniu maszynowym. Dlaczego? Można zaryzykować stwierdzenie, że w projektach uczenia maszynowego między 30% a 60% czasu i kosztów pochłania inicjalne zgromadzenie danych, ich wstępna analiza, omówienie biznesowe, sprawdzenie czy spełniają różnorakie kryteria (np. związane z ochroną danych wrażliwych), następnie czyszczenie danych, sprawdzanie jakości zbioru i przekształcanie do pożądanej postaci.

Co jeżeli jesteśmy w posiadaniu odpowiednio opracowanego zbioru rzadkich danych medycznych, które chcielibyśmy udostępnić, aby inni naukowcy mogli z nich skorzystać w swoich badaniach. Co jeżeli chcielibyśmy taki zbiór sprzedawać? Czy zbiór zostanie skopiowany, zmieniony w nieuprawniony sposób? Jak dane zmienione w nieuprawniony sposób wpłyną na wyniki badań innych zespołów? Kilka projektów z obszaru sztucznej inteligencji i blockchain zaadresowało powyższe problemy. Jednym z takich projektów jest wykorzystujący blockchain Ocean Protocol. W dużym skrócie, korzystając z giełdy udostępnionej przez Ocean Protocol można utworzyć na niej coś w rodzaju aktywa AI. Takim aktywem może być odpowiednio przygotowany zbiór danych, ale też może być nim już wyuczony model, gotowy do użycia. Po opublikowaniu go w Ocean Protocol aktywa zostają zarejestrowane w blockchain i otrzymują unikalny identyfikator. Wszystkie aktywa posiadają metadane je opisujące a właściciel otrzymuje oczywiście klucz prywatny potwierdzający właścicielstwo. Ocean Protocol zapewnia również zasoby do przechowywania aktywów AI. Co ciekawe, w celu ochrony prywatności można przetwarzać model w infrastrukturze Ocean Protocol bez ujawniania danych żadnej stronie trzeciej, co jest szczególnie ważne dla danych wrażliwych i prywatnych.

Moce obliczeniowe do wykorzystania

Jak już wspominałem powyżej, sztuczna inteligencja i blockchain z całą pewnością współdzielą jedną cechę – zachłanną konsumpcję mocy obliczeniowych. Jednym z potencjalnych pól do współpracy wydaje się zatem współdzielenie mocy niewykorzystanej. Obecnie większość obliczeń AI odbywa się w scentralizowanych ośrodkach obliczeniowych. Mają one określoną wydajność, a korporacje udostępniające moc obliczeniową regulują dostęp do niej mechanizmami cenowymi. To może mocno ograniczać innowacje poza światem bogatych organizacji, szczególnie wśród naukowców i biznesmenów z krajów z walutami o niższej sile nabywczej. A zapotrzebowanie na moc obliczeniową związaną ze sztuczną inteligencją z roku na rok rośnie bardziej niż liniowo. Blockchain w naturalny sposób mógłby zdemokratyzować dostęp do mocy obliczeniowej bazując na fakcie, że zdecydowana większość blockchainów działa jako potężne obliczeniowo sieci peer-to-peer.

Testowanie inteligentnych kontraktów

Rok 2020 będzie w obszarze kryptowalut zapamiętany jako okres narodzin zdecentralizowanych rozwiązań finansowych. Ruch ten określany jest jako Decentralized Finance lub w skrócie DeFI. Jest to o tyle ciekawa gałąź technologiczna, że demokratyzuje jedną z podstawowych potrzeb współczesnego człowieka – zarządzanie finansami. Poprzez demokratyzację rozumiem uniezależnienie się od jednej centralnej instytucji, która nadzoruje, ale też kontroluje wszelkie operacje finansowe. Ta kontrola jest wielopoziomowa, bo nad bankami są instytucje nadzoru i banki centralne. Ma to oczywiście ogromne zalety, ale też spore wady. Wchodzenie w celowość DeFI wykracza poza zakres tego artykułu. Istotne z naszego punktu widzenia jest to, że DeFI, jak i wiele innych aplikacji bazujących na blockchain, opiera swoje działanie o tzw. smart contracts, czyli aplikacje publikowane na blockchain, których zadaniem jest automatyczne wykonywanie transakcji określonego typu. Są one zapisywane w blockchain, a co za tym idzie nie wymagają nadzoru zaufanej strony trzeciej. DeFi w 2020 są w bardzo wczesnej fazie rozwoju. Rozwiązania powstają jak grzyby po deszczu, a dość częste błędy w implementacji są kosztowne dla twórców i jak na razie głównie spekulacyjnych inwestorów. W sektorze obserwuje się obecnie wiele ataków hackerskich opartych albo o backdoory albo celowo lub niecelowo ukryte podatności, kończące się często tzw. rug pull lub exit scam. Niemniej rynek DeFI rozkwita i płynie do niego coraz więcej pieniędzy. Niektóre projekty potrafią w krótkim czasie przyciągnąć miliony dolarów spekulacyjnych inwestycji. I tu na scenę może wejść AI, która otwiera możliwości w dwóch obszarach. Po pierwsze, szybkie i zautomatyzowane testowanie nowych rozwiązań, które szczególnie w obecnej fazie dojrzałości tego rynku wydają się mocno niedoinwestowane pod względem QA. Testowanie z wykorzystaniem sztucznej inteligencji może polegać na wspartej maszynowo formalnej weryfikacji lub wsparciu testów automatycznych. Drugim obszarem, w którym AI może sprawdzić się doskonale w przypadku aplikacji publikowanych na blockchainie, jest aktywne monitorowanie zachowań smart contracts, w celu wykrywania w czasie rzeczywistym zagrożeń i wycieków danych. Oczywiście na razie żadne AI nie zastąpi testowania przez człowieka, ale wdrożenie takich narzędzi może sprawić, że przynajmniej nie będziemy mieli do czynienia z całkowitym testowaniem na produkcji.

Sztuczna inteligencja i blockchain – przyszłość na wyciągnięcie ręki

W niniejszym artykule starałem się przybliżyć nieco naturę AI i technologii blockchain, wskazać podobieństwa i różnice oraz przykładowe pola do potencjalnej współpracy. Zarówno sztuczna inteligencja, jak i blockchain są cały czas w dość początkowych stadiach biznesowego wykorzystania. Stopień ich wspólnego wykorzystania w rozwiązaniach praktycznych wręcz raczkuje. Etap ten można porównać do internetu wczesnych lat 90-tych, kiedy ciągle był on jeszcze ciekawostką technologiczną i jedynie niewielka część firm i organizacji starała się wykorzystać sieć biznesowo. Obecnie nikt nie kwestionuje roli internetu w demokratyzacji dostępu do informacji, a największe firmy opierają swoją potęgę właśnie o sieć. Czy tak się również stanie ze sztuczną inteligencją i blockchain? Uważam, że tak. Czy będzie to efektem ścisłej współpracy obu technologii w obszarze Decentralized Artificial Intelligence – czas pokaże.


Spodobał ci się post? Będzie mi miło, gdy go polecisz.

Jeżeli chcesz być na bieżąco informowany o nowych artykułach na moim blogu obserwuj moje konto na Twitterze.