• Sklep
  • Odbierz prezent
MimbleWimble - magiczne zaklęcie na anonimowość bitcoina

O tym, że bitcoin (BTC) nie zapewnia anonimowości swoim użytkownikom wie chyba każdy, kto miał z nim chociażby najmniejszą styczność. Jego całkowicie publiczna sieć, z ogólnodostępnym rejestrem transakcji wykonanych od początków istnienia, a także możliwość prześledzenia pełnego przebiegu i wartości operacji sprawiają, że bitcoin jest jedynie pseudoanonimowy, co oznacza że zapewnia on prywatność tylko i wyłącznie do momentu, w którym konkretne adresy publiczne nie zostaną powiązane z odpowiednimi tożsamościami. Nawet Satoshi Nakamoto w swoim white-paperze przyznawał, że utrzymanie całkowicie publicznej sieci transakcji jest gwarantem zachowania decentralizacji, w przeciwieństwie do scentralizowanych systemów bankowych, w których tożsamość użytkowników chroniona i dysponowana jest przez podmioty, którym trzeba zaufać. Nakamoto jako remedium na publiczny charakter sieci proponował wykorzystywanie konkretnego adresu publicznego wyłącznie jednokrotnie, aby utrudnić powiązanie go z jego właścicielem. Nie jest to jednak rozwiązanie zapewniające prywatność, gdyż m.in. wartość transakcji wciąż pozostaje publiczna. Mimo, że obecnie istnieje wiele rozwiązań pozwalających kryptowalutom na uzyskanie pełnej anonimowości, opartych m.in. na podpisach pierścieniowych (ang. ring signatures), czy protokole zero knowledge, to w samym bitcoinie od ponad dziesięciu lat niewiele zmieniło się w kwestii prywatności użytkowników. Błędnym byłoby jednak stwierdzenie, że w ciągu dekady nie podejmowano prób anonimizacji danych krążących w sieci BTC. Jedną z ciekawszych i efektywniejszych metod zapewniania prywatności m.in. bitcoina jest implementacja o osobliwej nazwie MimbleWimble, której poświęcony jest niniejszy artykuł.

 

Czytaj także: Bitcoin (BTC) - co musisz o nim wiedzieć? Opis kryptowaluty, historia, notowania

Król jest tylko jeden Bitcoin (BTC) to otwartoźródłowa (ang. open-source), zdecentralizowana platforma płatnicza oparta na technologii blockchain z własną kryptowalutą, stworzona przez anonimowego programistę (lub grupę osób) o pseudonimie Satoshi Nakamoto. Bitcoin jest pierwszą w historii kryptowa.. Czytaj
Bitcoin (BTC) - co musisz o nim wiedzieć? Opis kryptowaluty, historia, notowania

Wersja dla zabieganych:

MimbleWimble zapewnia kompleksową anonimowość transakcji w sieciach opartych m.in. na kodzie źródłowym bitcoina, poprzez zakrycie wartości operacji oraz adresów obu jej stron. Jednocześnie pozwala węzłom w sieci na potwierdzenie, czy transakcja jest prawidłowa, bez utraty prywatności. Implementacja ta zmienia również sposób organizacji bloków transakcyjnych, których zawartość zostaje ograniczona wyłącznie do listy wejść, wyjść oraz podpisów kryptograficznych. Wymaga to jednak rezygnacji z aktualnego, skryptowego modelu zatwierdzania transakcji.

Aktualnie MimbleWimble zostało z powodzeniem zaimplementowane w sieciach dwóch kryptowalut: Grin oraz Beam.

 

Co masz do ukrycia?

Kwestia prywatności systemów wymiany wartości, jak i anonimowości jako takiej ma znacznie szerszy wymiar niż tylko technologiczny. Czy jeśli jesteśmy uczciwi i nie mamy nic do ukrycia, to rzeczywiście potrzebujemy prywatności systemu finansowego? Bitcoin i pozostałe kryptowaluty powstały po to, aby dać społeczeństwu alternatywę dla spetryfikowanego systemu bankowego i zapewnić rzeczywistą kontrolę nad swoimi funduszami. Coraz częściej jednak okazuje się, że publiczny charakter sieci m.in. bitcoina staje się łakomym kąskiem dla instytucji rządowych, czy nawet służb federalnych, które od dłuższego czasu doskonale zdają sobie sprawę z tego, w jaki sposób mogą wykorzystać to na swoją korzyść. Prywatność w obecnych czasach powszechnej inwigilacji, dokonywanej chociażby za pomocą big data gromadzonego przez internetowych gigantów, będzie z czasem zyskiwać na wartości. Już dziś wiele osób zdaje sobie sprawę z tego, że tożsamość również jest aktywem, sama prywatność zaś prawem jednostki.

Dlatego też wszelkie rozważania nad systemami wymiany wartości, które maja szansę ową prywatność zapewnić są istotne i warte uwagi.

 

Poufne Transakcje

Aby zrozumieć jak działa MimbleWimble, najpierw należy zapoznać się z wcześniejszą koncepcją Poufnych Transakcji (ang. Confidential Transactions), na której oparte jest jego działanie.

Pomysł Poufnych Transakcji w bitcoinie został zaprezentowany w 2013 r. przez developera Adama Backa, następnie zaś rozwijany przez developerów Blockstream, Gregory’ego Maxwella i Petera Wuille (znanego m.in. z prac nad podpisami Schnorra dla BTC).

Koncepcja Poufnych Transakcji powstała w prostym celu, którym było ukrycie salda transakcji w publicznym rejestrze blockchain, przy jednoczesnym zachowaniu ich spójności i bezpieczeństwa. Mówiąc najprościej, ich działanie polega na ukryciu wartości transakcji w taki sposób, aby była ona jawna wyłącznie dla nadawcy i odbiorcy danej operacji. W publicznym rejestrze wciąż natomiast zostanie zarejestrowana transakcja jako taka. Poufne transakcje wykorzystują powszechnie znane zabiegi kryptograficzne (choć powszechnie to być może zbyt dużo powiedziane), takie jak zobowiązania bitowe Pedersena, czy tzw. Boromejskie podpisy pierścieniowe (ang. Borromean Ring Signatures).

 

Ich działanie, w dużym uproszczeniu, polega na zaszyfrowaniu homomorficznym przez nadawcę transakcji jej wartości za pomocą tzw. ślepych podpisów (ang. blinding factors), które są ciągiem losowych cyfr. Szyfrowanie homomorficzne pozwala na określenie zgodności/poprawności/autentyczności zaszyfrowanego komunikatu bez konieczności jego deszyfrowania i bez możliwości uzyskania do niego dostępu. Węzły w sieci muszą bowiem mieć pewność, że nadawca transakcji wysłał (input) taką samą sumę, jaką otrzymał (output) nadawca, nie dopuszczając do zaburzenia integralności sieci, np. poprzez stworzenie środków „z powietrza”. Dlatego też nawet zaszyfrowane wyjście i zsumowane wejścia Poufnej Transakcji zawsze po odjęciu od siebie dają wynik równy 0. Oznacza to, że zarówno osoby postronne, jak i węzły mogą zweryfikować poprawność takiej transakcji, nie mając jednak dostępu do danych o jej wartości (określane jest to również jako tzw. „range proof”).

 

Co ciekawe, Poufne Transakcje w BTC dałoby się zaimplementować za pomocą wstecznie kompatybilnej aktualizacji protokołu (ang. soft fork).

Istotnym problemem jest jednak ich rozmiar - są one średnio szesnastokrotnie cięższe niż standardowa transakcja w BTC, co jest sporym zagrożeniem dla skalowalności, rozumianej jako tempo przyrostu rozmiaru całej sieci.

Czytaj także: Podpisy Schnorra - prosty trik na ulepszenie bitcoina i nie tylko

Coraz cześciej można usłyszeć, że bitcoin (BTC) jako pionierska i jednocześnie czołowa kryptowaluta pod względem technicznym jest daleko w tyle za nowszymi, szybszymi i znacznie lepiej skalowalnymi projektami blockchainowymi, które rzekomo w przyszłości doprowadzą do systematycznej marginalizacji B.. Czytaj
Podpisy Schnorra - prosty trik na ulepszenie bitcoina i nie tylko

 

Zaklęcie na milczenie

Koncepcja MimbleWimble została opublikowana w formie krótkiego white-paperu przez anonimowego developera o pseudonimie Tom Elvis Jedusor 19 lipca 2016 r. Twórca rozwiązania musiał być zagorzałym fanem serii książek o Harrym Potterze, gdyż zarówno jego pseudonim, jak i nazwa implementacji nawiązują do utworów J. K. Rowling - Tom Elvis Jedusor to prawdziwe nazwisko Lorda Voldemorta we francuskojęzycznym tłumaczeniu książek, zaś MimbleWimble to nazwa zaklęcia, rzucającego czar związanego w supeł języka. Jak wskazuje sam autor, wybór nazwy nie był przypadkowy - MimbleWimble zostało opracowane po to, aby rozwiązać problem „mówienia zbyt wielu rzeczy” o swoich użytkownikach przez publiczne sieci blockchain. Co ciekawe, twórca koncepcji pozostał jeszcze bardziej anonimowy niż sam Satoshi Nakamoto - po opublikowaniu linku do white paperu na kanale IRC dla developerów BTC, już nigdy więcej nie zabrał głosu, przynajmniej pod swoim pseudonimem.

 

Jak wspomniałem wcześniej, MimbleWimble wykorzystuje koncepcję Poufnych Transakcji, dokonując jej kluczowych modyfikacji - ślepe podpisy szyfrujące wartość transakcji w MimbleWimble są generowane przez odbiorcę, nie zaś nadawcę środków, co oznacza że obie strony transakcji są czynne w procesie jej realizacji.

W transakcjach weryfikowane są dwa kluczowe parametry:

  • Czy wartości wejść oraz wyjścia transakcji są takie same (czy nie doszło do stworzenia „z powietrza” nowych środków)
  • Czy strony transakcji są właścicielami swoich kluczy prywatnych 

 

MimbleWimble działa na zasadzie dodawania dodatkowych zmiennych do wejść transakcji w formie liczb, pełniących funkcję mnożnika, który generuje ślepy podpis, jak w Poufnych Transakcjach (opisanych w poprzednim akapicie). Zmienne zaś generowane są na podstawie kluczy prywatnych nadawcy i odbiorcy transakcji, co oznacza że wyłącznie oni są w stanie określić jaka jest wartość konkretnej transakcji. Osoby postronne mogą zaś, poprzez odjęcie zaszyfrowanej wartości wyjścia od zaszyfrowanej sumy wejść określić czy transakcja jest poprawna. Jeśli tak jest, wynik odejmowania zawsze będzie wynosił 0.

 

Implementacja MimbleWimble wymaga jednak poważnej modyfikacji dotychczasowego sposobu działania sieci, w tym przede wszystkim rezygnacji z całego skryptowego systemu potwierdzania transakcji, co oznacza że bloki transakcyjne składałyby się tylko i wyłącznie z listy wejść i wyjść oraz podpisów kryptograficznych operacji - zniknąłby obecny podział na transakcje w blokach. Dzięki temu odchudzeniu całego protokołu MimbleWimble jest rozwiązaniem pozwalającym na zachowanie wysokiej skalowalności w stosunku do innych rozwiązań nakierowanych na prywatność sieci, takich jak np. Poufne Transakcje (CT), czy protokół zero knowledge. Pod względem wydajności, z MimbleWimble konkurować może implementacja bulletproofs i podpisów pierścieniowych, wykorzystywana w Monero (XMR). Jednak już sam twórca koncepcji MimbleWimble nie miał zbyt wielu złudzeń w kwestii pełnej implementacji tego radykalnego rozwiązania w bitcoinie, sugerując że może być ono wprowadzone częściowo, np. w postaci protokołu drugiej warstwy, jako łańcuch boczny (ang. sidechain) lub jako kompletnie nowa sieć oparta na kodzie źródłowym BTC, funkcjonująca jako autonomiczna kryptowaluta.

Czytaj także: Monero po audycie Bulletproofs - transakcje XMR o 80% szybsze i tańsze

W zeszłym tygodniu firma Kudelski Security, zajmująca się m.in. audytem systemów kryptograficznych oraz cyberbezpieczeństwem, wydała raport którego przedmiotem była zapewniająca anonimowość kryptowaluta Monero (XMR), a konkretnie jej nowy protokół o nazwie „Bulletproofs”. Wstępne wyniki audytu są p.. Czytaj
Monero po audycie Bulletproofs - transakcje XMR o 80% szybsze i tańsze

 

MimbleWimble w praktyce

Mimo, że potencjalna implementacja MimbleWimble na potrzeby protokołu bitcoina jest wyjątkowo odległa, rozwiązanie to obecnie wykorzystywane jest przez dwa młode projekty - Beam oraz Grin.

Prace nad projektem Grin rozpoczęły się jeszcze w 2016 r., jednakże sieć ruszyła zaledwie kilkanaście dni temu - 15 stycznia 2019 r. Beam był pierwszą działającą siecią, wykorzystującą MimbleWimble, która ruszyła 3 stycznia. Kilka dni później odkryto jednak krytyczny błąd zabezpieczeń portfela, który aktualnie został już naprawiony. Obrazuje to jednak jak wysoce eksperymentalne jest praktyczne zastosowanie MimbleWimble.

Oba projekty oparte są na algorytmie konsensusu Proof of Work i aktualnie wykorzystują algorytm kryptograficzny Equihash, znany m.in. z popularnego private-coina, jakim jest Zcash (ZEC).


Dariusz Dziduch

Project Manager FXMAG, prowadzący program satyryczno-edukacyjny "O kryptowalutach". Nietuzinkowy promotor technologii blockchain oraz walut cyfrowych. Zainteresowania rynkowe łączy z wiedzą z zakresu psychologii inwestowania.

Przejdź do artykułów autora
Zamknij

Koszyk