Technologia Blockchain

Eksperci z zakresu cyberbezpieczeństwa i kryptografii oceniają, że technologia przechowywania danych i systemów rejestrowanych oparta na technologii blockchain (na której jest oparty m.in. bitcoin), nie jest możliwa do rozszyfrowania i złamania. Dodatkowymi jej zaletami są niższe koszty jej użytkowania w porównaniu do systemów centralnych oraz większe bezpieczeństwo – również odporność na ingerencję obcych służb czy zorganizowanych, międzynarodowych grup hakerskich. Oczywiście, blockchain blockchainowi nie jest równy, więc docelowe rozwiązania (ich koszty czy bezpieczeństwo) zależą od szczegółowych wyborów. Przykładowo, prywatne blockchainy wcale nie muszą być bardzo bezpieczne tylko dlatego, że są blockchainami. Poniżej przybliżymy kilka podstawowych zagadnień związanych z tą technologią.

Blockchain bitcoinowy

Zrozumienie technologii blockchain jest kluczowe w kontekście poznawania kryptowalut.
Żeby zrozumieć fenomen bitcoina, warto cofnąć się do 2008 roku i przyjrzeć się sytuacji gospodarczej.
Na świecie rozpoczął się wtedy kryzys finansowy. Zaufanie wielu osób do instytucji finansowych legło w gruzach. Odpowiedzią na to, a także na potrzebę znalezienia nowej, bezpiecznej drogi komunikacji między systemami informatycznymi, stał się projekt systemu Bitcoin opublikowany przez Satoshiego Nakamoto w październiku 2008 roku. 3 stycznia 2009 roku wydana została pierwsza wersja oprogramowania do obsługi portfela bitcoinowego. Przełomową jest nie tylko koncepcja waluty cyfrowej, co sama technologia, na której jest oparta, czyli blockchain.

Sama idea blockchaina nie jest trudna do zrozumienia (choć szczegóły technologii – już tak). Pomijając wszystkie kwestie programistyczne i matematyczne blockchain to księga rozrachunkowa zawierająca listę transakcji (dokonywanych w danej kryptowalucie – o ile została ona przewidziana w danym blockchainie), a także jednocześnie system transakcyjny. Poniżej opiszemy tę technologię na przykładzie najbardziej popularnego jej zastosowania – w bitcoinie.

Blockchain bitcoinowy zaczyna się od wpisu mówiącego o tym, iż właściciel danego adresu publicznego (przez analogię: numer rachunku) o oznaczeniu 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa wygenerował pierwszych 50 bitcoinów (tzw. genesis block). Każdy następny wpis zaczyna się właśnie od takiego wygenerowania kolejnej transzy i przydzielenia do konkretnego adresu. W blokach, oprócz zapisów dotyczących nowo powstałych bitcoinów, zawarte są również transakcje dotyczące już istniejących cyfrowych „monet”28. Bloki, czyli kolejne rozdziały księgi pt. blockchain, mają ograniczoną pojemność. W przypadku bitcoina wielkość bloku to dotychczas 1 MB (trwają negocjacje nad jego zwiększeniem). W konsekwencji tego, iż bloki mają ograniczoną wielkość, to jeśli popyt na transakcje przewyższa możliwości techniczne systemu, to część wykonanych w danym okresie transakcji pozostaje w kolejce oczekiwania na dodanie przy kolejnej, możliwej okazji. Zazwyczaj kryterium dodawania transakcji do bloku jest wartość opłaty transakcyjnej – również wyrażona w bitcoinach. Im wyższa, tym większe prawdopodobieństwo, iż dana transakcja zostanie dodana do blockchaina już w kolejnym bloku.

Transakcje dodawane są przez komputery należące do członków społeczności bitcoin zwanych „górnikami” (ang. miners), poprzez analogię do górników wydobywających złoto – tutaj: cyfrowe. Osoby te angażują moc obliczeniową swojego sprzętu (kiedyś zwykłych komputerów, później wyspecjalizowanych urządzeń zaprojektowanych wyłącznie do tego celu) otrzymują „nagrodę” w postaci nowych bitcoinów (obecnie co ok. 10 minut algorytm rozdziela 12,5 bitcoina pomiędzy wszystkie osoby zaangażowane w „wykopywanie” bitcoinów) oraz zebranych opłat transakcyjnych. Każdy górnik samotnie kopiący kryptowaluty musi przechowywać na swoim komputerze równoprawną kopię blockchaina (tj. księgi rozrachunkowej), jednakże w większości przypadków górnicy łączą się w tzw. poolach (spółdzielniach) i nie jest wtedy wymagane, aby każdy górnik z osobna posiadał na swoim komputerze kopię całej bazy blockchain.
Blockchain bitcoina zawiera zapisy operacji dla każdej wyemitowanej „monety” bitcoin od momentu jej powstania do chwili obecnej. Bitcoin jest podzielony na 100 000 000 jednostek zwanych satoshi. Blockchain zawiera zapisy o każdym transferze każdej jednostki danej kryptowaluty. W efekcie tego rozmiar blockchaina stale się powiększa. Wielkość blockchaina bitcoinowego to aktualnie bowiem aż 166 GB, a wielkość blockchaina drugiej pod względem kapitalizacji waluty – ethereum to 140 GB.

Blockchainy publiczne są ogólnodostępne, a do przeszukiwania tej bazy służą bezpłatnie dostępne eksploratory łańcuchów bloków. Najpopularniejsze z nich to dla Bitcoina – www.blockchain.info, a dla Ethereum – www.etherscan.io.
Publiczny blockchain z reguły (choć nie zawsze) ma taką właściwość, że wszystkie zapisy w nim są dostępne do sprawdzenia przez każdego i każdy węzeł sieci przetrzymuje pełną informację o wszystkich, dokonanych w przeszłości wpisach do tej bazy danych. Wszelkie zatem próby fałszerstwa mogłyby zostać zatem szybko zidentyfikowane.
Większość publicznych blockchainów jest transparentna. Oznacza to, że wszystkie adresy użyte do transakcji oraz wszystkie transakcje są jawne. Jest to dla niektórych wadą – stąd powstały blockchainy ukrywające transakcje. Bitcoin (i wiele innych kryptowalut) to system pseudonimowy, bo z jednej strony zapewnia jawność transakcji, ale z drugiej – nie pozwala jej powiązać z konkretną osobą. Aktualnie jednak transakcje oparte na bitcoinie nie są w 100% anonimowe i istnieją metody skutecznego wyśledzenia konkretnej osoby. Metodami stosowanymi w celu próby śledzenia transakcji bitcoinowych są między innymi techniki śledzenia „ciasteczek” i badania z użyciem analizy heurystycznej.

Warto podkreślić, iż w blockchain bitcoinowy (oraz w wiele innych publicznych) wbudowany jest kryptograficzny mechanizm autoregulacji. Polega to na tym, iż mimo zmian mocy sprzętu obliczeniowego zaangażowanego w ochronę sieci i autoryzację transakcji w niej, każdy kolejny blok transakcji powstaje średnio co 10 minut. Odstęp ten pomaga też regulować podaż nowych bitcoinów do sieci oraz zapobiega zbyt częstym rozgałęzieniom łańcucha. W blockchainie litecoina nowy blok transakcji powstaje średnio do 2,5 minuty, a w Ethereum przez długi czas (przez ok. rok – do kwietnia 2017 r.) było to jedynie 14 sekund.
Opisane powyżej cechy technologii blockchain są jedynie podstawowymi informacjami, które ułatwiają ogólne zrozumienie tego zagadnienia. W kolejnym podrozdziałach opisano na podstawie przykładów bardziej szczegółowe aspekty blockchaina, a szczególnie jej kryptowalutowych implementacji.

Problem bizantyjskich generałów

Przedstawienie problemu bizantyjskich generałów często pomaga czytelnikom w zrozumieniu trudności, jakie musiał pokonać Satoshi Nakamoto. Udało mu się rozwiązać problem, który od lat był wyzwaniem dla informatyków. Nie chodziło tu tyle o stworzenie kryptowaluty, ale o zapewnienie niezaprzeczalności komunikacji pomiędzy nieufającymi sobie podmiotami informatycznymi oraz jej zabezpieczenie przed fałszerstwem.

Analogia, od której często się zaczyna prezentację logiki funkcjonowania blockchaina i kryptowalut, polega na przedstawieniu sytuacji oblężenia zamku, w którym uczestniczy kilka niezależnych oddziałów, każdy pod dowództwem jednego generała. Ze względu na odległość pomiędzy poszczególnymi oddziałami komunikacja na szczeblu dowództwa nie jest natychmiastowa. Jedynym sposobem zdobycia zamku jest jednoczesny atak. Jeśli ktoś wyłamie się z ustaleń o jednoczesnym ataku, wygrają obrońcy zamku.
Przy dwóch generałach wydawałoby się, że komunikacja powinna być prosta. Generał A wysyła wiadomość o terminie ataku. Generał B otrzymuje ją. Jednak generał A nie może być tego pewien. Prosi zatem o potwierdzenie otrzymania wiadomości. Generał B zatem wysyła to potwierdzenie, ale nie wie, czy dotarło ono do adresata oraz jaką miało treść – posłaniec mógłby bowiem po drodze zaginąć, komunikat mógłby zostać przejęty przez wroga i zastąpiony inną wiadomością. Musi poczekać zatem z podjęciem decyzji o ataku do czasu, aż generał A wyśle mu odpowiedni komunikat. Jednak jak go otrzyma, nadal nie może być w pełni pewien o tym, czy nie został on sfałszowany. Poza tym, generał A musi być pewien, czy B otrzymał jego potwierdzenie, bo – jeśli zaatakuje sam – jego armia poniesie klęskę. I tak dalej.

Sytuacja komplikuje się jeszcze bardziej, gdy generałów jest więcej niż dwóch (dla trzech z nich problem ten jest nierozwiązywalny), a także gdy istnieje ryzyko, że wśród nich jest zdrajca. Dla uzmysłowienia sobie skali problemu wyobraźmy sobie, że trzeba by było skoordynować i skomunikować ze sobą nie kilka osób, ale kilka tysięcy osób, z których nikt się nie zna i nie musi sobie ufać, a wielu z nich może chcieć po prostu oszukać innych. Z takim właśnie problemem zmierzył się Satoshi Nakamoto – i udało mu się rozwiązać ten problem.

Rozwiązanie polegało na tym, że każdy z generałów (a w szerszej wersji – każda osoba autoryzująca transakcje w blockchainie) otrzymuje wiadomości od innych. Zbiera je w określonym wcześniej czasie (dla przypomnienia w bitcoinie – co ok. 10 minut), a następnie potwierdza je wysyłając informację do innych, załączając oryginały wiadomości, które otrzymał. Następnie również wszyscy wysyłają do siebie wiadomości – również w oznaczonym czasie. Porównują je i jeśli gdzieś zobaczą rozbieżność, takiej informacji mogą nie uwzględniać. Po kilku takich iteracjach (potwierdzeniach) uzyskuje się duże prawdopodobieństwo (w przypadku zwyczajowo przyjmowanych sześciu potwierdzeń w bitcoinie – graniczące z pewnością), że generałowie ustalą, co jest prawdą. System można by sfałszować wtedy, gdyby ponad 50% generałów okazało się być zdrajcami lub też, gdyby ponad 50% z nich musiało wykonywać czyjeś polecenia (dlatego w blockchainie czy ktoś jest kelnerem, czy szefem banku centralnego – ma takie same prawa i dzięki temu system jest bezpieczny). Stąd w blockchainie ważne jest, by nie było podmiotu dominującymi nad innymi, np. by tzw. kopanie nie było na tyle scentralizowane, by można było przeprowadzić tzw. ataku 51%, a także by żadna firma nie mogłaby kontrolować blockchaina – jak to bywa w tzw. prywatnych blockchainach (wtedy bowiem decyzją tej firmy można by modyfikować zawartość bazy danych).
Blockchain jest technologią rozproszonych rejestrów, ale jest on wiarygodny tylko wtedy, jeśli decentralizacja jest dobrze zaprojektowana, tj.:

  • gdy występuje ona wśród twórców oprogramowania (developers) oraz jednostek zajmujących się autoryzacją transakcji (miners),
  • a także gdy nie ma centralnego punktu podatnego na błędy (central point of failure).

Konsensus

Celem osób zajmujących się potwierdzaniem transakcji jest osiągnięcie konsensusu co do tego, które transakcje są prawidłowe i które finalnie należy dołączyć do rejestrów w systemie blockchain. Opuszczając pole bitwy i przechodząc do zastosowań finansowych – technologia blockchain uniemożliwia wydanie większej ilości środków, niż się posiada, w tym tzw. skuteczne podwójne wydanie ich (double spend). Wszelkie próby sfałszowania stanu rzeczy, przekłamania komunikacji, zostaną wykryte przez innych. Do sfałszowania transakcji mogłoby dojść wtedy, gdy ktoś byłby w stanie podmienić ponad 50% kopii baz danych blockchaina rozsianych po świecie. Przy dobrze zaprojektowanym (tj. odpowiednio rozproszonym) blockchainie nie powinno być to możliwe. Dowodem na to jest fakt, że Bitcoin działa bezbłędnie i nieprzerwanie od ponad 8 lat. Przez blockchain bitcoinowy przeszły już transakcje o wartości setek miliardów dolarów. I ani ułamek z nich nie został sfałszowany, ani utracony. Systemy zarówno IT jak i księgowe nie są doskonałe, przez co zdarzają się sytuację, gdy stan środków się nie zgadza. Absolutną pewność, co do stanu wzajemnych rozliczeń ma się dlatego, ponieważ zaangażowana jest w ich potwierdzanie „strona trzecia”. Zwykle taką czynność przeprowadza instytucja rozliczeniowa (clearing house), której się ufa, albo dokonywane jest to poprzez audyt. W blockchainie nie ma jednej, centralnej instytucji będącej tą „zaufaną trzecią stroną” (ang. trusted third party) – jest ona rozproszona (i zastąpiona przez tzw. „górników”). I w dodatku można jej ufać, nawet jeśli nie zna się tożsamości osób, które za takimi jednostkami stoją.

By tak się stało, musi zostać osiągnięty tzw. konsensus. W jakiś sposób trzeba ustalić, co jest prawdą, co jest prawdziwym stanem zapisów w bazie danych, a co nie. W blockchainach kryptowalutowych potwierdzaniem transakcji zajmują się „górnicy”, zaś ściślej – mówiąc ich sprzęt obliczeniowy. Porozumienie pomiędzy nimi osiągane jest najczęściej na podstawie okazania przez nich tzw. dowodu wykonania pracy (ang. proof-of-work, PoW). W systemie Bitcoin każdy „górnik” rozwiązuje pewne równanie matematyczne. Aby zachęcić go do tego (w tym zachęcić go do udostępnienia w tym celu mocy obliczeniowej swojego sprzętu), za każdy zweryfikowany blok otrzymuje „nagrodę” (w postaci bitcoinów lub innej, natywnej kryptowaluty). I tu uwidacznia się geniusz, nie tylko informatyczny, ale i ekonomiczny Satoshiego Nakamoto. „Górnicy” – jako racjonalne jednostki – kierują się maksymalizacją swoich korzyści, tj. chcą mieć więcej jednostek danej kryptowaluty. Zatem – jeśli uznają, że może im się to opłacać – będą podłączać do sieci kryptowaluty sprzęt obliczeniowy o coraz to większej mocy. Jednak – jak wspomniano – sieć automatycznie dostosuje poziom trudności rozwiązywania obliczeń (poziom trudności zmienia się co 2016 bloków, co stanowi średnio 14 dni). Dzieje się tak po to, by średnio w tym samym przedziale czasu taka sama liczba nowych jednostek kryptowaluty była uwalniana do sieci. Ponadto, w przypadku bitcoina, co ok. 4 lata ich liczba dwukrotnie się zmniejsza. Początkowo było to nawet 50 bitcoinów, teraz (2017 r.) 12,5 BTC.

Jak można się domyślać, pomiędzy „górnikami” trwa wyścig o to, kto pierwszy odkryje rozwiązanie i uzyska nagrodę. Doprowadziło to w konsekwencji do powstania nowego przemysłu – twórców sprzętu obliczeniowego dedykowanego wyłącznie do autoryzowania transakcji w sieci Bitcoin (a także do wzrostu popytu na karty graficzne, które mogą być wykorzystywane do „kopania” w innych blockchainach, np. Ethereum, Litecoin). Porównując „kopanie” eteru i bitcoina do zużycia energii przez jedno państwo, „cyfrowi górnicy” zajęliby 71. pozycję na świecie, z zużyciem energii większym niż np. Islandia.

Oprócz PoW, istnieją inne sposoby uzyskiwania konsensusu.

  • Proof-of-Stake (dowód stawki) – sposób oparty na ilości posiadanej waluty. Im większą liczbę jednostek danej kryptowaluty posiada uczestnik tym większa szansa, że to on utworzy nowy blok. Osoba zatwierdzająca otrzymuje tylko opłaty użytkowników. Są dwie metody wyboru twórcy bloku: pseudolosowa, gdzie znaczenie ma tylko ilość stawki oraz ‘coin-age based’, w której pod uwagę bierze się też czas jej posiadania. Kryptowaluty oparte na PoS to np. NXT, BlackCoin. W Ethereum wprowadzenie PoS jest nadal w trakcie przygotowań (stan na październik 2017 r.).
  • Delegated Proof-of-Stake (delegowany dowód stawki) – sposób opiera się na wyborze przez posiadaczy waluty określonej liczby delegatów w drodze głosowania. Tylko delegaci są uprawnieni do dodawania nowych bloków do łańcucha bloków, za co otrzymują nagrody. Konsensus oparty na dPoS zastosowano np. w BitShares.
  • Provable Data Possession (PDP) – pozwala użytkownikowi wysłać dane na określony serwer i później sprawdzać, czy te dane nadal się tam znajdują.
  • Proof-of-Retrievability (PoRet) – rozwinięcie PDP, umożliwiające także odzyskanie wysłanych danych. Jednak wymaga to wysłania kilku zapytań i rekonstrukcji danych z otrzymanych fragmentów.
  • Proof-of-Storage (PoS) – opiera się na zleceniu innemu użytkownikowi przechowywania danych, a następnie wielokrotnego sprawdzania czy są one nadal przechowywane. Ten schemat jest uogólnieniem PDP oraz PoRet.
  • Proof-of-Replication (PoRep) – jest to rodzaj Proof-of-Storage, który dodatkowo wymaga poświęcenia danym unikalnej pamięci fizycznej. Uniemożliwia to przechowywanie tych samych danych dwukrotnie w jednym miejscu.
  • Proof-of-Space (PoSpace) – schemat wymagający udowodnienia przez uczestnika, że poświęcił on część swojej pamięci. Nie wymaga to tak dużych nakładów energii elektrycznej jak PoW.
  • Proof-of-Spacetime (PoSt) – jest to PoSpace z sekwencją sprawdzeń rozłożonych w czasie.
  • Proof-of-Importance (PoI) – jest to pochodna systemu Proof-of-Stake, ale z szeregiem ulepszeń. Zastosowane formuły matematyczne przetwarzają informacje o koncie, aby zdecydować, jak ważna dla grupy jest dana osoba. Im większą masz ważność, tym większe masz szanse na uzyskanie opłat transakcyjnych pozostawionych przez innych użytkowników podczas „kopania”. Aktualnie najpopularniejszą kryptowalutą korzystającą z tego typu rozwiązania jest NEM.

Pozostałe sposoby na otrzymanie konsensusu to np.: Proof-of-Authority, Proof-of-Capacity, Proof-of-Burn oraz hybrydy łączące dwa wcześniej wymienione sposoby. Są one jednak znacznie mniej upowszechnione (w związku z tym ma się do nich znacznie mniejsze zaufanie), a niektóre nie wyszły poza fazę eksperymentalną.

Koncepcja „ekonomicznej większości”

Ciekawym, teoretycznym jak się przez długi czas wydawało (ze względu na brak możliwości sprawdzenia go w praktyce) zabezpieczeniem systemów, opisanym z myślą o bitcoinie, jest koncepcja „większości ekonomicznej” (economic majority). Mówi ona, że zdolność do kontrolowania protokołu Bitcoin leży nie po stronie jednostek zajmujących się autoryzacją transakcji („górników”), po stronie osób zdolnych i skłonnych oferować rzeczy wartościowe dla Bitcoina (czy to towarów, usług czy innych walut). Jeśli „górnicy” wprowadziliby zmiany w protokole Bitcoina, które byłyby oczekiwane przez społeczność mającą „większość ekonomiczną”, wtedy możliwe by było, że „monety” wydobywane przez nich nie zostaną uznane przez tych, którzy nie zaakceptowali zmian. Wtedy zaś „górnicy” nie zyskaliby na wprowadzaniu zmian nie uzgodnionych z „większością ekonomiczną”.

Zdolność do pomyślnego wdrożenia zmian w protokole Bitcoin w ostateczności spoczywa na tych, którzy akceptują bitcoiny w zamian za wartość. Ogólnie rzecz biorąc, to będą kupcy. Koncepcja „większości ekonomicznej” sugeruje, że nawet oligopolizacja pooli kopalni nie będzie miała pełni władzy nad systemem i musiała uzgadniać zmiany z akceptantami. W skrajnym przypadku, gdyby jeden z nich uzyskał większość mocy obliczeniowej i zdolność do przeprowadzenia „ataku 51%”, sytuacja taka mogłaby zostać uznana przez społeczność za niebezpieczną, za grożącą ryzykiem dla utrzymania bezpieczeństwa systemu, a w efekcie tego cena bitcoina by spadła (co nie byłoby po myśli tych, chcących ewentualnie przeprowadzić ww. „atak”).

Koncepcja ta przez długi czas wydawała się teoretyczną. Sytuacja zmieniła się, gdy pojawił się dla Bitcoina realny konkurent – Bitcoin Cash. Odpowiadał on w większej mierze na potrzeby użytkowników, niż utrzymanie statusu quo, który wspierali „górnicy”. Gdy okazało się, że zapowiadane od długiego czasu i negocjowane od ponad dwóch lat zmiany w protokole Bitcoina (SegWit2x) zapowiedziane na 16 listopada 2017 r. jednak nie dojdą do skutku, w konsekwencji część społeczności ogłosiła wsparcie dla bezpośredniego konkurenta Bitcoina, tj. dla Bitcoin Casha. Efektem tego był nagły wzrost kursu tegoż ostatniego, kosztem dotychczasowego Bitcoina. Co więcej, do tak zdefiniowanej „większości ekonomicznej” (tu: do oczekiwań użytkowników Bitcoina narzekających na przepełnienie bloków oraz wysokie koszty transakcyjne) szybko przyłączyli się sami „górnicy”, którzy szybko policzyli, że bardziej opłacalne jest dla nich „kopanie” bitcoinów cash. Na szczęście dla „głównego” bitcoina, wraz ze spadkiem ceny jego rozgałęzienia (ang. fork) jego atrakcyjność ekonomiczna dla „górników” również zmalała.

Kryptografia kryptowalut

Istotnym elementem funkcjonowania kryptowalut jest zabezpieczenie sieci przed próbami oszustwa. Kryptografia jest to praktyka i badanie technik bezpiecznej komunikacji w obecności osób trzecich. Oparta jest na teorii matematyki i informatyce. Jej celem jest skuteczne przechowanie lub przekazanie poufnej informacji w sposób bezpieczny i tajny, uniemożliwiając tym samym naruszenie jawności, integralności i niezaprzeczalności danych przez osoby trzecie. Jednymi z najbardziej znanych polskich kryptologów były osoby zajmujące się łamaniem szyfrów Enigmy.

Z zagadnieniem kryptowalut związane są pojęcia kryptografii symetrycznej i asymetrycznej.

  • Kryptografia symetryczna polega na użyciu tego samego klucza do zaszyfrowania danych, jak i ich odszyfrowania. Jej wadą jest kwestia bezpieczeństwa klucza, który jest narażony na zwiększone ryzyko, ponieważ znają go obie strony. W przypadku, gdy taki klucz wpadnie w niepowołane ręce, może to doprowadzić nie tylko do rozszyfrowania tajnej wiadomości, ale również do wysłania fałszywej.
  • Kryptografia asymetryczna klucza publicznego polega natomiast na tym, iż występują dwa klucze: publiczny (jawny) i prywatny (tajny). Zależnie od tego, w jakim celu planujemy użyć tej metody: podpis cyfrowy, czy szyfrowanie – występują pewne różnice. Za pomocą otwartego oraz prywatnego klucza można przekazywać dane online. Jeżeli chcemy wysłać komuś wiadomość, to bierzemy jego publiczny klucz, który jest publicznie znany (w tym dla oszustów) szyfrujemy nim dane. Natomiast te dane można deszyfrować tylko prywatnym kluczem, który zna tylko i wyłącznie adresat wiadomości

Co do kwestii cyfrowego podpisu my posiadamy klucz prywatny, którego używamy w celu zaszyfrowania, „podpisania” dokumentu. Natomiast klucz publiczny służy w celu zweryfikowania naszej tożsamości, na przykład przez bank (tylko my posiadamy klucz prywatny jest on powiązany z nami i świadczy o naszej tożsamości). Natomiast w celu szyfrowania danych używamy ogólnodostępnego klucza publicznego, a klucz prywatny, za którego pomocą będzie możliwe odszyfrowanie dokumentu, posiada adresat.

Wydajny system kryptograficzny to podstawa działania kryptowalut. Jest on jednocześnie gwarantem bezpieczeństwa. Kryptografia kryjąca się za takimi kryptowalutami jak bitcoin jest praktycznie nie do złamania biorąc pod uwagę zaangażowaną w ochronę tego systemu moc obliczeniową. Może się to zmienić po wprowadzeniu komputerów kwantowych, ale również i wtedy nie będzie to zadanie proste. Techniki kryptograficzne zabezpieczają przed manipulacją oraz próbą naruszenia integralności baz danych.
Aby w pełni zrozumieć bezpieczeństwo i poprawność transakcji zapewnianych przez technologie typu blockchain należy również zapoznać się z działaniem kryptografii klucza publicznego oraz tzw. funkcji skrótu.
Wiele innych jeszcze pojęć zostało zebranych i w skrócie opisanych np. w udostępnianym przez Ministerstwo Cyfryzacji „Leksykonie pojęć”.

Aktualności