04

Nasze Badania

Cyfrowe waluty i inteligentne kontrakty

Stefan Dziembowski

Lider Grupy Badawczej

Polski informatyk, profesor nauk ścisłych i przyrodniczych. Specjalizuje się w kryptografii. Profesor Instytutu Informatyki Wydziału Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego

Technologia blockchain została wprowadzona w 2008 roku. Pod tą nazwą rozumie się zwykle protokoły kryptograficzne służące do osiągania konsensusu na dużą skalę w sieciach rozproszonych. Protokoły te mogą pracować w tak zwanym wariancie permissionless, w którym zbiór uczestników nie jest określony a priori, lub w wariancie permissioned, w którym konsensus jest utrzymywany przez wstępnie zdefiniowane grupy serwerów. Początkowe zastosowania tej technologii dotyczyły sektora finansowego, głównie do tworzenia nowych wirtualnych kryptowalut (takich jak bitcoin). Jednak obecnie uważa się, że technologia ta ma o wiele więcej zastosowań, w szczególności w systemach zarządzania tożsamością cyfrową, w zarządzaniu kredytami hipotecznymi, systemach rejestracji własności gruntów, monitorowania łańcucha dostaw, ubezpieczeń, badań klinicznych, w zarządzaniu prawami autorskimi, prowadzeniu zdecentralizowanych organizacji, w zarządzaniu obrotem energii czy w internecie rzeczy. Niektóre z tych aplikacji oparte są na tzw. inteligentnych kontraktach, czyli samowykonalnych umowach przypominających umowy prawne, napisane w języku programowania. 

Prawdopodobnie najbardziej znanym przykładem platformy blockchain, która pozwala na uruchamianie takich kontraktów, jest Ethereum. Oczywiście kilka z wyżej wymienionych aplikacji blockchain może wybiegać zbyt daleko w przyszłość i ewentualnie przegrać konkurencję ze scentralizowanymi rozwiązaniami. Jesteśmy jednak przekonani, że niektóre z nich odniosą sukces, szczególnie że technologia ta posiada znaczny potencjał do wykorzystania w dziedzinie nowej ekonomii cyfrowej. Planujemy skoncentrować się na następujących zadaniach.

Zdecentralizowane finanse

Jednym z głównych problemów kryptowalut jest bardzo wysoka zmienność ich kursów wymiany w stosunku do standardowych walut. Termin decentralized finance (często używany skrót to: DeFi) odnosi się do metod pochodzących z technologii blockchain, które rozwiązują ten problem. Najbardziej godnymi uwagi przykładami są „stable coins” (stabilne monety), w których waluty wewnętrzne danego blockchaina są wymienialne na zwykłe pieniądze po stałym kursie. Istnieje kilka interesujących propozycji, jak skonstruować takie monety. Większość z tych propozycji pochodzi od startupów zajmujących się blockchain i często brakuje w tych przypadkach pełnej formalnej analizy bezpieczeństwa. Będziemy pracować nad ulepszeniem tych protokołów i zrozumieniem ich właściwości zabezpieczeń. Protokoły DeFi mogą być również wykorzystywane jako zamiennik dla instytucji finansowych, takich jak giełda. Jednym z problemów związanych z tym podejściem są tak zwane ataki front-running, w których minerzy (lub inni potężni użytkownicy) stale monitorują wiadomości wysyłane do blockchain i wybierają swoje transakcje w zależności od transakcji innych użytkowników. Niestety większość rozwiązań blockchain pozwala tak potężnym uczestnikom na publikowanie swoich transakcji na blockchain, zanim pojawią się tam transakcje oryginalne. Może to prowadzić do znacznych strat finansowych dla innych uczciwych uczestników giełdy. Będziemy pracować nad rozwiązaniem tego problemu za pomocą narzędzi kryptograficznych, tak aby rezultaty tej pracy można było wykorzystać w praktyce.

Proofs-of-Space w praktyce

Najpopularniejsze platformy blockchain (w tym platforma Bitcoin) wykorzystują konsensus oparty na tzw. proofs-of-work (PoW), gdzie uczestnicy są zachęcani do ciągłego rozwiązywania dużej liczby zagadek obliczeniowych (proces ten nazywany jest również miningiem). Prowadzi to do ogromnego zużycia energii elektrycznej. Obecnie szacuje się, że sam blockchain bitcoina marnuje więcej energii elektrycznej niż kraj średniej wielkości. W przeszłości zaproponowano kilka alternatywnych rozwiązań dla tworzenia blockchainów. Stefan Dziembowski (kierujący tymi badaniami w IDEAS) jest jednym z autorów innego podejścia do tego problemu, zwanego proofs of space (PoS). W tym rozwiązaniu zagadki obliczeniowe zostają zastąpione dowodami, że dana strona wniosła do systemu pewną ilość miejsca na dysku. Jedyne intensywne obliczenia mają miejsce w fazie konfiguracji, podczas której użytkownik wypełnia swój dysk danymi pseudolosowymi. Po zakończeniu konfiguracji użytkownik wykonuje tylko sporadyczne, nieskomplikowane obliczenia. Na tej koncepcji opiera się kilka prowadzonych obecnie projektów blockchain. Niedawno jeden z tych projektów (www.chia.net) został uruchomiony. Z zainteresowaniem obserwujemy jego rozwój – sukcesy oraz problemy, które pojawiają się od momentu jego uruchomienia. Będziemy monitorować jego działanie i identyfikować możliwości ulepszeń istniejących protokołów.

Rzeczywiste zabezpieczenie portfeli blockchain

Innym ważnym problemem związanym z wizją decentralizacji usług internetowych jest fakt, że interakcja z blockchainami jest bardziej skomplikowana niż w przypadku scentralizowanych rozwiązań. Co więcej, decentralizacja utrudnia cofnięcie transakcji, które zostały zaksięgowane przez pomyłkę lub w wyniku ataku. W kilku blockchainach odwrócenie transakcji w ogóle nie jest możliwe (np. w bitcoin czy Ethereum). W związku z tym problemem użytkownicy często nie chcą korzystać z blockchain za pomocą niezabezpieczonych urządzeń, takich jak komputery PC czy smartfony. Zamiast tego mogą liczyć na pomoc zaufanych serwerów, co jest rozwiązaniem, które eliminuje większość korzyści płynących z decentralizacji i miało katastrofalne skutki w przeszłości. Znacznie bezpieczniejszym rozwiązaniem jest korzystanie z tzw. hardware wallets (portfeli sprzętowych), czyli urządzeń dedykowanych, chronionych przed cyberatakami. Na rynku dostępnych jest kilka takich komercyjnych rozwiązań. Będziemy pracować nad analizą bezpieczeństwa istniejących portfeli sprzętowych. W szczególności będziemy zainteresowani ich bezpieczeństwem side-channel, czyli zabezpieczeniem przed atakami opartymi na informacjach takich jak zużycie energii czy promieniowanie elektromagnetyczne. W ramach działań IDEAS NCBR  skoncentrujemy się na praktycznych aspektach tego problemu. Zatrudnimy praktyków, którzy są ekspertami w analizie side-channel do pracy nad tym tematem. Mamy nadzieję, że zdobyta w ten sposób wiedza doprowadzi do budowy nowych, bezpieczniejszych portfeli.

Zorientowana na praktyczne zastosowania weryfikacja protokołów blockchain

Jednym z głównych problemów w obszarze blockchain jest fakt, że zdecentralizowane rozwiązania są zazwyczaj bardziej złożone i podatne na błędy niż rozwiązania scentralizowane. W szczególności błędy w inteligentnych kontraktach mogą prowadzić do znacznych strat finansowych. Co więcej, niektóre algorytmy blockchain w przeszłości zawierały poważne błędy, które można było wykorzystać do kradzieży dużych kwot pieniężnych. Rozwiązaniem tych problemów zajmiemy się za pomocą narzędzi pochodzących z metod formalnych, w szczególności tzw. asystentów dowodzenia twierdzeń, takich jak Coq, Easycrypt, Why3 i innych. Teoretyczne aspekty tej pracy są obecnie jednym z tematów grantu ERC realizowanego przez Stefana Dziembowskiego. W ramach działań IDEAS NCBR będziemy pracować nad technicznymi aspektami projektu, zwłaszcza nad tym, aby dzięki pracującym w projekcie programistom możliwe było wykorzystanie blockchain w praktyce.

Stefan Dziembowski

Lider Grupy Badawczej

Doświadczenie zawodowe

Prof. dr hab. Stefan Dziembowski jest profesorem na Wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego. Jego zainteresowania naukowe dotyczą teoretycznej i stosowanej kryptografii, w szczególności zagadnień związanych z atakami fizycznymi na urządzenia kryptograficzne, oraz z technologią blockchain. Dziembowski otrzymał tytuł magistra informatyki w roku 1996 na Uniwersytecie Warszawskim, doktorat z informatyki w roku 2001 na Uniwersytecie w Aarhus (Dania) i habilitację z nauk matematycznych w roku 2012 na Uniwersytecie Warszawskim. Odbył on staże post-doktorskie na ETH w Zurychu, w CNR w Pizie i na Uniwersytecie Rzymskim La Sapienza, gdzie został adiunktem w roku 2008. W roku 2010 przeniósł się on na Uniwersytet Warszawski, gdzie prowadzi Laboratorium Kryptografii i Blockchaina. 

Nagrody i osiągnięcia

Jego prace ukazywały się na wiodących konferencjach informatycznych (FOCS, STOC, CRYPTO, EUROCRYPT, ACM CCS, ASIACRYPT, TCC, IEEE S&P, ACM CCS, LICS, i innych) i  w czasopismach (Communications of the ACM, Journal of Cryptology IEEE Transactions on Information Theory, Journal of the ACM, Communications of the ACM). Wielokrotnie był też zapraszany do komitetów programowych czołowych konferencji CRYPTO, EUROCRYPT, ACM CCS, ASIACRYPT, TCC, ICALP i innych. Prace jego współautorstwa otrzymały nagrody za najlepsze prace (Best Paper Awards) na konferencjach EUROCRYPT i IEEE S&P (w roku 2014). W roku 2015 był przewodniczącym komitetu organizacyjnego (general chair) konferencji Theory of Cryptography Conference, a w 2008 współprzewodniczącym jej komitetu programowego (PC co-chair).  Został on również wybrany współprzewodniczącym konferencji Eurocrypt 2022.  Wygłosił on także keynote talk na Conference on Cryptographic Hardware and Embedded Systems (CHES) 2020.

Granty

Stefan Dziembowski otrzymał dwa granty Europejskiej Rady ds. Badań Naukowych: „ERC Starting Grant” (konkurs z 2007) oraz „ERC Advanced Grant (konkurs 2019), dwa granty Fundacji na rzecz Nauki Polskiej: „FNP Welcome” oraz „FNP Team”, dwa granty „NCN Opus” z Narodowego Centrum Nauki, grant Marie-Curie na staż post-doktorski, oraz stypendium „Start” z Fundacji na rzecz Nauki Polskiej. Jest też laureatem Polsko-Niemieckiej Nagrody „Copernicus” (w roku 2020, razem z prof. Sebastianem Faustem) oraz nagrody im. Prof. Kazimierza Bartla (w 2016).  W kadencji 2021-2024 Stefan Dziembowski będzie członkiem Rady Narodowego Centrum Nauki. Wypromował pięciu doktorów. 

NASZE BADANIA

Algorytmy, szczególnie te wykorzystywane w uczeniu maszynowym, dają szanse na podejmowanie lepszych decyzji niż ludzkie.

Technologia Blockchain została wprowadzona w 2008 roku. Pod tą nazwą rozumie się zwykle protokoły kryptograficzne służące do osiągania konsensusu na dużą skalę w sieciach rozproszonych.

Skip to content