Czym jest kryptografia i dlaczego Bitcoin jej potrzebuje?

beginner
Część ścieżki Jak działa Bitcoin, krok 2 z 11

Czym jest kryptografia?

Kryptografia to nauka o zabezpieczaniu informacji. Samo słowo pochodzi od greckich słów kryptós (ukryty) i gráphein (pisać). W praktyce kryptografia przekształca czytelne informacje w nieczytelną formę i z powrotem, używając matematycznych reguł i kluczy.

Za każdym razem, gdy wysyłasz wiadomość przez zaszyfrowaną aplikację, logujesz się na stronę internetową przez HTTPS lub autoryzujesz transakcję Bitcoin, kryptografia działa w tle. Większość ludzi nigdy tego nie zauważa. Ta niewidoczność jest właśnie celem.

Dla Bitcoina w szczególności kryptografia nie jest funkcją. Jest fundamentem. Bez niej nie byłoby możliwości udowodnienia własności, autoryzowania transakcji ani zabezpieczenia samego blockchaina.

Krótka historia tajnych wiadomości

Kryptografia nie zaczęła się od komputerów. Potrzeba wysyłania tajnych wiadomości jest tak stara jak sama cywilizacja.

Około 2000 r. p.n.e. starożytni egipscy skrybowie używali niezwykłych hieroglifów do szyfrowania tekstów religijnych. Motywacją nie było wojskowe zachowanie tajemnicy, lecz kulturowe tabu: pewne imiona boskie były uważane za zbyt święte, aby pisać je otwarcie.

Starożytni Grecy opracowali fizyczne urządzenie szyfrujące zwane scytale, drewniany cylinder, wokół którego owijano pasek skóry. Nadawca pisał wiadomość wzdłuż cylindra, a następnie rozwijał pasek. Bez cylindra o dokładnie takim samym średnicy litery wyglądały jak bezsensowny szum.

Najsłynniejsza metoda szyfrowania ze starożytności nosi imię Juliusza Cezara (100-44 r. p.n.e.). Szyfr Cezara działa poprzez przesunięcie każdej litery alfabetu o stałą liczbę pozycji. Sam Cezar zazwyczaj używał przesunięcia o trzy: A stawało się D, B stawało się E i tak dalej. Prosto według dzisiejszych standardów, ale skuteczne w epoce, gdy większość żołnierzy w ogóle nie umiała czytać.

W okresie renesansu francuski dyplomata Blaise de Vigenère opracował bardziej zaawansowany system, który używał wielu alfabetów w sekwencji, znacznie utrudniając analizę częstotliwości. Przez ponad dwa wieki szyfr Vigenère'a był uważany za niemożliwy do złamania.

Stawki dramatycznie wzrosły w dwudziestym wieku. Podczas Drugiej Wojny Światowej armia niemiecka używała elektromechanicznej maszyny szyfrującej o nazwie Enigma, zdolnej do generowania astronomicznej liczby możliwych ustawień. Aliancki wysiłek złamania Enigmy, prowadzony w dużej mierze przez matematyka Alana Turinga, jest powszechnie uznawany za jeden z czynników, który skrócił wojnę o lata.

Fundamentalna zmiana nastąpiła w 1976 roku, kiedy matematycy Whitfield Diffie i Martin Hellman opublikowali artykuł wprowadzający koncepcję kryptografii z kluczem publicznym. Po raz pierwszy dwie strony mogły ustanowić bezpieczny kanał komunikacji bez uprzedniego spotkania w celu wymiany tajnego klucza. Ta idea miała później umożliwić powstanie Bitcoina.

Cryptography Through the Ages

~2000 BC

Ancient Egypt

Scribes use unusual hieroglyphs to encode religious texts. The earliest known example of deliberate cryptographic substitution.

~500 BC

The Scytale

Ancient Greeks wind a leather strip around a wooden cylinder to scramble messages. The first known physical encryption device.

~50 BC

The Caesar Cipher

Julius Caesar shifts every letter three positions in the alphabet to encode military dispatches. Simple but effective in an era when most soldiers could not read.

1553

The Vigenère Cipher

A cipher using multiple alphabets in sequence, making frequency analysis far more difficult. Considered unbreakable for over two centuries.

1940s

Enigma Broken

Alan Turing and Allied codebreakers crack Nazi Germany's Enigma machine, demonstrating that no cipher is truly unbreakable. Their work shortened the war by years.

1976

Public-Key Cryptography

Diffie and Hellman publish their landmark paper introducing asymmetric encryption. Two parties can now communicate securely without ever sharing a secret in advance.

2009

Bitcoin

Satoshi Nakamoto combines public-key cryptography, digital signatures, and hash functions to create the first trustless digital currency, governed by math rather than institutions.

Szyfrowanie symetryczne vs. asymetryczne

Wszystkie metody szyfrowania należą do jednej z dwóch kategorii.

Szyfrowanie symetryczne używa jednego wspólnego klucza. Nadawca blokuje nim wiadomość, a odbiorca odblokowuje ją tym samym kluczem. Całe bezpieczeństwo systemu zależy od zachowania tajności tego jednego klucza. Jeśli zostanie przechwycony, wszystko jest zagrożone. Szyfr Cezara jest prymitywnym przykładem szyfrowania symetrycznego.

Szyfrowanie asymetryczne rozwiązuje ten problem, używając dwóch matematycznie powiązanych kluczy: klucza publicznego i klucza prywatnego. Klucz publiczny może być swobodnie udostępniany każdemu. Klucz prywatny jest zachowywany w tajemnicy przez jego właściciela. Wiadomość zaszyfrowana kluczem publicznym może być odszyfrowana tylko odpowiadającym jej kluczem prywatnym.

Pomyśl o tym jak o kłódce. Każdy może włożyć list do skrzynki zabezpieczonej twoją kłódką; wystarczy, że kłódka jest otwarta. Tylko ty posiadasz klucz, który ją otwiera.

To rozdzielenie klucza publicznego i prywatnego umożliwia bezpieczną komunikację przez otwarty internet. I jest dokładnie tym, czego Bitcoin używa do zabezpieczania twoich środków.

How Encryption Keys Work

Symmetric Encryption

Plaintext

Key

encrypt

Ciphertext

Key

decrypt

Plaintext

Same key encrypts and decrypts.

Example: Caesar cipher

Asymmetric Encryption

Bitcoin
Plaintext

Public Key

encrypt

Ciphertext

Private Key

decrypt

Plaintext

Public Key encrypts. Private Key decrypts.

Used by Bitcoin

Jak Bitcoin wykorzystuje kryptografię

Bitcoin opiera się na kryptografii na trzy różne sposoby.

Pary kluczy i własność. Każdy portfel Bitcoin generuje klucz prywatny i odpowiadający mu klucz publiczny. Klucz publiczny jest używany do wyprowadzenia twojego adresu Bitcoin, identyfikatora, który udostępniasz, gdy chcesz otrzymać środki. Klucz prywatny autoryzuje wydawanie. Matematycznie wygenerowanie klucza publicznego z klucza prywatnego jest proste. Postępowanie w odwrotnym kierunku jest obliczeniowo niewykonalne: obliczenie, które zajęłoby dłużej niż wiek wszechświata przy obecnym sprzęcie. Ta asymetria chroni twoje środki.

Podpisy cyfrowe. Gdy wysyłasz Bitcoin, twój portfel używa twojego klucza prywatnego do stworzenia podpisu cyfrowego dla tej konkretnej transakcji. Każdy w sieci może zweryfikować, używając twojego klucza publicznego, że podpis jest ważny bez poznania twojego klucza prywatnego. Dowodzi to, że autoryzowałeś transakcję bez ujawniania samego sekretu. Bitcoin używa algorytmu o nazwie ECDSA (Elliptic Curve Digital Signature Algorithm) w tym celu. Nowsze transakcje Bitcoin obsługują również podpisy Schnorra, które są bardziej wydajne i oferują lepszą prywatność.

Funkcje skrótu. Bitcoin używa również kryptograficznych funkcji skrótu do łączenia bloków ze sobą i zabezpieczania blockchaina. Funkcja skrótu przyjmuje dowolne wejście i produkuje wyjście o stałej długości. To samo wejście zawsze produkuje to samo wyjście, ale nawet najmniejsza zmiana wejścia produkuje zupełnie inny wynik. Ta właściwość ułatwia weryfikację integralności danych i sprawia, że manipulowanie historycznym rejestrem jest praktycznie niemożliwe. Więcej o tym, jak działają funkcje skrótu, możesz przeczytać w artykule Czym jest hash?.

Dlaczego to ma znaczenie dla ciebie

Zanim kryptografia to umożliwiła, kontrolowanie pieniędzy bez zaufanego pośrednika było po prostu niewykonalne. Banki, rządy i instytucje finansowe istniały częściowo dlatego, że ktoś musiał być godny zaufania, aby utrzymywać rzetelne rejestry.

Bitcoin zastępuje to zaufanie matematyką. Twój klucz prywatny jest dowodem własności. Twój podpis cyfrowy jest dowodem autoryzacji. Blockchain powiązany skrótem jest dowodem historii. Żaden bank nie jest wymagany, żaden pośrednik nie jest potrzebny.

Dlatego utrata klucza prywatnego oznacza trwałą utratę Bitcoinów. Nie ma działu obsługi klienta, nie ma opcji odzyskiwania konta. Kryptografia, która chroni twoje środki przed atakującymi, chroni je również przed każdym, kto straci dostęp, w tym przed tobą samym. To jest cecha, nie wada. To ta sama właściwość, która sprawia, że system jest pozbawiony zaufania w pierwszej kolejności.

Kryptografia jest również powodem, dla którego nazwa "kryptowaluta" ma sens. Bitcoin to nie tylko cyfrowe pieniądze. To pieniądze zabezpieczone i regulowane przez kryptograficzny dowód.

A co z komputerami kwantowymi?

Pytanie, które pojawia się regularnie: czy komputery kwantowe mogą ostatecznie złamać kryptografię Bitcoina?

Teoretyczne obawy są realne. Komputery kwantowe, jeśli byłyby wystarczająco potężne, mogłyby w zasadzie odwrócić operacje matematyczne, które obecnie chronią klucze prywatne. Obecne komputery kwantowe są zbyt ograniczone, aby stanowić praktyczne zagrożenie dla Bitcoina. Najpotężniejsze dostępne dziś maszyny nie zbliżają się nawet do wymaganej skali.

Społeczność deweloperów Bitcoina jest świadoma długoterminowego ryzyka i aktywnie bada metody kryptograficzne odporne na komputery kwantowe. Jeśli i kiedy zagrożenie stanie się praktyczne, protokół Bitcoina można zaktualizować poprzez ten sam proces konsensusu, który reguluje inne zmiany w sieci.

Kryptografia nie jest statyczna. Ewoluuje nieprzerwanie od starożytnego Egiptu i będzie to robić nadal.

Kluczowe Fakty

Słowo kryptografia pochodzi od greckich słów oznaczających 'ukryty' i 'pisać'.

Starożytni Egipcjanie używali niezwykłych hieroglifów do szyfrowania tekstów religijnych około 2000 r. p.n.e.

Juliusz Cezar szyfrował wiadomości wojskowe, przesuwając każdą literę o trzy pozycje w alfabecie.

Bitcoin wykorzystuje kryptografię asymetryczną, w szczególności algorytm ECDSA (Elliptic Curve Digital Signature Algorithm), do zabezpieczania każdej transakcji.

Twój klucz prywatny i klucz publiczny są matematycznie powiązane, ale znajomość klucza publicznego nie ujawnia klucza prywatnego.

Często zadawane pytania

Kryptografia to nauka o przekształcaniu informacji w taki sposób, aby mogła je odczytać tylko zamierzona osoba. Wykorzystuje algorytmy matematyczne do szyfrowania danych, czyniąc je nieczytelnymi dla każdego, kto nie posiada właściwego klucza.

Szyfrowanie symetryczne używa jednego wspólnego klucza zarówno do szyfrowania, jak i deszyfrowania wiadomości. Szyfrowanie asymetryczne używa dwóch osobnych kluczy: klucza publicznego do szyfrowania i klucza prywatnego do deszyfrowania. Bitcoin opiera się na kryptografii asymetrycznej.

Bitcoin używa kluczy kryptograficznych do kontrolowania własności środków. Klucz publiczny służy jako adres odbiorczy. Klucz prywatny dowodzi, że jesteś właścicielem środków pod tym adresem i autoryzuje transakcje. Funkcje skrótu zabezpieczają również blockchain, łącząc bloki ze sobą.

Obecne komputery kwantowe nie są w stanie złamać kryptografii Bitcoina. Zagrożenie teoretyczne istnieje w przyszłości, a społeczność deweloperów Bitcoina aktywnie monitoruje postępy w informatyce kwantowej. Metody kryptograficzne odporne na komputery kwantowe są już przedmiotem badań.

Bez kryptografii nie byłoby sposobu na udowodnienie własności środków bez centralnego organu, takiego jak bank. Kryptografia pozwala Bitcoinowi działać jako zdecentralizowany system, w którym matematyka egzekwuje zasady zamiast instytucji.

Źródła

  1. 1.Blocktrainer: Was ist Kryptographie?
  2. 2.Satoshi Nakamoto: Bitcoin Whitepaper (2008)
  3. 3.Diffie, Hellman: New Directions in Cryptography (1976)
  4. 4.Andreas M. Antonopoulos: Mastering Bitcoin

To nie jest porada finansowa. CanoeBit publikuje wyłącznie treści edukacyjne. Nic tutaj nie stanowi rekomendacji kupna, sprzedaży ani trzymania jakiegokolwiek aktywa.